:root{
    --ink:#1f2430;
    --ink-soft:#5b6270;
    --ink-faint:#8b92a0;
    --brand:#3f9b46;
    --brand-deep:#2c7a34;
    --brand-light:#eaf5ea;
    --paper:#ffffff;
    --paper-warm:#fbfaf6;
    --line:#e8e6df;
    --radius-l:22px;
    --radius-m:14px;
    --shadow-s:0 4px 16px rgba(31,36,48,.06);
    --shadow-m:0 12px 34px rgba(31,36,48,.09);
    --maxw:1160px;
  }
  *{box-sizing:border-box;}
  html{-webkit-text-size-adjust:100%;}
  body{
    margin:0;
    font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",system-ui,sans-serif;
    color:var(--ink);
    background:var(--paper-warm);
    line-height:1.7;
    font-size:16px;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  h1,h2,h3,h4,p{margin:0;}
  ul{margin:0;padding:0;list-style:none;}
  .wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 22px;}
  .btn{
    display:inline-block;
    padding:14px 30px;
    border-radius:999px;
    background:var(--brand);
    color:#fff;
    font-weight:600;
    font-size:16px;
    transition:background .2s ease, transform .2s ease;
    box-shadow:0 8px 20px rgba(63,155,70,.24);
  }
  .btn:hover{background:var(--brand-deep);transform:translateY(-1px);}
  .btn-ghost{
    background:transparent;
    color:var(--brand-deep);
    border:1px solid #c7ddc9;
    box-shadow:none;
    font-weight:500;
  }
  .btn-ghost:hover{background:var(--brand-light);transform:translateY(-1px);}
  .eyebrow{
    display:inline-block;
    font-size:13px;
    letter-spacing:.12em;
    color:var(--brand-deep);
    background:var(--brand-light);
    padding:6px 14px;
    border-radius:999px;
    margin-bottom:16px;
    font-weight:600;
  }
  .sec{padding:80px 0;}
  .sec-head{max-width:680px;margin:0 auto 44px;text-align:center;}
  .sec-head h2{
    font-size:32px;
    line-height:1.35;
    letter-spacing:.01em;
    font-weight:700;
  }
  .sec-head p{
    margin-top:14px;
    color:var(--ink-soft);
    font-size:16px;
  }

  /* ---------- header ---------- */
  .site-header{
    position:sticky;
    top:0;
    z-index:50;
    background:rgba(255,255,255,.92);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .header-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    height:68px;
  }
  .brand{display:flex;align-items:center;gap:10px;}
  .brand img{height:34px;width:auto;border-radius:8px;}
  .brand-name{font-weight:700;font-size:17px;letter-spacing:.02em;}
  .nav{display:flex;align-items:center;gap:28px;}
  .nav a{font-size:15px;color:var(--ink-soft);transition:color .2s ease;}
  .nav a:hover{color:var(--brand-deep);}
  .header-cta{
    padding:10px 22px;
    font-size:14px;
    box-shadow:none;
  }
  .nav-toggle{
    display:none;
    width:42px;height:42px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
    cursor:pointer;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:5px;
  }
  .nav-toggle span{display:block;width:18px;height:2px;background:var(--ink);border-radius:2px;}

  /* ---------- hero ---------- */
  .hero{
    padding:72px 0 84px;
    background:linear-gradient(180deg,#ffffff 0%,#fbfaf6 100%);
    overflow:hidden;
  }
  .hero-grid{
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:56px;
    align-items:center;
  }
  .hero h1{
    font-size:46px;
    line-height:1.28;
    font-weight:800;
    letter-spacing:.01em;
  }
  .hero h1 em{
    font-style:normal;
    color:var(--brand-deep);
    background:linear-gradient(180deg,transparent 62%, #d8efd9 62%);
  }
  .hero-sub{
    margin-top:20px;
    font-size:17px;
    color:var(--ink-soft);
    max-width:520px;
  }
  .hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin-top:32px;
  }
  .hero-note{
    margin-top:22px;
    font-size:14px;
    color:var(--ink-faint);
  }
  .hero-visual{
    position:relative;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
    align-items:start;
  }
  .hero-visual .shot{
    border-radius:var(--radius-l);
    overflow:hidden;
    box-shadow:var(--shadow-m);
    background:#fff;
  }
  .hero-visual .shot img{width:100%;height:100%;object-fit:cover;}
  .hero-visual .shot.tall{aspect-ratio:3/4.1;}
  .hero-visual .shot.lift{margin-top:40px;aspect-ratio:3/4.1;}
  .hero-chip{
    position:absolute;
    left:-14px;
    bottom:26px;
    background:#fff;
    border-radius:16px;
    padding:12px 18px;
    box-shadow:var(--shadow-m);
    font-size:13px;
    color:var(--ink-soft);
    line-height:1.5;
  }
  .hero-chip strong{display:block;color:var(--ink);font-size:15px;}

  /* ---------- 频道入口 ---------- */
  .channels{background:#fff;}
  .channel-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
  }
  .channel-card{
    background:var(--paper-warm);
    border:1px solid var(--line);
    border-radius:var(--radius-l);
    overflow:hidden;
    transition:transform .25s ease, box-shadow .25s ease;
  }
  .channel-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-m);}
  .channel-card .thumb{aspect-ratio:16/10;overflow:hidden;}
  .channel-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
  .channel-card:hover .thumb img{transform:scale(1.04);}
  .channel-body{padding:22px 22px 26px;}
  .channel-body h3{font-size:19px;font-weight:700;}
  .channel-body p{margin-top:10px;font-size:15px;color:var(--ink-soft);}

  /* ---------- 剧情亮点 ---------- */
  .highlights{background:var(--paper-warm);}
  .hl-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:56px;
    align-items:center;
    margin-bottom:76px;
  }
  .hl-row:last-child{margin-bottom:0;}
  .hl-row.rev .hl-text{order:2;}
  .hl-row.rev .hl-media{order:1;}
  .hl-text h3{font-size:26px;line-height:1.4;font-weight:700;}
  .hl-text p{margin-top:16px;color:var(--ink-soft);font-size:16px;}
  .hl-list{margin-top:22px;display:grid;gap:12px;}
  .hl-list li{
    display:flex;
    gap:10px;
    font-size:15px;
    color:var(--ink-soft);
  }
  .hl-list li::before{
    content:"";
    flex:0 0 auto;
    width:8px;height:8px;
    margin-top:9px;
    border-radius:50%;
    background:var(--brand);
  }
  .hl-media{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
  }
  .hl-media figure{
    margin:0;
    border-radius:var(--radius-m);
    overflow:hidden;
    box-shadow:var(--shadow-s);
    background:#fff;
  }
  .hl-media figure img{width:100%;height:100%;object-fit:cover;aspect-ratio:3/4;}
  .hl-media figure:first-child{grid-row:span 2;aspect-ratio:auto;}
  .hl-media figure:first-child img{height:100%;aspect-ratio:auto;}
  .hl-media .stack{display:grid;gap:14px;}

  /* ---------- 数据带 ---------- */
  .stats{background:#fff;}
  .stats-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:22px;
  }
  .stat{
    text-align:center;
    padding:30px 18px;
    border-radius:var(--radius-m);
    background:var(--paper-warm);
    border:1px solid var(--line);
  }
  .stat b{
    display:block;
    font-size:24px;
    font-weight:800;
    color:var(--brand-deep);
    letter-spacing:.01em;
  }
  .stat span{display:block;margin-top:8px;font-size:14px;color:var(--ink-soft);}

  /* ---------- 剧集墙 ---------- */
  .gallery{background:var(--paper-warm);}
  .wall{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
  }
  .wall-item{
    border-radius:var(--radius-m);
    overflow:hidden;
    box-shadow:var(--shadow-s);
    background:#fff;
  }
  .wall-item img{width:100%;aspect-ratio:3/4;object-fit:cover;}
  .wall-more{
    text-align:center;
    margin-top:40px;
    font-size:15px;
    color:var(--ink-soft);
  }

  /* ---------- 用户评价 ---------- */
  .voices{background:#fff;}
  .voice-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
  }
  .voice{
    background:var(--paper-warm);
    border:1px solid var(--line);
    border-radius:var(--radius-l);
    padding:28px 26px;
  }
  .voice p{font-size:15px;color:var(--ink-soft);}
  .voice .who{
    margin-top:18px;
    font-size:14px;
    color:var(--ink);
    font-weight:600;
  }
  .voice .who span{font-weight:400;color:var(--ink-faint);margin-left:6px;}

  /* ---------- FAQ ---------- */
  .faq{background:var(--paper-warm);}
  .faq-list{max-width:820px;margin:0 auto;display:grid;gap:14px;}
  details{
    background:#fff;
    border:1px solid var(--line);
    border-radius:var(--radius-m);
    padding:18px 22px;
    box-shadow:var(--shadow-s);
  }
  details summary{
    cursor:pointer;
    font-weight:600;
    font-size:16px;
    list-style:none;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
  }
  details summary::-webkit-details-marker{display:none;}
  details summary::after{
    content:"+";
    font-size:20px;
    color:var(--brand);
    font-weight:400;
    line-height:1;
  }
  details[open] summary::after{content:"–";}
  details p{margin-top:12px;font-size:15px;color:var(--ink-soft);}

  /* ---------- 下载 CTA ---------- */
  .cta{
    background:linear-gradient(140deg,#2c7a34 0%, #3f9b46 62%, #62b96a 100%);
    color:#fff;
  }
  .cta-inner{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:48px;
    align-items:center;
  }
  .cta h2{font-size:32px;line-height:1.35;font-weight:800;}
  .cta p{margin-top:16px;font-size:16px;color:rgba(255,255,255,.86);max-width:520px;}
  .cta .btn{
    background:#fff;
    color:var(--brand-deep);
    box-shadow:0 10px 26px rgba(0,0,0,.14);
    margin-top:28px;
  }
  .cta .btn:hover{background:#f4fbf4;}
  .cta-shots{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
  }
  .cta-shots img{
    width:100%;
    aspect-ratio:3/4.2;
    object-fit:cover;
    border-radius:12px;
    box-shadow:0 12px 26px rgba(0,0,0,.18);
  }
  .cta-shots img:nth-child(2){transform:translateY(-16px);}

  /* ---------- footer ---------- */
  .site-footer{
    background:#fff;
    border-top:1px solid var(--line);
    padding:44px 0 36px;
    font-size:13px;
    color:var(--ink-faint);
  }
  .footer-top{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    gap:24px;
    padding-bottom:24px;
    border-bottom:1px solid var(--line);
  }
  .footer-brand{display:flex;align-items:center;gap:10px;}
  .footer-brand img{height:28px;width:auto;border-radius:6px;}
  .footer-brand b{color:var(--ink);font-size:15px;font-weight:700;}
  .footer-links{display:flex;flex-wrap:wrap;gap:20px;}
  .footer-links a{color:var(--ink-soft);}
  .footer-links a:hover{color:var(--brand-deep);}
  .footer-bottom{
    margin-top:20px;
    display:flex;
    flex-wrap:wrap;
    gap:10px 24px;
    justify-content:space-between;
    line-height:1.9;
  }
  .footer-bottom a{color:var(--ink-faint);}
  .footer-bottom a:hover{color:var(--brand-deep);}
  time{font-variant-numeric:tabular-nums;}

  /* ---------- responsive ---------- */
  @media (max-width:1024px){
    .sec{padding:64px 0;}
    .hero{padding:56px 0 66px;}
    .hero-grid{gap:36px;grid-template-columns:1fr 1fr;}
    .hero h1{font-size:38px;}
    .sec-head h2{font-size:28px;}
    .channel-grid{gap:18px;}
    .hl-row{gap:36px;}
    .wall{grid-template-columns:repeat(3,1fr);}
    .stats-grid{grid-template-columns:repeat(2,1fr);}
    .cta h2{font-size:27px;}
  }
  @media (max-width:768px){
    .nav{display:none;}
    .header-cta{display:none;}
    .nav-toggle{display:flex;}
    .nav.open{
      display:flex;
      position:absolute;
      top:68px;left:0;right:0;
      flex-direction:column;
      align-items:flex-start;
      gap:0;
      background:#fff;
      border-bottom:1px solid var(--line);
      padding:8px 22px 18px;
      box-shadow:var(--shadow-s);
    }
    .nav.open a{padding:12px 0;width:100%;border-bottom:1px solid #f2f0ea;}
    .nav.open a:last-child{border-bottom:none;}
    .hero-grid{grid-template-columns:1fr;gap:34px;}
    .hero h1{font-size:31px;}
    .hero-sub{font-size:16px;}
    .hero-chip{left:auto;right:10px;bottom:-8px;padding:10px 14px;}
    .channel-grid{grid-template-columns:1fr;}
    .hl-row{grid-template-columns:1fr;gap:26px;margin-bottom:56px;}
    .hl-row.rev .hl-text{order:1;}
    .hl-row.rev .hl-media{order:2;}
    .hl-media figure:first-child{grid-row:auto;}
    .hl-media figure img{aspect-ratio:1/1;}
    .hl-media figure:first-child img{aspect-ratio:1/1;}
    .voice-grid{grid-template-columns:1fr;}
    .wall{grid-template-columns:repeat(2,1fr);gap:14px;}
    .cta-inner{grid-template-columns:1fr;gap:30px;}
    .sec{padding:54px 0;}
    .sec-head h2{font-size:24px;}
    .footer-top{flex-direction:column;}
  }
  @media (max-width:420px){
    .hero h1{font-size:27px;}
    .btn{padding:12px 24px;font-size:15px;}
  }