/* roulang page: index */
:root{
      --ink:#211c2a;
      --muted:#766f80;
      --paper:#fffaf7;
      --cream:#fff1ec;
      --pink:#ee5c83;
      --rose:#ff8d78;
      --plum:#7d3f72;
      --violet:#55458f;
      --mint:#4ba99a;
      --line:#eadfe2;
      --white:#fff;
      --shadow:0 18px 50px rgba(100,49,78,.12);
      --shadow-soft:0 8px 24px rgba(100,49,78,.08);
      --radius:24px;
      --radius-sm:14px;
      --container:1180px;
    }
    *{box-sizing:border-box;margin:0;padding:0}
    html{scroll-behavior:smooth}
    body{font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--paper);line-height:1.7;font-size:15px}
    a{color:inherit;text-decoration:none}
    img{display:block;width:100%;height:100%;object-fit:cover}
    button,input{font:inherit}
    button{border:0;cursor:pointer}
    :focus-visible{outline:3px solid rgba(238,92,131,.35);outline-offset:3px}
    .container{width:min(calc(100% - 40px),var(--container));margin:auto}
    .eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--pink);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
    .eyebrow:before{content:"";width:24px;height:2px;background:var(--pink);display:inline-block}
    .section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px}
    .section-head h2{font-size:clamp(25px,3vw,38px);line-height:1.2;letter-spacing:0;font-weight:850;margin-top:8px}
    .section-head p{max-width:510px;color:var(--muted);font-size:15px}
    .section{padding:86px 0;position:relative}
    .section.alt{background:#fff}
    .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:0 22px;border-radius:999px;font-weight:800;transition:.25s ease;border:1px solid transparent}
    .btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft)}
    .btn-primary{background:var(--pink);color:#fff}
    .btn-primary:hover{background:#d94970}
    .btn-light{background:#fff;color:var(--plum);border-color:rgba(255,255,255,.5)}
    .btn-outline{border-color:var(--line);background:transparent;color:var(--plum)}
    .btn-outline:hover{border-color:var(--pink);color:var(--pink);background:#fff}
    .badge{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:999px;background:#fff;color:var(--plum);font-size:11px;font-weight:800;box-shadow:0 4px 12px rgba(40,20,50,.08)}
    .badge.hot{background:#fff0f4;color:#d94c73}
    .badge.green{background:#e8f8f2;color:#267a68}
    .site-header{height:78px;background:rgba(255,250,247,.9);backdrop-filter:blur(16px);border-bottom:1px solid rgba(234,223,226,.8);position:sticky;top:0;z-index:20}
    .nav-wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:25px}
    .brand{display:flex;align-items:center;gap:10px;font-weight:900;white-space:nowrap}
    .brand-mark{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--pink),var(--violet));display:grid;place-items:center;color:#fff;font-size:18px;box-shadow:0 7px 18px rgba(238,92,131,.25)}
    .brand-text{font-size:16px;letter-spacing:0}
    .nav-links{display:flex;align-items:center;gap:25px}
    .nav-links a{font-size:14px;color:var(--muted);font-weight:700;transition:.2s}
    .nav-links a:hover,.nav-links a.active{color:var(--pink)}
    .nav-action{padding:10px 17px;border-radius:999px;background:#fff0f4;color:var(--pink)!important}
    .menu-toggle{display:none;background:none;font-size:25px;color:var(--plum)}
    .hero{min-height:670px;display:flex;align-items:center;overflow:hidden;position:relative;background:linear-gradient(135deg,#fff0eb 0%,#fffaf7 48%,#f3eefb 100%)}
    .hero:after{content:"";position:absolute;right:-11%;top:-26%;width:58%;height:120%;background:linear-gradient(135deg,rgba(238,92,131,.2),rgba(85,69,143,.18));transform:skewX(-15deg);border-radius:40px;pointer-events:none}
    .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:70px;position:relative;z-index:1}
    .hero h1{font-size:clamp(38px,5.2vw,70px);line-height:1.1;letter-spacing:0;font-weight:950;max-width:680px;margin:18px 0}
    .hero h1 em{font-style:normal;color:var(--pink);position:relative}
    .hero h1 em:after{content:"";height:7px;width:100%;background:#ffc7b4;position:absolute;left:0;bottom:1px;z-index:-1;border-radius:4px}
    .hero-copy{font-size:16px;color:var(--muted);max-width:610px}
    .hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
    .hero-proof{display:flex;gap:25px;margin-top:34px}
    .proof strong{display:block;font-size:23px;color:var(--plum);line-height:1.2}
    .proof span{display:block;color:var(--muted);font-size:12px;margin-top:4px}
    .hero-panel{position:relative;min-height:430px}
    .hero-photo{width:78%;height:420px;border-radius:28px;overflow:hidden;box-shadow:var(--shadow);transform:rotate(3deg);margin-left:auto}
    .hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(38,17,40,.42))}
    .hero-photo img{filter:saturate(.9)}
    .hero-note{position:absolute;left:0;bottom:30px;background:#fff;padding:19px 20px;border-radius:18px;box-shadow:var(--shadow);width:235px}
    .hero-note b{font-size:14px;color:var(--plum)}
    .hero-note p{font-size:12px;color:var(--muted);line-height:1.6;margin-top:5px}
    .floating-tag{position:absolute;right:4%;top:50px;background:var(--plum);color:#fff;padding:12px 17px;border-radius:15px;font-weight:800;font-size:13px;box-shadow:var(--shadow)}
    .matrix{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
    .matrix-item{background:#fff;border:1px solid var(--line);padding:25px;border-radius:18px;min-height:180px;transition:.25s}
    .matrix-item:hover{transform:translateY(-5px);box-shadow:var(--shadow-soft);border-color:#f3b5c5}
    .matrix-icon{width:43px;height:43px;border-radius:13px;display:grid;place-items:center;background:#fff0f4;color:var(--pink);font-size:19px;margin-bottom:18px}
    .matrix-item:nth-child(2) .matrix-icon{background:#f0edfb;color:var(--violet)}
    .matrix-item:nth-child(3) .matrix-icon{background:#e7f7f2;color:var(--mint)}
    .matrix-item:nth-child(4) .matrix-icon{background:#fff3df;color:#c27b27}
    .matrix-item h3{font-size:17px;margin-bottom:8px}
    .matrix-item p{font-size:13px;color:var(--muted);line-height:1.7}
    .recommend-strip{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:18px}
    .feature-card{min-height:290px;border-radius:var(--radius);overflow:hidden;position:relative;color:#fff}
    .feature-card img{position:absolute;inset:0}
    .feature-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 28%,rgba(35,17,37,.86))}
    .feature-content{position:absolute;z-index:1;left:23px;right:23px;bottom:22px}
    .feature-content h3{font-size:22px;margin:8px 0 5px}
    .feature-content p{font-size:13px;color:rgba(255,255,255,.82)}
    .latest-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
    .content-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:.25s}
    .content-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-soft)}
    .card-image{height:190px;position:relative;background:#eee}
    .card-image .badge{position:absolute;left:12px;top:12px}
    .card-body{padding:16px}
    .card-body h3{font-size:16px;line-height:1.4;margin-bottom:8px}
    .card-meta{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:12px}
    .rating{color:#c6762c;font-weight:800}
    .ranking-wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:22px}
    .rank-list{background:#fff;border:1px solid var(--line);border-radius:22px;padding:10px 22px}
    .rank-item{display:grid;grid-template-columns:40px 1fr auto auto;align-items:center;gap:14px;padding:15px 0;border-bottom:1px solid #f0e9eb}
    .rank-item:last-child{border-bottom:0}
    .rank-no{font-size:18px;font-weight:900;color:#c9bdc6}
    .rank-item:nth-child(-n+3) .rank-no{color:var(--pink)}
    .rank-name{font-weight:800;font-size:14px}
    .rank-tag{font-size:11px;color:var(--violet);background:#f1effb;padding:4px 8px;border-radius:8px}
    .heat{color:var(--muted);font-size:12px}
    .trust-panel{border-radius:22px;padding:30px;background:linear-gradient(135deg,var(--plum),#a64c78);color:#fff;min-height:100%}
    .trust-panel h3{font-size:25px;line-height:1.3;margin:15px 0}
    .trust-panel p{font-size:14px;color:rgba(255,255,255,.78)}
    .trust-points{margin-top:26px;display:grid;gap:15px}
    .trust-point{display:flex;gap:11px;align-items:start}
    .trust-point i{font-style:normal;width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.16);display:grid;place-items:center;color:#ffd7bd;font-weight:900}
    .trust-point span{font-size:13px}
    .timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;position:relative}
    .timeline:before{content:"";position:absolute;left:7%;right:7%;top:22px;height:2px;background:#f3ccd4}
    .step{position:relative;z-index:1}
    .step-dot{width:44px;height:44px;border-radius:50%;background:#fff;border:2px solid var(--pink);color:var(--pink);display:grid;place-items:center;font-weight:900;margin-bottom:20px}
    .step h3{font-size:17px;margin-bottom:8px}
    .step p{font-size:13px;color:var(--muted)}
    .news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
    .news-item{display:flex;gap:14px;padding:14px;background:#fff;border:1px solid var(--line);border-radius:16px;transition:.2s}
    .news-item:hover{border-color:#f0aabe;box-shadow:var(--shadow-soft)}
    .news-thumb{width:92px;height:78px;border-radius:12px;overflow:hidden;flex:none}
    .news-item h3{font-size:14px;line-height:1.5}
    .news-item time{font-size:11px;color:var(--muted);display:block;margin-top:8px}
    .quote-band{background:#2c2236;color:#fff;overflow:hidden}
    .quote-grid{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:60px}
    .quote-grid h2{font-size:clamp(27px,4vw,46px);line-height:1.2}
    .quote-grid p{color:rgba(255,255,255,.68);margin-top:17px}
    .quotes{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}
    .quote{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:22px}
    .quote p{color:rgba(255,255,255,.84);font-size:14px;margin:0}
    .quote b{font-size:12px;display:block;color:#ffc4c8;margin-top:15px}
    .faq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}
    .faq-item{background:#fff;border:1px solid var(--line);border-radius:16px;padding:21px 24px}
    .faq-item h3{font-size:16px;margin-bottom:8px;color:var(--plum)}
    .faq-item p{font-size:13px;color:var(--muted)}
    .lead-band{background:linear-gradient(120deg,#fff0ec,#f3effb);padding:70px 0}
    .lead-box{display:grid;grid-template-columns:1fr .9fr;gap:40px;align-items:center}
    .lead-box h2{font-size:clamp(29px,4vw,47px);line-height:1.18;margin:12px 0}
    .lead-box p{color:var(--muted);max-width:530px}
    .lead-form{background:#fff;padding:22px;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-soft)}
    .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
    .lead-form input{width:100%;height:46px;border:1px solid var(--line);border-radius:11px;padding:0 14px;color:var(--ink);margin-bottom:12px}
    .lead-form input::placeholder{color:#aaa1aa}
    .form-note{font-size:11px;color:var(--muted);margin-top:10px}
    .site-footer{background:#211a29;color:#fff;padding:55px 0 22px}
    .footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:35px;padding-bottom:42px}
    .footer-brand p{color:#aa9fac;font-size:13px;max-width:260px;margin-top:15px}
    .footer-col h3{font-size:14px;margin-bottom:15px;color:#fff}
    .footer-col a{display:block;color:#aa9fac;font-size:13px;margin:9px 0;transition:.2s}
    .footer-col a:hover{color:#ffc0c2}
    .copyright{border-top:1px solid rgba(255,255,255,.12);padding-top:20px;color:#8d828e;font-size:11px;display:flex;justify-content:space-between;gap:20px}
    .age-note{font-size:11px;color:#d8cbd5}
    @media(max-width:1024px){
      .hero-grid{gap:35px}.latest-grid{grid-template-columns:repeat(3,1fr)}.matrix{grid-template-columns:repeat(2,1fr)}
      .recommend-strip{grid-template-columns:repeat(2,1fr)}.feature-card:first-child{grid-column:span 2}.news-grid{grid-template-columns:repeat(2,1fr)}
    }
    @media(max-width:768px){
      .site-header{height:68px}.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:68px;left:0;right:0;background:#fffaf7;border-bottom:1px solid var(--line);padding:18px 20px;flex-direction:column;align-items:stretch;gap:3px;box-shadow:var(--shadow-soft)}
      .nav-links.open{display:flex}.nav-links a{padding:10px 4px}.brand-text{font-size:14px}.hero{min-height:auto;padding:72px 0 65px}.hero-grid{grid-template-columns:1fr}.hero-panel{min-height:350px}.hero-photo{height:340px;width:82%}
      .section{padding:65px 0}.section-head{display:block}.section-head p{margin-top:12px}.latest-grid{grid-template-columns:repeat(2,1fr)}
      .ranking-wrap,.quote-grid,.lead-box{grid-template-columns:1fr}.timeline{grid-template-columns:repeat(2,1fr);gap:30px}.timeline:before{display:none}.footer-grid{grid-template-columns:repeat(2,1fr)}
    }
    @media(max-width:520px){
      .container{width:min(calc(100% - 28px),var(--container))}.hero h1{font-size:39px}.hero-copy{font-size:14px}.hero-proof{gap:16px}.hero-photo{width:86%;height:300px}.hero-note{left:-3px;bottom:14px;width:205px;padding:15px}
      .matrix,.latest-grid,.recommend-strip,.news-grid,.faq-grid{grid-template-columns:1fr}.feature-card:first-child{grid-column:auto}.feature-card{min-height:245px}
      .rank-list{padding:8px 14px}.rank-item{grid-template-columns:28px 1fr auto}.rank-tag{display:none}.timeline{grid-template-columns:1fr 1fr}.form-row{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr;gap:25px}.footer-brand{grid-column:span 2}.copyright{display:block}.copyright .age-note{margin-top:8px}
      .section-head h2{font-size:28px}
    }
