/* roulang page: index */
:root{
      --ink:#17202f;
      --muted:#687386;
      --soft:#f7f8fb;
      --paper:#ffffff;
      --line:#e7eaf0;
      --violet:#7057e8;
      --violet-dark:#4f3bb6;
      --coral:#f27670;
      --teal:#2ba89a;
      --gold:#e7af54;
      --shadow:0 18px 48px rgba(42,35,79,.10);
      --shadow-sm:0 8px 22px rgba(42,35,79,.08);
      --radius:22px;
      --radius-sm:14px;
      --max:1180px;
    }
    *{box-sizing:border-box;margin:0;padding:0}
    html{scroll-behavior:smooth}
    body{
      background:var(--paper);
      color:var(--ink);
      font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",Arial,sans-serif;
      font-size:15px;
      line-height:1.75;
      -webkit-font-smoothing:antialiased;
    }
    img{display:block;width:100%;height:auto}
    a{color:inherit;text-decoration:none}
    button,input{font:inherit}
    button{cursor:pointer;border:0}
    :focus-visible{outline:3px solid rgba(112,87,232,.35);outline-offset:3px}
    .container{width:min(calc(100% - 48px),var(--max));margin:0 auto}
    .eyebrow{
      display:inline-flex;align-items:center;gap:8px;
      color:var(--violet-dark);font-size:12px;font-weight:800;
      letter-spacing:.08em;text-transform:uppercase;
    }
    .eyebrow:before{content:"";width:22px;height:3px;border-radius:5px;background:var(--coral)}
    .section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}
    .section-head h2{font-size:clamp(25px,3vw,38px);line-height:1.25;letter-spacing:0;font-weight:800}
    .section-head p{max-width:590px;color:var(--muted);font-size:14px}
    .section-link{display:inline-flex;align-items:center;gap:7px;color:var(--violet-dark);font-weight:700;white-space:nowrap}
    .section-link span{transition:transform .2s}
    .section-link:hover span{transform:translateX(4px)}
    .site-header{
      position:sticky;top:0;z-index:20;
      background:rgba(255,255,255,.9);
      backdrop-filter:blur(18px);
      border-bottom:1px solid rgba(231,234,240,.85);
    }
    .nav-wrap{height:76px;display:flex;align-items:center;gap:34px}
    .brand{display:flex;align-items:center;gap:11px;min-width:245px}
    .brand-mark{
      width:37px;height:37px;border-radius:12px;
      display:grid;place-items:center;color:#fff;font-size:19px;font-weight:900;
      background:linear-gradient(140deg,var(--violet),var(--coral));
      box-shadow:0 7px 16px rgba(112,87,232,.24);
    }
    .brand-name{font-size:16px;font-weight:800;letter-spacing:.01em;white-space:nowrap}
    .main-nav{display:flex;align-items:center;gap:25px;flex:1}
    .main-nav a{position:relative;color:#667084;font-size:14px;font-weight:650;padding:27px 0;transition:color .2s}
    .main-nav a:after{content:"";position:absolute;left:0;right:0;bottom:18px;height:2px;border-radius:4px;background:var(--violet);transform:scaleX(0);transition:transform .2s}
    .main-nav a:hover,.main-nav a.active{color:var(--violet-dark)}
    .main-nav a:hover:after,.main-nav a.active:after{transform:scaleX(1)}
    .nav-tools{display:flex;align-items:center;gap:12px}
    .search-btn,.menu-btn{
      display:grid;place-items:center;width:40px;height:40px;border-radius:12px;
      color:var(--ink);background:var(--soft);transition:all .2s
    }
    .search-btn:hover,.menu-btn:hover{background:#ece9ff;color:var(--violet-dark)}
    .menu-btn{display:none}
    .hero{
      min-height:590px;display:flex;align-items:center;position:relative;overflow:hidden;
      background:
        linear-gradient(90deg,rgba(250,249,255,.96) 0%,rgba(250,249,255,.87) 45%,rgba(250,249,255,.18) 100%),
        url("https://images.unsplash.com/photo-1515886657613-9f3515b0c78f?auto=format&fit=crop&w=1800&q=88") center/cover;
    }
    .hero:after{content:"";position:absolute;inset:auto 0 0;height:110px;background:linear-gradient(transparent,#fff)}
    .hero-content{position:relative;z-index:1;padding:88px 0 105px;max-width:680px}
    .hero h1{margin:17px 0 17px;font-size:clamp(38px,5.4vw,66px);line-height:1.16;letter-spacing:0;font-weight:900}
    .hero h1 em{font-style:normal;color:var(--violet-dark);position:relative}
    .hero h1 em:after{content:"";position:absolute;left:4px;right:2px;bottom:-3px;height:8px;background:rgba(242,118,112,.35);border-radius:10px;z-index:-1}
    .hero-lead{max-width:600px;color:#586275;font-size:16px;line-height:1.95}
    .hero-actions{display:flex;align-items:center;gap:13px;margin-top:30px}
    .btn{
      display:inline-flex;align-items:center;justify-content:center;gap:9px;
      min-height:48px;padding:0 21px;border-radius:13px;font-weight:800;
      transition:transform .2s,box-shadow .2s,background .2s
    }
    .btn-primary{color:#fff;background:var(--violet);box-shadow:0 10px 20px rgba(112,87,232,.24)}
    .btn-primary:hover{background:var(--violet-dark);transform:translateY(-2px);box-shadow:0 13px 25px rgba(112,87,232,.3)}
    .btn-light{color:var(--violet-dark);background:#fff;border:1px solid #e4defe}
    .btn-light:hover{background:#f5f2ff;transform:translateY(-2px)}
    .hero-note{display:flex;align-items:center;gap:18px;margin-top:34px;color:#677185;font-size:12px}
    .hero-note strong{color:var(--ink);font-size:22px;line-height:1}
    .hero-note .divider{width:1px;height:27px;background:#d9dce5}
    section{padding:86px 0}
    .soft-section{background:var(--soft)}
    .benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
    .benefit{padding:28px 26px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}
    .benefit-icon{width:45px;height:45px;display:grid;place-items:center;border-radius:14px;color:#fff;font-size:20px;margin-bottom:18px}
    .benefit:nth-child(1) .benefit-icon{background:var(--violet)}
    .benefit:nth-child(2) .benefit-icon{background:var(--coral)}
    .benefit:nth-child(3) .benefit-icon{background:var(--teal)}
    .benefit h3{font-size:19px;margin-bottom:8px}
    .benefit p{color:var(--muted);font-size:14px}
    .entry-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-template-rows:1fr 1fr;gap:18px}
    .entry{
      min-height:150px;padding:25px;border-radius:var(--radius);color:#fff;position:relative;overflow:hidden;
      display:flex;flex-direction:column;justify-content:end;isolation:isolate;
    }
    .entry:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(135deg,rgba(42,32,86,.18),rgba(42,32,86,.75))}
    .entry:after{content:"";position:absolute;width:160px;height:160px;right:-50px;top:-45px;border:1px solid rgba(255,255,255,.28);border-radius:50%}
    .entry:first-child{grid-row:span 2;min-height:318px;background:url("https://images.unsplash.com/photo-1516979187457-637abb4f9353?auto=format&fit=crop&w=900&q=85") center/cover}
    .entry:nth-child(2){background:url("https://images.unsplash.com/photo-1534528741775-53994a69daeb?auto=format&fit=crop&w=800&q=85") center/cover}
    .entry:nth-child(3){background:url("https://images.unsplash.com/photo-1524504388940-b1c1722653e1?auto=format&fit=crop&w=800&q=85") center/cover}
    .entry:nth-child(4){background:url("https://images.unsplash.com/photo-1488426862026-3ee34a7d66df?auto=format&fit=crop&w=800&q=85") center/cover}
    .entry h3{font-size:22px;line-height:1.25;position:relative}
    .entry p{font-size:13px;opacity:.86;position:relative;margin-top:5px}
    .entry-arrow{position:absolute;top:22px;right:22px;width:33px;height:33px;border:1px solid rgba(255,255,255,.5);border-radius:50%;display:grid;place-items:center}
    .content-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
    .media-card{min-width:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;box-shadow:0 5px 16px rgba(33,29,60,.04);transition:transform .22s,box-shadow .22s}
    .media-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
    .media-cover{aspect-ratio:4/3;position:relative;overflow:hidden;background:#ddd}
    .media-cover img{height:100%;object-fit:cover;transition:transform .45s}
    .media-card:hover .media-cover img{transform:scale(1.05)}
    .media-cover:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(17,19,33,.68))}
    .badge{position:absolute;z-index:1;left:12px;top:12px;padding:3px 8px;border-radius:7px;background:rgba(255,255,255,.9);color:var(--violet-dark);font-size:11px;font-weight:800}
    .duration{position:absolute;z-index:1;right:12px;bottom:9px;color:#fff;font-size:11px}
    .media-info{padding:15px 15px 16px}
    .media-title{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:800}
    .media-meta{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-top:8px;color:var(--muted);font-size:12px}
    .rating{color:#d5972f;font-weight:800}
    .popular-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
    .popular-card{display:grid;grid-template-columns:132px 1fr;min-height:145px;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;background:#fff;transition:box-shadow .2s,transform .2s}
    .popular-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm)}
    .popular-card img{height:100%;object-fit:cover}
    .popular-copy{padding:18px 15px}
    .popular-copy h3{font-size:16px;line-height:1.4;margin:7px 0}
    .popular-copy p{color:var(--muted);font-size:12px;line-height:1.6}
    .category-wrap{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
    .category{padding:24px 20px;min-height:190px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .2s}
    .category:hover{background:#f9f7ff}
    .category-num{color:var(--coral);font-size:13px;font-weight:900}
    .category h3{margin:20px 0 9px;font-size:17px}
    .category p{color:var(--muted);font-size:13px;line-height:1.7}
    .rank-layout{display:grid;grid-template-columns:1fr .85fr;gap:35px;align-items:start}
    .rank-list{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}
    .rank-item{display:grid;grid-template-columns:31px 1fr auto;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}
    .rank-no{font-size:19px;color:#aab0bd;font-weight:900}
    .rank-item:nth-child(-n+3) .rank-no{color:var(--coral)}
    .rank-title{font-weight:750;font-size:14px}
    .rank-category{display:block;color:var(--muted);font-size:11px;margin-top:2px}
    .rank-score{color:var(--gold);font-weight:800;font-size:13px}
    .rank-feature{min-height:310px;padding:30px;border-radius:var(--radius);color:#fff;background:linear-gradient(145deg,#6f58df,#b05bc5 55%,#ef8172);position:relative;overflow:hidden}
    .rank-feature:after{content:"TOP 01";position:absolute;right:-5px;bottom:-22px;font-size:92px;font-weight:900;color:rgba(255,255,255,.12);line-height:1}
    .rank-feature .eyebrow{color:#fff}
    .rank-feature .eyebrow:before{background:#fff}
    .rank-feature h3{font-size:29px;line-height:1.3;margin:26px 0 12px;position:relative;z-index:1}
    .rank-feature p{color:rgba(255,255,255,.84);font-size:14px;position:relative;z-index:1}
    .rank-stat{display:flex;gap:27px;margin-top:28px;position:relative;z-index:1}
    .rank-stat strong{display:block;font-size:22px}.rank-stat span{font-size:12px;color:rgba(255,255,255,.75)}
    .news-layout{display:grid;grid-template-columns:1.12fr .88fr;gap:35px}
    .news-main{position:relative;border-radius:var(--radius);overflow:hidden;min-height:350px;background:url("https://images.unsplash.com/photo-1485846234645-a62644f84728?auto=format&fit=crop&w=1000&q=85") center/cover}
    .news-main:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(20,21,37,.88))}
    .news-main-copy{position:absolute;z-index:1;left:28px;right:28px;bottom:25px;color:#fff}
    .news-main-copy h3{font-size:23px;line-height:1.35;margin:9px 0}
    .news-main-copy p{color:rgba(255,255,255,.77);font-size:13px}
    .news-list{display:grid;gap:14px}
    .news-item{display:grid;grid-template-columns:108px 1fr;gap:15px;align-items:center;padding-bottom:14px;border-bottom:1px solid var(--line)}
    .news-item img{height:76px;object-fit:cover;border-radius:11px}
    .news-item h3{font-size:14px;line-height:1.45;margin-bottom:4px}
    .news-item time{color:var(--muted);font-size:11px}
    .stats-band{background:#211d3b;color:#fff}
    .stats-band .section-head p{color:#bdb9d0}.stats-band .eyebrow{color:#dcd4ff}
    .stats-band .eyebrow:before{background:var(--coral)}
    .stats-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.15)}
    .stat{padding:27px 24px;border-right:1px solid rgba(255,255,255,.15)}
    .stat:last-child{border:0}.stat strong{font-size:34px;line-height:1;color:#fff}.stat span{display:block;color:#aaa6bf;font-size:13px;margin-top:9px}
    .quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
    .quote{padding:25px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);position:relative}
    .quote:before{content:"“";position:absolute;right:20px;top:7px;font-family:Georgia;font-size:62px;color:#e7e1ff;line-height:1}
    .quote p{color:#596375;font-size:14px;line-height:1.9;min-height:84px}
    .quote-author{display:flex;align-items:center;gap:10px;margin-top:18px}
    .avatar{width:34px;height:34px;border-radius:50%;object-fit:cover}
    .quote-author strong{font-size:13px}.quote-author span{display:block;color:var(--muted);font-size:11px}
    .trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
    .trust-item{padding:23px 20px;background:#fff;border-radius:var(--radius-sm);border:1px solid var(--line)}
    .trust-item strong{display:block;font-size:16px;margin-bottom:7px}.trust-item p{color:var(--muted);font-size:13px}
    .faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 30px}
    .faq{padding:20px 0;border-bottom:1px solid var(--line)}
    .faq h3{font-size:16px;line-height:1.5;margin-bottom:8px}.faq p{color:var(--muted);font-size:13px}
    .contact-band{padding:62px 0;background:linear-gradient(110deg,#f2f0ff,#fff5f1)}
    .contact-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}
    .contact-inner h2{font-size:30px;line-height:1.3;margin:10px 0}
    .contact-inner p{color:var(--muted);max-width:620px}
    .site-footer{background:#17162a;color:#fff;padding:60px 0 24px}
    .footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px;padding-bottom:45px}
    .footer-brand p{color:#9b98aa;font-size:13px;max-width:300px;margin-top:17px}
    .footer-title{font-size:14px;margin-bottom:16px}
    .footer-links{display:grid;gap:9px}.footer-links a{color:#9b98aa;font-size:13px;transition:color .2s}.footer-links a:hover{color:#fff}
    .footer-bottom{display:flex;justify-content:space-between;gap:18px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);color:#777488;font-size:12px}
    .age-mark{display:inline-flex;align-items:center;gap:6px;color:#c7c4d0}
    @media(max-width:1024px){
      .container{width:min(calc(100% - 36px),var(--max))}
      .nav-wrap{gap:18px}.brand{min-width:auto}.main-nav{gap:16px}
      .content-grid{grid-template-columns:repeat(3,1fr)}.category-wrap{grid-template-columns:repeat(3,1fr)}
      .popular-grid{grid-template-columns:repeat(2,1fr)}.rank-layout,.news-layout{grid-template-columns:1fr}
    }
    @media(max-width:768px){
      .nav-wrap{height:68px}.brand-name{font-size:14px}.menu-btn{display:grid}
      .main-nav{display:none;position:absolute;left:18px;right:18px;top:74px;padding:10px 18px;flex-direction:column;align-items:stretch;gap:0;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}
      .main-nav.open{display:flex}.main-nav a{padding:12px 0}.main-nav a:after{bottom:5px}
      .search-btn{display:none}.hero{min-height:570px;background-position:62% center}.hero-content{padding:74px 0 90px;max-width:600px}
      section{padding:65px 0}.section-head{display:block}.section-head p{margin-top:12px}.section-link{margin-top:15px}
      .benefits,.quotes,.trust-grid{grid-template-columns:1fr}.benefit{padding:23px}
      .entry-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}.entry:first-child{grid-column:span 2;grid-row:auto;min-height:250px}
      .content-grid{grid-template-columns:repeat(2,1fr)}.category-wrap{grid-template-columns:repeat(2,1fr)}
      .rank-list{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.15)}
      .faq-grid{grid-template-columns:1fr}.contact-inner{display:block}.contact-inner .btn{margin-top:22px}
      .footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-brand{grid-column:span 2}
    }
    @media(max-width:520px){
      .container{width:calc(100% - 30px)}.brand-mark{width:33px;height:33px}.brand-name{max-width:210px;overflow:hidden;text-overflow:ellipsis}
      .hero h1{font-size:39px}.hero-lead{font-size:14px}.hero-actions{flex-wrap:wrap}.hero-note{gap:12px}
      .entry-grid,.popular-grid{grid-template-columns:1fr}.entry:first-child{grid-column:auto}.entry{min-height:170px}
      .content-grid{gap:12px}.media-info{padding:12px}.media-title{font-size:13px}.media-meta{display:block}.rating{display:block;margin-top:4px}
      .category-wrap{grid-template-columns:1fr}.category{min-height:auto}.rank-feature{min-height:280px}
      .news-item{grid-template-columns:88px 1fr}.news-item img{height:68px}.stats-grid{grid-template-columns:1fr 1fr}.stat{padding:20px 12px}.stat strong{font-size:27px}
      .footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:7px}
    }
