:root{
  --main:#f97316;
  --accent:#facc15;
  --bg:#1a1410;
  --bg-soft:#241c16;
  --bg-card:#2c221a;
  --text:#fff7ed;
  --text-dim:#c9b7a6;
  --radius-btn:999px;
  --radius-card:18px;
  --shadow:0 10px 30px rgba(0,0,0,.45);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--text);
  font-family:'Inter',"PingFang SC","Microsoft YaHei",system-ui,sans-serif;
  font-weight:400;
  overflow-x:hidden;
  letter-spacing:.2px;
}
h1,h2,h3,h4,.brand-font{
  font-family:'Inter',"Kaiti SC","STKaiti","KaiTi",system-ui,sans-serif;
  font-weight:900;
  letter-spacing:-.5px;
}
a{text-decoration:none;color:inherit;}
::selection{background:var(--main);color:#1a1410;}

/* 顶部滚动进度条 */
#scrollProgress{
  position:fixed;top:0;left:0;height:4px;width:0%;
  background:linear-gradient(90deg,var(--main),var(--accent));
  z-index:2000;transition:width .08s linear;
  box-shadow:0 0 12px rgba(249,115,22,.7);
}

/* 导航 */
.nav-wrap{
  position:sticky;top:0;z-index:1500;
  background:rgba(26,20,16,.88);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(249,115,22,.18);
}
.brand-logo{
  font-size:1.5rem;font-weight:900;
  color:var(--text);display:inline-flex;align-items:center;gap:.5rem;
  white-space:nowrap;
}
.brand-logo .fa-film{color:var(--main);}
.brand-dot{color:var(--accent);}
.nav-link-c{
  color:var(--text-dim);font-weight:500;padding:.5rem 1rem;
  border-radius:var(--radius-btn);transition:.25s;font-size:.95rem;
}
.nav-link-c:hover,.nav-link-c.active{
  color:var(--bg);background:var(--main);
}
.navbar-toggler{border:1px solid rgba(249,115,22,.5);color:var(--main);}
.navbar-toggler:focus{box-shadow:none;}
.navbar-toggler i{color:var(--main);font-size:1.3rem;}

