/* roulang page: index */
:root {
            --paper: #f8f5f2;
            --paper-deep: #eee8e6;
            --ink: #28232b;
            --muted: #756d78;
            --line: #ded5d8;
            --card: #fffdfc;
            --berry: #a34768;
            --berry-dark: #7d3452;
            --plum: #44364d;
            --lilac: #e8ddea;
            --peach: #f3d9d0;
            --sage: #dce7df;
            --warning: #9b6a38;
            --radius-lg: 24px;
            --radius-md: 16px;
            --shadow-soft: 0 18px 55px rgba(67, 45, 62, .09);
            --container: 1200px;
        }
        * { box-sizing: border-box; }
        html { scroll-behavior: smooth; }
        body {
            margin: 0;
            color: var(--ink);
            background:
                radial-gradient(circle at 12% 8%, rgba(232,221,234,.68) 0 1px, transparent 1.5px) 0 0/22px 22px,
                var(--paper);
            font-family: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
            line-height: 1.8;
            letter-spacing: .01em;
        }
        a { color: inherit; text-decoration: none; }
        img { display: block; max-width: 100%; }
        button, input { font: inherit; }
        button { cursor: pointer; }
        :focus-visible { outline: 3px solid rgba(163,71,104,.42); outline-offset: 3px; }
        .container { width: min(calc(100% - 40px), var(--container)); margin: 0 auto; }
        .site-header { position: absolute; z-index: 20; inset: 20px 0 auto; }
        .nav-shell {
            display: flex; align-items: center; justify-content: space-between; gap: 24px;
            padding: 10px 12px 10px 18px; border: 1px solid rgba(255,255,255,.72);
            border-radius: 999px; background: rgba(255,253,252,.82); backdrop-filter: blur(16px);
            box-shadow: 0 12px 34px rgba(64,45,61,.08);
        }
        .brand { display: inline-flex; align-items: center; gap: 10px; font-weight: 800; white-space: nowrap; }
        .brand-mark {
            width: 34px; height: 34px; display: grid; place-items: center; border-radius: 12px;
            color: white; background: var(--berry); font-size: 12px; letter-spacing: -.08em;
        }
        .nav-links { display: flex; align-items: center; gap: 4px; }
        .nav-links a, .nav-toggle {
            min-height: 44px; padding: 8px 14px; border-radius: 999px; color: var(--muted);
            transition: .2s ease; border: 0; background: transparent;
        }
        .nav-links a:hover, .nav-links a.active { color: var(--berry-dark); background: var(--lilac); }
        .nav-note { padding: 8px 14px; border-radius: 999px; color: var(--berry-dark); background: #f6e9ed; font-size: 13px; }
        .nav-toggle { display: none; color: var(--ink); }
        .hero {
            min-height: 720px; padding: 160px 0 80px; position: relative; overflow: hidden;
            background: linear-gradient(135deg, #f1e8ed 0%, #fbf8f5 52%, #f0e3dc 100%);
        }
        .hero:after {
            content: ""; position: absolute; width: 420px; height: 420px; right: -110px; top: 100px;
            border: 1px solid rgba(163,71,104,.15); border-radius: 48% 52% 60% 40%;
            transform: rotate(24deg); pointer-events: none;
        }
        .hero-grid { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(360px, .88fr); gap: 70px; align-items: center; }
        .eyebrow, .section-kicker {
            display: inline-flex; align-items: center; gap: 9px; color: var(--berry-dark); font-size: 13px;
            font-weight: 800; letter-spacing: .12em;
        }
        .eyebrow:before, .section-kicker:before { content: ""; width: 26px; height: 2px; background: var(--berry); }
        h1, h2, h3, p { margin-top: 0; }
        h1 { max-width: 690px; margin: 18px 0 22px; font-size: clamp(38px, 5.2vw, 68px); line-height: 1.16; letter-spacing: -.055em; }
        .hero-copy { max-width: 650px; color: var(--muted); font-size: 17px; line-height: 2; }
        .hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
        .btn {
            min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
            padding: 11px 20px; border-radius: 999px; border: 1px solid transparent; font-weight: 700;
            transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
        }
        .btn:hover { transform: translateY(-2px); box-shadow: 0 9px 22px rgba(83,46,65,.13); }
        .btn:active { transform: translateY(0); }
        .btn-primary { color: white; background: var(--berry); }
        .btn-primary:hover { background: var(--berry-dark); }
        .btn-secondary { color: var(--plum); background: rgba(255,255,255,.65); border-color: var(--line); }
        .hero-meta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
        .meta-chip, .tag { display: inline-flex; align-items: center; min-height: 30px; padding: 4px 10px; border-radius: 999px; font-size: 12px; }
        .meta-chip { color: var(--plum); background: rgba(255,255,255,.68); border: 1px solid rgba(163,71,104,.14); }
        .index-panel {
            position: relative; padding: 18px; border: 1px solid rgba(255,255,255,.85); border-radius: 30px;
            background: rgba(255,253,252,.78); box-shadow: var(--shadow-soft); transform: rotate(2deg);
        }
        .panel-top { display: flex; justify-content: space-between; align-items: center; padding-bottom: 15px; border-bottom: 1px solid var(--line); }
        .panel-label { color: var(--muted); font-size: 12px; }
        .panel-status { color: #477058; background: var(--sage); padding: 4px 9px; border-radius: 99px; font-size: 11px; }
        .panel-cover {
            height: 230px; margin: 16px 0; position: relative; overflow: hidden; border-radius: 20px;
            background: linear-gradient(145deg, #b9869d, #6b526f 58%, #362f43);
        }
        .panel-cover:before, .panel-cover:after { content:""; position:absolute; border:1px solid rgba(255,255,255,.3); border-radius:50%; }
        .panel-cover:before { width: 260px; height: 260px; right: -30px; top: -45px; }
        .panel-cover:after { width: 130px; height: 130px; left: 28px; bottom: -48px; }
        .cover-text { position: absolute; left: 22px; bottom: 18px; color: white; }
        .cover-text strong { display:block; font-size: 25px; line-height:1.3; }
        .panel-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
        .panel-cell { padding: 13px; border-radius: 14px; background: #f7f1f1; }
        .panel-cell small { display:block; color:var(--muted); font-size:11px; }
        .panel-cell b { color:var(--plum); font-size:15px; }
        .notice-bar { margin-top: 42px; padding: 12px 16px; color: #66565a; border:1px solid rgba(163,71,104,.15); border-radius: 13px; background:rgba(255,255,255,.6); font-size:13px; }
        .section { padding: 105px 0; }
        .section.alt { background: rgba(255,253,252,.68); border-top:1px solid rgba(222,213,216,.55); border-bottom:1px solid rgba(222,213,216,.55); }
        .section-head { max-width: 650px; margin-bottom: 42px; }
        h2 { margin: 13px 0 12px; font-size: clamp(28px, 3.6vw, 45px); line-height:1.28; letter-spacing:-.04em; }
        .section-head p { color:var(--muted); font-size:16px; }
        .feature-layout { display:grid; grid-template-columns: 1.15fr .85fr; gap:20px; }
        .feature-main, .feature-small, .scene-card, .record-card, .tier-card, .faq-item {
            border:1px solid var(--line); background:var(--card); border-radius:var(--radius-md); box-shadow:0 8px 30px rgba(67,45,62,.045);
        }
        .feature-main { padding:28px; display:flex; align-items:flex-end; min-height:260px; background:linear-gradient(120deg,#fffdfc,#f1e5ed); }
        .feature-main h3 { font-size:27px; margin-bottom:8px; }
        .feature-main p, .feature-small p, .scene-card p, .record-card p, .tier-card p { color:var(--muted); font-size:14px; line-height:1.75; }
        .feature-stack { display:grid; gap:20px; }
        .feature-small { padding:23px; display:grid; grid-template-columns:auto 1fr; gap:16px; align-items:start; }
        .num { color:var(--berry); font-weight:900; font-size:13px; letter-spacing:.1em; }
        .feature-small h3 { margin:0 0 5px; font-size:19px; }
        .scene-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
        .scene-card { padding:22px; min-height:205px; position:relative; overflow:hidden; }
        .scene-card:nth-child(2) { margin-top:26px; background:#f5edf3; }
        .scene-card:nth-child(3) { margin-top:52px; background:#f3ebe5; }
        .scene-card h3 { margin:20px 0 7px; font-size:20px; }
        .scene-line { height:5px; width:66px; background:var(--berry); border-radius:9px; }
        .records { display:grid; grid-template-columns: 1.15fr .85fr; gap:18px; }
        .record-feature { padding:30px; border-radius:var(--radius-lg); color:white; background:var(--plum); }
        .record-feature h3 { font-size:27px; margin:18px 0 10px; }
        .record-feature p { color:#e5dce5; line-height:1.8; }
        .record-list { display:grid; gap:10px; }
        .record-card { display:flex; align-items:center; gap:15px; padding:16px 18px; transition:.2s ease; }
        .record-card:hover { border-color:var(--berry); transform:translateX(4px); }
        .record-card h3 { flex:1; margin:0; font-size:16px; }
        .tag { color:var(--berry-dark); background:#f6e7ec; }
        .tier-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:28px; align-items:start; }
        .tier-note { padding:26px; border-radius:var(--radius-lg); background:#eee5ee; }
        .tier-note h3 { margin:0 0 10px; font-size:23px; }
        .tier-note p { color:var(--muted); font-size:14px; }
        .tier-card { padding:25px; }
        .tier-row { display:flex; justify-content:space-between; gap:20px; padding:15px 0; border-bottom:1px solid var(--line); }
        .tier-row:last-child { border-bottom:0; }
        .tier-row strong { font-size:15px; }
        .tier-row span { color:var(--muted); font-size:14px; text-align:right; }
        .faq-list { max-width:850px; display:grid; gap:10px; }
        .faq-item { overflow:hidden; }
        .faq-question { width:100%; padding:20px 22px; display:flex; justify-content:space-between; gap:16px; text-align:left; color:var(--ink); background:transparent; border:0; font-weight:700; }
        .faq-question .plus { color:var(--berry); font-size:22px; transition:.2s; }
        .faq-answer { display:none; padding:0 22px 20px; color:var(--muted); font-size:14px; line-height:1.85; }
        .faq-item.open .faq-answer { display:block; }
        .faq-item.open .plus { transform:rotate(45deg); }
        .cta-band { padding:42px 45px; display:flex; align-items:center; justify-content:space-between; gap:25px; border-radius:var(--radius-lg); color:white; background:var(--plum); }
        .cta-band h2 { margin:0; font-size:30px; }
        .cta-band p { margin:8px 0 0; color:#ddd1df; font-size:14px; }
        .cta-band .btn-primary { background:#d77d99; }
        footer { padding:62px 0 28px; background:#302936; color:#e9e0e6; }
        .footer-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:35px; padding-bottom:45px; }
        footer h3 { margin:0 0 15px; font-size:15px; color:white; }
        footer p, footer a { color:#bdb0bc; font-size:13px; line-height:1.9; }
        footer a { display:block; transition:.2s; }
        footer a:hover { color:#f3b5c7; }
        .footer-brand { color:white; font-size:20px; font-weight:800; }
        .copyright { padding-top:22px; border-top:1px solid rgba(255,255,255,.12); color:#a99da8; font-size:12px; }
        @media (max-width: 1024px) {
            .hero-grid { gap:35px; } .feature-layout,.records,.tier-layout { grid-template-columns:1fr; }
            .footer-grid { grid-template-columns:repeat(2,1fr); }
        }
        @media (max-width: 768px) {
            .site-header { inset:12px 0 auto; } .nav-note { display:none; }
            .nav-links { display:none; position:absolute; top:64px; left:20px; right:20px; padding:10px; flex-direction:column; align-items:stretch; border:1px solid var(--line); border-radius:20px; background:var(--card); box-shadow:var(--shadow-soft); }
            .nav-links.show { display:flex; } .nav-toggle { display:block; }
            .hero { min-height:auto; padding:130px 0 55px; } .hero-grid { grid-template-columns:1fr; }
            .index-panel { transform:none; max-width:560px; } .section { padding:72px 0; }
            .scene-grid { grid-template-columns:1fr; } .scene-card:nth-child(2), .scene-card:nth-child(3) { margin-top:0; }
            .cta-band { align-items:flex-start; flex-direction:column; padding:30px 25px; }
        }
        @media (max-width: 520px) {
            .container { width:min(calc(100% - 28px), var(--container)); }
            h1 { font-size:38px; } .hero-copy { font-size:15px; } .hero-actions .btn { width:100%; }
            .feature-main { min-height:230px; padding:22px; } .panel-cover { height:190px; }
            .footer-grid { grid-template-columns:1fr; gap:24px; } .tier-row { display:block; }
            .tier-row span { display:block; margin-top:5px; text-align:left; }
        }

/* roulang page: category1 */
:root {
      --paper:#f8f5f2; --paper-deep:#eee8e6; --ink:#28232b; --muted:#756d78;
      --line:#ded5d8; --card:#fffdfc; --berry:#a34768; --berry-dark:#7d3452;
      --plum:#44364d; --lilac:#e8ddea; --peach:#f3d9d0; --sage:#dce7df;
      --warning:#9b6a38; --radius-lg:24px; --radius-md:16px;
      --shadow-soft:0 18px 55px rgba(67,45,62,.09); --container:1200px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;color:var(--ink);background:radial-gradient(circle at 12% 8%,rgba(232,221,234,.68) 0 1px,transparent 1.5px) 0 0/22px 22px,var(--paper);font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;line-height:1.8;letter-spacing:.01em}
    a{color:inherit;text-decoration:none}
    img{display:block;max-width:100%}
    button,input,select,textarea{font:inherit}
    button{cursor:pointer}
    :focus-visible{outline:3px solid rgba(163,71,104,.42);outline-offset:3px}
    .container{width:min(calc(100% - 40px),var(--container));margin:0 auto}
    .site-header{position:absolute;z-index:20;inset:20px 0 auto}
    .nav-shell{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:10px 12px 10px 18px;border:1px solid rgba(255,255,255,.72);border-radius:999px;background:rgba(255,253,252,.86);backdrop-filter:blur(16px);box-shadow:0 12px 34px rgba(64,45,61,.08)}
    .brand{display:inline-flex;align-items:center;gap:10px;font-weight:800;white-space:nowrap}
    .brand-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:12px;color:#fff;background:var(--berry);font-size:12px;letter-spacing:-.08em}
    .nav-links{display:flex;align-items:center;gap:4px}
    .nav-links a,.nav-toggle{min-height:44px;padding:8px 14px;border-radius:999px;color:var(--muted);transition:.2s ease;border:0;background:transparent}
    .nav-links a:hover,.nav-links a.active{color:var(--berry-dark);background:var(--lilac)}
    .nav-note{padding:8px 14px;border-radius:999px;color:var(--berry-dark);background:#f6e9ed;font-size:13px}
    .nav-toggle{display:none;color:var(--ink)}
    .page-hero{padding:150px 0 68px;background:linear-gradient(135deg,#f1e8ed 0%,#fbf8f5 58%,#f0e3dc 100%);border-bottom:1px solid rgba(222,213,216,.7)}
    .hero-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:52px;align-items:end}
    .eyebrow,.section-kicker{display:inline-flex;align-items:center;gap:9px;color:var(--berry-dark);font-size:13px;font-weight:800;letter-spacing:.12em}
    .eyebrow:before,.section-kicker:before{content:"";width:26px;height:2px;background:var(--berry)}
    h1,h2,h3,p{margin-top:0}
    h1{max-width:760px;margin-bottom:18px;font-size:clamp(34px,5vw,62px);line-height:1.2;letter-spacing:-.045em}
    h2{font-size:clamp(27px,3vw,40px);line-height:1.3;letter-spacing:-.03em;margin-bottom:12px}
    h3{line-height:1.4}
    .hero-copy{max-width:760px;color:var(--muted);font-size:17px;line-height:2}
    .hero-badge{padding:22px;border:1px solid rgba(163,71,104,.18);border-radius:var(--radius-lg);background:rgba(255,253,252,.72);box-shadow:var(--shadow-soft)}
    .badge-number{font-size:44px;color:var(--berry);font-weight:800;line-height:1}
    .small-label{font-size:12px;color:var(--muted);letter-spacing:.1em}
    .section{padding:88px 0}
    .section.alt{background:rgba(255,253,252,.7);border-top:1px solid rgba(222,213,216,.55);border-bottom:1px solid rgba(222,213,216,.55)}
    .section-head{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:32px}
    .section-head p{max-width:610px;color:var(--muted);margin-bottom:0}
    .filter-panel{padding:22px;border:1px solid var(--line);border-radius:var(--radius-lg);background:rgba(255,253,252,.9);box-shadow:var(--shadow-soft)}
    .filter-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr auto;gap:12px;align-items:end}
    label{display:block;margin-bottom:6px;font-size:13px;font-weight:700;color:var(--plum)}
    input,select,textarea{width:100%;min-height:46px;padding:9px 13px;color:var(--ink);border:1px solid var(--line);border-radius:12px;background:#fff}
    input::placeholder,textarea::placeholder{color:#a39aa4}
    input:focus,select:focus,textarea:focus{border-color:var(--berry);outline:3px solid rgba(163,71,104,.13)}
    .btn{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:999px;border:1px solid transparent;font-weight:700;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
    .btn:hover{transform:translateY(-2px);box-shadow:0 9px 22px rgba(83,46,65,.13)}
    .btn:active{transform:translateY(0)}
    .btn-primary{color:#fff;background:var(--berry)}
    .btn-primary:hover{background:var(--berry-dark)}
    .btn-secondary{color:var(--plum);background:#fff;border-color:var(--line)}
    .btn-muted{color:var(--muted);background:var(--paper-deep);border-color:transparent}
    .tag{display:inline-flex;align-items:center;min-height:28px;padding:3px 10px;border-radius:999px;font-size:12px;background:var(--lilac);color:var(--plum);white-space:nowrap}
    .tag.green{background:var(--sage);color:#486252}
    .tag.peach{background:var(--peach);color:#865344}
    .index-layout{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}
    .entry-card{grid-column:span 4;min-height:330px;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--card);overflow:hidden;box-shadow:0 8px 30px rgba(67,45,62,.045);transition:.22s ease}
    .entry-card.wide{grid-column:span 8}
    .entry-card:hover{transform:translateY(-4px);border-color:rgba(163,71,104,.45);box-shadow:var(--shadow-soft)}
    .cover{height:128px;position:relative;overflow:hidden;background:linear-gradient(130deg,#e8ddea,#f3d9d0)}
    .cover:before{content:"";position:absolute;width:170px;height:170px;border:1px solid rgba(125,52,82,.25);border-radius:50%;right:16px;top:-65px}
    .cover:after{content:"";position:absolute;width:80px;height:80px;background:rgba(255,255,255,.38);border-radius:24px;left:28px;bottom:-36px;transform:rotate(28deg)}
    .cover-code{position:absolute;z-index:1;left:18px;top:15px;font-size:12px;color:var(--berry-dark);font-weight:800;letter-spacing:.14em}
    .entry-body{display:flex;flex:1;flex-direction:column;padding:20px 21px}
    .entry-top{display:flex;justify-content:space-between;gap:12px;align-items:center}
    .entry-card h3{font-size:20px;margin:14px 0 7px}
    .entry-card p{color:var(--muted);font-size:14px;line-height:1.75;margin-bottom:16px}
    .entry-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:10px;border-top:1px solid #eee7e8;color:var(--muted);font-size:12px}
    .entry-foot a{color:var(--berry-dark);font-weight:700}
    .notice{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;border-left:4px solid var(--warning);border-radius:12px;background:#fff7ed;color:#71583e;font-size:14px}
    .process{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:var(--card)}
    .process-item{padding:27px;border-right:1px solid var(--line)}
    .process-item:last-child{border-right:0}
    .process-no{color:var(--berry);font-weight:800;font-size:13px;letter-spacing:.1em}
    .process-item h3{font-size:19px;margin:14px 0 7px}
    .process-item p{color:var(--muted);font-size:14px;margin-bottom:0}
    .faq-list{display:grid;gap:10px;max-width:850px}
    .faq-item{overflow:hidden}
    .faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:19px 22px;border:0;background:transparent;color:var(--ink);text-align:left;font-weight:700}
    .faq-question span:last-child{color:var(--berry);font-size:22px;line-height:1;transition:.2s}
    .faq-answer{display:none;padding:0 22px 20px;color:var(--muted);font-size:14px;line-height:1.9}
    .faq-item.open .faq-answer{display:block}
    .faq-item.open .faq-question span:last-child{transform:rotate(45deg)}
    .cta{padding:35px 40px;border-radius:var(--radius-lg);color:#fff;background:var(--plum);display:flex;align-items:center;justify-content:space-between;gap:30px}
    .cta h2{font-size:29px;margin-bottom:7px}
    .cta p{color:#e7dfe7;margin:0}
    .cta .btn-primary{background:#d9829d}.cta .btn-primary:hover{background:#eb9bb4}
    footer{padding:60px 0 28px;background:#342a38;color:#eee6ed}
    .footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:35px;padding-bottom:42px}
    .footer-brand{font-size:20px;font-weight:800;color:#fff}
    footer p,footer a{color:#bdb2bd;font-size:14px}
    footer a{display:block;margin:7px 0;transition:.2s}
    footer a:hover{color:#fff}
    footer h3{font-size:14px;color:#fff;margin:0 0 12px}
    .copyright{padding-top:22px;border-top:1px solid rgba(255,255,255,.14);color:#a99eaa;font-size:12px}
    @media (max-width:1024px){.filter-grid{grid-template-columns:1fr 1fr 1fr}.filter-grid .search-field{grid-column:span 3}.entry-card,.entry-card.wide{grid-column:span 6}.hero-layout{gap:30px}}
    @media (max-width:768px){.nav-note{display:none}.hero-layout{grid-template-columns:1fr}.page-hero{padding-top:135px}.section{padding:68px 0}.section-head{display:block}.section-head p{margin-top:12px}.process{grid-template-columns:1fr}.process-item{border-right:0;border-bottom:1px solid var(--line)}.process-item:last-child{border-bottom:0}.footer-grid{grid-template-columns:1fr 1fr}}
    @media (max-width:640px){.container{width:min(calc(100% - 28px),var(--container))}.site-header{inset:12px 0 auto}.nav-shell{padding:8px 9px 8px 13px}.brand{font-size:14px}.brand-mark{width:31px;height:31px}.nav-links{display:none;position:absolute;left:0;right:0;top:62px;padding:10px;border:1px solid var(--line);border-radius:18px;background:#fffdfc;box-shadow:var(--shadow-soft);flex-direction:column;align-items:stretch}.nav-links.show{display:flex}.nav-links a{text-align:center}.nav-toggle{display:block}.page-hero{padding:112px 0 48px}h1{font-size:36px}.hero-copy{font-size:15px}.filter-grid{grid-template-columns:1fr}.filter-grid .search-field{grid-column:auto}.filter-grid .btn{width:100%}.entry-card,.entry-card.wide{grid-column:span 12}.cover{height:112px}.cta{padding:28px 22px;display:block}.cta .btn{margin-top:20px;width:100%}.footer-grid{grid-template-columns:1fr;gap:24px}.copyright{line-height:1.8}}

/* roulang page: category2 */
:root {
      --paper:#f8f5f2;--paper-deep:#eee8e6;--ink:#28232b;--muted:#756d78;
      --line:#ded5d8;--card:#fffdfc;--berry:#a34768;--berry-dark:#7d3452;
      --plum:#44364d;--lilac:#e8ddea;--peach:#f3d9d0;--sage:#dce7df;
      --warning:#9b6a38;--radius-lg:24px;--radius-md:16px;
      --shadow-soft:0 18px 55px rgba(67,45,62,.09);--container:1200px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;color:var(--ink);background:radial-gradient(circle at 12% 8%,rgba(232,221,234,.68) 0 1px,transparent 1.5px) 0 0/22px 22px,var(--paper);font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;line-height:1.8;letter-spacing:.01em}
    a{color:inherit;text-decoration:none}
    img{display:block;max-width:100%}
    button,input,textarea,select{font:inherit}
    button{cursor:pointer}
    .container{width:min(calc(100% - 40px),var(--container));margin:0 auto}
    .site-header{position:absolute;z-index:20;inset:20px 0 auto}
    .nav-shell{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:10px 12px 10px 18px;border:1px solid rgba(255,255,255,.72);border-radius:999px;background:rgba(255,253,252,.82);backdrop-filter:blur(16px);box-shadow:0 12px 34px rgba(64,45,61,.08)}
    .brand{display:inline-flex;align-items:center;gap:10px;font-weight:800;white-space:nowrap}
    .brand-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:12px;color:#fff;background:var(--berry);font-size:12px;letter-spacing:-.08em}
    .nav-links{display:flex;align-items:center;gap:4px}
    .nav-links a,.nav-toggle{min-height:44px;padding:8px 14px;border-radius:999px;color:var(--muted);transition:.2s ease;border:0;background:transparent}
    .nav-links a:hover,.nav-links a.active{color:var(--berry-dark);background:var(--lilac)}
    .nav-note{padding:8px 14px;border-radius:999px;color:var(--berry-dark);background:#f6e9ed;font-size:13px}
    .nav-toggle{display:none;color:var(--ink)}
    .page-hero{padding:154px 0 72px;background:linear-gradient(135deg,#f1e8ed 0%,#fbf8f5 55%,#f0e3dc 100%);border-bottom:1px solid rgba(222,213,216,.7);position:relative;overflow:hidden}
    .page-hero:after{content:"";position:absolute;width:370px;height:370px;right:-100px;top:100px;border:1px solid rgba(163,71,104,.16);border-radius:48% 52% 60% 40%;transform:rotate(24deg);pointer-events:none}
    .hero-row{display:flex;align-items:end;justify-content:space-between;gap:35px;position:relative;z-index:1}
    .eyebrow,.section-kicker{display:inline-flex;align-items:center;gap:9px;color:var(--berry-dark);font-size:13px;font-weight:800;letter-spacing:.12em}
    .eyebrow:before,.section-kicker:before{content:"";width:26px;height:2px;background:var(--berry)}
    h1,h2,h3,p{margin-top:0}
    h1{max-width:760px;margin-bottom:18px;font-size:clamp(34px,5vw,62px);line-height:1.2;letter-spacing:-.04em}
    .lead{max-width:700px;margin:0;color:var(--muted);font-size:17px;line-height:2}
    .hero-badge{min-width:190px;padding:20px;border:1px solid rgba(163,71,104,.18);border-radius:18px;background:rgba(255,253,252,.7);box-shadow:var(--shadow-soft)}
    .hero-badge strong{display:block;color:var(--berry-dark);font-size:28px;line-height:1.2}
    .hero-badge span{display:block;margin-top:6px;color:var(--muted);font-size:13px}
    .section{padding:88px 0}
    .section.alt{background:rgba(255,253,252,.7);border-top:1px solid rgba(222,213,216,.6);border-bottom:1px solid rgba(222,213,216,.6)}
    .section-head{max-width:690px;margin-bottom:35px}
    .section-head h2{margin:10px 0 12px;font-size:clamp(27px,3.5vw,40px);line-height:1.3;letter-spacing:-.03em}
    .section-head p{color:var(--muted);font-size:16px}
    .topic-layout{display:grid;grid-template-columns:330px minmax(0,1fr);gap:26px;align-items:start}
    .topic-card,.note-card,.faq-item,.feedback-card,.timeline-item{border:1px solid var(--line);background:var(--card);border-radius:var(--radius-md);box-shadow:0 8px 30px rgba(67,45,62,.045)}
    .topic-card{padding:25px;position:sticky;top:25px}
    .topic-cover{height:175px;border-radius:14px;margin-bottom:22px;position:relative;overflow:hidden;background:linear-gradient(135deg,#e8ddea,#f3d9d0 58%,#dce7df)}
    .topic-cover:before,.topic-cover:after{content:"";position:absolute;border:1px solid rgba(68,54,77,.22);transform:rotate(35deg)}
    .topic-cover:before{width:170px;height:170px;right:-25px;top:18px;border-radius:40% 60% 45% 55%}
    .topic-cover:after{width:100px;height:100px;left:28px;bottom:-35px;border-radius:50%}
    .cover-label{position:absolute;left:18px;top:16px;color:var(--plum);font-size:12px;font-weight:800;letter-spacing:.14em}
    .topic-card h2{margin:0 0 8px;font-size:24px;line-height:1.35}
    .topic-card p{color:var(--muted);font-size:14px;line-height:1.8}
    .tag-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
    .tag{color:var(--berry-dark);background:#f6e9ed;border:1px solid rgba(163,71,104,.12);font-size:12px}
    .safe-note{margin-top:22px;padding:13px 14px;border-left:3px solid var(--warning);border-radius:0 10px 10px 0;background:#fbf2e8;color:#765534;font-size:13px;line-height:1.65}
    .timeline{display:grid;gap:14px}
    .timeline-item{display:grid;grid-template-columns:56px 1fr auto;gap:18px;align-items:start;padding:20px 22px;transition:.2s ease}
    .timeline-item:hover{border-color:rgba(163,71,104,.45);background:#fffafa;transform:translateX(3px);box-shadow:var(--shadow-soft)}
    .item-number{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:var(--lilac);color:var(--berry-dark);font-size:13px;font-weight:800}
    .timeline-item h3{margin:0 0 5px;font-size:19px;line-height:1.45}
    .timeline-item p{margin:0;color:var(--muted);font-size:14px;line-height:1.75}
    .item-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
    .item-date{color:var(--muted);font-size:12px;white-space:nowrap}
    .arrow{color:var(--berry);font-size:23px;line-height:1}
    .index-strip{display:flex;gap:10px;overflow-x:auto;padding:4px 0 14px;scrollbar-width:thin}
    .index-strip a{flex:0 0 auto;min-height:42px;padding:8px 16px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--muted);transition:.2s ease}
    .index-strip a:hover,.index-strip a.active{color:var(--berry-dark);border-color:var(--berry);background:var(--lilac)}
    .reading-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}
    .note-card{padding:23px}
    .note-card .mini-index{color:var(--berry);font-size:12px;font-weight:800;letter-spacing:.12em}
    .note-card h3{margin:12px 0 7px;font-size:19px}
    .note-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.8}
    .faq-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:38px;align-items:start}
    .faq-intro{padding:28px;border-radius:var(--radius-md);background:var(--plum);color:#fff}
    .faq-intro h2{margin:10px 0;font-size:29px;line-height:1.4}
    .faq-intro p{margin:0;color:#e7dfe8;line-height:1.85;font-size:14px}
    .faq-list{display:grid;gap:10px}
    .faq-item{overflow:hidden}
    .faq-item button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 21px;border:0;background:transparent;text-align:left;color:var(--ink);font-weight:700}
    .faq-item button:hover{background:#fff8fa}
    .faq-icon{color:var(--berry);font-size:21px;transition:transform .2s}
    .faq-answer{display:none;padding:0 21px 19px;color:var(--muted);font-size:14px;line-height:1.85}
    .faq-item.open .faq-answer{display:block}
    .faq-item.open .faq-icon{transform:rotate(45deg)}
    .feedback-wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:24px;align-items:stretch}
    .feedback-card{padding:29px}
    .feedback-card.dark{color:#fff;background:var(--plum);border-color:var(--plum)}
    .feedback-card.dark p{color:#e5dce5}
    .feedback-card h2{margin:10px 0;font-size:29px;line-height:1.4}
    .feedback-card p{color:var(--muted);font-size:14px;line-height:1.85}
    .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
    .field{display:grid;gap:7px}
    .field.full{grid-column:1/-1}
    .field label{font-size:13px;font-weight:700;color:var(--plum)}
    .field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:12px;background:#fffdfc;padding:11px 13px;color:var(--ink);outline:none;transition:.2s ease}
    .field textarea{min-height:125px;resize:vertical}
    .field input:focus,.field select:focus,.field textarea:focus{border-color:var(--berry);box-shadow:0 0 0 4px rgba(163,71,104,.13)}
    .form-hint{margin:13px 0 0;color:var(--muted);font-size:12px;line-height:1.6}
    .btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;border-radius:999px;border:1px solid transparent;font-weight:700;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
    .btn:hover{transform:translateY(-2px);box-shadow:0 9px 22px rgba(83,46,65,.13)}
    .btn:active{transform:translateY(0)}
    .btn:focus-visible,.nav-links a:focus-visible,.nav-toggle:focus-visible,.index-strip a:focus-visible,.faq-item button:focus-visible{outline:3px solid rgba(163,71,104,.4);outline-offset:3px}
    .btn-primary{color:#fff;background:var(--berry)}
    .btn-primary:hover{background:var(--berry-dark)}
    .btn-secondary{color:var(--plum);background:rgba(255,255,255,.7);border-color:var(--line)}
    .cta{padding:42px 0;background:var(--plum);color:#fff}
    .cta-row{display:flex;align-items:center;justify-content:space-between;gap:25px}
    .cta h2{margin:0 0 6px;font-size:29px;line-height:1.35}
    .cta p{margin:0;color:#e5dce5;font-size:14px}
    .cta .btn-secondary{color:#fff;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.35)}
    footer{padding:58px 0 24px;background:#302936;color:#eee5ed}
    .footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:35px}
    .footer-brand{font-size:20px;font-weight:800}
    footer p{color:#bdb1bf;font-size:13px;line-height:1.8}
    footer h3{margin:0 0 12px;color:#fff;font-size:14px}
    footer a{display:block;width:max-content;max-width:100%;padding:3px 0;color:#bdb1bf;font-size:13px;transition:.2s}
    footer a:hover{color:#fff;padding-left:3px}
    .copyright{margin-top:42px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);color:#a99daa;font-size:12px}
    @media (max-width:1024px){.hero-row{align-items:start}.topic-layout{grid-template-columns:285px 1fr}.faq-layout,.feedback-wrap{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1.3fr 1fr 1fr}}
    @media (max-width:768px){.container{width:min(calc(100% - 30px),var(--container))}.site-header{inset:14px 0 auto}.nav-shell{position:relative;padding-left:14px}.nav-note{display:none}.nav-toggle{display:block}.nav-links{display:none;position:absolute;top:58px;left:0;right:0;padding:9px;border:1px solid var(--line);border-radius:18px;background:rgba(255,253,252,.97);box-shadow:var(--shadow-soft);flex-direction:column;align-items:stretch}.nav-links.show{display:flex}.nav-links a{width:100%;text-align:center}.page-hero{padding:130px 0 55px}.hero-row{display:block}.hero-badge{margin-top:28px;width:190px}.topic-layout,.faq-layout,.feedback-wrap{grid-template-columns:1fr}.topic-card{position:static}.reading-grid{grid-template-columns:1fr 1fr}.cta-row{display:block}.cta .btn{margin-top:20px}.footer-grid{grid-template-columns:1fr 1fr;gap:28px}}
    @media (max-width:520px){h1{font-size:35px}.section{padding:65px 0}.timeline-item{grid-template-columns:43px 1fr auto;gap:11px;padding:17px 14px}.item-number{width:38px;height:38px}.item-date{display:none}.reading-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.footer-grid{grid-template-columns:1fr}.copyright{margin-top:28px}.hero-badge{width:100%}}
