/* roulang page: index */
:root{
      --paper:#f6f1e8;--card:#fffdf8;--ink:#262824;--green:#25473f;--green-deep:#17342e;
      --terracotta:#c86345;--sage:#a8b8a2;--sage-pale:#e6ece2;--muted:#6d6a62;
      --line:#ddd5c7;--cream:#fbf8f0;--radius:19px;--shadow:0 12px 28px rgba(51,42,31,.09);
      --shadow-hover:0 18px 34px rgba(37,71,63,.16);--max:1200px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;background:var(--paper);color:var(--ink);font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",Arial,sans-serif;font-size:16px;line-height:1.8}
    body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.26;background-image:radial-gradient(rgba(70,61,48,.18) .7px,transparent .8px);background-size:9px 9px;z-index:-1}
    a{color:inherit;text-decoration:none}
    img{max-width:100%;height:auto;display:block}
    button,input,select,textarea{font:inherit}
    button{cursor:pointer}
    button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--terracotta);outline-offset:3px}
    .grid-container{max-width:var(--max);padding-left:24px;padding-right:24px}
    .site-header{position:sticky;top:0;z-index:50;background:rgba(255,253,248,.95);border-bottom:1px solid rgba(221,213,199,.8);backdrop-filter:blur(10px)}
    .nav-row{min-height:76px;display:flex;align-items:center;gap:22px}
    .brand{display:inline-flex;align-items:center;gap:10px;flex-shrink:0;color:var(--green);font-weight:800;font-size:19px;letter-spacing:.02em}
    .brand-mark{width:27px;height:27px;border:2px solid var(--terracotta);border-radius:50% 50% 50% 5px;transform:rotate(-45deg);position:relative}
    .brand-mark:after{content:"";width:7px;height:7px;border-radius:50%;background:var(--green);position:absolute;left:7px;top:7px}
    .desktop-menu{display:flex;align-items:center;gap:4px;margin-left:auto}
    .desktop-menu a{padding:10px 13px;border-radius:10px;color:#41423d;font-size:14px;font-weight:700;transition:.2s}
    .desktop-menu a:hover,.desktop-menu a.active{background:var(--sage-pale);color:var(--green)}
    .desktop-menu a.active{box-shadow:inset 0 -3px 0 var(--terracotta)}
    .location-wrap{position:relative;margin-left:6px}
    .location-toggle,.mobile-toggle{border:1px solid var(--line);background:var(--card);color:var(--green);border-radius:11px;min-height:42px;padding:8px 12px;font-size:13px;font-weight:800;transition:.2s}
    .location-toggle:hover,.mobile-toggle:hover{border-color:var(--green);background:var(--sage-pale)}
    .location-panel{display:none;position:absolute;right:0;top:50px;width:270px;padding:16px;background:var(--card);border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}
    .location-panel.open{display:block}
    .panel-head{display:flex;justify-content:space-between;align-items:center;font-weight:800;color:var(--green);margin-bottom:9px}
    .close-panel{border:0;background:transparent;color:var(--muted);font-size:20px;line-height:1}
    .location-item{display:block;padding:10px 8px;border-top:1px solid var(--line);font-size:14px;transition:.2s}
    .location-item:hover{color:var(--terracotta);padding-left:13px}
    .mobile-toggle{display:none;margin-left:auto;font-size:18px}
    .mobile-menu{display:none;padding:10px 24px 20px;border-top:1px solid var(--line)}
    .mobile-menu.open{display:block}
    .mobile-menu a{display:block;padding:12px 4px;border-bottom:1px solid var(--line);font-weight:700}
    .mobile-location{margin-top:14px;width:100%;text-align:left}
    .hero{padding:54px 0 26px}
    .hero-grid{display:grid;grid-template-columns:1.38fr .82fr .82fr;gap:17px;align-items:stretch}
    .hero-main{grid-row:span 2;padding:44px;min-height:470px;background:var(--card);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);position:relative;overflow:hidden}
    .hero-main:after{content:"";position:absolute;width:240px;height:240px;border:1px solid rgba(168,184,162,.8);border-radius:50%;right:-86px;bottom:-104px}
    .eyebrow,.card-kicker{display:inline-flex;align-items:center;gap:7px;background:#f1e3d7;color:#91462f;border-radius:7px;padding:5px 9px;font-weight:800;font-size:12px;letter-spacing:.06em}
    .eyebrow:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--terracotta)}
    h1,h2,h3,p{margin-top:0}
    h1{margin:20px 0 18px;color:var(--green);font-size:clamp(37px,4.3vw,57px);line-height:1.18;letter-spacing:-.045em}
    .hero-copy{max-width:630px;font-size:17px;line-height:1.9;color:#505049;margin-bottom:27px}
    .hero-actions{display:flex;gap:12px;flex-wrap:wrap;position:relative;z-index:1}
    .button{margin:0;border:0;border-radius:11px;padding:13px 18px;background:var(--green);color:#fffdf8;font-size:15px;font-weight:800;transition:transform .2s,box-shadow .2s,background .2s}
    .button:hover{transform:translateY(-2px);background:var(--green-deep);box-shadow:0 10px 18px rgba(37,71,63,.22)}
    .button:active{transform:translateY(0)}
    .button.hollow{background:transparent;border:1px solid var(--green);color:var(--green)}
    .button.hollow:hover{background:var(--sage-pale);box-shadow:none}
    .button.terracotta{background:var(--terracotta)}
    .button.terracotta:hover{background:#a94f35}
    .hero-note{position:absolute;left:44px;right:44px;bottom:33px;padding-top:15px;border-top:1px dashed var(--line);font-size:13px;line-height:1.65;color:var(--muted)}
    .hero-side{min-height:226px;padding:25px;background:var(--sage-pale);border:1px solid #cfdbca;border-radius:20px;position:relative;overflow:hidden}
    .hero-side.privacy{background:#f4e6db;border-color:#e8cdbd}
    .hero-side h2{font-size:21px;line-height:1.35;color:var(--green);margin:17px 0 9px}
    .hero-side p{font-size:14px;line-height:1.72;color:#53564e;margin-bottom:0}
    .paper-number{position:absolute;right:19px;top:16px;color:rgba(37,71,63,.22);font-size:45px;font-weight:900;line-height:1}
    .progress-line{height:7px;background:rgba(37,71,63,.13);border-radius:99px;margin-top:20px;overflow:hidden}
    .progress-line span{display:block;width:72%;height:100%;background:var(--green);border-radius:99px}
    .index-strip{display:grid;grid-template-columns:repeat(4,1fr);margin-top:17px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
    .index-strip div{padding:15px 18px;border-right:1px solid var(--line);font-size:13px;color:var(--muted)}
    .index-strip div:last-child{border-right:0}
    .index-strip strong{display:block;color:var(--green);font-size:14px}
    .section{padding:88px 0}
    .section-head{max-width:720px;margin-bottom:33px}
    .section-label{color:var(--terracotta);font-size:13px;font-weight:900;letter-spacing:.1em}
    h2{font-size:clamp(29px,3vw,39px);line-height:1.25;letter-spacing:-.035em;color:var(--green);margin:8px 0 13px}
    .section-head p{color:var(--muted);font-size:16px;margin-bottom:0}
    .chapter-layout{display:grid;grid-template-columns:205px 1fr;gap:35px}
    .chapter-title{border-left:4px solid var(--terracotta);padding:5px 0 5px 17px;align-self:start;position:sticky;top:110px}
    .chapter-title strong{display:block;font-size:13px;color:var(--terracotta);letter-spacing:.1em}
    .chapter-title span{display:block;font-size:23px;font-weight:900;color:var(--green);line-height:1.35;margin-top:7px}
    .material-stack{display:grid;gap:14px}
    .material-card{display:grid;grid-template-columns:72px 1fr auto;gap:19px;align-items:center;padding:22px 24px;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 5px 14px rgba(48,42,32,.04);transition:.22s}
    .material-card:nth-child(2){margin-left:7%}.material-card:nth-child(3){margin-right:5%}
    .material-card:hover{transform:translateY(-3px);border-color:var(--green);box-shadow:var(--shadow-hover)}
    .material-num{color:var(--terracotta);font-size:23px;font-weight:900}
    .material-card h3{font-size:19px;color:var(--green);margin:0 0 4px}.material-card p{font-size:14px;color:var(--muted);margin:0}
    .tag{display:inline-block;margin-top:7px;padding:2px 8px;background:#edf1e8;color:#456357;border-radius:5px;font-size:12px;font-weight:800}
    .arrow-link{font-size:24px;color:var(--terracotta);transition:.2s}.material-card:hover .arrow-link{transform:translateX(4px)}
    .stats-area{background:var(--sage-pale);border-top:1px solid #d3ddcf;border-bottom:1px solid #d3ddcf}
    .stats-grid{display:grid;grid-template-columns:repeat(4,1fr) 1.35fr}
    .stat{padding:21px 24px;border-right:1px solid rgba(37,71,63,.18)}
    .stat b{display:block;color:var(--green);font-size:39px;line-height:1.1;letter-spacing:-.06em}.stat span{font-size:13px;color:#56635d}
    .stat-note{padding:18px 22px;color:#4d5b55;font-size:13px;line-height:1.7}
    .stat-note strong{color:var(--green)}
    .case-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:18px}
    .case-feature,.case-small{background:var(--card);border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 6px 17px rgba(49,40,27,.05)}
    .case-image{height:236px;position:relative;background:#c7d1c0;overflow:hidden}
    .case-image:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(37,71,63,.82),rgba(37,71,63,.12)),url('https://images.unsplash.com/photo-1497366754035-f200968a6e72?auto=format&fit=crop&w=1000&q=80') center/cover}
    .case-image.alt{height:149px;background:#e4c4b5}.case-image.alt:before{background:linear-gradient(135deg,rgba(200,99,69,.65),rgba(255,253,248,.15)),url('https://images.unsplash.com/photo-1518005020951-eccb494ad742?auto=format&fit=crop&w=800&q=80') center/cover}
    .page-pin{position:absolute;top:16px;left:16px;background:var(--card);color:var(--green);padding:4px 9px;border-radius:5px;font-size:12px;font-weight:900}
    .case-body{padding:24px}.case-body h3{font-size:24px;color:var(--green);line-height:1.35;margin:10px 0}.case-body p{font-size:14px;color:var(--muted);margin-bottom:18px}
    .case-aside{display:grid;gap:18px}.case-small .case-body{padding:17px}.case-small h3{font-size:18px;margin:8px 0}.case-small p{margin-bottom:0}
    .paths{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;align-items:start}
    .path-card{padding:25px;background:var(--card);border:1px solid var(--line);border-radius:18px;min-height:286px}
    .path-card.recommended{margin-top:-15px;border:2px solid var(--terracotta);box-shadow:var(--shadow)}
    .path-step{font-size:13px;color:var(--terracotta);font-weight:900;letter-spacing:.08em}.path-card h3{font-size:22px;color:var(--green);margin:10px 0}.path-card p{font-size:14px;color:var(--muted)}
    .path-card ul{list-style:none;margin:18px 0 0;padding:0}.path-card li{padding:7px 0;border-top:1px dashed var(--line);font-size:14px}.path-card li:before{content:"✓";color:var(--terracotta);font-weight:900;margin-right:8px}
    .timeline{border-left:2px dashed var(--sage);margin:8px 0 0 14px;padding:0 0 0 29px}
    .timeline-item{position:relative;padding:0 0 23px}.timeline-item:before{content:"";position:absolute;width:13px;height:13px;border-radius:50%;left:-37px;top:6px;background:var(--terracotta);border:3px solid var(--paper)}
    .timeline-time{font-size:12px;font-weight:900;color:var(--terracotta);letter-spacing:.08em}.timeline-item h3{font-size:18px;color:var(--green);margin:3px 0}.timeline-item p{font-size:14px;color:var(--muted);margin:0}
    .news-wrap{background:var(--cream);border:1px solid var(--line);border-radius:22px;padding:28px}
    .news-list{border-top:1px solid var(--line)}.news-item{display:grid;grid-template-columns:100px 1fr auto;gap:17px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line);transition:.2s}
    .news-item:hover{padding-left:8px}.news-date{color:var(--terracotta);font-size:13px;font-weight:800}.news-item h3{font-size:17px;color:var(--green);margin:0}.news-item p{font-size:13px;color:var(--muted);margin:2px 0 0}.news-item a{color:var(--green);font-size:13px;font-weight:900}
    .faq-wrap{max-width:820px;margin:auto}.accordion{background:transparent}.accordion-item{margin-bottom:10px;border:1px solid var(--line);border-radius:13px;overflow:hidden;background:var(--card)}
    .accordion-title{border:0!important;background:transparent;color:var(--green)!important;font-weight:800;font-size:16px;padding:17px 48px 17px 19px}.accordion-title:hover,.accordion-title:focus{background:var(--sage-pale)}
    .accordion-title:before{color:var(--terracotta);font-size:21px}.accordion-content{border:0!important;background:#faf6ed;color:#57564f;padding:3px 20px 19px;font-size:14px;line-height:1.85}
    .contact{background:var(--green);color:#fdf9ef;position:relative;overflow:hidden}.contact:before{content:"";position:absolute;width:540px;height:540px;border:1px solid rgba(255,253,248,.15);border-radius:50%;right:-220px;top:-300px}
    .contact h2{color:#fffaf0}.contact .section-label{color:#efad94}.contact-copy{color:#d5dfd5;max-width:480px}.contact-points{list-style:none;padding:0;margin:25px 0}.contact-points li{border-top:1px solid rgba(255,255,255,.18);padding:11px 0;font-size:14px;color:#e1e7dc}.contact-points li:before{content:"•";color:#efad94;font-weight:900;margin-right:10px}
    .contact-form{position:relative;background:#fffdf8;color:var(--ink);padding:25px;border-radius:18px;box-shadow:0 16px 33px rgba(0,0,0,.14)}
    label{display:block;font-size:13px;font-weight:800;color:var(--green);margin-bottom:5px}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:9px;background:#fffdf8;padding:10px 11px;color:var(--ink);margin-bottom:13px;transition:.2s}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(168,184,162,.35);outline:0}textarea{min-height:88px;resize:vertical}.checkline{display:flex;gap:8px;align-items:flex-start;font-size:12px;line-height:1.6;color:var(--muted);margin-bottom:14px}.checkline input{width:auto;margin:4px 0 0}
    footer{padding:33px 0;background:#1b3731;color:#dce4db}footer .grid-x{align-items:center}footer p{margin:0;font-size:13px}footer a{font-size:13px;margin-left:14px;color:#fffaf0}footer a:hover{color:#efad94}
    .back-top{position:fixed;right:22px;bottom:22px;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:var(--card);color:var(--green);box-shadow:var(--shadow);opacity:0;visibility:hidden;transition:.2s;z-index:30}.back-top.show{opacity:1;visibility:visible}.back-top:hover{background:var(--green);color:#fff}
    .age-modal{display:flex;position:fixed;inset:0;z-index:100;background:rgba(22,33,29,.72);padding:20px;align-items:center;justify-content:center}.age-modal[hidden]{display:none}.age-box{width:min(500px,100%);background:var(--card);border-radius:20px;padding:31px;box-shadow:0 25px 70px rgba(0,0,0,.28)}.age-box h2{font-size:28px;margin-bottom:12px}.age-box p{font-size:14px;color:var(--muted)}.age-actions{display:flex;gap:10px;margin-top:22px}.age-actions .button{flex:1}.age-leave{background:#ece7dc;color:var(--muted)}
    @media(max-width:1024px){.hero-grid{grid-template-columns:1.25fr .75fr}.hero-main{grid-row:span 2}.hero-side:last-child{grid-column:2}.stats-grid{grid-template-columns:repeat(4,1fr)}.stat-note{grid-column:1/-1;border-top:1px solid rgba(37,71,63,.18)}.case-grid{grid-template-columns:1fr}.case-aside{grid-template-columns:1fr 1fr}.case-image.alt{height:150px}}
    @media(max-width:768px){.desktop-menu,.location-wrap{display:none}.mobile-toggle{display:block}.hero{padding-top:30px}.hero-grid{grid-template-columns:1fr}.hero-main{grid-row:auto;min-height:430px;padding:31px}.hero-side:last-child{grid-column:auto}.hero-note{left:31px;right:31px}.index-strip{grid-template-columns:1fr 1fr}.index-strip div:nth-child(2){border-right:0}.index-strip div:nth-child(-n+2){border-bottom:1px solid var(--line)}.section{padding:58px 0}.chapter-layout{grid-template-columns:1fr}.chapter-title{position:static}.material-card:nth-child(2),.material-card:nth-child(3){margin:0}.paths{grid-template-columns:1fr}.path-card.recommended{margin-top:0}.case-aside{grid-template-columns:1fr}.contact .cell:first-child{margin-bottom:30px}.stats-grid{grid-template-columns:1fr 1fr}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid rgba(37,71,63,.18)}}
    @media(max-width:520px){.grid-container{padding-left:19px;padding-right:19px}.nav-row{min-height:66px}.brand{font-size:16px}.brand-mark{width:23px;height:23px}.brand-mark:after{left:6px;top:6px}.hero-main{padding:25px 22px;min-height:465px}h1{font-size:35px}.hero-copy{font-size:16px}.hero-note{left:22px;right:22px}.hero-actions,.age-actions{flex-direction:column}.hero-actions .button,.age-actions .button{width:100%}.hero-side{min-height:190px}.index-strip div{padding:12px}.material-card{grid-template-columns:48px 1fr;gap:11px;padding:18px}.arrow-link{display:none}.stats-grid{grid-template-columns:1fr 1fr}.stat{padding:18px 13px}.stat b{font-size:32px}.news-wrap{padding:19px}.news-item{grid-template-columns:1fr;gap:3px}.news-item a{display:none}.contact-form{padding:20px}footer .cell:last-child{margin-top:12px}footer a{margin-left:0;margin-right:13px}.back-top{right:14px;bottom:14px}}

/* roulang page: category2 */
:root{
 --paper:#f6f1e8;--card:#fffdf8;--ink:#262824;--green:#25473f;--green-deep:#17342e;
 --terracotta:#c86345;--sage:#a8b8a2;--sage-pale:#e6ece2;--muted:#6d6a62;
 --line:#ddd5c7;--cream:#fbf8f0;--radius:19px;--shadow:0 12px 28px rgba(51,42,31,.09);
 --shadow-hover:0 18px 34px rgba(37,71,63,.16);--max:1200px
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",Arial,sans-serif;font-size:16px;line-height:1.8}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.25;background-image:radial-gradient(rgba(70,61,48,.17) .7px,transparent .8px);background-size:9px 9px;z-index:-1}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--terracotta);outline-offset:3px}
.grid-container{max-width:var(--max);padding-left:24px;padding-right:24px}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,253,248,.96);border-bottom:1px solid rgba(221,213,199,.8);backdrop-filter:blur(10px)}
.nav-row{min-height:76px;display:flex;align-items:center;gap:22px}
.brand{display:inline-flex;align-items:center;gap:10px;flex-shrink:0;color:var(--green);font-weight:800;font-size:19px;letter-spacing:.02em}
.brand-mark{width:27px;height:27px;border:2px solid var(--terracotta);border-radius:50% 50% 50% 5px;transform:rotate(-45deg);position:relative}
.brand-mark:after{content:"";width:7px;height:7px;border-radius:50%;background:var(--green);position:absolute;left:7px;top:7px}
.desktop-menu{display:flex;align-items:center;gap:4px;margin-left:auto}
.desktop-menu a{padding:10px 13px;border-radius:10px;color:#41423d;font-size:14px;font-weight:700;transition:.2s}
.desktop-menu a:hover,.desktop-menu a.active{background:var(--sage-pale);color:var(--green)}
.desktop-menu a.active{box-shadow:inset 0 -3px 0 var(--terracotta)}
.location-wrap{position:relative}
.location-toggle,.mobile-toggle{border:1px solid var(--line);background:var(--card);color:var(--green);border-radius:11px;min-height:42px;padding:8px 12px;font-size:13px;font-weight:800;transition:.2s}
.location-toggle:hover,.mobile-toggle:hover{border-color:var(--green);background:var(--sage-pale)}
.location-panel{display:none;position:absolute;right:0;top:53px;width:255px;padding:14px;background:var(--card);border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow);z-index:60}
.location-panel.open{display:block}
.panel-head{display:flex;justify-content:space-between;align-items:center;color:var(--green);font-weight:900;padding:2px 5px 10px}
.close-panel{border:0;background:none;color:var(--muted);font-size:22px;line-height:1}
.location-item{display:block;padding:10px 8px;border-top:1px solid var(--line);font-size:14px;transition:.2s}
.location-item:hover{color:var(--terracotta);padding-left:13px}
.mobile-toggle{display:none;margin-left:auto;font-size:18px}
.mobile-menu{display:none;padding:10px 24px 20px;border-top:1px solid var(--line)}
.mobile-menu.open{display:block}
.mobile-menu a{display:block;padding:12px 4px;border-bottom:1px solid var(--line);font-weight:700}
.mobile-location{margin-top:14px;width:100%;text-align:left}
.hero{padding:56px 0 34px}
.hero-banner{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:42px 46px;box-shadow:var(--shadow);overflow:hidden;position:relative}
.hero-banner:after{content:"";position:absolute;width:360px;height:360px;border:1px solid rgba(200,99,69,.22);border-radius:50%;right:-130px;top:-170px}
.breadcrumb{font-size:13px;color:var(--muted);margin-bottom:20px}
.breadcrumb a{color:var(--green);font-weight:800}
.hero-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center}
.eyebrow,.section-label,.topic-label{display:inline-flex;align-items:center;gap:7px;color:#91462f;background:#f1e3d7;border-radius:7px;padding:5px 9px;font-size:12px;font-weight:900;letter-spacing:.06em}
.eyebrow:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--terracotta)}
h1,h2,h3{color:var(--green);line-height:1.28;margin-top:0}
h1{font-size:clamp(36px,5vw,56px);letter-spacing:-.04em;margin:18px 0 16px}
h2{font-size:clamp(28px,3.4vw,38px);margin-bottom:12px}
h3{font-size:21px;margin-bottom:8px}
.hero-copy{max-width:680px;color:#56564f;font-size:17px;margin-bottom:24px}
.hero-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;color:var(--muted);font-size:13px}
.meta-chip{padding:5px 10px;border:1px solid var(--line);border-radius:8px;background:#faf7ef}
.button{display:inline-block;margin:0;border:0;border-radius:11px;padding:13px 18px;background:var(--green);color:#fffdf8;font-size:15px;font-weight:800;transition:transform .2s,box-shadow .2s,background .2s}
.button:hover{transform:translateY(-2px);background:var(--green-deep);box-shadow:0 10px 18px rgba(37,71,63,.22);color:#fffdf8}
.button:active{transform:translateY(0)}
.button.hollow{background:transparent;border:1px solid var(--green);color:var(--green)}
.button.hollow:hover{background:var(--sage-pale);box-shadow:none}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.map-visual{min-height:285px;background:#e6ece2;border:1px solid #cbd8c7;border-radius:20px;position:relative;overflow:hidden;padding:25px}
.map-visual:before{content:"";position:absolute;inset:22px;background:repeating-linear-gradient(135deg,transparent 0 30px,rgba(37,71,63,.09) 31px 32px,transparent 33px 62px);transform:rotate(-10deg)}
.map-title{position:relative;color:var(--green);font-weight:900;font-size:14px}
.map-route{position:absolute;left:24%;top:31%;width:48%;height:42%;border-left:2px dashed var(--terracotta);border-bottom:2px dashed var(--terracotta);border-radius:0 0 0 60px;transform:rotate(-12deg)}
.pin{position:absolute;width:17px;height:17px;border-radius:50% 50% 50% 0;background:var(--terracotta);transform:rotate(-45deg)}
.pin:after{content:"";position:absolute;width:6px;height:6px;background:var(--card);border-radius:50%;left:5px;top:5px}
.pin.one{left:24%;top:30%}.pin.two{right:20%;bottom:23%}.pin.three{left:55%;bottom:14%;background:var(--green)}
.map-note{position:absolute;right:22px;bottom:20px;background:#fff8ed;border:1px solid #e3c5b5;padding:9px 12px;border-radius:8px;font-size:12px;color:#754735;transform:rotate(3deg)}
.section{padding:82px 0}
.section-head{max-width:750px;margin-bottom:30px}
.section-head p{color:var(--muted);margin:0}
.guide-grid{display:grid;grid-template-columns:280px 1fr;gap:30px;align-items:start}
.side-index{position:sticky;top:112px;background:var(--green);color:#f8f2e7;border-radius:18px;padding:24px}
.side-index strong{display:block;color:#e8b09e;font-size:13px;letter-spacing:.1em}
.side-index h3{color:#fffdf8;font-size:24px;margin:8px 0 18px}
.side-index a{display:block;padding:10px 0;border-top:1px solid rgba(255,255,255,.2);font-size:14px}
.side-index a:hover{color:#f0b69f}
.tip-card{margin-top:22px;background:#f4e6db;color:#704435;border-radius:12px;padding:13px;font-size:13px}
.archive-flow{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.archive-card{background:var(--card);border:1px solid var(--line);border-radius:17px;padding:22px;transition:.22s;position:relative}
.archive-card:nth-child(2){margin-top:28px}
.archive-card:nth-child(3){margin-top:-10px}
.archive-card:hover{border-color:var(--green);transform:translateY(-4px);box-shadow:var(--shadow-hover)}
.archive-number{font-size:13px;font-weight:900;color:var(--terracotta);letter-spacing:.1em}
.archive-card h3{margin:12px 0 7px}
.archive-card p{font-size:14px;color:var(--muted);margin-bottom:15px}
.tag{display:inline-block;padding:3px 8px;background:#edf1e8;color:#456357;border-radius:5px;font-size:12px;font-weight:800}
.arrow-link{float:right;color:var(--terracotta);font-size:22px}
.note-strip{margin:50px 0 0;padding:22px 28px;background:#f1e3d7;border-left:5px solid var(--terracotta);border-radius:12px;color:#64483d}
.note-strip strong{display:block;color:#91462f;font-size:13px;letter-spacing:.08em}
.note-strip p{margin:5px 0 0}
.topic-bar{display:flex;gap:10px;overflow-x:auto;padding:5px 0 14px;scrollbar-width:thin}
.topic-bar a{white-space:nowrap;border:1px solid var(--line);background:var(--card);border-radius:9px;padding:9px 14px;font-weight:800;font-size:14px}
.topic-bar a:hover,.topic-bar a.active{background:var(--green);color:#fffdf8;border-color:var(--green)}
.policy-band{background:var(--sage-pale);border-top:1px solid #d3ddcf;border-bottom:1px solid #d3ddcf}
.policy-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.policy-card{background:rgba(255,253,248,.8);border:1px solid #cbd8c7;border-radius:18px;padding:27px}
.policy-card.warm{background:#f4e6db;border-color:#e5cabc}
.policy-card p{color:#575950;font-size:15px}
.policy-list{list-style:none;margin:18px 0 0;padding:0}
.policy-list li{padding:10px 0 10px 25px;border-top:1px solid rgba(37,71,63,.15);position:relative;font-size:14px}
.policy-list li:before{content:"✓";position:absolute;left:0;color:var(--terracotta);font-weight:900}
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:35px}
.step{position:relative;padding:0 20px 0 0}
.step:not(:last-child):after{content:"";position:absolute;top:21px;left:38px;right:0;border-top:1px dashed var(--terracotta)}
.step-num{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--terracotta);color:#fffdf8;font-weight:900;position:relative;z-index:1}
.step h3{font-size:18px;margin:17px 0 5px}
.step p{font-size:14px;color:var(--muted);margin:0;padding-right:13px}
.faq-wrap{max-width:820px}
.accordion{background:transparent;margin:0}
.accordion-item{border:1px solid var(--line);border-radius:12px;margin-bottom:10px;overflow:hidden;background:var(--card)}
.accordion-title{color:var(--green);font-weight:800;font-size:16px;padding:17px 20px}
.accordion-title:hover{background:var(--sage-pale)}
.accordion-content{border-top:1px solid var(--line);background:#fbf8f0;color:var(--muted);font-size:15px;line-height:1.85;padding:18px 20px}
.cta-strip{background:var(--green);color:#f8f2e7;border-radius:20px;padding:34px 38px;display:flex;justify-content:space-between;align-items:center;gap:25px}
.cta-strip h2{color:#fffdf8;font-size:28px;margin-bottom:7px}
.cta-strip p{margin:0;color:#d9e1d6;font-size:15px}
.cta-strip .button{background:var(--terracotta);white-space:nowrap}
.cta-strip .button:hover{background:#a94f35}
footer{padding:28px 0;background:#17342e;color:#dce5db;font-size:13px}
footer p{margin:0}
footer a{display:inline-block;margin-left:18px;color:#fffdf8}
footer a:hover{color:#efad96}
.age-modal{display:none;position:fixed;inset:0;background:rgba(23,52,46,.72);z-index:100;align-items:center;justify-content:center;padding:20px}
.age-modal.open{display:flex}
.age-box{max-width:460px;background:var(--card);border-radius:20px;padding:32px;box-shadow:0 25px 60px rgba(0,0,0,.25);text-align:center}
.age-box h2{font-size:28px}
.age-box p{color:var(--muted);font-size:15px}
.age-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
@media(max-width:1024px){
 .hero-layout{grid-template-columns:1fr}.map-visual{min-height:230px}
 .guide-grid{grid-template-columns:230px 1fr}.timeline{grid-template-columns:repeat(2,1fr);gap:30px}
 .step:not(:last-child):after{display:none}
}
@media(max-width:768px){
 .desktop-menu,.location-wrap{display:none}.mobile-toggle{display:block}
 .hero{padding-top:30px}.hero-banner{padding:28px 24px}
 h1{font-size:38px}.section{padding:58px 0}
 .guide-grid{display:block}.side-index{position:static;margin-bottom:22px}
 .archive-flow,.policy-grid{grid-template-columns:1fr}.archive-card:nth-child(2),.archive-card:nth-child(3){margin-top:0}
 .cta-strip{display:block;padding:28px 24px}.cta-strip .button{margin-top:20px}
 footer .text-right{text-align:left!important;margin-top:12px}footer a{margin:0 18px 0 0}
}
@media(max-width:520px){
 .grid-container{padding-left:19px;padding-right:19px}.nav-row{min-height:66px}.brand{font-size:16px;gap:7px}.brand-mark{width:23px;height:23px}
 .hero-banner{padding:24px 19px}.hero-copy{font-size:16px}.hero-actions{display:grid;grid-template-columns:1fr}.hero-actions .button{text-align:center}
 .hero-meta{display:block}.meta-chip{display:inline-block;margin:4px 3px 0 0}
 .section{padding:48px 0}.timeline{grid-template-columns:1fr;gap:25px}.step{padding-right:0}
 .note-strip{padding:18px}.policy-card{padding:22px}.cta-strip h2{font-size:25px}
}

/* roulang page: category1 */
:root{
 --paper:#f6f1e8;--card:#fffdf8;--ink:#262824;--green:#25473f;--green-deep:#17342e;
 --terracotta:#c86345;--sage:#a8b8a2;--sage-pale:#e6ece2;--muted:#6d6a62;
 --line:#ddd5c7;--cream:#fbf8f0;--radius:19px;--shadow:0 12px 28px rgba(51,42,31,.09);
 --shadow-hover:0 18px 34px rgba(37,71,63,.16);--max:1200px;
}
html{scroll-behavior:smooth}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",Arial,sans-serif;font-size:16px;line-height:1.8}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.23;background-image:radial-gradient(rgba(70,61,48,.18) .7px,transparent .8px);background-size:9px 9px;z-index:-1}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
img{max-width:100%;height:auto;display:block}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--terracotta);outline-offset:3px}
.grid-container{max-width:var(--max);padding-left:24px;padding-right:24px}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,253,248,.96);border-bottom:1px solid rgba(221,213,199,.8);backdrop-filter:blur(10px)}
.nav-row{min-height:76px;display:flex;align-items:center;gap:22px}
.brand{display:inline-flex;align-items:center;gap:10px;flex-shrink:0;color:var(--green);font-weight:800;font-size:19px;letter-spacing:.02em}
.brand-mark{width:27px;height:27px;border:2px solid var(--terracotta);border-radius:50% 50% 50% 5px;transform:rotate(-45deg);position:relative}
.brand-mark:after{content:"";width:7px;height:7px;border-radius:50%;background:var(--green);position:absolute;left:7px;top:7px}
.desktop-menu{display:flex;align-items:center;gap:4px;margin-left:auto}
.desktop-menu a{padding:10px 13px;border-radius:10px;color:#41423d;font-size:14px;font-weight:700;transition:.2s}
.desktop-menu a:hover,.desktop-menu a.active{background:var(--sage-pale);color:var(--green)}
.desktop-menu a.active{box-shadow:inset 0 -3px 0 var(--terracotta)}
.location-wrap{position:relative}
.location-toggle,.mobile-toggle{border:1px solid var(--line);background:var(--card);color:var(--green);border-radius:11px;min-height:42px;padding:8px 12px;font-size:13px;font-weight:800;transition:.2s}
.location-toggle:hover,.mobile-toggle:hover{border-color:var(--green);background:var(--sage-pale)}
.location-panel{display:none;position:absolute;right:0;top:53px;width:250px;padding:12px;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}
.location-panel.open{display:block}
.panel-head{display:flex;justify-content:space-between;align-items:center;color:var(--green);font-weight:900;padding:3px 8px 9px}
.close-panel{border:0;background:transparent;color:var(--muted);font-size:23px;line-height:1}
.location-item{display:block;padding:10px 8px;border-top:1px solid var(--line);font-size:14px;transition:.2s}
.location-item:hover{color:var(--terracotta);padding-left:13px}
.mobile-toggle{display:none;margin-left:auto;font-size:18px}
.mobile-menu{display:none;padding:10px 24px 20px;border-top:1px solid var(--line)}
.mobile-menu.open{display:block}
.mobile-menu a{display:block;padding:12px 4px;border-bottom:1px solid var(--line);font-weight:700}
.mobile-location{margin-top:14px;width:100%;text-align:left}
h1,h2,h3{color:var(--green);line-height:1.28;margin-top:0}
h1{font-size:clamp(36px,5vw,56px);letter-spacing:-.04em;margin:16px 0}
h2{font-size:34px}
h3{font-size:21px;margin-bottom:8px}
p{margin:0 0 15px}
.button{margin:0;border:0;border-radius:11px;padding:13px 18px;background:var(--green);color:#fffdf8;font-size:15px;font-weight:800;transition:.2s}
.button:hover{transform:translateY(-2px);background:var(--green-deep);box-shadow:0 10px 18px rgba(37,71,63,.22);color:#fff}
.button:active{transform:translateY(0)}
.button.hollow{background:transparent;border:1px solid var(--green);color:var(--green)}
.button.hollow:hover{background:var(--sage-pale);box-shadow:none}
.eyebrow,.card-kicker{display:inline-flex;align-items:center;gap:7px;background:#f1e3d7;color:#91462f;border-radius:7px;padding:5px 9px;font-weight:800;font-size:12px;letter-spacing:.06em}
.eyebrow:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--terracotta)}
.page-hero{padding:67px 0 54px;border-bottom:1px solid var(--line)}
.breadcrumb{font-size:13px;color:var(--muted);margin-bottom:24px}
.breadcrumb a:hover{color:var(--terracotta)}
.hero-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:52px;align-items:end}
.hero-copy{max-width:760px;font-size:17px;line-height:1.9;color:#55534d}
.hero-meta{display:flex;flex-wrap:wrap;gap:10px;margin:25px 0 28px}
.meta-chip{padding:7px 12px;background:var(--sage-pale);border:1px solid #d0dccd;border-radius:9px;color:#466054;font-size:13px;font-weight:800}
.index-board{background:var(--green);color:var(--cream);border-radius:22px;padding:27px;min-height:245px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.index-board:after{content:"";position:absolute;width:180px;height:180px;border:1px solid rgba(230,236,226,.3);border-radius:50%;right:-75px;bottom:-80px}
.board-top{display:flex;justify-content:space-between;color:#cbd8c7;font-size:12px;letter-spacing:.08em}
.board-title{font-size:25px;font-weight:900;margin:36px 0 21px;position:relative;z-index:1}
.progress{height:7px;background:rgba(255,255,255,.18);border-radius:6px;overflow:hidden}
.progress span{display:block;width:68%;height:100%;background:var(--terracotta)}
.board-foot{display:flex;justify-content:space-between;margin-top:12px;color:#dce5d8;font-size:13px}
.content-area{padding:78px 0 96px}
.reading-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:58px;align-items:start}
.side-index{position:sticky;top:105px}
.side-index h2{font-size:21px;margin-bottom:20px}
.side-index nav{border-left:3px solid var(--line);padding-left:17px}
.side-index nav a{display:block;padding:8px 0;color:var(--muted);font-size:14px}
.side-index nav a:hover,.side-index nav a.current{color:var(--terracotta);font-weight:800}
.filter-box{margin-top:29px;padding-top:20px;border-top:1px solid var(--line)}
.filter-box strong{display:block;color:var(--green);font-size:14px;margin-bottom:9px}
.filter-tags{display:flex;flex-wrap:wrap;gap:7px}
.filter-tags span{padding:4px 8px;background:var(--card);border:1px solid var(--line);border-radius:6px;color:var(--muted);font-size:12px}
.region-note{margin-top:24px;padding:14px;background:#f1e3d7;border-radius:11px;color:#70483a;font-size:13px;line-height:1.65}
.archive-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:27px}
.archive-head p{color:var(--muted);font-size:14px;margin:0}
.archive-stream{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.archive-card{background:var(--card);border:1px solid var(--line);border-radius:17px;padding:18px;box-shadow:0 5px 15px rgba(48,42,32,.04);transition:.22s}
.archive-card:nth-child(3),.archive-card:nth-child(6){grid-column:span 2}
.archive-card:hover{transform:translateY(-4px);border-color:var(--green);box-shadow:var(--shadow-hover)}
.cover{height:132px;border-radius:12px;margin-bottom:17px;background:#d8c5b3;position:relative;overflow:hidden}
.cover:before{content:"";position:absolute;inset:20px 26px;border:1px solid rgba(37,71,63,.42);border-radius:50% 42% 48% 38%;transform:rotate(-12deg)}
.cover:after{content:"成年内容 · 授权标识";position:absolute;bottom:12px;left:14px;color:var(--green);font-size:12px;font-weight:900;letter-spacing:.08em}
.cover.green{background:#c6d2c0}.cover.orange{background:#e7c0a9}.cover.cream{background:#eee4cd}.cover.dark{background:#789289}
.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}
.card-kicker{font-size:11px;padding:3px 7px}
.card-no{font-size:12px;color:var(--muted);font-weight:800}
.archive-card h3{font-size:19px;margin-bottom:7px}
.archive-card p{font-size:14px;color:var(--muted);line-height:1.7;min-height:48px}
.card-foot{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding-top:12px;border-top:1px dashed var(--line);font-size:12px;color:var(--muted)}
.text-link{color:var(--terracotta);font-weight:900}
.text-link:hover{color:var(--green)}
.editor-note{margin:44px 0;padding:22px 27px;background:#f4e6db;border:1px solid #e6cabb;border-radius:14px;position:relative}
.editor-note strong{display:block;color:#8e432f;font-size:13px;margin-bottom:4px}
.editor-note p{margin:0;color:#604a40;font-size:15px}
.editor-note:after{content:"";position:absolute;right:28px;bottom:15px;width:110px;border-bottom:2px solid rgba(200,99,69,.5);transform:rotate(-3deg)}
.related{padding:75px 0;background:var(--sage-pale);border-top:1px solid #d3ddcf}
.section-label{color:var(--terracotta);font-size:13px;font-weight:900;letter-spacing:.1em}
.section-head{max-width:700px;margin-bottom:28px}
.section-head p{color:var(--muted)}
.related-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.related-card{display:flex;justify-content:space-between;gap:18px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:15px;padding:22px 24px;transition:.2s}
.related-card:hover{border-color:var(--green);transform:translateY(-3px);box-shadow:var(--shadow)}
.related-card h3{font-size:19px;margin:0 0 4px}
.related-card p{font-size:14px;color:var(--muted);margin:0}
.related-arrow{font-size:24px;color:var(--terracotta)}
.faq-section{padding:78px 0}
.accordion{background:transparent;margin:0;border:0}
.accordion-item{border:1px solid var(--line)!important;border-radius:12px!important;margin-bottom:10px;overflow:hidden;background:var(--card)}
.accordion-title{border:0!important;color:var(--green);font-weight:800;font-size:16px;padding:18px 22px}
.accordion-title:hover{background:var(--sage-pale)}
.accordion-content{border:0!important;background:#faf7ef;color:var(--muted);font-size:15px;line-height:1.8;padding:0 22px 19px}
.cta-strip{background:var(--green);color:var(--cream);padding:48px 0}
.cta-strip h2{color:var(--cream);font-size:29px;margin-bottom:8px}
.cta-strip p{color:#d6dfd2;margin:0;max-width:700px}
.cta-actions{display:flex;justify-content:flex-end;align-items:center;height:100%;gap:12px}
.cta-strip .button.hollow{border-color:#dce5d8;color:#fff}
footer{padding:28px 0;background:#17342e;color:#dce5d8;font-size:13px}
footer p{margin:0}
footer a{margin-left:20px;color:#fff}
footer a:hover{color:#f0b29b}
#ageModal{display:none;position:fixed;inset:0;background:rgba(23,52,46,.72);z-index:100;align-items:center;justify-content:center;padding:20px}
#ageModal.show{display:flex}
.age-box{max-width:470px;background:var(--card);border-radius:20px;padding:34px;box-shadow:0 22px 60px rgba(0,0,0,.24)}
.age-box h2{font-size:27px;margin-bottom:12px}
.age-box p{color:var(--muted);font-size:15px}
.age-actions{display:flex;gap:10px;margin-top:23px}
@media(max-width:1024px){
 .hero-layout{grid-template-columns:1fr 300px;gap:28px}.reading-layout{gap:35px}
}
@media(max-width:768px){
 .desktop-menu,.location-wrap{display:none}.mobile-toggle{display:block}
 .hero-layout,.reading-layout{grid-template-columns:1fr}.page-hero{padding:46px 0 42px}
 .index-board{max-width:500px}.side-index{position:static;background:var(--card);padding:20px;border:1px solid var(--line);border-radius:15px}
 .side-index nav{display:flex;gap:15px;flex-wrap:wrap;border:0;padding:0}.side-index nav a{padding:5px 0}
 .archive-card:nth-child(3),.archive-card:nth-child(6){grid-column:span 1}
 .archive-stream,.related-grid{grid-template-columns:1fr}
 .cta-actions{justify-content:flex-start;margin-top:24px}
 footer .text-right{text-align:left!important;margin-top:12px}footer a{margin:0 18px 0 0}
}
@media(max-width:520px){
 .grid-container{padding-left:19px;padding-right:19px}h1{font-size:37px}.hero-copy{font-size:16px}
 .archive-head{display:block}.archive-head p{margin-top:7px}.archive-card{padding:15px}
 .cover{height:116px}.hero-actions,.age-actions{flex-direction:column}.hero-actions .button,.age-actions .button{width:100%;text-align:center}
 .section-head{margin-bottom:22px}.cta-strip h2{font-size:25px}
}