/* Hero */
.hero{
  padding:5.5rem 0 3.5rem;
  position:relative;
  background:radial-gradient(ellipse at 20% 0%,rgba(249,115,22,.22),transparent 60%),
             radial-gradient(ellipse at 85% 20%,rgba(250,204,21,.12),transparent 55%);
}
.hero-kicker{
  display:inline-block;padding:.45rem 1.2rem;border-radius:var(--radius-btn);
  background:rgba(249,115,22,.14);color:var(--main);
  font-weight:700;font-size:.85rem;letter-spacing:2px;
  border:1px solid rgba(249,115,22,.35);margin-bottom:1.5rem;
}
.hero h1{
  font-size:clamp(2.6rem,6.5vw,4.4rem);
  line-height:1.05;margin-bottom:1.2rem;
}
.hero h1 .hl{color:var(--main);}
.hero-sub{
  color:var(--text-dim);font-size:1.1rem;max-width:600px;
  line-height:1.85;font-weight:300;
}
.hero-stats{display:flex;flex-wrap:wrap;gap:2.5rem;margin-top:2.8rem;}
.stat-num{
  font-size:clamp(2.2rem,5vw,3.2rem);font-weight:900;
  background:linear-gradient(135deg,var(--main),var(--accent));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  line-height:1;
}
.stat-label{color:var(--text-dim);font-size:.9rem;margin-top:.4rem;letter-spacing:1px;}
.btn-c-main{
  background:var(--main);color:#1a1410;font-weight:800;
  border-radius:var(--radius-btn);padding:.8rem 2rem;border:none;
  transition:.25s;box-shadow:0 8px 22px rgba(249,115,22,.35);
}
.btn-c-main:hover{background:var(--accent);color:#1a1410;transform:translateY(-2px);box-shadow:0 12px 28px rgba(250,204,21,.4);}
.btn-c-outline{
  background:transparent;color:var(--text);font-weight:700;
  border:1.5px solid rgba(249,115,22,.5);border-radius:var(--radius-btn);
  padding:.8rem 2rem;transition:.25s;
}
.btn-c-outline:hover{background:rgba(249,115,22,.15);color:var(--main);border-color:var(--main);}

/* 区块通用 */
.section{padding:4.5rem 0;}
.section-title-wrap{margin-bottom:2.5rem;}
.section-eyebrow{
  color:var(--main);font-weight:700;letter-spacing:3px;font-size:.8rem;
  text-transform:uppercase;margin-bottom:.6rem;display:block;
}
.section-title{
  font-size:clamp(2rem,4vw,2.9rem);line-height:1.15;margin-bottom:.6rem;
}
.section-desc{color:var(--text-dim);font-weight:300;font-size:1rem;max-width:640px;line-height:1.8;}

/* 滚动淡入 */
.reveal{opacity:0;transform:translateY(38px);transition:opacity .7s cubic-bezier(.22,.8,.3,1),transform .7s cubic-bezier(.22,.8,.3,1);}
.reveal.in{opacity:1;transform:none;}

/* 榜单 */
.rank-list{display:flex;flex-direction:column;gap:.9rem;}
.rank-item{
  display:flex;align-items:center;gap:1.1rem;
  background:var(--bg-soft);border:1px solid rgba(249,115,22,.14);
  border-radius:var(--radius-card);padding:.9rem 1.2rem;
  transition:.3s;cursor:pointer;
}
.rank-item:hover{
  transform:translateX(6px);
  border-color:var(--main);
  box-shadow:var(--shadow);
  background:var(--bg-card);
}
.rank-num{
  font-size:1.6rem;font-weight:900;width:44px;text-align:center;
  color:var(--text-dim);flex-shrink:0;font-style:italic;
}
.rank-item:nth-child(1) .rank-num,
.rank-item:nth-child(2) .rank-num,
.rank-item:nth-child(3) .rank-num{
  background:linear-gradient(135deg,var(--main),var(--accent));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.rank-thumb{
  width:56px;height:76px;border-radius:10px;overflow:hidden;flex-shrink:0;
  background:var(--bg-card);
}
.rank-thumb img{width:100%;height:100%;object-fit:cover;transition:.4s;}
.rank-item:hover .rank-thumb img{transform:scale(1.12);}
.rank-info{flex:1;min-width:0;}
.rank-title{font-weight:700;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.rank-meta{color:var(--text-dim);font-size:.8rem;margin-top:.25rem;}
.rank-score{font-weight:900;color:var(--accent);font-size:1.1rem;flex-shrink:0;}

/* 海报卡片（翻转） */
.poster-card{
  perspective:1400px;height:340px;cursor:pointer;
}
.poster-inner{
  position:relative;width:100%;height:100%;
  transition:transform .7s cubic-bezier(.4,.2,.2,1);
  transform-style:preserve-3d;
}
.poster-card.flipped .poster-inner{transform:rotateY(180deg);}
.poster-front,.poster-back{
  position:absolute;inset:0;border-radius:var(--radius-card);
  backface-visibility:hidden;-webkit-backface-visibility:hidden;
  overflow:hidden;box-shadow:var(--shadow);
}
.poster-front{background:var(--bg-card);}
.poster-front img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .55s ease;
}
.poster-card:hover .poster-front img{transform:scale(1.1);}
.badge-q{
  position:absolute;top:.7rem;left:.7rem;
  background:var(--main);color:#1a1410;
  font-size:.7rem;font-weight:900;letter-spacing:1px;
  padding:.22rem .6rem;border-radius:var(--radius-btn);z-index:3;
}
.badge-q.is4k{background:var(--accent);}
.poster-mask{
  position:absolute;inset:0;z-index:2;
  background:linear-gradient(to top,rgba(15,10,6,.96) 0%,rgba(15,10,6,.55) 38%,transparent 68%);
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:.95rem;opacity:0;transition:opacity .35s;
}
.poster-card:hover .poster-mask{opacity:1;}
.pm-title{font-weight:800;font-size:1rem;line-height:1.3;}
.pm-meta{color:var(--accent);font-size:.78rem;margin-top:.25rem;font-weight:600;}
.pm-rating{position:absolute;top:.7rem;right:.7rem;background:rgba(26,20,16,.85);color:var(--accent);font-weight:900;font-size:.8rem;padding:.2rem .55rem;border-radius:var(--radius-btn);}
.poster-back{
  transform:rotateY(180deg);
  background:linear-gradient(160deg,var(--bg-card),#140f0b);
  border:1px solid rgba(249,115,22,.4);
  padding:1.15rem;display:flex;flex-direction:column;overflow-y:auto;
}
.pb-title{font-size:1.05rem;font-weight:800;color:var(--main);margin-bottom:.55rem;line-height:1.25;}
.pb-row{font-size:.78rem;color:var(--text-dim);line-height:1.5;margin-bottom:.3rem;}
.pb-row b{color:var(--text);font-weight:600;}
.pb-plot{font-size:.78rem;color:var(--text-dim);line-height:1.65;margin-top:.4rem;flex:1;}
.pb-close{position:absolute;top:.55rem;right:.65rem;color:var(--main);font-size:1.15rem;cursor:pointer;line-height:1;}
.pb-close:hover{color:var(--accent);}

/* 横向滚动海报行 */
.scroll-row{
  display:flex;gap:1.15rem;overflow-x:auto;padding:.4rem .2rem 1.3rem;
  scroll-snap-type:x mandatory;scrollbar-width:thin;
}
.scroll-row::-webkit-scrollbar{height:7px;}
.scroll-row::-webkit-scrollbar-track{background:rgba(255,247,237,.06);border-radius:10px;}
.scroll-row::-webkit-scrollbar-thumb{background:var(--main);border-radius:10px;}
.scroll-row .scroll-item{
  flex:0 0 190px;scroll-snap-align:start;
}
@media(max-width:576px){
  .scroll-row .scroll-item{flex:0 0 152px;}
  .poster-card{height:290px;}
}

/* 分类筛选 */
.cat-chips{display:flex;flex-wrap:wrap;gap:.7rem;margin-bottom:2.2rem;}
.chip{
  padding:.5rem 1.3rem;border-radius:var(--radius-btn);
  background:var(--bg-soft);border:1px solid rgba(249,115,22,.2);
  color:var(--text-dim);font-weight:600;font-size:.88rem;
  cursor:pointer;transition:.25s;
}
.chip:hover{border-color:var(--main);color:var(--text);}
.chip.active{background:var(--main);color:#1a1410;border-color:var(--main);}

/* 步骤条 */
.steps{display:flex;flex-direction:column;gap:1.1rem;counter-reset:stp;}
.step{
  display:flex;gap:1.2rem;align-items:flex-start;
  background:var(--bg-soft);border-radius:var(--radius-card);
  padding:1.3rem 1.5rem;border:1px solid rgba(249,115,22,.14);
  transition:.3s;
}
.step:hover{border-color:var(--main);transform:translateY(-3px);box-shadow:var(--shadow);}
.step-num{
  counter-increment:stp;flex-shrink:0;
  width:44px;height:44px;border-radius:50%;
  background:linear-gradient(135deg,var(--main),var(--accent));
  color:#1a1410;font-weight:900;font-size:1.15rem;
  display:flex;align-items:center;justify-content:center;
}
.step-num::before{content:counter(stp);}
.step h4{font-size:1.05rem;margin-bottom:.35rem;}
.step p{color:var(--text-dim);font-size:.9rem;line-height:1.7;margin:0;font-weight:300;}

/* 精选片单卡片网格 */
.pick-card{
  background:var(--bg-soft);border-radius:var(--radius-card);
  border:1px solid rgba(249,115,22,.14);padding:1.5rem;
  height:100%;transition:.3s;
}
.pick-card:hover{border-color:var(--main);transform:translateY(-4px);box-shadow:var(--shadow);}
.pick-tag{color:var(--accent);font-size:.75rem;font-weight:800;letter-spacing:2px;margin-bottom:.6rem;display:block;}
.pick-card h4{font-size:1.15rem;margin-bottom:.5rem;}
.pick-card p{color:var(--text-dim);font-size:.9rem;line-height:1.7;margin:0;font-weight:300;}

/* 小贴士 */
.tip-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.9rem;}
.tip-list li{
  display:flex;gap:.9rem;align-items:flex-start;
  background:var(--bg-soft);padding:1.1rem 1.3rem;border-radius:14px;
  border-left:3px solid var(--main);color:var(--text-dim);
  font-size:.93rem;line-height:1.75;font-weight:300;
}
.tip-list li i{color:var(--accent);margin-top:.25rem;flex-shrink:0;}

/* 类型科普 */
.genre-box{
  background:linear-gradient(150deg,var(--bg-card),#140f0b);
  border-radius:24px;padding:2.2rem;border:1px solid rgba(249,115,22,.2);
}
.genre-box p{color:var(--text-dim);line-height:1.9;font-weight:300;font-size:.98rem;}
.genre-box .hl{color:var(--main);font-weight:700;}

/* 友链 */
.friend-links{
  background:var(--bg-soft);border-radius:24px;padding:2rem 2.2rem;
  border:1px solid rgba(249,115,22,.14);
}
.friend-links h3{font-size:1.25rem;margin-bottom:1rem;}
.friend-links h3 i{color:var(--main);margin-right:.5rem;}
.friend-links .links-row{color:var(--text-dim);font-size:.92rem;line-height:2;}

/* 页脚 */
footer{
  background:#120d0a;border-top:1px solid rgba(249,115,22,.16);
  padding:3.5rem 0 2rem;margin-top:2rem;
}
footer h5{font-size:1rem;margin-bottom:1rem;color:var(--text);}
footer a{color:var(--text-dim);font-size:.9rem;line-height:2.1;display:block;transition:.2s;}
footer a:hover{color:var(--main);}
.footer-bottom{
  border-top:1px solid rgba(255,247,237,.07);
  margin-top:2.5rem;padding-top:1.5rem;
  color:var(--text-dim);font-size:.85rem;text-align:center;
}
.footer-brand{font-size:1.3rem;font-weight:900;margin-bottom:.8rem;display:inline-flex;align-items:center;gap:.5rem;}
.footer-brand i{color:var(--main);}

/* 移动端 */
@media(max-width:991px){
  .hero{padding-top:3.5rem;}
  .section{padding:3rem 0;}
  .hero-stats{gap:1.8rem;}
  .navbar-collapse{padding-top:1rem;}
  .nav-link-c{display:block;margin-bottom:.3rem;}
}

/* --- 子页面追加 --- */
.guide-step {
    background:var(--bg-card);
    border:1px solid rgba(255,255,255,.06);
    border-radius:var(--radius-card);
    padding:26px 24px;
    height:100%;
    box-shadow:var(--shadow);
    position:relative;
    transition:transform .25s ease, border-color .25s ease;
  }
.guide-step:hover {transform:translateY(-4px);border-color:rgba(249,115,22,.45);}
.guide-step .step-num {
    display:inline-flex;align-items:center;justify-content:center;
    width:42px;height:42px;border-radius:12px;
    background:linear-gradient(135deg,var(--main),var(--accent));
    color:#1a1410;font-weight:800;font-size:1.05rem;margin-bottom:16px;
  }
.guide-step h3 {font-size:1.08rem;font-weight:700;color:var(--text);margin-bottom:10px;}
.guide-step p {color:var(--text-dim);font-size:.94rem;line-height:1.75;margin:0;}
.guide-faq {
    background:var(--bg-soft);
    border:1px solid rgba(255,255,255,.06);
    border-radius:var(--radius-card);
    padding:0;overflow:hidden;
  }
.guide-faq details {
    border-bottom:1px solid rgba(255,255,255,.07);
    padding:18px 22px;
  }
.guide-faq details:last-child {border-bottom:none;}
.guide-faq summary {
    cursor:pointer;list-style:none;font-weight:600;color:var(--text);
    font-size:1rem;display:flex;justify-content:space-between;align-items:center;gap:12px;
  }
.guide-faq summary::-webkit-details-marker {display:none;}
.guide-faq summary::after {
    content:"\f078";font-family:"Font Awesome 6 Free";font-weight:900;
    color:var(--main);font-size:.8rem;transition:transform .2s ease;
  }
.guide-faq details[open] summary::after {transform:rotate(180deg);}
.guide-faq details p {color:var(--text-dim);font-size:.93rem;line-height:1.8;margin:12px 0 0;}
.tip-card {
    background:var(--bg-card);
    border-left:4px solid var(--main);
    border-radius:14px;
    padding:20px 22px;
    height:100%;
  }
.tip-card h4 {font-size:1rem;font-weight:700;color:var(--accent);margin-bottom:8px;}
.tip-card p {color:var(--text-dim);font-size:.92rem;line-height:1.75;margin:0;}
.tip-card .ic {color:var(--main);margin-right:8px;}
.guide-cta {
    background:linear-gradient(135deg,rgba(249,115,22,.16),rgba(250,204,21,.08));
    border:1px solid rgba(249,115,22,.35);
    border-radius:var(--radius-card);
    padding:40px 28px;
    text-align:center;
  }
.guide-cta h2 {font-size:1.5rem;font-weight:800;color:var(--text);margin-bottom:12px;}
.guide-cta p {color:var(--text-dim);max-width:640px;margin:0 auto 22px;}
.guide-cta {padding:30px 18px;}
.guide-cta h2 {font-size:1.25rem;}

/* --- 子页面追加 --- */
.about-hero {padding:120px 0 48px;position:relative;overflow:hidden;}
.about-hero::before {content:"";position:absolute;inset:0;background:radial-gradient(60% 80% at 20% 0%,rgba(249,115,22,.18),transparent 65%),radial-gradient(50% 70% at 90% 10%,rgba(250,204,21,.12),transparent 70%);pointer-events:none;}
.about-hero .container {position:relative;z-index:2;}
.about-hero h1 {font-size:clamp(1.9rem,4.4vw,3.1rem);font-weight:900;line-height:1.2;letter-spacing:-.5px;color:var(--text);margin:14px 0 16px;}
.about-hero h1 .hl {background:linear-gradient(100deg,var(--main),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent;}
.about-hero p {color:var(--text-dim);font-size:1.02rem;line-height:1.85;max-width:760px;}
.about-hero .kw {color:var(--accent);font-weight:600;}
.ab-card {background:var(--bg-card);border:1px solid rgba(255,247,237,.08);border-radius:var(--radius-card);padding:26px 24px;height:100%;box-shadow:var(--shadow);transition:transform .28s ease,border-color .28s ease;}
.ab-card:hover {transform:translateY(-4px);border-color:rgba(249,115,22,.45);}
.ab-card .ic {width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:rgba(249,115,22,.14);color:var(--main);font-size:1.15rem;margin-bottom:16px;}
.ab-card h3 {font-size:1.06rem;font-weight:700;color:var(--text);margin-bottom:10px;line-height:1.45;}
.ab-card p {color:var(--text-dim);font-size:.93rem;line-height:1.8;margin:0;}
.ab-text {color:var(--text-dim);font-size:.96rem;line-height:1.95;}
.ab-text strong {color:var(--text);font-weight:600;}
.ab-text .accent {color:var(--accent);font-weight:600;}
.ab-list {list-style:none;padding:0;margin:18px 0 0;}
.ab-list li {position:relative;padding-left:26px;margin-bottom:14px;color:var(--text-dim);font-size:.94rem;line-height:1.8;}
.ab-list li::before {content:"\f058";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;left:0;top:2px;color:var(--main);font-size:.9rem;}
.ab-list li b {color:var(--text);font-weight:600;}
.ab-quote {background:var(--bg-soft);border-left:3px solid var(--main);border-radius:0 var(--radius-card) var(--radius-card) 0;padding:22px 24px;margin:26px 0;color:var(--text-dim);font-size:.96rem;line-height:1.9;}
.ab-quote b {color:var(--accent);}
.ab-timeline {position:relative;padding-left:28px;margin-top:8px;}
.ab-timeline::before {content:"";position:absolute;left:7px;top:6px;bottom:6px;width:2px;background:linear-gradient(180deg,var(--main),rgba(249,115,22,0));}
.ab-tl-item {position:relative;margin-bottom:26px;}
.ab-tl-item::before {content:"";position:absolute;left:-27px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--main);box-shadow:0 0 0 4px rgba(249,115,22,.16);}
.ab-tl-item h4 {font-size:.99rem;color:var(--text);font-weight:700;margin-bottom:6px;}
.ab-tl-item p {color:var(--text-dim);font-size:.92rem;line-height:1.8;margin:0;}
.ab-stats {display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:8px;}
.ab-stat {background:var(--bg-card);border:1px solid rgba(255,247,237,.08);border-radius:var(--radius-card);padding:22px 16px;text-align:center;box-shadow:var(--shadow);}
.ab-stat .n {font-size:1.7rem;font-weight:900;background:linear-gradient(100deg,var(--main),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1.1;}
.ab-stat .l {color:var(--text-dim);font-size:.83rem;margin-top:8px;letter-spacing:.3px;}
.ab-cta {background:linear-gradient(120deg,rgba(249,115,22,.16),rgba(250,204,21,.08));border:1px solid rgba(249,115,22,.32);border-radius:var(--radius-card);padding:36px 28px;text-align:center;box-shadow:var(--shadow);}
.ab-cta h3 {color:var(--text);font-weight:800;font-size:1.35rem;margin-bottom:12px;}
.ab-cta p {color:var(--text-dim);font-size:.94rem;line-height:1.85;max-width:640px;margin:0 auto 22px;}
.ab-cta .btns {display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.about-hero {padding:96px 0 36px;}
.ab-stats {grid-template-columns:repeat(2,1fr);}

/* --- 子页面追加 --- */
.legal-hero { padding: 130px 0 50px; background: radial-gradient(ellipse at 20% 0%, rgba(249,115,22,.16), transparent 60%), var(--bg); }
.legal-body { background: var(--bg); }
.legal-card { background: var(--bg-card); border: 1px solid rgba(255,255,255,.07); border-radius: var(--radius-card); box-shadow: var(--shadow); padding: 28px 26px; height: 100%; }
.legal-card h3 { font-size: 1.12rem; font-weight: 700; color: var(--text); margin-bottom: 14px; display: flex; align-items: flex-start; gap: 10px; }
.legal-card h3 i { color: var(--main); margin-top: 4px; }
.legal-card p, .legal-card li { color: var(--text-dim); font-size: .95rem; line-height: 1.85; }
.legal-card ul { padding-left: 1.1rem; margin: 0; }
.legal-card li::marker { color: var(--main); }
.legal-note { background: var(--bg-soft); border-left: 3px solid var(--main); border-radius: 10px; padding: 16px 18px; color: var(--text-dim); font-size: .93rem; line-height: 1.85; }
.legal-note strong { color: var(--accent); }
.legal-update { display: inline-flex; align-items: center; gap: 8px; background: rgba(249,115,22,.12); color: var(--main); border-radius: var(--radius-btn); padding: 6px 16px; font-size: .82rem; font-weight: 600; }
.legal-toc { background: var(--bg-soft); border: 1px solid rgba(255,255,255,.07); border-radius: var(--radius-card); padding: 22px 24px; }
.legal-toc a { color: var(--text-dim); text-decoration: none; font-size: .93rem; display: block; padding: 6px 0; transition: .2s; border-bottom: 1px dashed rgba(255,255,255,.06); }
.legal-toc a:last-child { border-bottom: 0; }
.legal-toc a:hover { color: var(--main); padding-left: 6px; }
.legal-toc a i { color: var(--main); margin-right: 8px; font-size: .8rem; }
.legal-cta { background: linear-gradient(135deg, rgba(249,115,22,.18), rgba(250,204,21,.08)); border: 1px solid rgba(249,115,22,.3); border-radius: var(--radius-card); padding: 34px 28px; }
.legal-cta h3 { color: var(--text); font-size: 1.25rem; font-weight: 800; margin-bottom: 10px; }
.legal-cta p { color: var(--text-dim); font-size: .95rem; line-height: 1.8; margin-bottom: 18px; }

/* --- 子页面追加 --- */
.policy-wrap {max-width:900px;margin:0 auto;}
.policy-card {
    background:var(--bg-card);
    border:1px solid rgba(250,204,21,.14);
    border-radius:var(--radius-card);
    box-shadow:var(--shadow);
    padding:clamp(20px,4vw,42px);
  }
.policy-card + .policy-card {margin-top:22px;}
.policy-h2 {
    font-size:clamp(19px,2.4vw,24px);
    font-weight:800;
    color:var(--text);
    margin:0 0 14px;
    display:flex;align-items:flex-start;gap:10px;line-height:1.4;
  }
.policy-h2 i {color:var(--main);font-size:.85em;margin-top:6px;}
.policy-card p,.policy-card li {
    color:var(--text-dim);
    font-size:15.5px;
    line-height:1.95;
    margin-bottom:12px;
  }
.policy-card strong {color:var(--accent);font-weight:700;}
.policy-card ul {padding-left:20px;margin-bottom:12px;}
.policy-card li::marker {color:var(--main);}
.policy-note {
    background:rgba(249,115,22,.10);
    border-left:3px solid var(--main);
    border-radius:10px;
    padding:14px 18px;
    margin:18px 0 4px;
  }
.policy-note p {margin:0;color:var(--text);font-size:14.5px;}
.policy-meta {
    display:flex;flex-wrap:wrap;gap:10px 22px;
    font-size:13.5px;color:var(--text-dim);
    border-top:1px dashed rgba(250,204,21,.18);
    padding-top:16px;margin-top:22px;
  }
.policy-meta span i {color:var(--main);margin-right:6px;}
.policy-toc {
    display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
    gap:10px;margin-top:6px;
  }
.policy-toc a {
    display:block;
    padding:11px 15px;
    border-radius:12px;
    background:var(--bg-soft);
    border:1px solid rgba(250,204,21,.12);
    color:var(--text-dim);
    text-decoration:none;
    font-size:14.5px;
    transition:.22s;
  }
.policy-toc a:hover {color:var(--text);border-color:var(--main);background:var(--bg-card);transform:translateY(-2px);}
.policy-toc a i {color:var(--main);margin-right:8px;}

/* --- 子页面追加 --- */
.contact-hero {
    padding: 120px 0 56px;
    background:
      radial-gradient(720px 340px at 82% -8%, rgba(249,115,22,.22), transparent 62%),
      radial-gradient(520px 260px at 6% 108%, rgba(250,204,21,.12), transparent 60%),
      var(--bg);
    border-bottom: 1px solid rgba(255,247,237,.07);
  }
.contact-hero h1 {
    font-size: clamp(1.75rem, 4vw, 2.9rem);
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -.02em;
    margin: 14px 0 16px;
  }
.contact-hero h1 .hl { color: var(--main); }
.contact-hero p.lead-c { color: var(--text-dim); max-width: 720px; line-height: 1.85; font-size: 1.02rem; }
.ch-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 8px; }
.ch-grid { grid-template-columns: repeat(2, 1fr); }
.ch-grid { grid-template-columns: 1fr; }
.ch-card {
    background: var(--bg-card);
    border: 1px solid rgba(255,247,237,.08);
    border-radius: var(--radius-card);
    padding: 24px 22px;
    height: 100%;
    box-shadow: var(--shadow);
    transition: transform .25s ease, border-color .25s ease;
  }
.ch-card:hover { transform: translateY(-4px); border-color: rgba(249,115,22,.45); }
.ch-icon {
    width: 46px; height: 46px; border-radius: 14px;
    display: inline-flex; align-items: center; justify-content: center;
    background: rgba(249,115,22,.14);
    color: var(--main);
    font-size: 1.15rem;
    margin-bottom: 14px;
  }
.ch-card h3 { font-size: 1.06rem; font-weight: 700; margin: 0 0 8px; color: var(--text); }
.ch-card p { color: var(--text-dim); font-size: .92rem; line-height: 1.8; margin: 0 0 12px; }
.ch-mail {
    display: inline-flex; align-items: center; gap: 8px;
    color: var(--accent); font-weight: 600; font-size: .93rem;
    text-decoration: none; word-break: break-all;
  }
.ch-mail:hover { color: var(--main); }
.ch-note { font-size: .82rem; color: var(--text-dim); margin-top: 10px; opacity: .85; }
.panel-c {
    background: var(--bg-soft);
    border: 1px solid rgba(255,247,237,.08);
    border-radius: var(--radius-card);
    padding: 28px 26px;
    box-shadow: var(--shadow);
    height: 100%;
  }
.panel-c h3 { font-size: 1.12rem; font-weight: 700; margin: 0 0 16px; display: flex; align-items: center; gap: 10px; }
.panel-c h3 i { color: var(--main); font-size: 1rem; }
.step-item { display: flex; gap: 14px; padding: 14px 0; border-bottom: 1px dashed rgba(255,247,237,.1); }
.step-item:last-child { border-bottom: 0; padding-bottom: 0; }
.step-item:first-child { padding-top: 0; }
.step-no {
    flex: 0 0 30px; width: 30px; height: 30px; border-radius: 50%;
    background: rgba(250,204,21,.14); color: var(--accent);
    font-weight: 800; font-size: .82rem;
    display: inline-flex; align-items: center; justify-content: center;
  }
.step-item h4 { font-size: .95rem; font-weight: 600; margin: 0 0 4px; color: var(--text); }
.step-item p { font-size: .87rem; color: var(--text-dim); line-height: 1.75; margin: 0; }
.form-c .form-label-c {
    display: block; font-size: .86rem; font-weight: 600;
    color: var(--text-dim); margin-bottom: 7px; letter-spacing: .01em;
  }
.form-c .input-c, .form-c .select-c, .form-c .textarea-c {
    width: 100%;
    background: rgba(0,0,0,.32);
    border: 1px solid rgba(255,247,237,.14);
    border-radius: 12px;
    color: var(--text);
    padding: 11px 14px;
    font-size: .93rem;
    font-family: inherit;
    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease;
  }
.form-c .input-c::placeholder, .form-c .textarea-c::placeholder { color: rgba(255,247,237,.35); }
.form-c .input-c:focus, .form-c .select-c:focus, .form-c .textarea-c:focus {
    border-color: var(--main);
    box-shadow: 0 0 0 3px rgba(249,115,22,.16);
  }
.form-c .select-c option { background: var(--bg-card); color: var(--text); }
.form-c .field { margin-bottom: 16px; }
.form-hint { font-size: .8rem; color: var(--text-dim); margin-top: 10px; line-height: 1.7; }
.faq-item {
    background: var(--bg-card);
    border: 1px solid rgba(255,247,237,.08);
    border-radius: 14px;
    padding: 18px 20px;
    margin-bottom: 14px;
  }
.faq-item h4 { font-size: .97rem; font-weight: 700; margin: 0 0 8px; color: var(--text); display: flex; gap: 10px; }
.faq-item h4 i { color: var(--accent); font-size: .85rem; margin-top: 4px; }
.faq-item p { font-size: .89rem; color: var(--text-dim); line-height: 1.8; margin: 0; }
.notice-strip {
    background: rgba(249,115,22,.09);
    border: 1px solid rgba(249,115,22,.3);
    border-radius: 14px;
    padding: 16px 20px;
    font-size: .88rem;
    color: var(--text-dim);
    line-height: 1.8;
    display: flex; gap: 12px; align-items: flex-start;
  }
.notice-strip i { color: var(--main); margin-top: 3px; }
.notice-strip strong { color: var(--text); }