/* roulang page: index */
:root{
            --plum:#54243f;
            --plum-deep:#321728;
            --wine:#7b304f;
            --apricot:#e8b59b;
            --cream:#fbf7f3;
            --paper:#fffdfa;
            --ink:#241c23;
            --muted:#766b73;
            --line:#eadfe0;
            --soft:#f3e9eb;
            --shadow:0 18px 50px rgba(65,35,49,.10);
            --radius:18px;
        }
        *,*::before,*::after{box-sizing:border-box}
        html{scroll-behavior:smooth}
        body{margin:0;background:var(--cream);color:var(--ink);font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;line-height:1.75}
        a{color:inherit;text-decoration:none}
        img{max-width:100%;display:block}
        button,input{font:inherit}
        button{cursor:pointer}
        :focus-visible{outline:3px solid var(--apricot);outline-offset:3px}
        .container{width:min(1180px,calc(100% - 40px));margin:0 auto}
        .site-header{position:sticky;top:0;z-index:20;background:rgba(251,247,243,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
        .header-row{min-height:76px;display:flex;align-items:center;gap:26px}
        .brand{display:flex;align-items:center;gap:11px;min-width:max-content;font-weight:800;letter-spacing:-.04em;color:var(--plum-deep)}
        .brand-mark{width:34px;height:34px;border-radius:12px 12px 12px 4px;background:var(--plum);position:relative;box-shadow:6px 6px 0 var(--apricot)}
        .brand-mark::before,.brand-mark::after{content:"";position:absolute;border-radius:50%;background:var(--apricot)}
        .brand-mark::before{width:5px;height:5px;left:9px;top:14px;box-shadow:8px -4px 0 var(--apricot),16px 1px 0 var(--apricot)}
        .brand-text{font-size:17px}
        .main-nav{display:flex;align-items:center;gap:7px;flex:1;justify-content:center}
        .nav-link{padding:8px 14px;border:1px solid transparent;border-radius:999px;color:var(--muted);font-size:14px;transition:.25s ease}
        .nav-link:hover{border-color:var(--line);color:var(--plum);background:#fff}
        .nav-link.active{background:var(--plum);color:#fff;box-shadow:0 5px 15px rgba(84,36,63,.18)}
        .header-actions{display:flex;align-items:center;gap:12px}
        .age-note{font-size:12px;color:var(--muted);white-space:nowrap}
        .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:999px;padding:12px 21px;font-weight:700;font-size:14px;transition:.25s ease}
        .btn-primary{background:var(--plum);color:#fff;box-shadow:0 9px 20px rgba(84,36,63,.18)}
        .btn-primary:hover{background:var(--wine);transform:translateY(-2px)}
        .btn-light{background:#fff;color:var(--plum);border-color:var(--line)}
        .btn-light:hover{border-color:var(--plum);transform:translateY(-2px)}
        .menu-btn{display:none;background:none;border:0;color:var(--plum);font-size:24px}
        .hero{padding:82px 0 58px;position:relative;overflow:hidden}
        .hero::before{content:"";position:absolute;width:480px;height:480px;right:-180px;top:-160px;border:1px solid #ead7d9;border-radius:50%;box-shadow:0 0 0 34px rgba(232,181,155,.10),0 0 0 68px rgba(232,181,155,.06)}
        .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:66px;align-items:center}
        .eyebrow,.section-kicker{display:inline-flex;align-items:center;gap:8px;color:var(--wine);font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
        .eyebrow::before,.section-kicker::before{content:"";width:26px;height:1px;background:var(--apricot)}
        h1,h2,h3{margin:0;color:var(--plum-deep);line-height:1.2;letter-spacing:-.045em}
        h1{font-size:clamp(38px,5.2vw,68px);max-width:720px;margin:18px 0 22px}
        h2{font-size:clamp(28px,3.2vw,44px)}
        h3{font-size:20px}
        .hero-copy{font-size:17px;color:var(--muted);max-width:630px}
        .hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:29px 0 28px}
        .hero-meta{display:flex;gap:22px;flex-wrap:wrap;color:var(--muted);font-size:13px}
        .hero-meta strong{display:block;color:var(--plum);font-size:21px;line-height:1.2}
        .cover-stage{min-height:410px;position:relative;background:var(--plum-deep);border-radius:26px;padding:25px;box-shadow:var(--shadow);overflow:hidden}
        .cover-stage::before{content:"";position:absolute;inset:20px;border:1px solid rgba(255,255,255,.18);border-radius:19px}
        .cover-art{height:100%;min-height:360px;border-radius:18px;background:linear-gradient(135deg,#a96771 0%,#563044 48%,#241a29 100%);position:relative;overflow:hidden;padding:28px;color:#fff}
        .cover-art::before{content:"";position:absolute;width:250px;height:360px;right:-35px;top:28px;border-radius:50% 50% 12% 12%;background:rgba(235,185,165,.40);transform:rotate(16deg)}
        .cover-art::after{content:"";position:absolute;left:0;right:0;bottom:68px;height:90px;background:repeating-linear-gradient(90deg,transparent 0 9px,rgba(255,255,255,.18) 10px 12px,transparent 13px 21px);opacity:.65}
        .cover-label{position:relative;z-index:1;font-size:11px;letter-spacing:.2em}
        .cover-title{position:absolute;z-index:1;left:28px;bottom:28px;font-size:27px;font-weight:800;max-width:220px;line-height:1.3}
        .cover-stamp{position:absolute;z-index:2;right:24px;top:22px;width:82px;height:82px;border-radius:50%;display:grid;place-items:center;text-align:center;background:var(--apricot);color:var(--plum-deep);font-size:12px;font-weight:800;transform:rotate(8deg)}
        .chapter-line{display:flex;align-items:center;gap:12px;margin-top:26px;color:var(--muted);font-size:12px}
        .chapter-line span{height:4px;border-radius:4px;background:var(--apricot);flex:1}
        .section{padding:92px 0}
        .section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:34px}
        .section-head p{max-width:530px;margin:0;color:var(--muted);font-size:15px}
        .story{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
        .story-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start}
        .story-lead{font-size:21px;color:var(--plum-deep);line-height:1.65}
        .story-text{color:var(--muted);font-size:15px}
        .rhythm-list{margin-top:27px;border-top:1px solid var(--line)}
        .rhythm-item{display:grid;grid-template-columns:50px 1fr;gap:15px;padding:18px 0;border-bottom:1px solid var(--line)}
        .number{color:var(--wine);font-weight:800;font-size:13px}
        .rhythm-item strong{display:block;color:var(--plum-deep);margin-bottom:3px}
        .rhythm-item span{color:var(--muted);font-size:14px}
        .feature-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:20px}
        .content-card{position:relative;border:1px solid var(--line);background:var(--paper);border-radius:var(--radius);padding:25px;transition:.25s ease;overflow:hidden}
        .content-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#d6b8c0}
        .feature-card{min-height:310px;background:var(--plum);color:#fff;padding:32px}
        .feature-card h3{color:#fff;font-size:29px;max-width:420px;margin:18px 0 12px}
        .feature-card p{color:#eadce1;max-width:470px;margin:0}
        .card-stack{display:grid;gap:20px}
        .mini-card{display:flex;flex-direction:column;justify-content:space-between;min-height:145px}
        .tag{display:inline-flex;padding:5px 10px;border-radius:999px;background:var(--soft);color:var(--wine);font-size:12px;font-weight:700}
        .card-meta{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:12px;margin-top:20px}
        .arrow{color:var(--wine);font-size:20px}
        .metric-band{background:var(--plum-deep);color:#fff;padding:50px 0}
        .metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
        .metric{padding-right:20px;border-right:1px solid rgba(255,255,255,.17)}
        .metric:last-child{border:0}
        .metric b{display:block;color:var(--apricot);font-size:35px;line-height:1.2}
        .metric span{display:block;color:#d9cbd2;font-size:13px;margin-top:8px}
        .quotes{display:grid;grid-template-columns:1.3fr .7fr;gap:20px}
        .quote-main{background:#f0e2e3;padding:38px;border-radius:22px;min-height:220px}
        blockquote{margin:20px 0 25px;color:var(--plum-deep);font-size:25px;line-height:1.55;font-weight:700}
        .quote-side{display:grid;gap:20px}
        .quote-small{background:#fff;border:1px solid var(--line);border-radius:16px;padding:23px;color:var(--muted);font-size:14px}
        .quote-small strong{display:block;color:var(--plum);margin-bottom:7px}
        .news-layout{display:grid;grid-template-columns:1fr 330px;gap:40px}
        .news-list{border-top:1px solid var(--line)}
        .news-item{display:grid;grid-template-columns:90px 1fr 24px;gap:18px;align-items:center;padding:21px 0;border-bottom:1px solid var(--line)}
        .news-item time{font-size:12px;color:var(--wine);font-weight:700}
        .news-item h3{font-size:17px}
        .news-item p{margin:5px 0 0;color:var(--muted);font-size:13px}
        .side-note{background:#fff;border:1px solid var(--line);border-radius:18px;padding:25px;align-self:start}
        .side-note p{color:var(--muted);font-size:14px}
        .side-note ul{padding:0;margin:18px 0 0;list-style:none}
        .side-note li{padding:9px 0;border-bottom:1px dashed var(--line);font-size:13px}
        .side-note li::before{content:"•";color:var(--wine);margin-right:8px}
        .subscribe{padding:70px 0;background:#e8d4d4}
        .subscribe-box{display:flex;justify-content:space-between;align-items:center;gap:30px}
        .subscribe-box p{color:#705d65;max-width:560px;margin:13px 0 0}
        .subscribe-form{display:flex;gap:8px;min-width:350px}
        .subscribe-form input{width:100%;border:1px solid #d8bdc0;background:#fff;border-radius:999px;padding:13px 17px;color:var(--ink)}
        .compliance{background:#fff7eb;border:1px solid #ead4b2;padding:17px 20px;color:#765f42;font-size:13px}
        footer{background:#211721;color:#cdbfc7;padding:48px 0 25px}
        .footer-grid{display:flex;justify-content:space-between;gap:30px;align-items:start}
        footer .brand{color:#fff}
        .footer-copy{max-width:450px;font-size:13px;color:#aa9aa4;margin-top:16px}
        .footer-links{display:flex;gap:20px;flex-wrap:wrap;font-size:13px}
        .footer-links a:hover{color:var(--apricot)}
        .copyright{border-top:1px solid rgba(255,255,255,.12);margin-top:35px;padding-top:20px;font-size:12px;color:#93838d}
        .age-modal{position:fixed;inset:0;background:rgba(31,18,28,.72);z-index:50;display:none;place-items:center;padding:20px}
        .age-modal.show{display:grid}
        .modal-box{max-width:430px;background:var(--paper);border-radius:22px;padding:34px;box-shadow:0 25px 80px rgba(0,0,0,.3);text-align:center}
        .modal-box p{color:var(--muted);font-size:14px}
        @media(max-width:900px){
            .hero-grid,.story-grid{grid-template-columns:1fr;gap:38px}
            .hero{padding-top:60px}.cover-stage{max-width:600px}
            .metric-grid{grid-template-columns:repeat(2,1fr)}
            .news-layout{grid-template-columns:1fr}
            .subscribe-box{display:block}.subscribe-form{margin-top:25px}
        }
        @media(max-width:700px){
            .container{width:min(100% - 28px,620px)}
            .header-row{min-height:66px;gap:12px}.brand-text{font-size:14px}.brand-mark{width:29px;height:29px}
            .main-nav{display:none;position:absolute;left:14px;right:14px;top:72px;background:var(--paper);padding:12px;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);justify-content:flex-start;flex-wrap:wrap}
            .main-nav.open{display:flex}.menu-btn{display:block}.header-actions{margin-left:auto}.age-note{display:none}.header-actions .btn{padding:9px 13px;font-size:12px}
            .hero{padding:48px 0 40px}h1{font-size:39px}.hero-copy{font-size:15px}.cover-stage{min-height:340px}.cover-art{min-height:290px}
            .section{padding:62px 0}.section-head{display:block}.section-head p{margin-top:13px}.feature-grid,.quotes{grid-template-columns:1fr}
            .feature-card{min-height:260px}.metric-grid{gap:14px}.metric{border:0;padding:10px 0}.metric b{font-size:28px}
            .news-item{grid-template-columns:70px 1fr 18px;gap:10px}.news-item h3{font-size:15px}.news-item p{font-size:12px}
            .subscribe-form{min-width:0;display:block}.subscribe-form .btn{width:100%;margin-top:9px}
            .footer-grid{display:block}.footer-links{margin-top:25px}
        }

/* roulang page: category2 */
:root{
      --plum:#54243f;
      --plum-deep:#321728;
      --wine:#7b304f;
      --apricot:#e8b59b;
      --cream:#fbf7f3;
      --paper:#fffdfa;
      --ink:#241c23;
      --muted:#766b73;
      --line:#eadfe0;
      --soft:#f3e9eb;
      --shadow:0 18px 50px rgba(65,35,49,.10);
      --radius:18px
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;background:var(--cream);color:var(--ink);font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;line-height:1.75}
    a{color:inherit;text-decoration:none}
    img{display:block;max-width:100%}
    button,input{font:inherit}
    button{cursor:pointer}
    .container{width:min(1180px,calc(100% - 40px));margin:0 auto}
    .site-header{position:sticky;top:0;z-index:20;background:rgba(251,247,243,.95);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
    .header-row{min-height:76px;display:flex;align-items:center;gap:26px}
    .brand{display:flex;align-items:center;gap:11px;min-width:max-content;font-weight:800;letter-spacing:-.04em;color:var(--plum-deep)}
    .brand-mark{width:34px;height:34px;border-radius:12px 12px 12px 4px;background:var(--plum);position:relative;box-shadow:6px 6px 0 var(--apricot)}
    .brand-mark:before,.brand-mark:after{content:"";position:absolute;border-radius:50%;background:var(--apricot)}
    .brand-mark:before{width:5px;height:5px;left:9px;top:14px;box-shadow:8px -4px 0 var(--apricot),16px 1px 0 var(--apricot)}
    .brand-text{font-size:17px}
    .main-nav{display:flex;align-items:center;gap:7px;flex:1;justify-content:center}
    .nav-link{padding:8px 14px;border:1px solid transparent;border-radius:999px;color:var(--muted);font-size:14px;transition:.25s ease;white-space:nowrap}
    .nav-link:hover{border-color:var(--line);color:var(--plum);background:#fff}
    .nav-link.active{background:var(--plum);color:#fff;box-shadow:0 5px 15px rgba(84,36,63,.18)}
    .header-actions{display:flex;align-items:center;gap:12px}
    .age-note{color:var(--wine);font-size:12px;white-space:nowrap}
    .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:999px;padding:12px 21px;font-weight:700;font-size:14px;transition:.25s ease}
    .btn-primary{background:var(--plum);color:#fff;box-shadow:0 9px 20px rgba(84,36,63,.18)}
    .btn-primary:hover{background:var(--wine);transform:translateY(-2px)}
    .btn-light{background:#fff;color:var(--plum);border-color:var(--line)}
    .btn-light:hover{border-color:var(--plum);transform:translateY(-2px)}
    .btn:focus-visible,.nav-link:focus-visible,.menu-btn:focus-visible{outline:3px solid var(--apricot);outline-offset:3px}
    .menu-btn{display:none;background:none;border:0;color:var(--plum);font-size:24px}
    .page-hero{padding:76px 0 64px;background:var(--paper);border-bottom:1px solid var(--line)}
    .hero-grid{display:grid;grid-template-columns:1fr .78fr;gap:70px;align-items:center}
    .eyebrow,.section-kicker{display:inline-flex;align-items:center;gap:8px;color:var(--wine);font-size:12px;font-weight:800;letter-spacing:.16em}
    .eyebrow:before,.section-kicker:before{content:"";width:26px;height:1px;background:var(--apricot)}
    h1,h2,h3,p{margin-top:0}
    h1{font-size:clamp(36px,5vw,62px);line-height:1.18;letter-spacing:-.055em;color:var(--plum-deep);margin:18px 0 20px;max-width:650px}
    h2{font-size:clamp(27px,3vw,39px);line-height:1.3;letter-spacing:-.04em;color:var(--plum-deep);margin:10px 0 14px}
    h3{font-size:20px;line-height:1.4;color:var(--plum-deep);margin-bottom:8px}
    .hero-copy{font-size:17px;color:var(--muted);max-width:650px}
    .hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:29px 0 26px}
    .hero-meta{display:flex;gap:26px;flex-wrap:wrap;color:var(--muted);font-size:13px}
    .hero-meta strong{display:block;color:var(--plum);font-size:21px;line-height:1.2}
    .index-board{position:relative;min-height:350px;padding:25px;background:var(--plum-deep);color:#fff;border-radius:26px;box-shadow:var(--shadow);overflow:hidden}
    .index-board:before{content:"";position:absolute;inset:20px;border:1px solid rgba(255,255,255,.18);border-radius:19px}
    .board-top{position:relative;z-index:1;display:flex;justify-content:space-between;color:#e9dce1;font-size:12px}
    .board-title{position:relative;z-index:1;margin-top:74px;font-size:30px;font-weight:800;line-height:1.35;max-width:260px}
    .wave{position:absolute;right:23px;bottom:43px;width:180px;height:70px;opacity:.8}
    .wave i{display:inline-block;width:4px;margin-right:5px;border-radius:5px;background:var(--apricot);vertical-align:middle}
    .wave i:nth-child(1){height:17px}.wave i:nth-child(2){height:35px}.wave i:nth-child(3){height:58px}.wave i:nth-child(4){height:27px}.wave i:nth-child(5){height:45px}.wave i:nth-child(6){height:20px}.wave i:nth-child(7){height:53px}.wave i:nth-child(8){height:31px}.wave i:nth-child(9){height:62px}.wave i:nth-child(10){height:25px}.wave i:nth-child(11){height:42px}.wave i:nth-child(12){height:18px}
    .section{padding:86px 0}
    .section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:32px}
    .section-head p{max-width:550px;margin:0;color:var(--muted);font-size:15px}
    .index-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:24px}
    .topic-card{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:30px;transition:.25s ease;position:relative;overflow:hidden}
    .topic-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#d6b8c0}
    .topic-card.featured{background:var(--plum);color:#fff;min-height:330px}
    .topic-card.featured h3{color:#fff;font-size:29px;max-width:420px}
    .topic-card.featured p{color:#eadce1}
    .topic-card.featured .tag{background:rgba(255,255,255,.13);color:#fff}
    .tag{display:inline-flex;padding:5px 10px;border-radius:999px;background:var(--soft);color:var(--wine);font-size:12px;font-weight:700}
    .topic-card p{color:var(--muted);font-size:14px}
    .topic-card .card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:34px;color:var(--wine);font-size:13px;font-weight:700}
    .featured .card-footer{color:var(--apricot)}
    .topic-stack{display:grid;gap:24px}
    .small-topic{min-height:153px}
    .small-topic .card-footer{margin-top:18px}
    .number-list{border-top:1px solid var(--line)}
    .number-item{display:grid;grid-template-columns:58px 1fr 30px;gap:16px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}
    .number{font-size:28px;font-weight:800;color:var(--apricot)}
    .number-item strong{display:block;color:var(--plum-deep);font-size:17px}
    .number-item span{display:block;color:var(--muted);font-size:13px}
    .arrow{font-size:22px;color:var(--wine)}
    .reading-band{background:var(--soft);padding:45px 0}
    .band-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:45px;align-items:center}
    .band-copy{font-size:20px;color:var(--plum-deep);line-height:1.65}
    .measure-list{display:grid;gap:14px}
    .measure{display:grid;grid-template-columns:120px 1fr 42px;gap:14px;align-items:center;font-size:13px;color:var(--muted)}
    .measure-line{height:8px;background:#fff;border-radius:99px;overflow:hidden}
    .measure-line i{display:block;height:100%;background:var(--wine);border-radius:99px}
    .measure b{color:var(--plum);text-align:right}
    .faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px}
    .faq-list{border-top:1px solid var(--line)}
    details{border-bottom:1px solid var(--line);padding:19px 0}
    summary{cursor:pointer;list-style:none;font-weight:700;color:var(--plum-deep);padding-right:25px;position:relative}
    summary::-webkit-details-marker{display:none}
    summary:after{content:"＋";position:absolute;right:0;color:var(--wine)}
    details[open] summary:after{content:"−"}
    details p{color:var(--muted);font-size:14px;margin:12px 0 2px}
    .compliance{border:1px solid #dec5c9;background:#fff8f5;border-radius:16px;padding:18px 20px;color:var(--wine);font-size:13px;margin-top:28px}
    .cta{background:var(--plum-deep);color:#fff;padding:58px 0}
    .cta-grid{display:flex;justify-content:space-between;align-items:center;gap:35px}
    .cta h2{color:#fff;margin-bottom:10px}
    .cta p{color:#dbcbd2;margin:0;max-width:620px}
    footer{background:#211721;color:#cdbfc7;padding:48px 0 25px}
    .footer-grid{display:flex;justify-content:space-between;gap:30px;align-items:start}
    footer .brand{color:#fff}
    .footer-copy{max-width:450px;font-size:13px;color:#aa9aa4;margin-top:16px}
    .footer-links{display:flex;gap:20px;flex-wrap:wrap;font-size:13px}
    .footer-links a:hover{color:var(--apricot)}
    .copyright{border-top:1px solid rgba(255,255,255,.12);margin-top:34px;padding-top:20px;color:#aa9aa4;font-size:12px}
    .modal{display:none;position:fixed;inset:0;background:rgba(33,23,33,.68);z-index:50;align-items:center;justify-content:center;padding:20px}
    .modal.show{display:flex}
    .modal-box{max-width:440px;background:var(--paper);border-radius:20px;padding:30px;box-shadow:var(--shadow)}
    .modal-box h2{font-size:25px}
    .modal-box p{font-size:14px;color:var(--muted)}
    @media(max-width:900px){
      .header-row{gap:14px}.age-note{display:none}.hero-grid,.index-layout,.band-grid,.faq-grid{grid-template-columns:1fr;gap:35px}
      .page-hero{padding-top:58px}.index-board{min-height:300px}.metric-grid{grid-template-columns:repeat(2,1fr)}
    }
    @media(max-width:700px){
      .container{width:min(100% - 28px,1180px)}
      .header-row{min-height:66px;position:relative}.menu-btn{display:block;order:2;margin-left:auto}.main-nav{display:none;position:absolute;top:66px;left:0;right:0;padding:12px 14px;background:var(--cream);border-bottom:1px solid var(--line);box-shadow:0 12px 25px rgba(65,35,49,.08);justify-content:flex-start;overflow-x:auto}
      .main-nav.open{display:flex}.header-actions{order:3}.header-actions .btn{padding:9px 13px;font-size:12px}
      .brand-text{font-size:14px}.brand-mark{width:30px;height:30px}
      .page-hero{padding:48px 0}.hero-actions .btn{width:100%}h1{font-size:39px}.section{padding:62px 0}
      .section-head,.cta-grid,.footer-grid{display:block}.section-head p{margin-top:14px}.topic-card.featured{min-height:290px}.measure{grid-template-columns:92px 1fr 34px}
      .cta .btn{margin-top:24px}.footer-links{margin-top:28px}
    }
    @media(max-width:480px){
      .metric-grid{grid-template-columns:1fr}.number-item{grid-template-columns:42px 1fr 22px}.number{font-size:22px}
      .index-board{min-height:270px}.board-title{font-size:25px;margin-top:55px}.wave{transform:scale(.8);transform-origin:right bottom}
    }

/* roulang page: category1 */
:root{
      --plum:#54243f;
      --plum-deep:#321728;
      --wine:#7b304f;
      --apricot:#e8b59b;
      --cream:#fbf7f3;
      --paper:#fffdfa;
      --ink:#241c23;
      --muted:#766b73;
      --line:#eadfe0;
      --soft:#f3e9eb;
      --shadow:0 18px 50px rgba(65,35,49,.10);
      --radius:18px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;background:var(--cream);color:var(--ink);font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;line-height:1.75}
    a{color:inherit;text-decoration:none}
    img{max-width:100%;display:block}
    button,input{font:inherit}
    button{cursor:pointer}
    .container{width:min(1180px,calc(100% - 40px));margin:0 auto}
    .site-header{position:sticky;top:0;z-index:20;background:rgba(251,247,243,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
    .header-row{min-height:76px;display:flex;align-items:center;gap:26px}
    .brand{display:flex;align-items:center;gap:11px;min-width:max-content;font-weight:800;letter-spacing:-.04em;color:var(--plum-deep)}
    .brand-mark{width:34px;height:34px;border-radius:12px 12px 12px 4px;background:var(--plum);position:relative;box-shadow:6px 6px 0 var(--apricot);display:inline-block}
    .brand-mark:before,.brand-mark:after{content:"";position:absolute;border-radius:50%;background:var(--apricot)}
    .brand-mark:before{width:5px;height:5px;left:9px;top:14px;box-shadow:8px -4px 0 var(--apricot),16px 1px 0 var(--apricot)}
    .brand-text{font-size:17px}
    .main-nav{display:flex;align-items:center;gap:7px;flex:1;justify-content:center}
    .nav-link{padding:8px 14px;border:1px solid transparent;border-radius:999px;color:var(--muted);font-size:14px;transition:.25s ease}
    .nav-link:hover{border-color:var(--line);color:var(--plum);background:#fff}
    .nav-link.active{background:var(--plum);color:#fff;box-shadow:0 5px 15px rgba(84,36,63,.18)}
    .header-actions{display:flex;align-items:center;gap:12px}
    .age-note{font-size:12px;color:var(--muted);white-space:nowrap}
    .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:999px;padding:12px 21px;font-weight:700;font-size:14px;transition:.25s ease}
    .btn-primary{background:var(--plum);color:#fff;box-shadow:0 9px 20px rgba(84,36,63,.18)}
    .btn-primary:hover{background:var(--wine);transform:translateY(-2px)}
    .btn-light{background:#fff;color:var(--plum);border-color:var(--line)}
    .btn-light:hover{border-color:var(--plum);transform:translateY(-2px)}
    .menu-btn{display:none;background:none;border:0;color:var(--plum);font-size:24px}
    .hero{padding:76px 0 58px;position:relative;overflow:hidden}
    .hero:before{content:"";position:absolute;width:480px;height:480px;right:-180px;top:-160px;border:1px solid #ead7d9;border-radius:50%;box-shadow:0 0 0 34px rgba(232,181,155,.1),0 0 0 68px rgba(232,181,155,.06)}
    .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:66px;align-items:center}
    .eyebrow,.section-kicker{display:inline-flex;align-items:center;gap:8px;color:var(--wine);font-size:12px;font-weight:800;letter-spacing:.16em}
    .eyebrow:before,.section-kicker:before{content:"";width:26px;height:1px;background:var(--apricot)}
    h1,h2,h3{margin-top:0;color:var(--plum-deep);line-height:1.3}
    h1{font-size:clamp(36px,5vw,62px);letter-spacing:-.055em;margin:18px 0}
    h2{font-size:clamp(27px,3.5vw,40px);letter-spacing:-.04em;margin:10px 0}
    h3{font-size:20px;margin:12px 0 7px}
    .hero-copy{font-size:17px;color:var(--muted);max-width:630px}
    .hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:29px 0 28px}
    .hero-meta{display:flex;gap:22px;flex-wrap:wrap;color:var(--muted);font-size:13px}
    .hero-meta strong{display:block;color:var(--plum);font-size:21px;line-height:1.2}
    .cover-stage{min-height:390px;position:relative;background:var(--plum-deep);border-radius:26px;padding:25px;box-shadow:var(--shadow);overflow:hidden;color:#fff}
    .cover-stage:before{content:"";position:absolute;inset:20px;border:1px solid rgba(255,255,255,.18);border-radius:19px}
    .cover-art{position:absolute;inset:0;background:radial-gradient(circle at 72% 28%,rgba(232,181,155,.42),transparent 18%),linear-gradient(140deg,transparent 36%,rgba(123,48,79,.75) 36%,rgba(123,48,79,.75) 63%,transparent 63%)}
    .cover-lines{position:absolute;right:28px;top:65px;width:120px;height:145px;opacity:.6;background:repeating-linear-gradient(90deg,transparent 0 5px,var(--apricot) 6px 8px,transparent 9px 14px);clip-path:polygon(0 48%,5% 20%,10% 65%,15% 9%,20% 74%,25% 34%,30% 84%,35% 19%,40% 66%,45% 3%,50% 58%,55% 27%,60% 87%,65% 18%,70% 72%,75% 34%,80% 61%,85% 12%,90% 76%,95% 28%,100% 54%,100% 60%,95% 36%,90% 83%,85% 20%,80% 68%,75% 40%,70% 94%,65% 27%,60% 92%,55% 35%,50% 68%,45% 13%,40% 74%,35% 28%,30% 93%,25% 43%,20% 83%,15% 18%,10% 73%,5% 28%,0 58%)}
    .cover-title{position:absolute;z-index:1;left:28px;bottom:28px;font-size:27px;font-weight:800;max-width:230px;line-height:1.3}
    .cover-label{position:absolute;top:35px;left:35px;color:var(--apricot);font-size:12px;letter-spacing:.18em}
    .section{padding:86px 0}
    .section-tint{background:#f4e9ea}
    .section-dark{background:var(--plum-deep);color:#eadce1}
    .section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:34px}
    .section-head p{max-width:530px;margin:0;color:var(--muted);font-size:15px}
    .section-dark h2,.section-dark h3{color:#fff}
    .section-dark .section-head p{color:#cdbcc4}
    .story-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start}
    .story-lead{font-size:21px;color:var(--plum-deep);line-height:1.65}
    .rhythm-list{margin-top:27px;border-top:1px solid var(--line)}
    .rhythm-item{display:grid;grid-template-columns:50px 1fr;gap:15px;padding:18px 0;border-bottom:1px solid var(--line)}
    .rhythm-number{font-size:13px;color:var(--wine);font-weight:800}
    .rhythm-item strong{display:block;color:var(--plum-deep);margin-bottom:3px}
    .rhythm-item span{color:var(--muted);font-size:14px}
    .feature-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:20px}
    .content-card{position:relative;border:1px solid var(--line);background:var(--paper);border-radius:var(--radius);padding:25px;transition:.25s ease;overflow:hidden}
    .content-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#d6b8c0}
    .feature-card{min-height:310px;background:var(--plum);color:#fff;padding:32px}
    .feature-card h3{color:#fff;font-size:29px;max-width:420px;margin:18px 0 12px}
    .feature-card p{color:#eadce1;max-width:470px;margin:0}
    .card-stack{display:grid;gap:20px}
    .mini-card{display:flex;flex-direction:column;justify-content:space-between;min-height:145px}
    .tag{display:inline-flex;padding:5px 10px;border-radius:999px;background:var(--soft);color:var(--wine);font-size:12px;font-weight:700}
    .card-meta{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:12px;margin-top:20px}
    .arrow{color:var(--wine);font-size:20px}
    .metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
    .metric{border-top:2px solid var(--apricot);padding-top:18px}
    .metric strong{font-size:38px;color:#fff;display:block;line-height:1.2}
    .metric span{font-size:13px;color:#cdbcc4}
    .index-board{display:grid;grid-template-columns:1fr 1fr;gap:18px}
    .index-row{display:flex;justify-content:space-between;gap:15px;padding:17px 0;border-bottom:1px solid var(--line)}
    .index-row b{color:var(--plum-deep)}
    .index-row span{font-size:13px;color:var(--muted)}
    .quote-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:20px}
    .quote-main{background:#f0e2e3;padding:38px;border-radius:22px;min-height:220px}
    .quote-main blockquote{font-size:25px;color:var(--plum-deep);margin:17px 0 23px;line-height:1.55}
    .quote-side{display:grid;gap:20px}
    .quote-small{background:#fff;border:1px solid var(--line);padding:23px;border-radius:16px}
    .quote-small p{font-size:14px;color:var(--muted);margin:9px 0}
    .faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
    .faq-item{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:19px 21px}
    .faq-item summary{cursor:pointer;font-weight:700;color:var(--plum-deep);outline:none}
    .faq-item summary:focus-visible{outline:3px solid var(--apricot);outline-offset:4px}
    .faq-item p{color:var(--muted);font-size:14px;margin:12px 0 0}
    .compliance{border:1px solid #d9c0c4;background:#fff9f8;padding:18px 20px;border-radius:14px;color:var(--muted);font-size:13px}
    .cta-band{background:var(--wine);color:#fff;border-radius:24px;padding:42px 48px;display:flex;justify-content:space-between;align-items:center;gap:25px}
    .cta-band h2{color:#fff;margin-bottom:8px}
    .cta-band p{color:#f2dfe2;margin:0;max-width:630px}
    footer{background:#211721;color:#cdbfc7;padding:48px 0 25px}
    .footer-grid{display:flex;justify-content:space-between;gap:30px;align-items:start}
    footer .brand{color:#fff}
    .footer-copy{max-width:450px;font-size:13px;color:#aa9aa4;margin-top:16px}
    .footer-links{display:flex;gap:20px;flex-wrap:wrap;font-size:13px}
    .footer-links a:hover{color:var(--apricot)}
    .copyright{border-top:1px solid rgba(255,255,255,.12);margin-top:34px;padding-top:20px;font-size:12px;color:#988790}
    .modal{display:none;position:fixed;inset:0;z-index:50;background:rgba(33,23,33,.68);align-items:center;justify-content:center;padding:20px}
    .modal.show{display:flex}
    .modal-box{max-width:460px;background:var(--paper);border-radius:20px;padding:32px;box-shadow:var(--shadow)}
    .modal-box p{color:var(--muted);font-size:14px}
    :focus-visible{outline:3px solid var(--apricot);outline-offset:3px}
    @media(max-width:900px){
      .header-row{gap:15px}.age-note{display:none}.hero-grid,.story-grid,.quote-layout{grid-template-columns:1fr;gap:35px}.hero{padding-top:55px}.cover-stage{min-height:330px}.metric-grid{grid-template-columns:repeat(2,1fr)}
    }
    @media(max-width:700px){
      .container{width:min(100% - 28px,1180px)}.menu-btn{display:block;order:2}.brand{flex:1}.header-actions{order:3}.header-actions .btn{padding:9px 13px;font-size:12px}.main-nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--cream);border-bottom:1px solid var(--line);padding:13px 14px;justify-content:flex-start;overflow-x:auto}.main-nav.open{display:flex}.nav-link{white-space:nowrap}.hero{padding:44px 0 35px}.hero-copy{font-size:15px}h1{font-size:39px}.section{padding:62px 0}.section-head{display:block;margin-bottom:25px}.section-head p{margin-top:12px}.feature-grid,.index-board,.faq-grid{grid-template-columns:1fr}.feature-card{min-height:280px}.metric-grid{gap:18px}.metric strong{font-size:30px}.cta-band{display:block;padding:30px 25px}.cta-band .btn{margin-top:22px}.footer-grid{display:block}.footer-links{margin-top:25px;gap:14px}.cover-title{font-size:23px}
    }
    @media(max-width:480px){.hero-actions .btn{width:100%}.hero-meta{gap:14px}.rhythm-item{grid-template-columns:35px 1fr}.quote-main{padding:25px}.quote-main blockquote{font-size:20px}.metric-grid{grid-template-columns:1fr 1fr}}
