/* roulang page: index */
:root{--paper:#F4F1EB;--ink:#1E211E;--wine:#5E4154;--moss:#77806A;--line:#D9D3C9;--card:#FBFAF7;--muted:#686861}
    *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"PingFang SC","Microsoft YaHei",sans-serif;line-height:1.75}
    a{text-decoration:none;color:inherit}button,input,select{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}
    .serif{font-family:"Noto Serif SC",STSong,SimSun,serif}.paper-grid{background-image:linear-gradient(rgba(94,65,84,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(94,65,84,.055) 1px,transparent 1px);background-size:36px 36px}
    .nav-link{position:relative;padding:9px 2px;color:#555750;font-size:14px;letter-spacing:.04em}.nav-link:after{content:"";position:absolute;left:0;bottom:3px;width:0;height:1px;background:var(--wine);transition:width .2s ease}.nav-link:hover,.nav-link.active{color:var(--ink)}.nav-link:hover:after,.nav-link.active:after{width:100%}
    .focus-ring:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(94,65,84,.42);outline-offset:3px}
    .btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:0 21px;background:var(--wine);border:1px solid var(--wine);color:#F4F1EB;font-size:14px;letter-spacing:.04em;transition:.2s}.btn-primary:hover{background:#482f40;box-shadow:inset 0 0 0 1px #baa9b3}.btn-secondary{display:inline-flex;align-items:center;gap:9px;min-height:44px;border-bottom:1px solid var(--ink);font-size:14px;transition:.2s}.btn-secondary:hover{color:var(--wine);border-color:var(--wine)}.btn-secondary:hover span{transform:translateX(4px)}
    .badge{display:inline-flex;align-items:center;border:1px solid var(--line);background:rgba(251,250,247,.75);padding:3px 8px;font-size:11px;letter-spacing:.09em;line-height:1.45}.badge-wine{border-color:rgba(94,65,84,.46);color:var(--wine)}.badge-moss{border-color:rgba(119,128,106,.55);color:#53604c}
    .cover{position:relative;overflow:hidden;background:#cdc7bc}.cover:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(94,65,84,.85),rgba(30,33,30,.17) 58%,rgba(119,128,106,.62)),radial-gradient(circle at 75% 24%,rgba(244,241,235,.7),transparent 27%);z-index:1}.cover:after{content:"";position:absolute;width:58%;height:120%;right:5%;top:-10%;border-left:1px solid rgba(244,241,235,.6);border-right:1px solid rgba(244,241,235,.25);transform:rotate(15deg);z-index:1}
    .cover-label{position:absolute;z-index:2;bottom:18px;left:18px;color:#f4f1eb;font:500 12px/1.5 "PingFang SC",sans-serif;letter-spacing:.14em}.cover-no{position:absolute;z-index:2;top:15px;right:16px;color:#f4f1eb;font-size:11px;letter-spacing:.14em}
    .card-link{position:relative;display:block;border:1px solid var(--line);background:var(--card);transition:border-color .22s,background .22s}.card-link:after{content:"";position:absolute;bottom:-1px;left:0;height:2px;width:0;background:var(--wine);transition:width .25s}.card-link:hover{border-color:#ac9aa5}.card-link:hover:after{width:100%}.card-link:hover .cover{transform:scale(1.018)}.cover{transition:transform .3s ease}.card-link:hover .card-title{color:var(--wine)}.arrow{transition:transform .2s}.card-link:hover .arrow{transform:translateX(4px)}
    .faq-item summary{list-style:none;cursor:pointer}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary span:last-child{transition:transform .2s}.faq-item[open] summary span:last-child{transform:rotate(45deg);color:var(--wine)}
    .timeline-dot{width:9px;height:9px;border:2px solid var(--paper);background:var(--wine);box-shadow:0 0 0 1px var(--wine)}
    @media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
    @media(max-width:767px){.desktop-nav{display:none}.mobile-nav{display:flex}.hero-title{font-size:43px!important}.hero-art{min-height:390px}.section-space{padding-top:72px!important;padding-bottom:72px!important}}
    @media(min-width:768px){.mobile-nav{display:none}}

/* roulang page: category2 */
:root{--paper:#F4F1EB;--ink:#1E211E;--wine:#5E4154;--moss:#77806A;--line:#D9D3C9;--card:#FBFAF7;--muted:#686861}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"PingFang SC","Microsoft YaHei",sans-serif;line-height:1.75}
a{text-decoration:none;color:inherit}button,input,select{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}
.paper-grid{background-image:linear-gradient(rgba(94,65,84,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(94,65,84,.055) 1px,transparent 1px);background-size:36px 36px}
.nav-link{position:relative;padding:9px 2px;color:#555750;font-size:14px;letter-spacing:.04em}.nav-link:after{content:"";position:absolute;left:0;bottom:3px;width:0;height:1px;background:var(--wine);transition:width .2s ease}.nav-link:hover,.nav-link.active{color:var(--ink)}.nav-link:hover:after,.nav-link.active:after{width:100%}
.focus-ring:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(94,65,84,.42);outline-offset:3px}
.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:0 21px;background:var(--wine);border:1px solid var(--wine);color:#F4F1EB;font-size:14px;letter-spacing:.04em;transition:.2s}.btn-primary:hover{background:#482f40;box-shadow:inset 0 0 0 1px #baa9b3}
.btn-secondary{display:inline-flex;align-items:center;gap:9px;min-height:44px;border-bottom:1px solid var(--ink);font-size:14px;transition:.2s}.btn-secondary:hover{color:var(--wine);border-color:var(--wine)}.btn-secondary:hover span{transform:translateX(4px)}
.badge{display:inline-flex;align-items:center;border:1px solid var(--line);background:rgba(251,250,247,.75);padding:3px 8px;font-size:11px;letter-spacing:.09em;line-height:1.45}.badge-wine{border-color:rgba(94,65,84,.46);color:var(--wine)}.badge-moss{border-color:rgba(119,128,106,.55);color:#53604c}
.cover{transition:transform .35s ease}.topic-card{border:1px solid var(--line);background:var(--card);transition:border-color .22s}.topic-card:hover{border-color:#ac9aa5}.topic-card:hover .cover{transform:scale(1.02)}.topic-card:hover h3{color:var(--wine)}.topic-card h3{transition:color .2s}
.faq-item summary{list-style:none;cursor:pointer}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary span:last-child{transition:transform .2s}.faq-item[open] summary span:last-child{transform:rotate(45deg);color:var(--wine)}
.desktop-nav{display:none}.mobile-nav{display:flex}.section-space{padding-top:72px!important;padding-bottom:72px!important}
.index-link{border-left:2px solid transparent;transition:.2s}.index-link:hover,.index-link.active{border-color:var(--wine);background:#eee8e3;color:var(--wine)}
.timeline-dot{box-shadow:0 0 0 5px var(--paper)}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
@media(max-width:767px){.desktop-nav{display:none}.mobile-nav{display:flex}.section-space{padding-top:58px!important;padding-bottom:58px!important}}
@media(min-width:768px){.mobile-nav{display:none}.desktop-nav{display:flex}}

/* roulang page: category1 */
:root{--paper:#F4F1EB;--ink:#1E211E;--wine:#5E4154;--moss:#77806A;--line:#D9D3C9;--card:#FBFAF7;--muted:#686861}
html{scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:"PingFang SC","Microsoft YaHei",sans-serif;line-height:1.75}a{text-decoration:none;color:inherit}button,input,select{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}.serif{font-family:"Source Han Serif SC","Noto Serif SC","STSong",serif}.paper-grid{background-image:linear-gradient(rgba(94,65,84,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(94,65,84,.055) 1px,transparent 1px);background-size:36px 36px}.nav-link{position:relative;padding:9px 2px;color:#555750;font-size:14px;letter-spacing:.04em}.nav-link:after{content:"";position:absolute;left:0;bottom:3px;width:0;height:1px;background:var(--wine);transition:width .2s ease}.nav-link:hover,.nav-link.active{color:var(--ink)}.nav-link:hover:after,.nav-link.active:after{width:100%}.focus-ring:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(94,65,84,.42);outline-offset:3px}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:0 21px;background:var(--wine);border:1px solid var(--wine);color:#F4F1EB;font-size:14px;letter-spacing:.04em;transition:.2s}.btn-primary:hover{background:#482f40;box-shadow:inset 0 0 0 1px #baa9b3}.btn-secondary{display:inline-flex;align-items:center;gap:9px;min-height:44px;border-bottom:1px solid var(--ink);font-size:14px;transition:.2s}.btn-secondary:hover{color:var(--wine);border-color:var(--wine)}.btn-secondary:hover span{transform:translateX(4px)}.badge{display:inline-flex;align-items:center;border:1px solid var(--line);background:rgba(251,250,247,.75);padding:3px 8px;font-size:11px;letter-spacing:.09em;line-height:1.45}.badge-wine{border-color:rgba(94,65,84,.46);color:var(--wine)}.badge-moss{border-color:rgba(119,128,106,.55);color:#53604c}.card-link{position:relative;display:block;border:1px solid var(--line);background:var(--card);transition:border-color .22s,background .22s}.card-link:after{content:"";position:absolute;bottom:-1px;left:0;height:2px;width:0;background:var(--wine);transition:width .25s}.card-link:hover{border-color:#ac9aa5}.card-link:hover:after{width:100%}.card-link:hover .cover{transform:scale(1.018)}.card-link:hover .card-title{color:var(--wine)}.arrow{transition:transform .2s}.card-link:hover .arrow{transform:translateX(4px)}.faq-item summary{list-style:none;cursor:pointer}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary span:last-child{transition:transform .2s}.faq-item[open] summary span:last-child{transform:rotate(45deg);color:var(--wine)}.desktop-nav{display:none}.mobile-nav{display:none}.cover{transition:transform .35s ease}.filter-sticky{position:sticky;top:78px;z-index:20}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}@media(min-width:768px){.desktop-nav{display:flex}}@media(max-width:767px){.mobile-nav{display:flex}.filter-sticky{position:static}}
