/* roulang page: index */
:root{
      --berry:#8c2544;--berry-dark:#641a33;--wine:#22161b;--charcoal:#171216;
      --rose:#e8a5b5;--cream:#f4eee9;--paper:#fbf7f4;--sand:#d29a72;
      --muted:#75696c;--line:#dfd3d0;--shadow:0 18px 50px rgba(45,24,31,.10);
      --radius-lg:30px;--radius-md:22px;--radius-sm:14px;
    }
    *,*:before,*:after{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;background:var(--paper);color:var(--wine);font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",Arial,sans-serif;line-height:1.7;-webkit-font-smoothing:antialiased}
    img{display:block;max-width:100%}
    a{color:inherit;text-decoration:none}
    button,input,select,textarea{font:inherit}
    button{cursor:pointer}
    ::selection{background:var(--rose);color:var(--wine)}
    :focus-visible{outline:3px solid rgba(140,37,68,.32);outline-offset:3px}
    .container{width:min(1180px,calc(100% - 64px));margin:0 auto}
    .section{padding:104px 0}
    .eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--berry);font-size:12px;font-weight:800;letter-spacing:.12em}
    .eyebrow:before{content:"";width:24px;height:1px;background:var(--berry)}
    .section-title{font-size:clamp(30px,4vw,52px);line-height:1.18;letter-spacing:-.04em;margin:12px 0 18px;font-weight:850}
    .section-lead{max-width:620px;color:var(--muted);font-size:16px}
    .btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:0 21px;border-radius:999px;font-size:14px;font-weight:800;border:1px solid transparent;transition:all .22s ease}
    .btn-primary{background:var(--berry);color:#fff8f5;box-shadow:0 10px 22px rgba(140,37,68,.20)}
    .btn-primary:hover{background:var(--berry-dark);transform:translateY(-2px);box-shadow:0 14px 28px rgba(140,37,68,.28)}
    .btn-secondary{background:transparent;color:var(--berry);border-color:var(--berry)}
    .btn-secondary:hover{background:var(--berry);color:#fff}
    .tag{display:inline-flex;align-items:center;min-height:28px;padding:0 11px;border-radius:999px;background:#eee3e1;color:var(--berry);font-size:12px;font-weight:750}
    .site-header{position:sticky;top:0;z-index:30;background:rgba(251,247,244,.9);border-bottom:1px solid transparent;backdrop-filter:blur(14px);transition:.25s}
    .site-header.scrolled{border-color:var(--line);box-shadow:0 8px 24px rgba(45,24,31,.06)}
    .nav-wrap{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
    .logo{display:flex;align-items:center;gap:11px;line-height:1.15;font-weight:900}
    .logo-mark{width:34px;height:34px;border-radius:11px;background:var(--berry);position:relative}
    .logo-mark:after{content:"";position:absolute;width:10px;height:10px;border:2px solid var(--rose);border-radius:50%;right:6px;top:6px}
    .logo-main{font-size:15px;letter-spacing:-.02em}.logo-sub{display:block;color:var(--muted);font-size:10px;font-weight:600;margin-top:3px}
    .nav-links{display:flex;align-items:center;gap:5px;margin-left:auto}
    .nav-link{padding:10px 13px;border-radius:12px;font-size:13px;color:#66595d;transition:.2s}
    .nav-link:hover,.nav-link.active{background:#eee3e1;color:var(--berry);font-weight:800}
    .menu-btn{display:none;border:0;background:transparent;color:var(--wine);font-size:23px}
    .hero{padding:76px 0 54px;background:var(--cream);overflow:hidden}
    .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}
    .hero h1{font-size:clamp(38px,5.6vw,72px);line-height:1.08;letter-spacing:-.065em;margin:18px 0 24px;font-weight:900;max-width:690px}
    .hero-copy{font-size:17px;color:#685d60;max-width:610px}
    .hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:31px 0 24px}
    .trust-line{display:flex;flex-wrap:wrap;gap:9px;color:#796d70;font-size:12px}
    .hero-art{min-height:450px;position:relative}
    .cover{position:absolute;overflow:hidden;border-radius:24px;border:1px solid rgba(255,255,255,.3);box-shadow:var(--shadow)}
    .cover:before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,rgba(255,255,255,.14),transparent 45%,rgba(34,22,27,.42))}
    .cover:after{content:"";position:absolute;inset:0;opacity:.18;background-image:radial-gradient(#fff 1px,transparent 1px);background-size:8px 8px}
    .cover-main{width:61%;height:390px;right:17%;top:22px;background:linear-gradient(155deg,#3c2530,#8c2544 52%,#d29a72)}
    .cover-a{width:35%;height:150px;left:0;bottom:50px;background:linear-gradient(135deg,#30252b,#e8a5b5)}
    .cover-b{width:33%;height:175px;right:0;top:0;background:linear-gradient(135deg,#a45b57,#22161b)}
    .cover-label{position:absolute;z-index:2;left:20px;bottom:19px;color:#fff4ef;font-size:13px;font-weight:800}
    .cover-index{position:absolute;z-index:2;right:18px;top:16px;color:#fff4ef;font-size:12px;letter-spacing:.14em}
    .index-strip{display:flex;gap:10px;overflow:auto;padding-top:37px;border-top:1px solid rgba(34,22,27,.12);white-space:nowrap}
    .index-strip a{font-size:12px;color:#76696d;padding-right:18px;border-right:1px solid #d5c7c5}
    .index-strip a:hover{color:var(--berry)}
    .service-layout{display:grid;grid-template-columns:3fr 7fr;gap:70px}
    .sticky-title{position:sticky;top:110px;align-self:start}
    .service-list{border-top:1px solid var(--line)}
    .service-item{display:grid;grid-template-columns:55px 1fr auto;gap:22px;align-items:center;padding:25px 18px;border-bottom:1px solid var(--line);transition:.22s}
    .service-item:hover{background:#f0e5e2;border-left:4px solid var(--berry);padding-left:14px}
    .service-no{font-size:13px;color:var(--berry);font-weight:900;letter-spacing:.08em}
    .service-item h3{font-size:20px;margin:0 0 5px}.service-item p{margin:0;color:var(--muted);font-size:14px}
    .arrow{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--berry);transition:.2s}
    .service-item:hover .arrow{transform:translateX(4px);background:var(--berry);color:#fff}
    .dark-section{background:var(--charcoal);color:var(--paper);position:relative;overflow:hidden}
    .dark-section:before{content:"";position:absolute;inset:0;opacity:.08;background-image:radial-gradient(var(--rose) 1px,transparent 1px);background-size:13px 13px}
    .stats{display:grid;grid-template-columns:1.15fr 1fr 1fr .9fr;position:relative}
    .stat{padding:12px 28px;border-left:1px solid rgba(232,165,181,.25)}.stat:first-child{border-left:0;padding-left:0}
    .stat strong{display:block;color:#fff7f1;font-size:48px;line-height:1.1;letter-spacing:-.06em}.stat strong small{font-size:20px;color:var(--rose)}
    .stat span{display:block;color:#bba8ab;font-size:13px;margin-top:9px}
    .case-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:35px}
    .case-grid{display:grid;grid-template-columns:1.35fr .8fr .8fr;gap:18px;align-items:start}
    .case-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden;transition:.25s;box-shadow:0 8px 25px rgba(45,24,31,.04)}
    .case-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
    .case-card.featured{grid-row:span 2}.case-img{aspect-ratio:16/10;position:relative;overflow:hidden;background:#6d3448}.case-card.featured .case-img{aspect-ratio:4/3}
    .case-img:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(34,22,27,.06),rgba(140,37,68,.48))}
    .abstract-one{background:linear-gradient(135deg,#261a20 8%,#8c2544 55%,#d29a72)}
    .abstract-two{background:linear-gradient(135deg,#e8a5b5,#754158 48%,#22161b)}
    .abstract-three{background:linear-gradient(145deg,#c88278,#f0d0bd 40%,#482532)}
    .case-body{padding:21px}.case-body h3{font-size:20px;line-height:1.35;margin:12px 0 8px}.case-body p{font-size:13px;color:var(--muted);margin:0 0 16px}
    .meta{display:flex;justify-content:space-between;color:#98898b;font-size:11px}.text-link{color:var(--berry);font-weight:800;font-size:13px}
    .path{display:grid;grid-template-columns:repeat(3,1fr);gap:0;position:relative;margin-top:42px}
    .path:before{content:"";height:1px;background:#d7c8c6;position:absolute;left:10%;right:10%;top:25px}
    .path-item{position:relative;text-align:center;padding:0 20px}.path-num{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;margin:0 auto 20px;background:var(--berry);color:#fff;font-weight:900;border:7px solid var(--paper);outline:1px solid var(--rose)}
    .path-item h3{font-size:18px;margin:0 0 7px}.path-item p{font-size:13px;color:var(--muted);margin:0}
    .faq-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.info-card{margin-top:28px;padding:20px;border:1px solid var(--line);border-radius:18px;background:#f2e7e4;color:#6c5f62;font-size:13px}
    .faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-question{width:100%;background:transparent;border:0;display:flex;justify-content:space-between;gap:20px;text-align:left;padding:21px 0;font-weight:850;font-size:16px;color:var(--wine)}
    .faq-icon{color:var(--berry);font-size:23px;line-height:1;font-weight:400}.faq-answer{display:none;color:var(--muted);font-size:14px;padding:0 35px 21px 0}.faq-item.open .faq-answer{display:block}.faq-item.open .faq-icon{transform:rotate(45deg)}
    .contact-box{background:var(--wine);color:var(--paper);border-radius:var(--radius-lg);padding:55px;display:grid;grid-template-columns:.8fr 1.2fr;gap:65px}
    .contact-box .section-title{color:#fff5f0}.contact-box .section-lead{color:#c7b5b7}.contact-note{font-size:13px;color:#c7b5b7;margin-top:25px}
    .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:12px;color:#d7c4c6;font-weight:700}.field input,.field select,.field textarea{width:100%;border:1px solid rgba(255,255,255,.18);background:#fbf7f4;color:var(--wine);border-radius:12px;padding:12px 13px;outline:0}.field textarea{min-height:104px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--rose);box-shadow:0 0 0 3px rgba(232,165,181,.18)}
    .check{display:flex;gap:8px;align-items:flex-start;color:#c7b5b7;font-size:12px;grid-column:1/-1}.check input{margin-top:5px;accent-color:var(--berry)}
    .site-footer{background:var(--charcoal);color:#f4eee9;padding:64px 0 34px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:35px}.footer-copy{color:#ae9da0;font-size:13px;max-width:300px;margin-top:16px}.footer-title{font-size:13px;font-weight:850;margin-bottom:16px}.footer-links{display:grid;gap:9px;color:#ae9da0;font-size:13px}.footer-links a:hover{color:var(--rose)}.copyright{border-top:1px solid rgba(255,255,255,.12);margin-top:45px;padding-top:20px;color:#8f7d81;font-size:12px;display:flex;justify-content:space-between;gap:15px}
    .mobile-tabs{display:none}
    @media(max-width:1023px){.container{width:min(100% - 48px,760px)}.hero-grid{gap:35px}.service-layout,.faq-layout{gap:35px}.contact-box{padding:38px;gap:35px}.footer-grid{grid-template-columns:1.5fr 1fr 1fr}}
    @media(max-width:700px){body{padding-bottom:72px}.container{width:calc(100% - 32px)}.section{padding:70px 0}.nav-wrap{height:68px}.nav-links,.nav-wrap>.btn-primary{display:none}.menu-btn{display:block}.hero{padding:48px 0 36px}.hero-grid{grid-template-columns:1fr}.hero h1{font-size:42px}.hero-copy{font-size:15px}.hero-art{min-height:350px;margin-top:5px}.cover-main{height:300px}.cover-a{height:120px}.cover-b{height:135px}.service-layout,.faq-layout,.contact-box{grid-template-columns:1fr}.sticky-title{position:static}.service-item{grid-template-columns:35px 1fr auto;gap:12px;padding:21px 8px}.service-item h3{font-size:17px}.case-head{display:block}.case-head .btn{margin-top:18px}.case-grid{grid-template-columns:1fr}.case-card.featured{grid-row:auto}.path{grid-template-columns:1fr;gap:28px}.path:before{left:25px;top:25px;bottom:25px;width:1px;height:auto;right:auto}.path-item{text-align:left;padding-left:70px}.path-num{position:absolute;left:0;top:0;margin:0}.stats{grid-template-columns:1fr 1fr;gap:28px}.stat{padding:0 10px;border-left:1px solid rgba(232,165,181,.25)}.stat:nth-child(odd){border-left:0;padding-left:0}.stat strong{font-size:38px}.contact-box{padding:29px 22px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.check{grid-column:auto}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-grid>div:first-child{grid-column:1/-1}.copyright{display:block}.copyright span{display:block;margin-top:8px}.mobile-tabs{position:fixed;display:grid;grid-template-columns:repeat(4,1fr);z-index:40;bottom:0;left:0;right:0;height:70px;padding-bottom:env(safe-area-inset-bottom);background:rgba(251,247,244,.97);border-top:1px solid var(--line);box-shadow:0 -8px 25px rgba(45,24,31,.08)}.mobile-tabs a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#75696c;font-size:10px}.mobile-tabs a span:first-child{font-size:19px;line-height:1}.mobile-tabs a.active{color:var(--berry);font-weight:850}.mobile-tabs a.active span:first-child{background:#eee0e2;border-radius:10px;padding:2px 11px}}
    @media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* roulang page: category2 */
:root{
      --berry:#8c2544;--berry-dark:#641a33;--wine:#22161b;--charcoal:#171216;
      --rose:#e8a5b5;--cream:#f4eee9;--paper:#fbf7f4;--sand:#d29a72;
      --muted:#75696c;--line:#dfd3d0;--shadow:0 18px 50px rgba(45,24,31,.10);
      --radius-lg:30px;--radius-md:22px;--radius-sm:14px
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;background:var(--paper);color:var(--wine);font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",Arial,sans-serif;line-height:1.7;-webkit-font-smoothing:antialiased}
    img{display:block;max-width:100%}a{color:inherit;text-decoration:none}
    button,input,select,textarea{font:inherit}button{cursor:pointer}
    ::selection{background:var(--rose);color:var(--wine)}
    .container{width:min(1180px,calc(100% - 64px));margin:0 auto}
    .site-header{position:sticky;top:0;z-index:30;background:rgba(251,247,244,.92);border-bottom:1px solid transparent;backdrop-filter:blur(14px);transition:.25s}
    .site-header.scrolled{border-color:var(--line);box-shadow:0 8px 24px rgba(45,24,31,.06)}
    .nav-wrap{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
    .logo{display:flex;align-items:center;gap:11px;line-height:1.15;font-weight:900}
    .logo-mark{width:34px;height:34px;border-radius:11px;background:var(--berry);position:relative;flex:none}
    .logo-mark:after{content:"";position:absolute;width:10px;height:10px;border:2px solid var(--rose);border-radius:50%;right:6px;top:6px}
    .logo-main{font-size:15px;letter-spacing:-.02em}.logo-sub{display:block;color:var(--muted);font-size:10px;font-weight:600;margin-top:3px}
    .nav-links{display:flex;align-items:center;gap:5px;margin-left:auto}
    .nav-link{padding:10px 13px;border-radius:12px;font-size:13px;color:#66595d;transition:.2s}
    .nav-link:hover,.nav-link.active{background:#eee3e1;color:var(--berry);font-weight:800}
    .menu-btn{display:none;border:0;background:transparent;color:var(--wine);font-size:23px}
    .btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:0 21px;border-radius:999px;font-size:14px;font-weight:800;border:1px solid transparent;transition:all .22s ease}
    .btn-primary{background:var(--berry);color:#fff8f5;box-shadow:0 10px 22px rgba(140,37,68,.2)}
    .btn-primary:hover{background:var(--berry-dark);transform:translateY(-2px);box-shadow:0 14px 28px rgba(140,37,68,.28)}
    .btn-secondary{background:transparent;color:var(--berry);border-color:var(--berry)}
    .btn-secondary:hover{background:var(--berry);color:#fff}
    :focus-visible{outline:3px solid rgba(140,37,68,.35);outline-offset:3px}
    .dark-hero{background:var(--charcoal);color:var(--paper);position:relative;overflow:hidden}
    .dark-hero:before,.dark-section:before{content:"";position:absolute;inset:0;opacity:.1;background-image:radial-gradient(var(--rose) 1px,transparent 1px);background-size:14px 14px;pointer-events:none}
    .theme-hero{padding:88px 0 86px;min-height:590px}
    .theme-hero-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center;position:relative;z-index:1}
    .eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--rose);font-size:12px;font-weight:800;letter-spacing:.12em}
    .eyebrow:before{content:"";width:24px;height:1px;background:var(--rose)}
    .theme-hero h1{font-size:clamp(38px,5.5vw,70px);line-height:1.1;letter-spacing:-.06em;margin:18px 0 22px;font-weight:900}
    .hero-copy{font-size:16px;color:#c9b8ba;max-width:520px}
    .hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
    .hero-number{font-size:clamp(150px,22vw,280px);font-weight:900;line-height:.75;color:rgba(232,165,181,.12);position:absolute;right:-20px;top:-30px;letter-spacing:-.12em}
    .collage{height:430px;position:relative}
    .cover{position:absolute;border-radius:28px;overflow:hidden;border:1px solid rgba(255,255,255,.16);box-shadow:0 25px 55px rgba(0,0,0,.3)}
    .cover:after{content:"";position:absolute;inset:0;background:linear-gradient(145deg,transparent 20%,rgba(34,22,27,.68))}
    .cover-main{width:57%;height:400px;right:16%;top:0;background:linear-gradient(145deg,#382631,#8c2544 52%,#d29a72)}
    .cover-small{width:31%;height:170px;left:0;bottom:8px;background:linear-gradient(145deg,#4d3440,#e8a5b5)}
    .cover-side{width:28%;height:210px;right:0;bottom:48px;background:linear-gradient(145deg,#342028,#6c3448)}
    .cover-label{position:absolute;z-index:2;left:20px;bottom:18px;color:#fff4ef;font-size:13px;font-weight:800}
    .section{padding:96px 0}.section-title{font-size:clamp(30px,4vw,52px);line-height:1.18;letter-spacing:-.04em;margin:12px 0 18px;font-weight:850}
    .section-lead{max-width:620px;color:var(--muted);font-size:16px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:38px}
    .index-bar{background:var(--cream);border-bottom:1px solid var(--line);overflow:auto;white-space:nowrap}
    .index-bar .container{display:flex;gap:10px;padding-top:15px;padding-bottom:15px}
    .tag{display:inline-flex;align-items:center;min-height:29px;padding:0 12px;border-radius:999px;background:#eee3e1;color:var(--berry);font-size:12px;font-weight:750;transition:.2s}
    .tag:hover,.tag.active{background:var(--berry);color:#fff}
    .chapter-layout{display:grid;grid-template-columns:180px 1fr;gap:44px}
    .chapter-nav{position:sticky;top:110px;align-self:start;border-left:1px solid var(--line)}
    .chapter-nav a{display:block;padding:12px 0 12px 19px;color:var(--muted);font-size:13px;border-left:3px solid transparent;transition:.2s}
    .chapter-nav a:hover,.chapter-nav a.active{color:var(--berry);border-left-color:var(--berry);font-weight:800}
    .theme-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
    .theme-card{border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;overflow:hidden;transition:.25s;box-shadow:0 8px 25px rgba(45,24,31,.04)}
    .theme-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
    .theme-card.wide{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr}
    .theme-cover{aspect-ratio:4/3;background:linear-gradient(145deg,#4b2735,#b85a70);position:relative;overflow:hidden}
    .theme-card.wide .theme-cover{aspect-ratio:16/9}
    .theme-cover.dark{background:linear-gradient(145deg,#282026,#704052 55%,#d29a72)}
    .theme-cover.soft{background:linear-gradient(145deg,#4f3940,#e8a5b5)}
    .theme-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(145deg,transparent 25%,rgba(23,18,22,.48))}
    .cover-index{position:absolute;z-index:1;top:16px;left:18px;color:#fff1ed;font-size:12px;letter-spacing:.12em}
    .theme-body{padding:23px}.theme-body h2{font-size:22px;line-height:1.35;margin:12px 0 8px}.theme-body p{font-size:14px;color:var(--muted);margin:0 0 17px}
    .meta{display:flex;justify-content:space-between;color:#98898b;font-size:11px}
    .reading-panel{background:#f0e5e2;border:1px solid var(--line);border-radius:var(--radius-lg);padding:28px;display:grid;grid-template-columns:1fr 1fr;gap:20px}
    .reading-line{padding:14px 0;border-bottom:1px solid #d9c8c5;color:#66595d;font-size:14px}
    .reading-line strong{display:block;color:var(--wine);margin-bottom:4px}
    .dark-section{background:var(--charcoal);color:var(--paper);position:relative;overflow:hidden}
    .cta-box{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:30px}
    .cta-box h2{font-size:clamp(28px,4vw,48px);line-height:1.2;margin:10px 0}.cta-box p{color:#c7b5b7;max-width:610px}
    .faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.faq-list{border-top:1px solid var(--line)}
    .faq-item{border-bottom:1px solid var(--line)}.faq-question{width:100%;background:transparent;border:0;display:flex;justify-content:space-between;gap:20px;text-align:left;padding:21px 0;font-weight:850;font-size:16px;color:var(--wine)}
    .faq-icon{color:var(--berry);font-size:23px;line-height:1}.faq-answer{display:none;color:var(--muted);font-size:14px;padding:0 35px 21px 0}.faq-item.open .faq-answer{display:block}.faq-item.open .faq-icon{transform:rotate(45deg)}
    .site-footer{background:var(--charcoal);color:var(--paper);padding:70px 0 30px}.footer-grid{display:grid;grid-template-columns:1.5fr .7fr .9fr .8fr;gap:38px}.footer-copy{color:#b9a9ab;font-size:13px;max-width:300px;margin-top:20px}.footer-title{font-size:13px;font-weight:850;color:var(--rose);margin-bottom:15px}.footer-links{display:grid;gap:9px;color:#c6b7b8;font-size:13px}.footer-links a:hover{color:var(--rose)}.copyright{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.12);margin-top:52px;padding-top:20px;color:#9d8d90;font-size:11px}
    .mobile-tabs{display:none}
    @media(max-width:1023px){.container{width:min(100% - 48px,760px)}.nav-links{gap:0}.nav-link{padding:9px 8px;font-size:12px}.theme-hero-grid{gap:35px}.chapter-layout{grid-template-columns:140px 1fr}.footer-grid{grid-template-columns:1fr 1fr}}
    @media(max-width:639px){body{padding-bottom:72px}.container{width:calc(100% - 32px)}.nav-wrap{height:68px}.site-header .btn,.nav-links{display:none}.menu-btn{display:block}.theme-hero{padding:58px 0 54px;min-height:0}.theme-hero-grid{display:block}.theme-hero h1{font-size:42px}.hero-number{font-size:150px;right:-10px;top:190px}.collage{height:300px;margin-top:52px}.cover-main{height:280px}.cover-small{height:120px}.cover-side{height:145px}.section{padding:66px 0}.section-head{display:block;margin-bottom:28px}.index-bar .container{width:max-content;margin-left:16px}.chapter-layout{display:block}.chapter-nav{position:static;display:flex;overflow:auto;border:0;border-bottom:1px solid var(--line);margin-bottom:24px;white-space:nowrap}.chapter-nav a{padding:10px 15px;border-left:0;border-bottom:3px solid transparent}.chapter-nav a.active{border-bottom-color:var(--berry)}.theme-grid{display:block}.theme-card{margin-bottom:18px}.theme-card.wide{display:block}.theme-card.wide .theme-cover{aspect-ratio:16/10}.reading-panel{display:block;padding:21px}.reading-line:last-child{border-bottom:0}.cta-box{display:block}.cta-box .btn{margin-top:18px;width:100%}.faq-layout{display:block}.faq-layout .section-lead{margin-bottom:28px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-grid>div:first-child{grid-column:span 2}.copyright{display:block;line-height:2;margin-top:35px}.mobile-tabs{position:fixed;display:grid;grid-template-columns:repeat(4,1fr);bottom:0;left:0;right:0;height:72px;padding-bottom:env(safe-area-inset-bottom);background:rgba(251,247,244,.97);border-top:1px solid var(--line);z-index:50;box-shadow:0 -8px 24px rgba(45,24,31,.08)}.mobile-tabs a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--muted);font-size:11px}.mobile-tabs a span:first-child{font-size:18px;line-height:1}.mobile-tabs a.active{color:var(--berry);font-weight:850}.mobile-tabs a.active span:first-child{background:#eee3e1;border-radius:999px;padding:2px 12px}}
    @media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* roulang page: category1 */
:root{
 --berry:#8c2544;--berry-dark:#641a33;--wine:#22161b;--charcoal:#171216;
 --rose:#e8a5b5;--cream:#f4eee9;--paper:#fbf7f4;--sand:#d29a72;
 --muted:#75696c;--line:#dfd3d0;--shadow:0 18px 50px rgba(45,24,31,.10);
 --radius-lg:30px;--radius-md:22px;--radius-sm:14px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--wine);font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",Arial,sans-serif;line-height:1.7;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;width:100%;object-fit:cover}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
::selection{background:var(--rose);color:var(--wine)}
:focus-visible{outline:3px solid rgba(140,37,68,.35);outline-offset:3px}
.container{width:min(1180px,calc(100% - 64px));margin:0 auto}
.section{padding:96px 0}
.eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--berry);font-size:12px;font-weight:800;letter-spacing:.12em}
.eyebrow:before{content:"";width:24px;height:1px;background:var(--berry)}
.section-title{font-size:clamp(30px,4vw,52px);line-height:1.18;letter-spacing:-.04em;margin:12px 0 18px;font-weight:850}
.section-lead{max-width:650px;color:var(--muted);font-size:16px}
.btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:0 21px;border-radius:999px;font-size:14px;font-weight:800;border:1px solid transparent;transition:all .22s ease}
.btn-primary{background:var(--berry);color:#fff8f5;box-shadow:0 10px 22px rgba(140,37,68,.20)}
.btn-primary:hover{background:var(--berry-dark);transform:translateY(-2px);box-shadow:0 14px 28px rgba(140,37,68,.28)}
.btn-secondary{background:transparent;color:var(--berry);border-color:var(--berry)}
.btn-secondary:hover{background:var(--berry);color:#fff}
.tag{display:inline-flex;align-items:center;min-height:28px;padding:0 11px;border-radius:999px;background:#eee3e1;color:var(--berry);font-size:12px;font-weight:750;white-space:nowrap}
.site-header{position:sticky;top:0;z-index:30;background:rgba(251,247,244,.92);border-bottom:1px solid transparent;backdrop-filter:blur(14px);transition:.25s}
.site-header.scrolled{border-color:var(--line);box-shadow:0 8px 24px rgba(45,24,31,.06)}
.nav-wrap{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{display:flex;align-items:center;gap:11px;line-height:1.15;font-weight:900}
.logo-mark{width:34px;height:34px;border-radius:11px;background:var(--berry);position:relative;flex:none}
.logo-mark:after{content:"";position:absolute;width:10px;height:10px;border:2px solid var(--rose);border-radius:50%;right:6px;top:6px}
.logo-main{font-size:15px;letter-spacing:-.02em}
.logo-sub{display:block;color:var(--muted);font-size:10px;font-weight:600;margin-top:3px}
.nav-links{display:flex;align-items:center;gap:5px;margin-left:auto}
.nav-link{padding:10px 13px;border-radius:12px;font-size:13px;color:#66595d;transition:.2s}
.nav-link:hover,.nav-link.active{background:#eee3e1;color:var(--berry);font-weight:800}
.menu-btn{display:none;border:0;background:transparent;color:var(--wine);font-size:23px}
.page-hero{background:var(--cream);padding:74px 0 76px;position:relative;overflow:hidden}
.page-hero:after{content:"01";position:absolute;right:6%;bottom:-52px;color:rgba(140,37,68,.08);font-size:220px;font-weight:900;line-height:1}
.hero-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center;position:relative;z-index:1}
.breadcrumb{display:flex;gap:10px;align-items:center;color:var(--muted);font-size:13px;margin-bottom:20px}
.breadcrumb a:hover{color:var(--berry)}
.page-hero h1{font-size:clamp(38px,5.2vw,68px);line-height:1.1;letter-spacing:-.06em;margin:0 0 22px;font-weight:900;max-width:700px}
.hero-desc{max-width:620px;color:#685d60;font-size:17px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.hero-panel{min-height:390px;border-radius:var(--radius-lg);background:var(--charcoal);padding:28px;position:relative;overflow:hidden;color:var(--paper);box-shadow:var(--shadow)}
.hero-panel:before{content:"";position:absolute;inset:0;opacity:.13;background-image:radial-gradient(var(--rose) 1px,transparent 1px);background-size:14px 14px}
.panel-top,.panel-bottom{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center}
.panel-number{font-size:110px;line-height:1;font-weight:900;color:var(--rose);opacity:.88;margin:54px 0 38px;position:relative;z-index:1}
.panel-cover{height:110px;border-radius:18px;background:linear-gradient(145deg,#4a2938,#8c2544 55%,#d29a72);position:absolute;right:26px;bottom:28px;width:58%;transform:rotate(-5deg);opacity:.9}
.panel-label{font-size:12px;color:#d8c5c6;letter-spacing:.1em}
.filter-bar{padding:20px 0;border-bottom:1px solid var(--line);overflow:auto}
.filter-inner{display:flex;gap:10px;min-width:max-content}
.filter-btn{border:1px solid var(--line);background:var(--paper);color:var(--muted);border-radius:999px;padding:8px 16px;font-size:13px;transition:.2s}
.filter-btn:hover,.filter-btn.active{background:var(--berry);color:#fff;border-color:var(--berry)}
.content-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(250px,.65fr);gap:62px;align-items:start}
.content-flow{border-top:1px solid var(--line)}
.feature-card{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:26px 0 32px;border-bottom:1px solid var(--line)}
.feature-image{aspect-ratio:16/10;border-radius:var(--radius-md);overflow:hidden;background:linear-gradient(135deg,#35232b,#a44b65 52%,#d29a72)}
.feature-image img,.small-image img{height:100%;transition:transform .35s ease}
.feature-card:hover img,.story:hover .small-image img{transform:scale(1.035)}
.card-body{display:flex;flex-direction:column;justify-content:center}
.card-body h2{font-size:27px;line-height:1.3;letter-spacing:-.03em;margin:14px 0 10px}
.card-body p,.story p{color:var(--muted);font-size:14px;margin:0 0 18px}
.story{display:grid;grid-template-columns:190px 1fr;gap:22px;padding:24px 0;border-bottom:1px solid var(--line);transition:.2s}
.story:hover{padding-left:8px}
.small-image{aspect-ratio:16/10;border-radius:16px;overflow:hidden;background:#63354a}
.story h3{font-size:20px;line-height:1.35;margin:10px 0 7px}
.meta{display:flex;justify-content:space-between;gap:12px;color:#98898b;font-size:11px;flex-wrap:wrap}
.text-link{color:var(--berry);font-weight:800;font-size:13px}
.sidebar{position:sticky;top:108px}
.side-box{border:1px solid var(--line);border-radius:var(--radius-md);padding:24px;background:#f2e7e4;margin-bottom:18px}
.side-box h3{font-size:18px;margin:0 0 16px}
.side-list{list-style:none;padding:0;margin:0}
.side-list li{padding:11px 0;border-bottom:1px solid rgba(117,105,108,.18);font-size:13px;color:var(--muted)}
.side-list li:last-child{border-bottom:0}
.update-line{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted);padding:8px 0}
.dark-band{background:var(--charcoal);color:var(--paper);border-radius:var(--radius-lg);padding:42px 48px;position:relative;overflow:hidden}
.dark-band:before{content:"";position:absolute;inset:0;opacity:.08;background-image:radial-gradient(var(--rose) 1px,transparent 1px);background-size:13px 13px}
.band-inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:30px}
.dark-band h2{font-size:clamp(25px,3vw,38px);line-height:1.25;margin:0 0 8px}
.dark-band p{color:#c7b5b7;margin:0;max-width:620px;font-size:14px}
.recommend-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.recommend{border:1px solid var(--line);border-radius:var(--radius-md);padding:23px;background:#fff;transition:.25s}
.recommend:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--rose)}
.recommend h3{font-size:18px;margin:14px 0 7px}
.recommend p{font-size:13px;color:var(--muted);margin:0 0 14px}
.faq-mini{max-width:820px;margin:0 auto;border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-question{width:100%;background:transparent;border:0;display:flex;justify-content:space-between;gap:20px;text-align:left;padding:20px 0;font-weight:850;font-size:16px;color:var(--wine)}
.faq-icon{color:var(--berry);font-size:23px;line-height:1;transition:.2s}
.faq-answer{display:none;color:var(--muted);font-size:14px;padding:0 35px 20px 0}
.faq-item.open .faq-answer{display:block}
.faq-item.open .faq-icon{transform:rotate(45deg)}
.site-footer{background:var(--charcoal);color:var(--paper);padding:70px 0 28px}
.footer-grid{display:grid;grid-template-columns:1.5fr .7fr .9fr .9fr;gap:35px}
.footer-copy{color:#b9a8aa;font-size:13px;max-width:300px;margin:20px 0 0}
.footer-title{font-size:13px;font-weight:850;color:var(--rose);margin-bottom:14px}
.footer-links{display:flex;flex-direction:column;gap:8px;color:#c8b9ba;font-size:13px}
.footer-links a:hover{color:#fff}
.copyright{border-top:1px solid rgba(232,165,181,.18);margin-top:48px;padding-top:18px;display:flex;justify-content:space-between;gap:15px;color:#98898b;font-size:11px}
.mobile-tabs{display:none}
@media(max-width:1023px){
 .container{width:min(100% - 48px,760px)}
 .nav-links{gap:0}.nav-link{padding:9px 8px;font-size:12px}
 .hero-inner{grid-template-columns:1fr  .8fr;gap:30px}
 .content-layout{gap:32px}
 .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
 body{padding-bottom:72px}
 .container{width:calc(100% - 32px)}
 .section{padding:68px 0}
 .nav-wrap{height:68px}.nav-links,.nav-wrap>.btn{display:none}.menu-btn{display:block}
 .site-header.menu-open .nav-links{display:flex;position:absolute;top:68px;left:0;right:0;background:var(--paper);padding:12px 16px 18px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line);box-shadow:0 12px 25px rgba(45,24,31,.08)}
 .site-header.menu-open .nav-link{padding:13px 14px}
 .logo-main{font-size:13px}
 .page-hero{padding:52px 0 45px}
 .hero-inner{display:block}
 .page-hero h1{font-size:42px}
 .hero-desc{font-size:15px}
 .hero-panel{margin-top:35px;min-height:290px}
 .panel-number{font-size:82px;margin:45px 0 28px}
 .filter-bar{margin:0 -16px;padding-left:16px;padding-right:16px}
 .content-layout{display:flex;flex-direction:column;gap:35px}
 .content-flow{width:100%}
 .feature-card{display:block}
 .feature-image{margin-bottom:20px}
 .card-body h2{font-size:24px}
 .story{grid-template-columns:112px 1fr;gap:15px}
 .story h3{font-size:17px;margin-top:5px}
 .story p{font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
 .sidebar{position:static;width:100%}
 .dark-band{padding:30px 24px}
 .band-inner{display:block}.band-inner .btn{margin-top:22px;width:100%}
 .recommend-grid{display:flex;overflow:auto;margin-right:-16px;padding-right:16px}
 .recommend{min-width:260px}
 .footer-grid{grid-template-columns:1fr;gap:28px}
 .copyright{display:block;line-height:2.1;margin-bottom:8px}
 .mobile-tabs{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;z-index:40;bottom:0;left:0;right:0;min-height:68px;padding-bottom:env(safe-area-inset-bottom);background:rgba(251,247,244,.97);border-top:1px solid var(--line);box-shadow:0 -8px 22px rgba(45,24,31,.08)}
 .mobile-tabs a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--muted);font-size:10px}
 .mobile-tabs a span:first-child{font-size:18px;line-height:1.1}
 .mobile-tabs a.active{color:var(--berry);font-weight:800}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
