/* roulang page: index */
:root {
            --ink: #211e24;
            --ink-soft: #514b54;
            --muted: #817a80;
            --paper: #f7f4ef;
            --surface: #fffdfa;
            --line: #e5ded6;
            --coral: #e96d4f;
            --coral-dark: #c9543c;
            --sage: #dbe7de;
            --sage-deep: #587467;
            --plum: #302532;
            --yellow: #f3c56b;
            --radius-lg: 20px;
            --radius-md: 12px;
            --shadow: 0 14px 34px rgba(49, 38, 32, .08);
            --container: 1200px;
            --ease: 220ms ease;
        }

        *, *::before, *::after { box-sizing: border-box; }
        html { scroll-behavior: smooth; }
        body {
            margin: 0;
            color: var(--ink);
            background: var(--paper);
            font-family: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
            font-size: 16px;
            line-height: 1.8;
            -webkit-font-smoothing: antialiased;
        }
        img { display: block; max-width: 100%; }
        a { color: inherit; text-decoration: none; }
        button, input { font: inherit; }
        button { cursor: pointer; }
        :focus-visible { outline: 3px solid rgba(233, 109, 79, .42); outline-offset: 3px; }

        .container { width: min(var(--container), calc(100% - 48px)); margin: 0 auto; }
        .site-header {
            position: sticky;
            top: 0;
            z-index: 20;
            background: rgba(255, 253, 250, .96);
            border-bottom: 1px solid var(--line);
            transition: box-shadow var(--ease);
        }
        .site-header.scrolled { box-shadow: 0 5px 18px rgba(35, 29, 28, .08); }
        .nav-wrap { min-height: 78px; display: flex; align-items: center; gap: 44px; }
        .brand { display: inline-flex; align-items: center; gap: 11px; min-width: 218px; }
        .brand-mark {
            width: 34px; height: 34px; display: grid; place-items: center;
            color: var(--surface); background: var(--coral); border-radius: 10px;
            font-size: 19px; font-weight: 800;
        }
        .brand-name { font-size: 21px; font-weight: 800; letter-spacing: 0; }
        .brand-name span { color: var(--coral); }
        .main-nav { display: flex; align-items: center; gap: 28px; flex: 1; }
        .main-nav a {
            position: relative; min-height: 44px; display: inline-flex; align-items: center;
            color: var(--ink-soft); font-size: 15px; font-weight: 600;
        }
        .main-nav a::after {
            content: ""; position: absolute; left: 0; right: 0; bottom: 7px;
            height: 2px; background: var(--coral); transform: scaleX(0); transform-origin: left;
            transition: transform var(--ease);
        }
        .main-nav a:hover, .main-nav a.active { color: var(--ink); }
        .main-nav a:hover::after, .main-nav a.active::after { transform: scaleX(1); }
        .nav-cta { white-space: nowrap; }
        .menu-toggle { display: none; border: 0; background: transparent; color: var(--ink); font-size: 26px; padding: 8px; }

        .button {
            min-height: 46px; display: inline-flex; align-items: center; justify-content: center;
            gap: 9px; border: 1px solid transparent; border-radius: 10px; padding: 0 20px;
            font-size: 15px; font-weight: 700; transition: transform var(--ease), background var(--ease), box-shadow var(--ease);
        }
        .button:hover { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(67, 40, 29, .13); }
        .button:active { transform: translateY(0); box-shadow: none; }
        .button-primary { color: #fffaf5; background: var(--coral); }
        .button-primary:hover { background: var(--coral-dark); }
        .button-secondary { color: var(--ink); background: transparent; border-color: #bdb2aa; }
        .button-secondary:hover { background: var(--surface); border-color: var(--ink); }

        .hero {
            position: relative; min-height: 680px; display: flex; align-items: center;
            overflow: hidden; background: var(--paper);
        }
        .hero::before {
            content: ""; position: absolute; inset: 0 0 0 47%;
            background: var(--plum) url("/assets/images/backpic/back-1.jpg") center/cover no-repeat;
            clip-path: polygon(14% 0, 100% 0, 100% 100%, 0 100%);
        }
        .hero::after {
            content: ""; position: absolute; width: 180px; height: 180px; right: 8%; top: 13%;
            border: 1px solid rgba(243, 197, 107, .6); border-radius: 50%;
        }
        .hero-content { position: relative; z-index: 1; width: 58%; padding: 92px 0 102px; }
        .eyebrow, .section-kicker {
            display: inline-flex; align-items: center; gap: 9px; color: var(--coral-dark);
            font-size: 13px; font-weight: 800; letter-spacing: 1px;
        }
        .eyebrow::before, .section-kicker::before { content: ""; width: 26px; height: 2px; background: currentColor; }
        h1, h2, h3, p { margin-top: 0; }
        h1 { max-width: 700px; margin: 18px 0 22px; font-size: clamp(42px, 5vw, 68px); line-height: 1.15; letter-spacing: 0; }
        .hero-copy { max-width: 650px; color: var(--ink-soft); font-size: 18px; line-height: 1.9; }
        .hero-actions { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 32px; }
        .hero-notes { display: flex; flex-wrap: wrap; gap: 0; margin-top: 56px; }
        .hero-note { min-width: 150px; padding: 0 25px; border-left: 1px solid #cfc5bd; }
        .hero-note:first-child { padding-left: 0; border-left: 0; }
        .hero-note strong { display: block; color: var(--ink); font-size: 21px; }
        .hero-note span { color: var(--muted); font-size: 13px; }

        .section { padding: 104px 0; }
        .section-head { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 42px; }
        .section-head h2 { max-width: 590px; margin: 10px 0 0; font-size: 38px; line-height: 1.3; }
        .section-intro { max-width: 470px; color: var(--ink-soft); }
        .text-link { color: var(--coral-dark); font-weight: 700; }
        .text-link::after { content: "  →"; transition: margin var(--ease); }
        .text-link:hover::after { margin-left: 5px; }

        .overview { background: #efebe5; }
        .overview-layout { display: grid; grid-template-columns: 255px 1fr; gap: 58px; align-items: start; }
        .topic-list { border-top: 1px solid #cfc5bd; }
        .topic-list a {
            display: flex; justify-content: space-between; padding: 18px 4px;
            border-bottom: 1px solid #cfc5bd; color: var(--ink-soft); font-weight: 700;
            transition: color var(--ease), padding var(--ease);
        }
        .topic-list a:hover, .topic-list a.active { padding-left: 12px; color: var(--coral-dark); }
        .topic-list a.active { border-left: 3px solid var(--coral); padding-left: 12px; }
        .overview-panel {
            display: grid; grid-template-columns: 1.1fr .9fr; gap: 30px;
            padding: 36px; background: var(--surface); border: 1px solid var(--line);
            border-radius: var(--radius-lg); box-shadow: var(--shadow);
        }
        .overview-panel h3 { margin: 0 0 12px; font-size: 27px; }
        .overview-panel p { color: var(--ink-soft); }
        .check-list { margin: 25px 0 0; padding: 0; list-style: none; }
        .check-list li { position: relative; padding: 9px 0 9px 27px; color: var(--ink-soft); }
        .check-list li::before { content: "✓"; position: absolute; left: 0; color: var(--sage-deep); font-weight: 800; }
        .panel-image { min-height: 290px; overflow: hidden; border-radius: 14px; }
        .panel-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
        .overview-panel:hover .panel-image img { transform: scale(1.04); }

        .steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border-top: 1px solid var(--line); }
        .step { position: relative; padding: 34px 28px 16px 0; margin-right: 25px; border-bottom: 1px solid var(--line); }
        .step:not(:last-child)::after { content: "→"; position: absolute; right: -6px; top: 37px; color: var(--coral); font-size: 25px; }
        .step-num { color: var(--coral); font-size: 14px; font-weight: 800; }
        .step h3 { margin: 11px 0 9px; font-size: 20px; }
        .step p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.75; }

        .feature-section { background: var(--surface); }
        .feature-layout { display: grid; grid-template-columns: 1.15fr .85fr; gap: 30px; align-items: stretch; }
        .feature-main { position: relative; min-height: 430px; overflow: hidden; border-radius: var(--radius-lg); color: #fff; }
        .feature-main img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }
        .feature-main::after { content: ""; position: absolute; inset: 35% 0 0; background: linear-gradient(transparent, rgba(27, 20, 24, .9)); }
        .feature-caption { position: absolute; z-index: 1; left: 31px; right: 31px; bottom: 28px; }
        .feature-caption h3 { max-width: 540px; margin: 10px 0 5px; font-size: 28px; line-height: 1.35; }
        .feature-caption p { margin: 0; color: rgba(255,255,255,.8); }
        .story-list { display: flex; flex-direction: column; border-top: 1px solid var(--line); }
        .story-item { padding: 20px 0; border-bottom: 1px solid var(--line); }
        .story-meta { color: var(--coral-dark); font-size: 12px; font-weight: 800; }
        .story-item h3 { margin: 5px 0 2px; font-size: 18px; }
        .story-item p { margin: 0; color: var(--muted); font-size: 14px; }

        .updates { background: #f1ede7; }
        .update-list { border-top: 1px solid #d4cbc2; }
        .update-row {
            display: grid; grid-template-columns: 125px 115px 1fr 90px; align-items: center; gap: 22px;
            min-height: 86px; border-bottom: 1px solid #d4cbc2; transition: background var(--ease), padding var(--ease);
        }
        .update-row:hover { padding: 0 16px; background: rgba(255,253,250,.75); }
        .update-date { color: var(--muted); font-size: 13px; }
        .tag { display: inline-flex; width: fit-content; padding: 3px 10px; border-radius: 6px; color: var(--sage-deep); background: var(--sage); font-size: 12px; font-weight: 700; }
        .update-title { font-size: 17px; font-weight: 750; }
        .update-summary { display: block; overflow: hidden; color: var(--muted); font-size: 13px; font-weight: 400; text-overflow: ellipsis; white-space: nowrap; }
        .update-arrow { color: var(--coral-dark); text-align: right; font-size: 20px; }

        .faq-layout { display: grid; grid-template-columns: .75fr 1.25fr; gap: 80px; }
        .faq-layout h2 { margin: 10px 0 18px; font-size: 36px; line-height: 1.35; }
        .faq-intro { color: var(--ink-soft); }
        .faq-list { border-top: 1px solid var(--line); }
        .faq-item { border-bottom: 1px solid var(--line); }
        .faq-question {
            width: 100%; min-height: 68px; display: flex; align-items: center; justify-content: space-between;
            gap: 18px; padding: 14px 0; border: 0; background: transparent; color: var(--ink);
            text-align: left; font-weight: 750;
        }
        .faq-icon { flex: 0 0 25px; color: var(--coral); font-size: 23px; transition: transform var(--ease); }
        .faq-answer { display: none; padding: 0 40px 20px 0; color: var(--ink-soft); font-size: 15px; }
        .faq-item.open .faq-answer { display: block; }
        .faq-item.open .faq-icon { transform: rotate(45deg); }

        .cta-band { padding: 75px 0; color: #fffaf6; background: var(--plum); border-top: 4px solid var(--coral); }
        .cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 38px; }
        .cta-inner h2 { margin: 0 0 8px; font-size: 34px; }
        .cta-inner p { margin: 0; color: rgba(255,255,255,.7); }
        .cta-band .button-secondary { color: #fffaf6; border-color: rgba(255,255,255,.5); }
        .cta-band .button-secondary:hover { color: var(--ink); background: #fffaf6; }

        .site-footer { color: #d9d0d3; background: #211b22; border-top: 1px solid rgba(233,109,79,.35); }
        .footer-main { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 60px; padding: 62px 0 46px; }
        .footer-brand { color: #fffaf6; }
        .footer-brand .brand-mark { display: inline-grid; margin-bottom: 15px; }
        .footer-brand p { max-width: 300px; margin: 0; color: #aaa0a5; font-size: 14px; }
        .footer-title { margin: 5px 0 17px; color: #fffaf6; font-size: 15px; }
        .footer-links { display: flex; flex-direction: column; gap: 8px; }
        .footer-links a { color: #aaa0a5; font-size: 14px; transition: color var(--ease); }
        .footer-links a:hover { color: var(--yellow); }
        .footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding: 20px 0; border-top: 1px solid rgba(255,255,255,.12); color: #8f858b; font-size: 12px; }
        .empty-state { padding: 30px 0; color: var(--muted); }

        @media (max-width: 992px) {
            .nav-wrap { gap: 20px; }
            .brand { min-width: 190px; }
            .main-nav { gap: 16px; }
            .hero-content { width: 64%; }
            .overview-layout, .faq-layout { gap: 35px; }
            .overview-panel { grid-template-columns: 1fr; }
            .update-row { grid-template-columns: 100px 100px 1fr 35px; gap: 14px; }
        }
        @media (max-width: 768px) {
            .container { width: min(100% - 36px, var(--container)); }
            .nav-wrap { min-height: 68px; justify-content: space-between; }
            .menu-toggle { display: block; }
            .main-nav {
                position: absolute; top: 68px; left: 0; right: 0; display: none; flex-direction: column;
                align-items: stretch; gap: 0; padding: 8px 18px 18px; background: var(--surface);
                border-bottom: 1px solid var(--line); box-shadow: 0 15px 25px rgba(35,29,28,.09);
            }
            .main-nav.open { display: flex; }
            .main-nav a { min-height: 52px; border-bottom: 1px solid var(--line); }
            .main-nav a::after { bottom: 0; }
            .nav-cta { display: none; }
            .hero { min-height: 0; padding-bottom: 0; }
            .hero::before { inset: auto 0 0; height: 42%; clip-path: polygon(0 16%, 100% 0, 100% 100%, 0 100%); }
            .hero::after { width: 100px; height: 100px; right: 8%; top: 58%; }
            .hero-content { width: 100%; padding: 72px 0 150px; }
            h1 { font-size: 42px; }
            .hero-copy { font-size: 16px; }
            .hero-notes { margin-top: 38px; }
            .hero-note { min-width: auto; flex: 1; padding: 0 12px; }
            .section { padding: 72px 0; }
            .section-head { display: block; margin-bottom: 30px; }
            .section-head h2, .faq-layout h2 { font-size: 30px; }
            .section-intro { margin-top: 15px; }
            .overview-layout, .feature-layout, .faq-layout { grid-template-columns: 1fr; }
            .overview-panel { padding: 25px; }
            .steps { grid-template-columns: 1fr 1fr; }
            .step { margin-right: 0; padding-right: 20px; }
            .step:nth-child(2)::after { display: none; }
            .update-row { grid-template-columns: 1fr auto; gap: 4px 12px; padding: 15px 0; }
            .update-date { grid-column: 1; }
            .update-row .tag { grid-column: 2; grid-row: 1; }
            .update-title { grid-column: 1; grid-row: 2; }
            .update-summary { grid-column: 1; grid-row: 3; white-space: normal; }
            .update-arrow { grid-column: 2; grid-row: 2 / span 2; }
            .cta-inner { display: block; }
            .cta-inner .hero-actions { margin-top: 25px; }
            .footer-main { grid-template-columns: 1fr 1fr; gap: 35px; }
            .footer-brand { grid-column: 1 / -1; }
        }
        @media (max-width: 520px) {
            .container { width: min(100% - 28px, var(--container)); }
            h1 { font-size: 36px; }
            .hero-content { padding-top: 58px; }
            .hero-notes { gap: 15px 0; }
            .hero-note { flex-basis: 50%; }
            .hero-note:nth-child(3) { padding-left: 0; border-left: 0; }
            .steps { grid-template-columns: 1fr; }
            .step:not(:last-child)::after { display: none; }
            .step { padding: 22px 0; }
            .feature-main { min-height: 350px; }
            .feature-caption { left: 22px; right: 22px; }
            .feature-caption h3 { font-size: 23px; }
            .footer-main { grid-template-columns: 1fr; }
            .footer-brand { grid-column: auto; }
            .footer-bottom { display: block; }
            .footer-bottom span { display: block; margin-top: 6px; }
        }

/* roulang page: category1 */
:root{
        --ink:#211e24;--ink-soft:#514b54;--muted:#817a80;--paper:#f7f4ef;
        --surface:#fffdfa;--line:#e5ded6;--coral:#e96d4f;--coral-dark:#c9543c;
        --sage:#dbe7de;--sage-deep:#587467;--plum:#302532;--yellow:#f3c56b;
        --radius-lg:20px;--radius-md:12px;--shadow:0 14px 34px rgba(49,38,32,.08);
        --container:1200px;--ease:220ms ease;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.8 "Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}
    a{color:inherit;text-decoration:none}
    img{display:block;max-width:100%}
    button,input{font:inherit}
    button{cursor:pointer}
    .container{width:min(var(--container),calc(100% - 48px));margin:auto}
    .site-header{position:sticky;top:0;z-index:20;background:rgba(255,253,250,.97);border-bottom:1px solid var(--line);transition:box-shadow var(--ease)}
    .site-header.scrolled{box-shadow:0 5px 18px rgba(35,29,28,.08)}
    .nav-wrap{min-height:78px;display:flex;align-items:center;gap:44px}
    .brand{display:inline-flex;align-items:center;gap:11px;min-width:218px}
    .brand-mark{width:34px;height:34px;display:grid;place-items:center;color:#fffaf5;background:var(--coral);border-radius:10px;font-size:19px;font-weight:800}
    .brand-name{margin:0;font-size:21px;font-weight:800}
    .brand-name span{color:var(--coral)}
    .main-nav{display:flex;align-items:center;gap:28px;flex:1}
    .main-nav a{position:relative;min-height:44px;display:inline-flex;align-items:center;color:var(--ink-soft);font-size:15px;font-weight:600}
    .main-nav a:after{content:"";position:absolute;left:0;right:0;bottom:7px;height:2px;background:var(--coral);transform:scaleX(0);transform-origin:left;transition:transform var(--ease)}
    .main-nav a:hover,.main-nav a.active{color:var(--ink)}
    .main-nav a:hover:after,.main-nav a.active:after{transform:scaleX(1)}
    .button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid transparent;border-radius:10px;padding:0 20px;font-size:15px;font-weight:700;transition:transform var(--ease),background var(--ease),box-shadow var(--ease)}
    .button:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(67,40,29,.13)}
    .button:active{transform:translateY(0);box-shadow:none}
    .button:focus-visible,.main-nav a:focus-visible,.faq-question:focus-visible{outline:3px solid rgba(233,109,79,.35);outline-offset:3px}
    .button-primary{color:#fffaf5;background:var(--coral)}
    .button-primary:hover{background:var(--coral-dark)}
    .button-secondary{color:var(--ink);background:transparent;border-color:#bdb2aa}
    .button-secondary:hover{background:var(--surface);border-color:var(--ink)}
    .menu-toggle{display:none;border:0;background:transparent;color:var(--ink);font-size:26px;padding:8px}
    .page-banner{position:relative;overflow:hidden;background:var(--plum);color:#fffaf5;padding:84px 0 92px}
    .page-banner:after{content:"";position:absolute;width:330px;height:330px;right:8%;top:-150px;border:1px solid rgba(243,197,107,.45);border-radius:50%}
    .banner-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 390px;gap:70px;align-items:center}
    .breadcrumb{display:flex;gap:10px;align-items:center;color:#c9bec7;font-size:14px;margin-bottom:25px}
    .breadcrumb a:hover{color:var(--yellow)}
    .eyebrow,.section-kicker{display:inline-flex;align-items:center;gap:9px;color:var(--coral);font-size:13px;font-weight:800;letter-spacing:1px}
    .eyebrow:before,.section-kicker:before{content:"";width:26px;height:2px;background:currentColor}
    .page-banner h1{max-width:680px;margin:10px 0 18px;font-size:clamp(36px,5vw,58px);line-height:1.2;letter-spacing:-1px}
    .banner-copy{max-width:650px;color:#d7ced4;font-size:18px;line-height:1.9}
    .banner-art{height:280px;border-radius:var(--radius-lg);background:linear-gradient(135deg,rgba(233,109,79,.25),rgba(48,37,50,.15)),url("/assets/images/coverpic/cover-3.jpg") center/cover;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.15)}
    .section{padding:96px 0}
    .section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:42px}
    .section-head h2{max-width:630px;margin:10px 0 0;font-size:38px;line-height:1.3}
    .section-intro{max-width:480px;color:var(--ink-soft)}
    .guide-nav{display:flex;gap:10px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:42px}
    .guide-nav a{padding:10px 17px;border:1px solid var(--line);border-radius:9px;color:var(--ink-soft);font-weight:700;background:var(--surface);transition:all var(--ease)}
    .guide-nav a:hover,.guide-nav a.active{color:var(--coral-dark);border-color:var(--coral);background:#fff2ed}
    .feature-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:30px;align-items:stretch}
    .feature-image{min-height:380px;border-radius:var(--radius-lg);overflow:hidden}
    .feature-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
    .feature-image:hover img{transform:scale(1.03)}
    .feature-copy{padding:38px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow)}
    .badge{display:inline-block;padding:5px 11px;border-radius:5px;background:var(--sage);color:var(--sage-deep);font-size:13px;font-weight:800}
    .feature-copy h3{margin:18px 0 13px;font-size:28px;line-height:1.4}
    .feature-copy p{color:var(--ink-soft);margin:0 0 20px}
    .check-list{margin:24px 0 28px;padding:0;list-style:none}
    .check-list li{position:relative;padding:7px 0 7px 27px;color:var(--ink-soft)}
    .check-list li:before{content:"✓";position:absolute;left:0;color:var(--sage-deep);font-weight:800}
    .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line)}
    .step{position:relative;padding:30px 25px 15px 0;border-bottom:1px solid var(--line)}
    .step:not(:last-child){margin-right:25px}
    .step-number{color:var(--coral);font-size:14px;font-weight:800;letter-spacing:1px}
    .step h3{font-size:20px;margin:12px 0 8px}
    .step p{margin:0;color:var(--muted);font-size:15px}
    .step:not(:last-child):after{content:"→";position:absolute;right:8px;top:42px;color:var(--coral);font-size:22px}
    .support-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:30px}
    .support-card{background:var(--sage);padding:38px;border-radius:var(--radius-lg)}
    .support-card h3{margin:0 0 12px;font-size:25px}
    .support-card p{color:var(--ink-soft);margin:0 0 20px}
    .info-list{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}
    .info-row{display:flex;justify-content:space-between;gap:20px;padding:20px 25px;border-bottom:1px solid var(--line)}
    .info-row:last-child{border-bottom:0}
    .info-row strong{font-size:16px}.info-row span{color:var(--muted);text-align:right;font-size:14px}
    .faq-wrap{max-width:850px}
    .faq-item{border-top:1px solid var(--line)}
    .faq-item:last-child{border-bottom:1px solid var(--line)}
    .faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;min-height:64px;border:0;background:none;text-align:left;color:var(--ink);font-weight:800;padding:0}
    .faq-icon{color:var(--coral);font-size:24px;transition:transform var(--ease)}
    .faq-answer{display:none;color:var(--ink-soft);padding:0 42px 22px 0}
    .faq-item.open .faq-answer{display:block}
    .faq-item.open .faq-icon{transform:rotate(45deg)}
    .cta{padding:62px 0;background:var(--coral);color:#fffaf5}
    .cta-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}
    .cta h2{margin:0 0 8px;font-size:32px;line-height:1.35}
    .cta p{margin:0;color:#ffe5dc}
    .cta .button-secondary{border-color:#fff1eb;color:#fffaf5}
    .cta .button-secondary:hover{background:#fff1eb;color:var(--ink)}
    .site-footer{color:#d8ced5;background:var(--plum);border-top:4px solid var(--coral);padding-top:55px}
    .footer-main{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:50px;padding-bottom:45px}
    .footer-brand .brand-name{color:#fffaf5}.footer-brand p{max-width:310px;color:#afa4ad;font-size:14px}
    .footer-title{margin:5px 0 17px;color:#fffaf5;font-size:16px}
    .footer-links{display:grid;gap:8px;color:#b9adb7;font-size:14px}
    .footer-links a:hover{color:var(--yellow)}
    .footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.12);padding:18px 0 24px;color:#9e929c;font-size:13px}
    @media(max-width:900px){
        .nav-wrap{gap:20px}.brand{min-width:auto}.nav-cta{display:none}
        .banner-grid,.feature-layout,.support-grid{grid-template-columns:1fr}.banner-art{height:230px}
        .steps{grid-template-columns:repeat(2,1fr);gap:20px}.step:not(:last-child){margin-right:0}
        .step:not(:last-child):after{display:none}.footer-main{grid-template-columns:1fr 1fr}
    }
    @media(max-width:700px){
        .container{width:min(100% - 32px,var(--container))}
        .main-nav{display:none;position:absolute;left:16px;right:16px;top:70px;padding:10px 18px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:0}
        .main-nav.open{display:flex}.main-nav a{border-bottom:1px solid var(--line);min-height:52px}.main-nav a:last-child{border:0}
        .menu-toggle{display:block;margin-left:auto}.page-banner{padding:60px 0 65px}.page-banner h1{font-size:38px}.banner-copy{font-size:16px}
        .section{padding:68px 0}.section-head{display:block;margin-bottom:28px}.section-head h2{font-size:30px}.section-intro{margin-top:14px}
        .feature-copy{padding:27px}.feature-image{min-height:250px}.steps{grid-template-columns:1fr}
        .support-card{padding:28px}.cta-inner{display:block}.cta .button{margin-top:22px}.footer-main{grid-template-columns:1fr;gap:28px}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:5px}
    }

/* roulang page: article */
:root{
            --ink:#211e24;
            --ink-soft:#514b54;
            --muted:#817a80;
            --paper:#f7f4ef;
            --surface:#fffdfa;
            --line:#e5ded6;
            --coral:#e96d4f;
            --coral-dark:#c9543c;
            --sage:#dbe7de;
            --sage-deep:#587467;
            --plum:#302532;
            --yellow:#f3c56b;
            --radius-lg:20px;
            --radius-md:12px;
            --shadow:0 14px 34px rgba(49,38,32,.08);
            --container:1200px;
            --ease:220ms ease;
        }
        *{box-sizing:border-box}
        html{scroll-behavior:smooth}
        body{
            margin:0;color:var(--ink);background:var(--paper);
            font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;
            font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased;
        }
        img{display:block;max-width:100%}
        a{color:inherit;text-decoration:none}
        button,input{font:inherit}
        button{cursor:pointer}
        :focus-visible{outline:3px solid rgba(233,109,79,.45);outline-offset:3px}
        .container{width:min(var(--container),calc(100% - 48px));margin:0 auto}
        .site-header{
            position:sticky;top:0;z-index:20;background:rgba(255,253,250,.97);
            border-bottom:1px solid var(--line);transition:box-shadow var(--ease)
        }
        .site-header.scrolled{box-shadow:0 5px 18px rgba(35,29,28,.08)}
        .nav-wrap{min-height:78px;display:flex;align-items:center;gap:44px}
        .brand{display:inline-flex;align-items:center;gap:11px;min-width:218px}
        .brand-mark{
            width:34px;height:34px;display:grid;place-items:center;color:var(--surface);
            background:var(--coral);border-radius:10px;font-size:19px;font-weight:800
        }
        .brand-name{font-size:21px;font-weight:800;letter-spacing:0;margin:0}
        .brand-name span{color:var(--coral)}
        .main-nav{display:flex;align-items:center;gap:28px;flex:1}
        .main-nav a{
            position:relative;min-height:44px;display:inline-flex;align-items:center;
            color:var(--ink-soft);font-size:15px;font-weight:600
        }
        .main-nav a:after{
            content:"";position:absolute;left:0;right:0;bottom:7px;height:2px;
            background:var(--coral);transform:scaleX(0);transform-origin:left;transition:transform var(--ease)
        }
        .main-nav a:hover,.main-nav a.active{color:var(--ink)}
        .main-nav a:hover:after,.main-nav a.active:after{transform:scaleX(1)}
        .nav-cta{white-space:nowrap}
        .menu-toggle{
            display:none;border:0;background:transparent;color:var(--ink);
            font-size:26px;padding:8px;line-height:1
        }
        .button{
            min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:9px;
            border:1px solid transparent;border-radius:10px;padding:0 20px;
            font-size:15px;font-weight:700;transition:transform var(--ease),background var(--ease),box-shadow var(--ease)
        }
        .button:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(67,40,29,.13)}
        .button:active{transform:translateY(0);box-shadow:none}
        .button-primary{color:#fffaf5;background:var(--coral)}
        .button-primary:hover{background:var(--coral-dark)}
        .button-secondary{color:var(--ink);background:transparent;border-color:#bdb2aa}
        .button-secondary:hover{background:var(--surface);border-color:var(--ink)}
        .article-banner{
            position:relative;overflow:hidden;padding:76px 0 82px;
            background:var(--plum) url("/assets/images/backpic/back-2.webp") center/cover no-repeat;
            color:#fffaf5
        }
        .article-banner:before{
            content:"";position:absolute;inset:0;
            background:linear-gradient(90deg,rgba(48,37,50,.96),rgba(48,37,50,.78) 58%,rgba(48,37,50,.48))
        }
        .banner-inner{position:relative;z-index:1;max-width:900px}
        .breadcrumb{display:flex;flex-wrap:wrap;gap:10px;align-items:center;color:#d9d0d2;font-size:14px;margin-bottom:27px}
        .breadcrumb a:hover{color:var(--yellow)}
        .breadcrumb .separator{color:var(--coral)}
        .article-label{
            display:inline-flex;align-items:center;gap:8px;color:var(--yellow);
            font-size:13px;font-weight:800;letter-spacing:1px;text-transform:none
        }
        .article-label:before{content:"";width:24px;height:2px;background:var(--yellow)}
        .article-banner h1{
            max-width:860px;margin:15px 0 20px;font-size:clamp(34px,5vw,56px);
            line-height:1.25;letter-spacing:-1px;overflow-wrap:anywhere
        }
        .article-meta{display:flex;flex-wrap:wrap;gap:18px;color:#d9d0d2;font-size:14px}
        .article-meta span{display:inline-flex;align-items:center;gap:7px}
        .article-meta b{color:var(--yellow);font-weight:700}
        .reading-section{padding:76px 0 104px}
        .reading-layout{display:grid;grid-template-columns:minmax(0,820px) 290px;gap:66px;align-items:start}
        .article-card{
            background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);
            padding:clamp(25px,4vw,54px);box-shadow:var(--shadow);min-width:0
        }
        .article-cover{
            width:100%;height:280px;object-fit:cover;border-radius:14px;margin-bottom:38px
        }
        .article-body{color:var(--ink-soft);font-size:17px;line-height:1.95;overflow-wrap:anywhere}
        .article-body p{margin:0 0 1.35em}
        .article-body h2,.article-body h3{
            color:var(--ink);line-height:1.4;margin:2em 0 .7em;font-weight:800
        }
        .article-body h2{font-size:28px;padding-left:17px;border-left:4px solid var(--coral)}
        .article-body h3{font-size:21px}
        .article-body ul,.article-body ol{padding-left:1.5em;margin:0 0 1.4em}
        .article-body li{margin:.45em 0}
        .article-body blockquote{
            margin:28px 0;padding:20px 24px;background:var(--sage);
            border-left:4px solid var(--sage-deep);border-radius:0 12px 12px 0;color:var(--ink)
        }
        .article-body img{width:auto;max-width:100%;height:auto;border-radius:12px;margin:28px auto}
        .article-body a{color:var(--coral-dark);font-weight:700;text-decoration:underline;text-underline-offset:3px}
        .not-found{text-align:center;padding:48px 12px}
        .not-found h2{margin:0 0 12px;font-size:28px}
        .not-found p{color:var(--muted);margin-bottom:25px}
        .side-stack{display:flex;flex-direction:column;gap:20px;position:sticky;top:106px}
        .side-card{
            background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);
            padding:25px 23px
        }
        .side-card h2{font-size:19px;line-height:1.4;margin:0 0 17px}
        .side-card p{color:var(--ink-soft);font-size:14px;line-height:1.75;margin:0}
        .side-links{list-style:none;padding:0;margin:0}
        .side-links li{border-top:1px solid var(--line)}
        .side-links li:first-child{border-top:0}
        .side-links a{
            display:flex;justify-content:space-between;gap:10px;padding:12px 0;
            color:var(--ink-soft);font-size:14px;font-weight:650;transition:color var(--ease),padding var(--ease)
        }
        .side-links a:hover{color:var(--coral-dark);padding-left:5px}
        .side-links a:after{content:"→";color:var(--coral)}
        .side-accent{background:var(--sage)}
        .side-accent h2{color:var(--sage-deep)}
        .related-section{padding:0 0 100px}
        .section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:28px}
        .section-kicker{display:inline-flex;align-items:center;gap:9px;color:var(--coral-dark);font-size:13px;font-weight:800;letter-spacing:1px}
        .section-kicker:before{content:"";width:26px;height:2px;background:currentColor}
        .section-head h2{margin:9px 0 0;font-size:34px;line-height:1.3}
        .text-link{color:var(--coral-dark);font-weight:700;white-space:nowrap}
        .text-link:after{content:"  →";transition:margin var(--ease)}
        .text-link:hover:after{margin-left:5px}
        .related-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:18px}
        .related-card{
            display:flex;flex-direction:column;min-height:205px;background:var(--surface);
            border:1px solid var(--line);border-radius:var(--radius-md);padding:25px;
            transition:transform var(--ease),box-shadow var(--ease),border-color var(--ease)
        }
        .related-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#d2a89b}
        .related-card.featured{background:var(--plum);color:#fffaf5}
        .card-tag{color:var(--coral-dark);font-size:12px;font-weight:800;margin-bottom:13px}
        .featured .card-tag{color:var(--yellow)}
        .related-card h3{font-size:19px;line-height:1.5;margin:0 0 12px;overflow-wrap:anywhere}
        .related-card p{color:var(--muted);font-size:14px;line-height:1.7;margin:0}
        .featured p{color:#d9d0d2}
        .card-arrow{margin-top:auto;padding-top:18px;color:var(--coral-dark);font-weight:800}
        .featured .card-arrow{color:var(--yellow)}
        .support-cta{padding:0 0 104px}
        .cta-box{
            position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;
            gap:30px;padding:44px 52px;background:var(--plum);border-radius:var(--radius-lg);color:#fffaf5
        }
        .cta-box:after{
            content:"";position:absolute;width:190px;height:190px;border:1px solid rgba(243,197,107,.45);
            border-radius:50%;right:90px;top:-95px
        }
        .cta-content{position:relative;z-index:1;max-width:700px}
        .cta-content h2{margin:0 0 10px;font-size:30px;line-height:1.35}
        .cta-content p{margin:0;color:#d9d0d2;font-size:15px}
        .cta-box .button{position:relative;z-index:1;flex:none}
        .site-footer{border-top:3px solid var(--coral);background:var(--plum);color:#fffaf5}
        .footer-main{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:55px;padding:58px 0 43px}
        .footer-brand .brand-mark{display:inline-grid;vertical-align:middle;margin-right:10px}
        .footer-brand .brand-name{display:inline-block;vertical-align:middle}
        .footer-brand p{max-width:310px;margin:18px 0 0;color:#c9bec2;font-size:14px;line-height:1.8}
        .footer-title{font-size:15px;margin:3px 0 14px;color:var(--yellow)}
        .footer-links{display:flex;flex-direction:column;gap:8px}
        .footer-links a{color:#d9d0d2;font-size:14px;transition:color var(--ease),padding var(--ease)}
        .footer-links a:hover{color:var(--yellow);padding-left:4px}
        .footer-bottom{
            display:flex;justify-content:space-between;gap:20px;padding:19px 0 24px;
            border-top:1px solid rgba(255,255,255,.14);color:#a99da2;font-size:12px
        }
        @media(max-width:992px){
            .nav-wrap{gap:20px}.brand{min-width:190px}.main-nav{gap:17px}
            .reading-layout{grid-template-columns:minmax(0,1fr) 245px;gap:28px}
            .related-grid{grid-template-columns:1fr 1fr}.related-card.featured{grid-column:span 2}
        }
        @media(max-width:768px){
            .container{width:min(var(--container),calc(100% - 32px))}
            .nav-wrap{min-height:68px;justify-content:space-between}
            .menu-toggle{display:block}
            .main-nav{
                display:none;position:absolute;left:16px;right:16px;top:68px;
                flex-direction:column;align-items:stretch;gap:0;padding:8px 18px;
                background:var(--surface);border:1px solid var(--line);border-radius:0 0 14px 14px;
                box-shadow:var(--shadow)
            }
            .main-nav.open{display:flex}
            .main-nav a{min-height:50px;border-bottom:1px solid var(--line)}
            .main-nav a:last-child{border-bottom:0}
            .main-nav a:after{bottom:0}
            .nav-cta{display:none}
            .article-banner{padding:52px 0 57px}
            .article-banner h1{font-size:36px}
            .reading-section{padding:48px 0 70px}
            .reading-layout{display:block}
            .article-card{padding:25px 20px}
            .article-cover{height:220px;margin-bottom:27px}
            .article-body{font-size:16px}
            .side-stack{position:static;margin-top:25px}
            .related-section,.support-cta{padding-bottom:70px}
            .section-head{display:block}.section-head .text-link{display:inline-block;margin-top:14px}
            .cta-box{display:block;padding:34px 26px}.cta-box .button{margin-top:24px}
            .footer-main{grid-template-columns:1fr 1fr;gap:35px}
            .footer-brand{grid-column:span 2}
        }
        @media(max-width:520px){
            .article-banner h1{font-size:31px;letter-spacing:-.5px}
            .article-meta{gap:8px 14px}
            .article-cover{height:175px}
            .related-grid{display:block}
            .related-card,.related-card.featured{margin-bottom:14px;min-height:185px}
            .footer-main{display:block;padding-top:42px}
            .footer-main>div{margin-bottom:28px}
            .footer-bottom{display:block}.footer-bottom span{display:block;margin-top:5px}
        }
