/* roulang page: index */
:root {
            --ink: #171b18;
            --ink-soft: #303832;
            --lime: #d9f73d;
            --lime-dark: #aecb18;
            --paper: #f7f7f1;
            --warm: #f0eee5;
            --sage: #e4ebe0;
            --orange-wash: #f5e7d7;
            --white: #ffffff;
            --muted: #6d756e;
            --line: #dfe3da;
            --line-dark: #59635a;
            --radius-sm: 10px;
            --radius-md: 16px;
            --radius-lg: 24px;
            --shadow: 0 14px 40px rgba(23, 27, 24, .08);
            --shadow-hover: 0 20px 50px rgba(23, 27, 24, .14);
            --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", Arial, sans-serif;
            font-size: 16px;
            line-height: 1.7;
            -webkit-font-smoothing: antialiased;
        }
        body.menu-open { overflow: hidden; }
        a { color: inherit; text-decoration: none; transition: color var(--ease), background var(--ease), border-color var(--ease), transform var(--ease), box-shadow var(--ease); }
        img { display: block; max-width: 100%; }
        button, input, textarea { font: inherit; }
        button { cursor: pointer; }
        :focus-visible { outline: 3px solid var(--lime-dark); outline-offset: 3px; }
        .container { width: min(var(--container), calc(100% - 48px)); margin: 0 auto; }
        .section { padding: 104px 0; }
        .section--tight { padding: 72px 0; }
        .eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 9px;
            color: var(--muted);
            font-size: 12px;
            font-weight: 800;
            letter-spacing: .12em;
            text-transform: uppercase;
        }
        .eyebrow::before {
            content: "";
            width: 22px;
            height: 3px;
            background: var(--lime);
            border-radius: 10px;
        }
        .section-head {
            display: flex;
            align-items: end;
            justify-content: space-between;
            gap: 32px;
            margin-bottom: 42px;
        }
        .section-head h2 {
            max-width: 650px;
            margin: 12px 0 0;
            font-size: clamp(30px, 4vw, 54px);
            line-height: 1.12;
            letter-spacing: -.045em;
        }
        .section-head p { max-width: 390px; margin: 0; color: var(--muted); }
        .text-link {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            white-space: nowrap;
            font-weight: 800;
        }
        .text-link::after { content: "↗"; font-size: 19px; }
        .text-link:hover { color: var(--lime-dark); }

        .site-header {
            position: sticky;
            top: 0;
            z-index: 20;
            background: rgba(247, 247, 241, .92);
            border-bottom: 1px solid rgba(223, 227, 218, .9);
            backdrop-filter: blur(18px);
        }
        .header-inner {
            min-height: 78px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 24px;
        }
        .brand {
            display: inline-flex;
            align-items: center;
            gap: 12px;
            flex-shrink: 0;
        }
        .brand-mark {
            display: grid;
            width: 38px;
            height: 38px;
            place-items: center;
            color: var(--ink);
            background: var(--lime);
            border-radius: 11px;
            font-size: 17px;
            font-weight: 950;
            letter-spacing: -.08em;
        }
        .brand-copy { display: grid; line-height: 1.15; }
        .brand-copy strong { font-size: 18px; letter-spacing: -.03em; }
        .brand-copy span { color: var(--muted); font-size: 11px; margin-top: 3px; }
        .main-nav { display: flex; align-items: center; gap: 26px; margin-left: auto; }
        .main-nav a {
            position: relative;
            padding: 26px 0 23px;
            color: var(--ink-soft);
            font-size: 14px;
            font-weight: 700;
        }
        .main-nav a::after {
            content: "";
            position: absolute;
            right: 0;
            bottom: 15px;
            left: 0;
            height: 3px;
            background: var(--lime);
            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); }
        .menu-toggle { display: none; border: 0; background: transparent; padding: 10px; }
        .menu-toggle span { display: block; width: 23px; height: 2px; margin: 5px; background: var(--ink); }

        .btn {
            display: inline-flex;
            min-height: 48px;
            align-items: center;
            justify-content: center;
            gap: 9px;
            padding: 0 20px;
            border: 1px solid transparent;
            border-radius: 8px;
            font-size: 14px;
            font-weight: 850;
            transition: transform var(--ease), background var(--ease), color var(--ease), box-shadow var(--ease);
        }
        .btn:hover { transform: translateY(-2px); box-shadow: 0 9px 18px rgba(23, 27, 24, .12); }
        .btn:active { transform: translateY(0); }
        .btn--dark { color: var(--lime); background: var(--ink); }
        .btn--dark:hover { color: var(--ink); background: var(--lime); }
        .btn--lime { color: var(--ink); background: var(--lime); }
        .btn--lime:hover { background: #e8ff70; }
        .btn--outline { color: var(--ink); border-color: var(--ink); background: transparent; }
        .btn--outline:hover { color: var(--lime); background: var(--ink); }

        .hero {
            position: relative;
            overflow: hidden;
            padding: 92px 0 90px;
            background: var(--warm);
        }
        .hero::before {
            position: absolute;
            top: -180px;
            right: -120px;
            width: 560px;
            height: 560px;
            border: 1px solid rgba(23, 27, 24, .1);
            border-radius: 50%;
            content: "";
        }
        .hero-grid {
            position: relative;
            display: grid;
            grid-template-columns: 1.02fr .98fr;
            align-items: center;
            gap: 80px;
        }
        .hero h1 {
            max-width: 720px;
            margin: 20px 0 24px;
            font-size: clamp(45px, 6.4vw, 88px);
            line-height: .99;
            letter-spacing: -.075em;
        }
        .hero h1 em { color: var(--lime-dark); font-style: normal; }
        .hero-lead { max-width: 580px; margin: 0 0 32px; color: var(--ink-soft); font-size: 18px; line-height: 1.85; }
        .hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
        .hero-note { display: flex; align-items: center; gap: 12px; margin-top: 30px; color: var(--muted); font-size: 13px; }
        .note-dot { width: 9px; height: 9px; background: var(--lime-dark); border-radius: 50%; box-shadow: 0 0 0 6px rgba(174, 203, 24, .15); }
        .hero-art { position: relative; min-height: 460px; }
        .art-board {
            position: absolute;
            inset: 25px 0 0 30px;
            overflow: hidden;
            padding: 26px;
            background: var(--ink);
            border-radius: var(--radius-lg);
            box-shadow: var(--shadow);
            transform: rotate(2deg);
        }
        .art-board::before {
            position: absolute;
            right: -80px;
            bottom: -110px;
            width: 310px;
            height: 310px;
            border: 1px solid rgba(217, 247, 61, .35);
            border-radius: 50%;
            content: "";
        }
        .art-top { display: flex; justify-content: space-between; color: #aab5a8; font-size: 12px; letter-spacing: .08em; }
        .art-title { position: relative; z-index: 1; margin-top: 62px; color: var(--white); font-size: 44px; font-weight: 900; line-height: 1.04; letter-spacing: -.08em; }
        .art-title span { color: var(--lime); }
        .art-line { width: 72%; height: 1px; margin: 28px 0; background: #4b574b; }
        .art-bottom { position: absolute; right: 26px; bottom: 26px; left: 26px; display: flex; justify-content: space-between; align-items: end; }
        .art-code { color: var(--lime); font-family: monospace; font-size: 15px; }
        .art-number { color: #727d72; font-size: 74px; font-weight: 900; line-height: .8; letter-spacing: -.1em; }
        .float-card {
            position: absolute;
            z-index: 2;
            right: -12px;
            bottom: 12px;
            width: 210px;
            padding: 18px;
            background: var(--lime);
            border: 5px solid var(--warm);
            border-radius: 15px;
            box-shadow: var(--shadow);
        }
        .float-card small { display: block; font-weight: 800; }
        .float-card strong { display: block; margin-top: 8px; font-size: 27px; line-height: 1.1; letter-spacing: -.06em; }

        .keyword-strip { overflow: hidden; background: var(--ink); color: var(--lime); }
        .keyword-track { display: flex; justify-content: space-between; gap: 30px; padding: 22px 0; white-space: nowrap; }
        .keyword-track span { display: inline-flex; align-items: center; gap: 13px; font-size: 13px; font-weight: 800; }
        .keyword-track span::before { content: "✦"; color: var(--white); font-size: 12px; }

        .dynamic-section { background: var(--paper); }
        .timeline { border-top: 1px solid var(--line-dark); }
        .timeline-item {
            display: grid;
            grid-template-columns: 135px 125px 1fr 110px;
            align-items: center;
            gap: 20px;
            padding: 24px 0;
            border-bottom: 1px solid var(--line);
        }
        .timeline-item:hover { background: rgba(228, 235, 224, .45); }
        .date { color: var(--muted); font-size: 13px; font-weight: 700; }
        .tag { display: inline-flex; width: fit-content; padding: 4px 9px; color: var(--ink); background: var(--lime); border-radius: 5px; font-size: 11px; font-weight: 850; line-height: 1.3; }
        .timeline-item h3 { margin: 0 0 4px; font-size: 19px; letter-spacing: -.03em; }
        .timeline-item p { overflow: hidden; margin: 0; color: var(--muted); font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
        .arrow-link { justify-self: end; font-size: 22px; }
        .arrow-link:hover { color: var(--lime-dark); transform: translateX(4px); }

        .experience { background: var(--sage); }
        .experience-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 78px; align-items: center; }
        .experience-copy h2 { margin: 14px 0 20px; font-size: clamp(32px, 4vw, 58px); line-height: 1.08; letter-spacing: -.06em; }
        .experience-copy p { max-width: 470px; color: var(--muted); }
        .experience-list { margin: 30px 0 0; padding: 0; list-style: none; }
        .experience-list li { display: flex; gap: 15px; padding: 15px 0; border-top: 1px solid rgba(23, 27, 24, .16); font-weight: 750; }
        .experience-list b { color: var(--lime-dark); }
        .interface {
            position: relative;
            min-height: 440px;
            padding: 25px;
            background: #d2ddce;
            border-radius: var(--radius-lg);
        }
        .interface-window { height: 390px; overflow: hidden; padding: 20px; background: var(--white); border: 1px solid #c4cfc3; border-radius: 15px; box-shadow: var(--shadow); }
        .window-bar { display: flex; gap: 6px; padding-bottom: 22px; border-bottom: 1px solid var(--line); }
        .window-bar i { width: 8px; height: 8px; background: #d8ddd7; border-radius: 50%; }
        .window-content { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; padding-top: 25px; }
        .window-content .wide { grid-column: 1 / -1; min-height: 120px; padding: 20px; color: var(--white); background: var(--ink); border-radius: 11px; }
        .window-content .wide strong { display: block; margin-top: 22px; color: var(--lime); font-size: 23px; }
        .mini-panel { min-height: 105px; padding: 15px; background: var(--warm); border-radius: 11px; }
        .mini-panel b { display: block; margin-top: 18px; font-size: 18px; }

        .download-section { background: var(--orange-wash); }
        .download-panel { display: grid; grid-template-columns: 1fr .8fr; gap: 60px; align-items: center; padding: 58px; background: var(--ink); color: var(--white); border-radius: var(--radius-lg); }
        .download-panel h2 { margin: 14px 0 18px; color: var(--white); font-size: clamp(34px, 4vw, 60px); line-height: 1.05; letter-spacing: -.07em; }
        .download-panel p { max-width: 530px; color: #bac4b9; }
        .download-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
        .download-meta { display: flex; gap: 24px; margin-top: 24px; color: #9da99b; font-size: 12px; }
        .device-stage { position: relative; min-height: 320px; display: grid; place-items: center; }
        .device {
            width: 178px;
            height: 314px;
            padding: 9px;
            background: #303731;
            border: 2px solid #697669;
            border-radius: 27px;
            box-shadow: 18px 25px 0 rgba(217, 247, 61, .18);
            transform: rotate(8deg);
        }
        .device-screen { height: 100%; padding: 17px 13px; background: var(--lime); border-radius: 19px; color: var(--ink); }
        .device-screen small { font-weight: 850; }
        .device-screen h3 { margin: 38px 0 12px; font-size: 28px; line-height: 1; letter-spacing: -.09em; }
        .device-screen div { height: 6px; margin: 9px 0; background: rgba(23, 27, 24, .22); border-radius: 9px; }
        .qr { position: absolute; right: 6%; bottom: 12px; width: 90px; height: 90px; padding: 8px; background: var(--white); border-radius: 8px; }
        .qr::after { content: "下载入口"; display: block; margin-top: 98px; color: #98a698; font-size: 11px; text-align: center; white-space: nowrap; }

        .steps-section { background: var(--paper); }
        .steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
        .step { min-height: 230px; padding: 28px 28px 30px 0; border-right: 1px solid var(--line); }
        .step + .step { padding-left: 28px; }
        .step:last-child { border-right: 0; }
        .step-no { color: var(--lime-dark); font-size: 42px; font-weight: 900; line-height: 1; letter-spacing: -.08em; }
        .step h3 { margin: 30px 0 8px; font-size: 20px; }
        .step p { margin: 0; color: var(--muted); font-size: 14px; }

        .latest { background: var(--warm); }
        .latest-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 22px; }
        .feature-news, .news-list { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-md); }
        .feature-news { display: flex; min-height: 350px; flex-direction: column; justify-content: space-between; padding: 29px; }
        .feature-news h3 { max-width: 390px; margin: 60px 0 14px; font-size: 31px; line-height: 1.15; letter-spacing: -.055em; }
        .feature-news p { color: var(--muted); font-size: 14px; }
        .news-list { padding: 8px 24px; }
        .news-row { display: grid; grid-template-columns: 90px 1fr auto; align-items: center; gap: 16px; min-height: 83px; border-bottom: 1px solid var(--line); }
        .news-row:last-child { border-bottom: 0; }
        .news-row h3 { margin: 0; font-size: 16px; }
        .news-row small { color: var(--muted); font-size: 12px; }
        .news-row:hover h3 { color: var(--lime-dark); }
        .empty-state { padding: 60px 24px; color: var(--muted); text-align: center; }

        .notice-section { background: var(--sage); }
        .notice-bar { display: grid; grid-template-columns: 150px 1fr 100px; gap: 24px; align-items: center; padding: 24px 30px; background: var(--lime); border-radius: var(--radius-md); }
        .notice-label { font-weight: 950; }
        .notice-bar p { margin: 0; font-size: 18px; font-weight: 750; }
        .notice-bar a { justify-self: end; font-weight: 900; }

        .trust-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 80px; align-items: start; }
        .trust-copy h2 { margin: 14px 0 20px; font-size: clamp(32px, 4vw, 58px); line-height: 1.05; letter-spacing: -.06em; }
        .trust-copy p { max-width: 500px; color: var(--muted); }
        .trust-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--ink); }
        .trust-list li { display: grid; grid-template-columns: 50px 1fr; gap: 18px; padding: 21px 0; border-bottom: 1px solid var(--line); }
        .trust-list b { color: var(--lime-dark); font-family: monospace; }
        .trust-list h3 { margin: 0 0 4px; font-size: 18px; }
        .trust-list p { margin: 0; color: var(--muted); font-size: 14px; }

        .story { background: var(--ink); color: var(--white); }
        .story-grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: 80px; }
        .story h2 { margin: 14px 0 0; color: var(--white); font-size: clamp(36px, 5vw, 68px); line-height: 1; letter-spacing: -.08em; }
        .story .eyebrow { color: #a9b6a7; }
        .story-line { display: grid; grid-template-columns: 105px 1fr; gap: 28px; padding: 4px 0 26px; border-bottom: 1px solid #465145; }
        .story-line + .story-line { padding-top: 26px; }
        .story-line strong { color: var(--lime); font-size: 27px; }
        .story-line h3 { margin: 0 0 6px; font-size: 20px; }
        .story-line p { margin: 0; color: #a9b6a7; font-size: 14px; }

        .service-section { background: var(--paper); }
        .service-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
        .service-card { display: flex; min-height: 145px; flex-direction: column; justify-content: space-between; padding: 25px; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-md); }
        .service-card:nth-child(2) { background: var(--lime); }
        .service-card:nth-child(3) { background: var(--sage); }
        .service-card h3 { margin: 0; font-size: 22px; }
        .service-card p { margin: 7px 0 0; color: var(--muted); font-size: 14px; }
        .service-card span { align-self: end; font-size: 23px; }
        .service-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }

        .featured-section { background: var(--orange-wash); }
        .featured-grid { display: grid; grid-template-columns: 1.35fr .65fr; gap: 16px; }
        .featured-main, .featured-small { display: flex; flex-direction: column; justify-content: end; min-height: 300px; padding: 30px; border-radius: var(--radius-md); }
        .featured-main { color: var(--white); background: var(--ink); }
        .featured-small { min-height: 142px; background: var(--white); border: 1px solid var(--line); }
        .featured-small + .featured-small { margin-top: 16px; background: var(--sage); }
        .featured-main h3 { max-width: 540px; margin: 18px 0 10px; font-size: 32px; line-height: 1.14; letter-spacing: -.05em; }
        .featured-small h3 { margin: 12px 0 3px; font-size: 18px; line-height: 1.3; }
        .featured-main p, .featured-small p { margin: 0; color: var(--muted); font-size: 13px; }
        .featured-main p { color: #b7c1b4; }

        .faq-section { background: var(--paper); }
        .faq-list { max-width: 900px; margin: 0 auto; border-top: 1px solid var(--ink); }
        .faq-item { border-bottom: 1px solid var(--line); }
        .faq-item summary { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding: 22px 0; cursor: pointer; font-size: 18px; font-weight: 800; list-style: none; }
        .faq-item summary::-webkit-details-marker { display: none; }
        .faq-item summary::after { content: "+"; color: var(--lime-dark); font-size: 28px; font-weight: 400; }
        .faq-item[open] summary::after { content: "−"; }
        .faq-answer { max-width: 760px; padding: 0 45px 24px 0; color: var(--muted); font-size: 14px; }

        .closing { padding: 78px 0; background: var(--lime); }
        .closing-inner { display: flex; align-items: center; justify-content: space-between; gap: 36px; }
        .closing h2 { max-width: 620px; margin: 0; font-size: clamp(32px, 4vw, 57px); line-height: 1.03; letter-spacing: -.07em; }
        .closing-actions { display: flex; flex-wrap: wrap; gap: 10px; }

        .site-footer { padding: 65px 0 25px; color: #c3cdc0; background: var(--ink); }
        .footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 35px; padding-bottom: 50px; }
        .footer-brand .brand-copy strong { color: var(--white); }
        .footer-brand .brand-copy span { color: #9eaa9c; }
        .footer-brand p { max-width: 290px; margin: 24px 0 0; color: #9eaa9c; font-size: 14px; }
        .footer-col h3 { margin: 3px 0 18px; color: var(--white); font-size: 14px; }
        .footer-col a { display: block; width: fit-content; margin: 8px 0; color: #aeb9ac; font-size: 13px; }
        .footer-col a:hover { color: var(--lime); }
        .reminder-form label { display: block; margin-bottom: 11px; color: var(--white); font-size: 14px; font-weight: 800; }
        .form-row { display: flex; gap: 7px; }
        .form-row input { min-width: 0; flex: 1; padding: 0 12px; color: var(--white); background: #303930; border: 1px solid #536052; border-radius: 7px; }
        .form-row input::placeholder { color: #899689; }
        .form-row button { border: 0; }
        .form-tip { margin: 10px 0 0; color: #899689; font-size: 11px; }
        .footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding-top: 20px; border-top: 1px solid #3d493f; color: #899689; font-size: 12px; }

        @media (max-width: 1024px) {
            .main-nav { gap: 15px; }
            .hero-grid, .experience-grid, .trust-grid, .story-grid { gap: 45px; }
            .download-panel { padding: 42px; gap: 30px; }
            .timeline-item { grid-template-columns: 110px 105px 1fr 60px; }
            .footer-grid { grid-template-columns: 1fr 1fr; }
        }
        @media (max-width: 768px) {
            .container { width: min(100% - 40px, var(--container)); }
            .section { padding: 72px 0; }
            .header-inner { min-height: 68px; }
            .main-nav {
                position: fixed;
                top: 68px;
                right: 0;
                left: 0;
                display: none;
                flex-direction: column;
                align-items: stretch;
                gap: 0;
                padding: 12px 20px 22px;
                background: var(--paper);
                border-bottom: 1px solid var(--line);
                box-shadow: var(--shadow);
            }
            .main-nav.is-open { display: flex; }
            .main-nav a { padding: 14px 4px; }
            .main-nav a::after { bottom: 7px; }
            .menu-toggle { display: block; }
            .header-inner > .btn { display: none; }
            .hero { padding: 68px 0; }
            .hero-grid, .experience-grid, .latest-layout, .trust-grid, .story-grid, .download-panel, .featured-grid { grid-template-columns: 1fr; }
            .hero-art { min-height: 380px; margin-top: 16px; }
            .art-board { inset: 10px 18px 0 0; }
            .float-card { right: 0; }
            .section-head { display: block; margin-bottom: 30px; }
            .section-head p { margin-top: 15px; }
            .section-head .text-link { margin-top: 18px; }
            .keyword-track { justify-content: flex-start; overflow-x: auto; }
            .timeline-item { grid-template-columns: 88px 1fr 32px; gap: 12px; }
            .timeline-item .tag { grid-column: 2; grid-row: 1; }
            .timeline-item > div:nth-child(3) { grid-column: 1 / -1; grid-row: 2; }
            .timeline-item .arrow-link { grid-column: 3; grid-row: 1; }
            .timeline-item p { white-space: normal; }
            .download-panel { padding: 32px 24px; }
            .device-stage { min-height: 290px; }
            .steps { grid-template-columns: 1fr; }
            .step, .step + .step { min-height: auto; padding: 24px 0; border-right: 0; border-bottom: 1px solid var(--line); }
            .step:last-child { border-bottom: 0; }
            .notice-bar { grid-template-columns: 1fr; gap: 8px; padding: 22px; }
            .notice-bar a { justify-self: start; }
            .service-grid { grid-template-columns: 1fr; }
            .featured-small, .featured-small + .featured-small { margin-top: 0; }
            .featured-grid > div:last-child { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
            .featured-small { min-height: 190px; }
            .featured-small + .featured-small { min-height: 190px; }
            .footer-grid { grid-template-columns: 1fr 1fr; }
            .closing-inner { display: block; }
            .closing-actions { margin-top: 25px; }
        }
        @media (max-width: 520px) {
            .container { width: calc(100% - 40px); }
            .brand-copy span { display: none; }
            .hero h1 { font-size: 48px; }
            .hero-lead { font-size: 16px; }
            .hero-art { min-height: 315px; }
            .art-title { margin-top: 45px; font-size: 35px; }
            .art-number { font-size: 55px; }
            .float-card { width: 165px; padding: 13px; }
            .float-card strong { font-size: 21px; }
            .news-row { grid-template-columns: 72px 1fr auto; gap: 9px; }
            .news-row h3 { font-size: 14px; }
            .featured-grid > div:last-child { display: block; }
            .featured-small, .featured-small + .featured-small { min-height: 145px; margin-top: 14px; }
            .footer-grid { grid-template-columns: 1fr; gap: 28px; }
            .footer-bottom { display: block; }
            .footer-bottom span { display: block; margin-top: 8px; }
            .form-row { display: block; }
            .form-row input { width: 100%; height: 46px; }
            .form-row button { width: 100%; margin-top: 8px; }
        }

/* roulang page: article */
:root {
            --ink: #171b18;
            --ink-soft: #303832;
            --lime: #d9f73d;
            --lime-dark: #aecb18;
            --paper: #f7f7f1;
            --warm: #f0eee5;
            --sage: #e4ebe0;
            --orange-wash: #f5e7d7;
            --white: #ffffff;
            --muted: #6d756e;
            --line: #dfe3da;
            --line-dark: #59635a;
            --radius-sm: 10px;
            --radius-md: 16px;
            --radius-lg: 24px;
            --shadow: 0 14px 40px rgba(23, 27, 24, .08);
            --shadow-hover: 0 20px 50px rgba(23, 27, 24, .14);
            --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", Arial, sans-serif;
            font-size: 16px;
            line-height: 1.75;
            -webkit-font-smoothing: antialiased;
        }
        body.menu-open { overflow: hidden; }
        a { color: inherit; text-decoration: none; transition: color var(--ease), background var(--ease), border-color var(--ease), transform var(--ease), box-shadow var(--ease); }
        img { display: block; max-width: 100%; }
        button, input, textarea { font: inherit; }
        button { cursor: pointer; }
        :focus-visible { outline: 3px solid rgba(174, 203, 24, .7); outline-offset: 3px; }
        .container { width: min(var(--container), calc(100% - 48px)); margin: 0 auto; }
        .section { padding: 92px 0; }
        .section--tight { padding: 56px 0; }
        .eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 9px;
            color: var(--muted);
            font-size: 12px;
            font-weight: 800;
            letter-spacing: .12em;
        }
        .eyebrow::before {
            content: "";
            width: 22px;
            height: 3px;
            background: var(--lime);
            border-radius: 10px;
        }
        .btn {
            display: inline-flex;
            min-height: 48px;
            align-items: center;
            justify-content: center;
            gap: 9px;
            padding: 0 20px;
            border: 1px solid transparent;
            border-radius: 8px;
            font-size: 14px;
            font-weight: 850;
            transition: transform var(--ease), background var(--ease), color var(--ease), box-shadow var(--ease);
        }
        .btn:hover { transform: translateY(-2px); box-shadow: 0 9px 18px rgba(23, 27, 24, .12); }
        .btn:active { transform: translateY(0); }
        .btn--dark { color: var(--lime); background: var(--ink); }
        .btn--dark:hover { color: var(--ink); background: var(--lime); }
        .btn--lime { color: var(--ink); background: var(--lime); }
        .btn--lime:hover { background: #e8ff70; }
        .btn--outline { color: var(--ink); border-color: var(--ink); background: transparent; }
        .btn--outline:hover { color: var(--lime); background: var(--ink); }
        .text-link {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            font-weight: 800;
        }
        .text-link::after { content: "↗"; font-size: 18px; }
        .text-link:hover { color: var(--lime-dark); }

        .site-header {
            position: sticky;
            top: 0;
            z-index: 50;
            background: rgba(247, 247, 241, .92);
            border-bottom: 1px solid rgba(223, 227, 218, .9);
            backdrop-filter: blur(18px);
        }
        .header-inner {
            min-height: 78px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 24px;
        }
        .brand {
            display: inline-flex;
            align-items: center;
            gap: 12px;
            flex-shrink: 0;
        }
        .brand-mark {
            display: grid;
            width: 38px;
            height: 38px;
            place-items: center;
            color: var(--ink);
            background: var(--lime);
            border-radius: 11px;
            font-size: 17px;
            font-weight: 950;
            letter-spacing: -.08em;
        }
        .brand-copy { display: grid; line-height: 1.15; }
        .brand-copy strong { font-size: 18px; letter-spacing: -.03em; }
        .brand-copy span { color: var(--muted); font-size: 11px; margin-top: 3px; }
        .main-nav { display: flex; align-items: center; gap: 26px; margin-left: auto; }
        .main-nav a {
            position: relative;
            padding: 26px 0 23px;
            color: var(--ink-soft);
            font-size: 14px;
            font-weight: 700;
        }
        .main-nav a::after {
            content: "";
            position: absolute;
            right: 0;
            bottom: 15px;
            left: 0;
            height: 3px;
            background: var(--lime);
            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); }
        .menu-toggle {
            display: none;
            border: 0;
            background: transparent;
            padding: 9px;
        }
        .menu-toggle span { display: block; width: 23px; height: 2px; margin: 5px; background: var(--ink); }

        .article-banner {
            position: relative;
            overflow: hidden;
            padding: 70px 0 80px;
            background: var(--warm);
            border-bottom: 1px solid var(--line);
        }
        .article-banner::before {
            position: absolute;
            top: -185px;
            right: 7%;
            width: 390px;
            height: 390px;
            border: 1px solid rgba(23, 27, 24, .12);
            border-radius: 50%;
            content: "";
        }
        .article-banner::after {
            position: absolute;
            right: 14%;
            bottom: -80px;
            width: 160px;
            height: 160px;
            background: var(--lime);
            border-radius: 50%;
            opacity: .75;
            content: "";
        }
        .breadcrumb {
            position: relative;
            z-index: 1;
            display: flex;
            flex-wrap: wrap;
            gap: 9px;
            margin: 0 0 27px;
            padding: 0;
            color: var(--muted);
            font-size: 13px;
            list-style: none;
        }
        .breadcrumb li + li::before { margin-right: 9px; color: var(--line-dark); content: "/"; }
        .breadcrumb a:hover { color: var(--ink); text-decoration: underline; }
        .article-intro { position: relative; z-index: 1; max-width: 890px; }
        .article-intro h1 {
            max-width: 850px;
            margin: 16px 0 22px;
            font-size: clamp(34px, 5.5vw, 68px);
            line-height: 1.12;
            letter-spacing: -.055em;
            font-weight: 900;
        }
        .article-summary {
            max-width: 750px;
            margin: 0;
            color: var(--ink-soft);
            font-size: 18px;
            line-height: 1.85;
        }
        .article-meta {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 12px 22px;
            margin-top: 30px;
            color: var(--muted);
            font-size: 13px;
            font-weight: 700;
        }
        .meta-tag {
            display: inline-flex;
            align-items: center;
            min-height: 29px;
            padding: 0 11px;
            color: var(--ink);
            background: var(--lime);
            border-radius: 99px;
            font-size: 12px;
            font-weight: 850;
        }

        .reading-layout {
            display: grid;
            grid-template-columns: minmax(0, 780px) 250px;
            justify-content: space-between;
            gap: 70px;
            align-items: start;
        }
        .article-content {
            padding: 54px 66px;
            background: var(--white);
            border: 1px solid var(--line);
            border-radius: var(--radius-lg);
            box-shadow: var(--shadow);
            overflow: hidden;
        }
        .article-content > :first-child { margin-top: 0; }
        .article-content > :last-child { margin-bottom: 0; }
        .article-content h2 {
            margin: 2.3em 0 .75em;
            font-size: clamp(25px, 3vw, 34px);
            line-height: 1.25;
            letter-spacing: -.035em;
            font-weight: 900;
        }
        .article-content h3 {
            margin: 1.85em 0 .65em;
            font-size: 21px;
            line-height: 1.4;
            font-weight: 850;
        }
        .article-content p { margin: 0 0 1.35em; color: var(--ink-soft); }
        .article-content ul, .article-content ol { margin: 0 0 1.45em; padding-left: 1.5em; color: var(--ink-soft); }
        .article-content li { margin: .55em 0; padding-left: .2em; }
        .article-content blockquote {
            margin: 2em 0;
            padding: 22px 25px;
            color: var(--ink);
            background: var(--sage);
            border-left: 4px solid var(--lime-dark);
            border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
            font-weight: 750;
        }
        .article-content img {
            width: 100%;
            height: auto;
            margin: 2em 0;
            border-radius: var(--radius-md);
        }
        .article-content table {
            width: 100%;
            margin: 1.8em 0;
            border-collapse: collapse;
            font-size: 14px;
        }
        .article-content th, .article-content td {
            padding: 13px;
            text-align: left;
            border: 1px solid var(--line);
        }
        .article-content th { background: var(--warm); font-weight: 850; }
        .article-content code {
            padding: 2px 6px;
            color: var(--ink);
            background: var(--sage);
            border-radius: 4px;
            font-size: .9em;
        }
        .article-content pre {
            overflow: auto;
            margin: 1.8em 0;
            padding: 20px;
            color: #ebf8b5;
            background: var(--ink);
            border-radius: var(--radius-sm);
        }
        .article-content pre code { padding: 0; color: inherit; background: transparent; }
        .article-empty {
            padding: 40px 10px;
            text-align: center;
        }
        .article-empty h2 { margin: 0 0 12px; font-size: 28px; }
        .article-empty p { margin-bottom: 24px; }

        .reading-aside { position: sticky; top: 105px; }
        .aside-card {
            padding: 25px;
            background: var(--sage);
            border: 1px solid rgba(89, 99, 90, .14);
            border-radius: var(--radius-md);
        }
        .aside-card + .aside-card { margin-top: 16px; }
        .aside-card h2 { margin: 0 0 14px; font-size: 18px; font-weight: 900; }
        .aside-card p { margin: 0; color: var(--ink-soft); font-size: 14px; }
        .aside-list { display: grid; gap: 12px; margin: 18px 0 0; padding: 0; list-style: none; }
        .aside-list li {
            padding-bottom: 12px;
            border-bottom: 1px solid rgba(89, 99, 90, .18);
            font-size: 14px;
            font-weight: 750;
        }
        .aside-list li:last-child { padding-bottom: 0; border-bottom: 0; }
        .aside-list a:hover { color: var(--lime-dark); }

        .signal-section { padding: 0 0 92px; }
        .signal-card {
            display: grid;
            grid-template-columns: 92px 1fr;
            gap: 28px;
            align-items: start;
            padding: 34px 40px;
            background: var(--orange-wash);
            border-radius: var(--radius-lg);
        }
        .signal-number {
            display: grid;
            width: 72px;
            height: 72px;
            place-items: center;
            color: var(--ink);
            background: var(--lime);
            border-radius: 16px;
            font-size: 26px;
            font-weight: 950;
        }
        .signal-card h2 { margin: 0 0 10px; font-size: 26px; letter-spacing: -.035em; font-weight: 900; }
        .signal-card p { max-width: 760px; margin: 0; color: var(--ink-soft); }

        .guide-band { background: var(--ink); }
        .guide-grid {
            display: grid;
            grid-template-columns: .85fr 1.15fr;
            gap: 65px;
            align-items: center;
        }
        .guide-copy { color: var(--white); }
        .guide-copy .eyebrow { color: #c5cdc5; }
        .guide-copy h2 {
            margin: 15px 0 18px;
            color: var(--white);
            font-size: clamp(29px, 4vw, 49px);
            line-height: 1.15;
            letter-spacing: -.045em;
            font-weight: 900;
        }
        .guide-copy p { margin: 0; color: #c9d0c9; }
        .step-list { display: grid; gap: 1px; background: rgba(255,255,255,.12); border-radius: var(--radius-md); overflow: hidden; }
        .step-item {
            display: grid;
            grid-template-columns: 55px 1fr;
            gap: 16px;
            padding: 22px;
            color: var(--white);
            background: rgba(255,255,255,.055);
        }
        .step-item:hover { background: rgba(217, 247, 61, .1); }
        .step-no { color: var(--lime); font-size: 13px; font-weight: 900; letter-spacing: .1em; }
        .step-item h3 { margin: 0 0 4px; font-size: 17px; font-weight: 850; }
        .step-item p { margin: 0; color: #c9d0c9; font-size: 14px; }

        .related-section { background: var(--warm); }
        .section-head { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 35px; }
        .section-head h2 { margin: 12px 0 0; font-size: clamp(28px, 4vw, 47px); line-height: 1.12; letter-spacing: -.045em; font-weight: 900; }
        .related-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 20px; }
        .related-card {
            display: flex;
            flex-direction: column;
            min-height: 240px;
            padding: 29px;
            background: var(--white);
            border: 1px solid var(--line);
            border-radius: var(--radius-md);
        }
        .related-card:hover { transform: translateY(-5px); border-color: #bdcc92; box-shadow: var(--shadow-hover); }
        .related-card--lime { background: var(--lime); border-color: var(--lime); }
        .related-card .meta-tag { align-self: flex-start; background: var(--sage); }
        .related-card--lime .meta-tag { background: var(--white); }
        .related-card h3 { margin: 19px 0 12px; font-size: 23px; line-height: 1.28; letter-spacing: -.03em; font-weight: 900; }
        .related-card p { margin: 0 0 22px; color: var(--ink-soft); font-size: 14px; }
        .related-card .text-link { margin-top: auto; }

        .faq-wrap { max-width: 850px; }
        .faq-item { border-bottom: 1px solid var(--line); }
        .faq-item summary {
            position: relative;
            padding: 23px 42px 23px 0;
            list-style: none;
            cursor: pointer;
            font-size: 18px;
            font-weight: 850;
        }
        .faq-item summary::-webkit-details-marker { display: none; }
        .faq-item summary::after {
            position: absolute;
            top: 22px;
            right: 5px;
            width: 25px;
            height: 25px;
            display: grid;
            place-items: center;
            background: var(--sage);
            border-radius: 50%;
            content: "+";
            font-size: 19px;
            font-weight: 500;
        }
        .faq-item[open] summary::after { content: "−"; background: var(--lime); }
        .faq-answer { padding: 0 42px 24px 0; color: var(--muted); }
        .faq-answer p { margin: 0; }

        .closing-panel { padding: 74px 0; background: var(--ink); }
        .closing-inner {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 35px;
        }
        .closing-copy h2 { margin: 0 0 12px; color: var(--white); font-size: clamp(29px, 4vw, 46px); line-height: 1.15; letter-spacing: -.04em; font-weight: 900; }
        .closing-copy p { max-width: 650px; margin: 0; color: #c7d0c7; }
        .closing-actions { display: flex; flex-wrap: wrap; gap: 12px; flex-shrink: 0; }

        .site-footer { padding: 76px 0 25px; color: #d9e0d7; background: #111511; }
        .footer-grid { display: grid; grid-template-columns: 1.45fr .8fr .8fr 1.35fr; gap: 45px; padding-bottom: 56px; }
        .site-footer .brand { color: var(--white); }
        .site-footer .brand-copy span { color: #aab5a9; }
        .footer-brand p { max-width: 290px; margin: 22px 0 0; color: #aab5a9; font-size: 14px; }
        .footer-col h3 { margin: 4px 0 17px; color: var(--white); font-size: 15px; font-weight: 850; }
        .footer-col > a { display: block; margin: 10px 0; color: #b5beb4; font-size: 14px; }
        .footer-col > a:hover { color: var(--lime); }
        .reminder-form label { display: block; margin-bottom: 10px; color: #b5beb4; font-size: 13px; }
        .form-row { display: flex; gap: 8px; }
        .form-row input {
            width: 100%;
            min-width: 0;
            height: 45px;
            padding: 0 12px;
            color: var(--white);
            background: #252c25;
            border: 1px solid #3e483e;
            border-radius: 8px;
            outline: 0;
        }
        .form-row input::placeholder { color: #859084; }
        .form-row input:focus { border-color: var(--lime); }
        .form-row .btn { min-height: 45px; padding: 0 14px; }
        .form-tip { margin: 10px 0 0; color: #849083; font-size: 12px; line-height: 1.6; }
        .footer-bottom {
            display: flex;
            justify-content: space-between;
            gap: 20px;
            padding-top: 23px;
            color: #849083;
            border-top: 1px solid #2b332b;
            font-size: 12px;
        }

        @media (max-width: 1024px) {
            .main-nav { gap: 18px; }
            .header-inner > .btn { display: none; }
            .reading-layout { grid-template-columns: minmax(0, 1fr) 220px; gap: 30px; }
            .article-content { padding: 46px; }
            .footer-grid { grid-template-columns: 1.3fr .8fr .8fr; }
            .reminder-form { grid-column: span 3; }
        }
        @media (max-width: 768px) {
            .container { width: min(var(--container), calc(100% - 40px)); }
            .header-inner { min-height: 68px; }
            .main-nav {
                position: fixed;
                top: 68px;
                right: 0;
                left: 0;
                display: none;
                align-items: stretch;
                gap: 0;
                padding: 14px 20px 22px;
                margin: 0;
                background: var(--paper);
                border-bottom: 1px solid var(--line);
                box-shadow: var(--shadow);
            }
            .main-nav.is-open { display: flex; flex-direction: column; }
            .main-nav a { padding: 13px 0; font-size: 16px; }
            .main-nav a::after { right: auto; bottom: 7px; width: 34px; }
            .menu-toggle { display: block; }
            .article-banner { padding: 51px 0 58px; }
            .article-banner::before { right: -130px; width: 300px; height: 300px; }
            .article-intro h1 { font-size: clamp(32px, 9vw, 52px); }
            .article-summary { font-size: 16px; }
            .reading-layout { grid-template-columns: 1fr; }
            .reading-aside { position: static; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
            .aside-card + .aside-card { margin-top: 0; }
            .article-content { padding: 36px 32px; }
            .signal-section { padding-bottom: 65px; }
            .signal-card { grid-template-columns: 1fr; gap: 17px; padding: 29px; }
            .guide-grid, .related-grid { grid-template-columns: 1fr; gap: 30px; }
            .section { padding: 70px 0; }
            .section-head, .closing-inner { align-items: flex-start; flex-direction: column; }
            .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
            .reminder-form { grid-column: span 2; }
        }
        @media (max-width: 520px) {
            .container { width: min(var(--container), calc(100% - 40px)); }
            .brand-copy span { display: none; }
            .article-banner { padding: 40px 0 48px; }
            .article-intro h1 { margin-top: 12px; font-size: 34px; }
            .article-meta { gap: 9px 14px; }
            .article-content { padding:​26px 20px; border-radius: var(--radius-md); }
            .article-content h2 { font-size: 26px; }
            .article-content h3 { font-size: 20px; }
            .reading-aside { grid-template-columns: 1fr; }
            .signal-card { padding: 25px 22px; }
            .signal-card h2 { font-size: 23px; }
            .step-item { grid-template-columns: 42px 1fr; padding: 19px; }
            .related-card { min-height: 210px; padding: 24px; }
            .closing-panel { padding: 58px 0; }
            .closing-actions { width: 100%; }
            .closing-actions .btn { flex: 1; padding: 0 12px; }
            .footer-grid { grid-template-columns: 1fr; gap: 28px; }
            .reminder-form { grid-column: auto; }
            .form-row { flex-direction: column; }
            .form-row .btn { width: 100%; }
            .footer-bottom { flex-direction: column; gap: 4px; }
        }

/* roulang page: category2 */
:root {
            --ink:#171b18;
            --ink-soft:#303832;
            --lime:#d9f73d;
            --lime-dark:#aecb18;
            --paper:#f7f7f1;
            --warm:#f0eee5;
            --sage:#e4ebe0;
            --orange-wash:#f5e7d7;
            --white:#fff;
            --muted:#6d756e;
            --line:#dfe3da;
            --line-dark:#59635a;
            --radius-sm:10px;
            --radius-md:16px;
            --radius-lg:24px;
            --shadow:0 14px 40px rgba(23,27,24,.08);
            --shadow-hover:0 20px 50px rgba(23,27,24,.14);
            --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",Arial,sans-serif;
            font-size:16px;
            line-height:1.7;
            -webkit-font-smoothing:antialiased
        }
        body.menu-open{overflow:hidden}
        a{color:inherit;text-decoration:none;transition:color var(--ease),background var(--ease),border-color var(--ease),transform var(--ease),box-shadow var(--ease)}
        a:hover{color:var(--lime-dark)}
        img{display:block;max-width:100%}
        button,input,textarea{font:inherit}
        button{cursor:pointer}
        .container{width:min(var(--container),calc(100% - 48px));margin:0 auto}
        .section{padding:104px 0}
        .section--tight{padding:72px 0}
        .eyebrow{
            display:inline-flex;
            align-items:center;
            gap:9px;
            color:var(--muted);
            font-size:12px;
            font-weight:800;
            letter-spacing:.12em;
            text-transform:uppercase
        }
        .eyebrow:before{content:"";width:22px;height:3px;background:var(--lime);border-radius:10px}
        .section-head{
            display:flex;
            align-items:end;
            justify-content:space-between;
            gap:32px;
            margin-bottom:42px
        }
        .section-head h2{
            max-width:680px;
            margin:12px 0 0;
            font-size:clamp(30px,4vw,54px);
            line-height:1.12;
            letter-spacing:-.045em
        }
        .section-head p{max-width:410px;margin:0;color:var(--muted)}
        .text-link{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;font-weight:800}
        .text-link:after{content:"↗";font-size:19px}
        .text-link:hover{color:var(--lime-dark)}
        .site-header{
            position:sticky;
            top:0;
            z-index:20;
            background:rgba(247,247,241,.92);
            border-bottom:1px solid rgba(223,227,218,.9);
            backdrop-filter:blur(18px)
        }
        .header-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
        .brand{display:inline-flex;align-items:center;gap:12px;flex-shrink:0}
        .brand-mark{
            display:grid;
            width:38px;
            height:38px;
            place-items:center;
            color:var(--ink);
            background:var(--lime);
            border-radius:11px;
            font-size:17px;
            font-weight:950;
            letter-spacing:-.08em
        }
        .brand-copy{display:grid;line-height:1.15}
        .brand-copy strong{font-size:18px;letter-spacing:-.03em}
        .brand-copy span{color:var(--muted);font-size:11px;margin-top:3px}
        .main-nav{display:flex;align-items:center;gap:26px;margin-left:auto}
        .main-nav a{position:relative;padding:26px 0 23px;color:var(--ink-soft);font-size:14px;font-weight:700}
        .main-nav a:after{
            content:"";
            position:absolute;
            right:0;
            bottom:15px;
            left:0;
            height:3px;
            background:var(--lime);
            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)}
        .header-action{margin-left:4px}
        .menu-toggle{display:none;border:0;background:transparent;padding:10px}
        .menu-toggle span{display:block;width:23px;height:2px;margin:5px;background:var(--ink)}
        .btn{
            display:inline-flex;
            min-height:48px;
            align-items:center;
            justify-content:center;
            gap:9px;
            padding:0 20px;
            border:1px solid transparent;
            border-radius:8px;
            font-size:14px;
            font-weight:850;
            transition:transform var(--ease),background var(--ease),color var(--ease),box-shadow var(--ease)
        }
        .btn:hover{transform:translateY(-2px);box-shadow:0 9px 18px rgba(23,27,24,.12)}
        .btn:active{transform:translateY(0)}
        .btn:focus-visible,.main-nav a:focus-visible,.text-link:focus-visible,.faq-item summary:focus-visible,input:focus-visible{outline:3px solid rgba(174,203,24,.6);outline-offset:3px}
        .btn--dark{color:var(--lime);background:var(--ink)}
        .btn--dark:hover{color:var(--ink);background:var(--lime)}
        .btn--lime{color:var(--ink);background:var(--lime)}
        .btn--lime:hover{background:#e8ff70}
        .btn--outline{color:var(--ink);border-color:var(--ink);background:transparent}
        .btn--outline:hover{color:var(--lime);background:var(--ink)}
        .page-intro{
            padding:62px 0 70px;
            background:var(--warm);
            border-bottom:1px solid var(--line)
        }
        .breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:13px;margin-bottom:35px}
        .breadcrumbs a:hover{color:var(--ink)}
        .page-intro-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:70px;align-items:end}
        .page-intro h1{max-width:760px;margin:13px 0 20px;font-size:clamp(42px,7vw,82px);line-height:1.03;letter-spacing:-.07em}
        .page-intro-lead{max-width:650px;margin:0;color:var(--ink-soft);font-size:19px}
        .intro-note{padding:25px 0 4px 28px;border-left:4px solid var(--lime)}
        .intro-note strong{display:block;font-size:21px;line-height:1.3;margin-bottom:9px}
        .intro-note span{display:block;color:var(--muted);font-size:14px}
        .summary-strip{background:var(--ink);color:var(--white)}
        .summary-grid{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid rgba(255,255,255,.14)}
        .summary-item{min-height:145px;padding:28px 25px;border-right:1px solid rgba(255,255,255,.14)}
        .summary-item b{display:block;color:var(--lime);font-size:36px;line-height:1;margin-bottom:14px;letter-spacing:-.06em}
        .summary-item span{color:#c7cec7;font-size:14px}
        .download-section{background:var(--sage)}
        .download-layout{display:grid;grid-template-columns:.86fr 1.14fr;gap:64px;align-items:stretch}
        .device-card{
            position:relative;
            min-height:470px;
            overflow:hidden;
            padding:34px;
            color:var(--white);
            background:var(--ink);
            border-radius:var(--radius-lg);
            box-shadow:var(--shadow)
        }
        .device-card:before,.device-card:after{content:"";position:absolute;border:1px solid rgba(217,247,61,.45);border-radius:50%}
        .device-card:before{width:330px;height:330px;right:-120px;top:-80px}
        .device-card:after{width:230px;height:230px;right:-65px;top:-30px}
        .device-label{position:relative;z-index:1;color:var(--lime);font-size:12px;font-weight:800;letter-spacing:.12em}
        .device-title{position:relative;z-index:1;max-width:300px;margin:78px 0 0;font-size:42px;line-height:1.08;letter-spacing:-.06em}
        .device-screen{
            position:absolute;
            right:35px;
            bottom:-75px;
            width:150px;
            height:265px;
            padding:10px;
            background:#303832;
            border:4px solid #59635a;
            border-radius:25px;
            transform:rotate(9deg);
            box-shadow:0 18px 30px rgba(0,0,0,.25)
        }
        .device-screen-inner{height:100%;padding:15px 10px;background:var(--lime);border-radius:16px;color:var(--ink)}
        .screen-top{display:flex;justify-content:space-between;font-size:10px;font-weight:900}
        .screen-block{height:56px;margin-top:22px;background:var(--ink);border-radius:9px}
        .screen-line{width:72%;height:7px;margin-top:15px;background:var(--ink);border-radius:5px}
        .download-panel{display:flex;flex-direction:column;justify-content:center}
        .download-panel h2{margin:12px 0 16px;font-size:clamp(32px,4vw,52px);line-height:1.12;letter-spacing:-.055em}
        .download-panel>p{max-width:570px;color:var(--muted);margin:0 0 27px}
        .download-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:26px}
        .download-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:8px}
        .meta-box{padding:16px;border:1px solid rgba(89,99,90,.3);border-radius:var(--radius-sm);background:rgba(255,255,255,.42)}
        .meta-box small{display:block;color:var(--muted);font-size:12px;margin-bottom:3px}
        .meta-box strong{font-size:15px}
        .qr-row{display:flex;align-items:center;gap:15px;margin-top:25px;color:var(--muted);font-size:13px}
        .qr{
            display:grid;
            width:65px;
            height:65px;
            place-items:center;
            background:repeating-linear-gradient(45deg,var(--ink) 0 3px,var(--white) 3px 6px);
            border:7px solid var(--white);
            border-radius:5px
        }
        .qr:after{content:"下载";display:grid;place-items:center;width:30px;height:30px;color:var(--ink);background:var(--lime);font-size:10px;font-weight:800}
        .content-section{background:var(--paper)}
        .feature-card{
            display:grid;
            grid-template-columns:1fr 1fr;
            gap:0;
            overflow:hidden;
            background:var(--orange-wash);
            border:1px solid var(--line);
            border-radius:var(--radius-lg)
        }
        .feature-copy{padding:45px 48px}
        .feature-copy h2{margin:13px 0 15px;font-size:38px;line-height:1.15;letter-spacing:-.05em}
        .feature-copy p{max-width:550px;color:var(--muted);margin:0 0 24px}
        .feature-visual{position:relative;min-height:315px;background:var(--lime);overflow:hidden}
        .feature-visual:before{content:"NG28";position:absolute;right:-15px;bottom:-42px;color:rgba(23,27,24,.13);font-size:125px;font-weight:950;letter-spacing:-.1em}
        .feature-grid{position:absolute;inset:40px 50px;display:grid;grid-template-columns:1fr 1.35fr;gap:14px;transform:rotate(-5deg)}
        .feature-grid span{display:block;border:2px solid var(--ink);border-radius:12px;background:rgba(255,255,255,.4)}
        .feature-grid span:nth-child(1){height:180px;background:var(--ink)}
        .feature-grid span:nth-child(2){height:120px}
        .feature-grid span:nth-child(3){height:95px}
        .feature-grid span:nth-child(4){height:155px;background:var(--white)}
        .latest-section{background:var(--warm)}
        .latest-list{border-top:1px solid var(--line-dark)}
        .latest-item{
            display:grid;
            grid-template-columns:120px minmax(0,1fr) 150px 32px;
            gap:24px;
            align-items:center;
            padding:25px 0;
            border-bottom:1px solid var(--line)
        }
        .latest-item:hover{padding-left:10px;padding-right:10px;background:rgba(255,255,255,.35)}
        .latest-tag{color:var(--muted);font-size:12px;font-weight:800}
        .latest-title{margin:0;font-size:20px;line-height:1.35}
        .latest-summary{display:block;overflow:hidden;color:var(--muted);font-size:14px;white-space:nowrap;text-overflow:ellipsis}
        .latest-date{color:var(--muted);font-size:13px;text-align:right}
        .latest-arrow{font-size:23px;text-align:right}
        .empty-state{padding:42px 0;color:var(--muted);text-align:center}
        .empty-state strong{display:block;color:var(--ink);font-size:21px;margin-bottom:5px}
        .steps-section{background:var(--paper)}
        .steps-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}
        .steps-intro h2{margin:12px 0 17px;font-size:clamp(32px,4vw,52px);line-height:1.1;letter-spacing:-.055em}
        .steps-intro p{color:var(--muted);max-width:380px}
        .steps-list{border-top:1px solid var(--line-dark)}
        .step{display:grid;grid-template-columns:68px 1fr;gap:22px;padding:24px 0;border-bottom:1px solid var(--line)}
        .step-number{color:var(--lime-dark);font-size:29px;font-weight:900;line-height:1}
        .step h3{margin:0 0 6px;font-size:20px}
        .step p{margin:0;color:var(--muted);font-size:14px}
        .update-section{background:var(--orange-wash)}
        .update-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:28px}
        .update-card,.safety-card{padding:32px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-md)}
        .update-card h3,.safety-card h3{margin:0 0 20px;font-size:25px}
        .update-row{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--line);font-size:14px}
        .update-row:last-child{border-bottom:0}
        .update-row span{color:var(--muted)}
        .safety-card{background:var(--ink);color:var(--white)}
        .safety-card p{color:#c7cec7;font-size:14px}
        .safety-points{display:grid;gap:13px;margin-top:22px}
        .safety-points div{display:flex;gap:12px;align-items:flex-start;color:#e6ebe5;font-size:14px}
        .safety-points i{display:block;width:9px;height:9px;flex:0 0 9px;margin-top:8px;background:var(--lime);border-radius:50%}
        .faq-section{background:var(--sage)}
        .faq-list{max-width:900px;margin:0 auto;border-top:1px solid var(--line-dark)}
        .faq-item{border-bottom:1px solid var(--line-dark)}
        .faq-item summary{display:flex;justify-content:space-between;gap:20px;padding:22px 0;list-style:none;font-size:18px;font-weight:800;cursor:pointer}
        .faq-item summary::-webkit-details-marker{display:none}
        .faq-item summary:after{content:"+";color:var(--lime-dark);font-size:25px;font-weight:400;line-height:1}
        .faq-item[open] summary:after{content:"−"}
        .faq-answer{max-width:760px;padding:0 50px 24px 0;color:var(--muted);font-size:15px}
        .cta-section{padding:75px 0;background:var(--ink);color:var(--white)}
        .cta-inner{display:flex;align-items:center;justify-content:space-between;gap:35px}
        .cta-inner h2{max-width:650px;margin:12px 0 0;color:var(--white);font-size:clamp(30px,4vw,52px);line-height:1.1;letter-spacing:-.055em}
        .cta-inner p{max-width:560px;color:#c7cec7;margin:17px 0 0}
        .cta-actions{display:flex;flex-wrap:wrap;gap:12px;flex-shrink:0}
        .site-footer{padding:70px 0 24px;background:#111512;color:var(--white)}
        .footer-grid{display:grid;grid-template-columns:1.35fr .75fr .85fr 1.25fr;gap:40px;padding-bottom:58px}
        .footer-brand .brand-copy span{color:#aeb7ad}
        .footer-brand p{max-width:280px;color:#aeb7ad;font-size:14px;margin:22px 0 0}
        .footer-col{display:flex;flex-direction:column;gap:9px}
        .footer-col h3{margin:0 0 11px;color:var(--lime);font-size:14px}
        .footer-col a{width:max-content;color:#c5ccc4;font-size:14px}
        .footer-col a:hover{color:var(--lime)}
        .reminder-form label{color:#c5ccc4;font-size:14px;margin-bottom:10px}
        .form-row{display:flex;gap:8px}
        .form-row input{min-width:0;width:100%;height:46px;padding:0 13px;color:var(--white);background:#262d27;border:1px solid #424b42;border-radius:7px}
        .form-row input::placeholder{color:#8d978e}
        .form-tip{color:#879188;font-size:12px;line-height:1.6;margin:11px 0 0}
        .footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:20px;border-top:1px solid #343b35;color:#879188;font-size:12px}
        @media (max-width:1024px){
            .main-nav{gap:16px}
            .main-nav a{font-size:13px}
            .download-layout,.steps-layout{gap:35px}
            .footer-grid{grid-template-columns:1fr 1fr}
        }
        @media (max-width:768px){
            .container{width:min(var(--container),calc(100% - 40px))}
            .section{padding:72px 0}
            .section--tight{padding:52px 0}
            .header-inner{min-height:68px}
            .header-action{display:none}
            .menu-toggle{display:block}
            .main-nav{
                position:fixed;
                top:68px;
                right:0;
                left:0;
                display:none;
                flex-direction:column;
                align-items:stretch;
                gap:0;
                margin:0;
                padding:10px 20px 22px;
                background:var(--paper);
                border-bottom:1px solid var(--line);
                box-shadow:var(--shadow)
            }
            .main-nav.is-open{display:flex}
            .main-nav a{padding:14px 4px}
            .main-nav a:after{bottom:7px}
            .page-intro{padding:42px 0 52px}
            .page-intro-grid,.download-layout,.feature-card,.steps-layout,.update-layout{grid-template-columns:1fr}
            .page-intro-grid{gap:30px}
            .page-intro h1{font-size:clamp(44px,13vw,70px)}
            .intro-note{padding:20px 0 2px 20px}
            .summary-grid{grid-template-columns:1fr 1fr}
            .summary-item{min-height:120px;padding:22px 18px}
            .summary-item b{font-size:29px}
            .device-card{min-height:385px}
            .device-title{margin-top:58px;font-size:37px}
            .feature-copy{padding:32px 27px}
            .feature-copy h2{font-size:32px}
            .feature-visual{min-height:240px}
            .latest-item{grid-template-columns:90px minmax(0,1fr) 25px;gap:14px}
            .latest-date{grid-column:2;text-align:left}
            .latest-arrow{grid-column:3;grid-row:1 / span 2}
            .steps-layout{gap:35px}
            .cta-inner{display:block}
            .cta-actions{margin-top:25px}
        }
        @media (max-width:520px){
            .container{width:calc(100% - 40px)}
            .brand-copy span{font-size:10px}
            .section-head{display:block;margin-bottom:30px}
            .section-head p{margin-top:15px}
            .summary-grid{grid-template-columns:1fr 1fr}
            .summary-item{padding:18px 14px}
            .summary-item b{font-size:25px}
            .summary-item span{font-size:12px}
            .device-card{min-height:350px;padding:25px}
            .device-screen{right:20px;width:125px;height:225px}
            .device-title{max-width:220px;font-size:32px}
            .download-meta{grid-template-columns:1fr}
            .qr-row{align-items:flex-start}
            .latest-item{grid-template-columns:1fr 24px;gap:8px;padding:20px 0}
            .latest-tag,.latest-title,.latest-summary,.latest-date{grid-column:1}
            .latest-date{grid-row:auto}
            .latest-arrow{grid-column:2;grid-row:1 / span 4}
            .latest-title{font-size:18px}
            .latest-summary{white-space:normal}
            .faq-item summary{font-size:16px}
            .faq-answer{padding-right:0}
            .footer-grid{grid-template-columns:1fr;gap:30px}
            .footer-bottom{display:block}
            .footer-bottom span{display:block;margin-top:6px}
        }

/* roulang page: category1 */
:root{--ink:#171b18;--ink-soft:#303832;--lime:#d9f73d;--lime-dark:#aecb18;--paper:#f7f7f1;--warm:#f0eee5;--sage:#e4ebe0;--orange-wash:#f5e7d7;--white:#fff;--muted:#6d756e;--line:#dfe3da;--line-dark:#59635a;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--shadow:0 14px 40px rgba(23,27,24,.08);--shadow-hover:0 20px 50px rgba(23,27,24,.14);--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",Arial,sans-serif;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none;transition:color var(--ease),background var(--ease),border-color var(--ease),transform var(--ease),box-shadow var(--ease)}img{display:block;max-width:100%}button,input,textarea{font:inherit}button{cursor:pointer}.container{width:min(var(--container),calc(100% - 48px));margin:0 auto}.section{padding:100px 0}.section--tight{padding:70px 0}.eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.eyebrow:before{content:"";width:22px;height:3px;background:var(--lime);border-radius:10px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:40px}.section-head h2{max-width:680px;margin:12px 0 0;font-size:clamp(30px,4vw,52px);line-height:1.12;letter-spacing:-.045em}.section-head p{max-width:400px;margin:0;color:var(--muted)}.text-link{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;font-weight:800}.text-link:after{content:"↗";font-size:19px}.text-link:hover{color:var(--lime-dark)}.site-header{position:sticky;top:0;z-index:20;background:rgba(247,247,241,.92);border-bottom:1px solid rgba(223,227,218,.9);backdrop-filter:blur(18px)}.header-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:12px;flex-shrink:0}.brand-mark{display:grid;width:38px;height:38px;place-items:center;color:var(--ink);background:var(--lime);border-radius:11px;font-size:17px;font-weight:950;letter-spacing:-.08em}.brand-copy{display:grid;line-height:1.15}.brand-copy strong{font-size:18px;letter-spacing:-.03em}.brand-copy span{color:var(--muted);font-size:11px;margin-top:3px}.main-nav{display:flex;align-items:center;gap:26px;margin-left:auto}.main-nav a{position:relative;padding:26px 0 23px;color:var(--ink-soft);font-size:14px;font-weight:700}.main-nav a:after{content:"";position:absolute;right:0;bottom:15px;left:0;height:3px;background:var(--lime);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)}.menu-toggle{display:none;border:0;background:transparent;padding:10px}.menu-toggle span{display:block;width:23px;height:2px;margin:5px;background:var(--ink)}.header-action{margin-left:4px}.btn{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:9px;padding:0 20px;border:1px solid transparent;border-radius:8px;font-size:14px;font-weight:850;transition:transform var(--ease),background var(--ease),color var(--ease),box-shadow var(--ease)}.btn:hover{transform:translateY(-2px);box-shadow:0 9px 18px rgba(23,27,24,.12)}.btn:active{transform:translateY(0)}.btn:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--lime-dark);outline-offset:3px}.btn--dark{color:var(--lime);background:var(--ink)}.btn--dark:hover{color:var(--ink);background:var(--lime)}.btn--lime{color:var(--ink);background:var(--lime)}.btn--lime:hover{background:#e8ff70}.btn--outline{color:var(--ink);border-color:var(--ink);background:transparent}.btn--outline:hover{color:var(--lime);background:var(--ink)}
        .page-intro{padding:76px 0 82px;background:var(--warm);border-bottom:1px solid var(--line)}.breadcrumb{display:flex;gap:10px;align-items:center;margin-bottom:30px;color:var(--muted);font-size:13px}.breadcrumb span{color:var(--ink)}.page-intro-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:70px;align-items:end}.page-intro h1{max-width:760px;margin:0;font-size:clamp(42px,7vw,86px);line-height:1.02;letter-spacing:-.07em}.page-intro h1 em{font-style:normal;color:var(--lime-dark)}.intro-note{padding:22px 0 5px;border-top:1px solid var(--line-dark);color:var(--ink-soft);font-size:17px}.metric-strip{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line);background:var(--paper)}.metric{padding:25px 28px;border-right:1px solid var(--line)}.metric:last-child{border-right:0}.metric b{display:block;font-size:27px;line-height:1.1}.metric span{display:block;margin-top:6px;color:var(--muted);font-size:13px}.feature{display:grid;grid-template-columns:1.1fr .9fr;gap:0;overflow:hidden;border-radius:var(--radius-lg);background:var(--ink);color:var(--white);box-shadow:var(--shadow)}.feature-copy{padding:52px}.feature-copy .eyebrow{color:#bfc9be}.feature-copy h2{margin:16px 0 18px;font-size:clamp(28px,4vw,48px);line-height:1.15;letter-spacing:-.05em}.feature-copy p{max-width:560px;color:#cbd3ca}.feature-visual{position:relative;min-height:300px;background:var(--lime);overflow:hidden}.feature-visual:before,.feature-visual:after{content:"";position:absolute;border:1px solid rgba(23,27,24,.3);border-radius:50%}.feature-visual:before{width:390px;height:390px;top:-60px;right:-80px}.feature-visual:after{width:230px;height:230px;left:35px;bottom:-100px}.visual-word{position:absolute;left:38px;bottom:35px;color:var(--ink);font-size:clamp(32px,5vw,65px);font-weight:950;letter-spacing:-.08em}.news-area{background:var(--paper)}.news-list{border-top:1px solid var(--ink)}.news-item{display:grid;grid-template-columns:100px 150px minmax(0,1fr) 110px;gap:22px;align-items:center;padding:25px 0;border-bottom:1px solid var(--line)}.news-item:hover{padding-left:12px;background:rgba(228,235,224,.45)}.news-date,.news-type{color:var(--muted);font-size:13px}.news-type{font-weight:800;color:var(--lime-dark)}.news-item h3{margin:0 0 4px;font-size:20px;line-height:1.35}.news-item p{margin:0;color:var(--muted);font-size:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.empty-state{padding:34px;border:1px dashed var(--line-dark);border-radius:var(--radius-md);color:var(--muted);text-align:center}.support-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.support-card{padding:32px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--white)}.support-card:first-child{background:var(--sage)}.support-card h3{margin:0 0 10px;font-size:24px}.support-card p{margin:0;color:var(--muted)}.timeline{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.timeline:before{content:"";position:absolute;top:17px;right:12%;left:12%;height:1px;background:var(--line-dark)}.timeline-step{position:relative}.timeline-dot{position:relative;z-index:1;width:35px;height:35px;display:grid;place-items:center;background:var(--lime);border:7px solid var(--paper);border-radius:50%;font-size:11px;font-weight:900}.timeline-step h3{margin:22px 0 8px;font-size:20px}.timeline-step p{margin:0;color:var(--muted);font-size:14px}.faq-wrap{max-width:860px}.faq-item{border-top:1px solid var(--line)}.faq-item:last-child{border-bottom:1px solid var(--line)}.faq-item summary{padding:21px 0;cursor:pointer;list-style:none;font-size:18px;font-weight:800}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";float:right;color:var(--lime-dark);font-size:25px;font-weight:400}.faq-item[open] summary:after{content:"−"}.faq-answer{padding:0 42px 23px 0;color:var(--muted);font-size:15px}.cta-band{padding:58px 0;background:var(--ink);color:var(--white)}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:35px}.cta-inner h2{margin:0;font-size:clamp(28px,4vw,48px);line-height:1.15;letter-spacing:-.05em}.cta-inner p{margin:10px 0 0;color:#cbd3ca}.cta-actions{display:flex;gap:12px;flex-shrink:0}.site-footer{padding:68px 0 25px;background:var(--ink);color:var(--white);border-top:1px solid #303832}.footer-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr 1.25fr;gap:42px;padding-bottom:56px}.footer-brand p{max-width:280px;margin:20px 0 0;color:#aeb8ad;font-size:14px}.footer-col{display:flex;flex-direction:column;gap:9px}.footer-col h3{margin:0 0 10px;color:var(--lime);font-size:14px}.footer-col a{color:#cbd3ca;font-size:14px}.footer-col a:hover{color:var(--lime)}.reminder-form label{margin-bottom:8px;color:#cbd3ca;font-size:13px}.form-row{display:flex;gap:8px}.form-row input{min-width:0;width:100%;height:48px;padding:0 13px;border:1px solid #59635a;border-radius:8px;color:var(--white);background:#252c27}.form-row input::placeholder{color:#899489}.form-tip{margin:10px 0 0;color:#899489;font-size:12px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:20px;border-top:1px solid #3b443d;color:#899489;font-size:12px}
        @media(max-width:1024px){.main-nav{gap:15px}.header-action{display:none}.hero-grid,.feature{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.page-intro-grid{gap:35px}}
        @media(max-width:768px){.container{width:min(var(--container),calc(100% - 40px))}.section{padding:72px 0}.section-head{display:block;margin-bottom:28px}.section-head p{margin-top:14px}.main-nav{display:none;position:absolute;top:78px;right:20px;left:20px;padding:12px 20px;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow)}.main-nav.open{display:flex}.main-nav a{padding:13px 0}.main-nav a:after{bottom:7px}.menu-toggle{display:block}.header-inner{min-height:70px}.page-intro{padding:55px 0 60px}.page-intro-grid,.feature{grid-template-columns:1fr}.intro-note{margin-top:30px}.feature-visual{min-height:220px}.feature-copy{padding:34px 28px}.news-item{grid-template-columns:78px 1fr;gap:5px 15px}.news-item h3{grid-column:2;grid-row:1}.news-item p{grid-column:2}.news-item .text-link{grid-column:2}.news-type{grid-column:1;grid-row:1}.news-date{grid-column:1;grid-row:2}.support-grid,.timeline{grid-template-columns:1fr}.timeline:before{top:16px;bottom:35px;left:17px;width:1px;height:auto}.timeline-step{padding-left:58px}.timeline-step h3{margin-top:-34px;padding-top:0;margin-bottom:8px}.timeline-dot{margin-left:-58px}.cta-inner{display:block}.cta-actions{margin-top:25px}.footer-grid{grid-template-columns:1fr 1fr;gap:32px}.footer-brand,.reminder-form{grid-column:1/-1}}
        @media(max-width:480px){.container{width:calc(100% - 40px)}.page-intro h1{font-size:49px}.metric-strip{grid-template-columns:1fr}.metric{border-right:0;border-bottom:1px solid var(--line)}.metric:last-child{border-bottom:0}.news-item{display:block;padding:22px 0}.news-item h3{margin:8px 0}.news-item p{margin-bottom:12px}.news-item .text-link{font-size:14px}.footer-grid{grid-template-columns:1fr}.footer-brand,.reminder-form{grid-column:auto}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:6px}.cta-actions{display:grid;grid-template-columns:1fr}.form-row{display:grid;grid-template-columns:1fr}.form-row .btn{width:100%}}

/* roulang page: category3 */
:root {
            --ink:#171b18;
            --ink-soft:#303832;
            --lime:#d9f73d;
            --lime-dark:#aecb18;
            --paper:#f7f7f1;
            --warm:#f0eee5;
            --sage:#e4ebe0;
            --orange-wash:#f5e7d7;
            --white:#fff;
            --muted:#6d756e;
            --line:#dfe3da;
            --line-dark:#59635a;
            --radius-sm:10px;
            --radius-md:16px;
            --radius-lg:24px;
            --shadow:0 14px 40px rgba(23,27,24,.08);
            --shadow-hover:0 20px 50px rgba(23,27,24,.14);
            --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",Arial,sans-serif;
            font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased
        }
        body.menu-open{overflow:hidden}
        a{color:inherit;text-decoration:none;transition:color var(--ease),background var(--ease),border-color var(--ease),transform var(--ease),box-shadow var(--ease)}
        a:hover{color:var(--lime-dark)}
        img{display:block;max-width:100%}
        button,input,textarea{font:inherit}
        button{cursor:pointer}
        .container{width:min(var(--container),calc(100% - 48px));margin:0 auto}
        .section{padding:104px 0}
        .section--tight{padding:72px 0}
        .eyebrow{
            display:inline-flex;align-items:center;gap:9px;color:var(--muted);
            font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase
        }
        .eyebrow::before{content:"";width:22px;height:3px;background:var(--lime);border-radius:10px}
        .section-head{
            display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:42px
        }
        .section-head h2{max-width:680px;margin:12px 0 0;font-size:clamp(30px,4vw,54px);line-height:1.12;letter-spacing:-.045em}
        .section-head p{max-width:420px;margin:0;color:var(--muted)}
        .text-link{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;font-weight:800}
        .text-link::after{content:"↗";font-size:19px}
        .text-link:hover{color:var(--lime-dark)}
        .site-header{
            position:sticky;top:0;z-index:20;background:rgba(247,247,241,.92);
            border-bottom:1px solid rgba(223,227,218,.9);backdrop-filter:blur(18px)
        }
        .header-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
        .brand{display:inline-flex;align-items:center;gap:12px;flex-shrink:0}
        .brand-mark{
            display:grid;width:38px;height:38px;place-items:center;color:var(--ink);
            background:var(--lime);border-radius:11px;font-size:17px;font-weight:950;letter-spacing:-.08em
        }
        .brand-copy{display:grid;line-height:1.15}
        .brand-copy strong{font-size:18px;letter-spacing:-.03em}
        .brand-copy span{color:var(--muted);font-size:11px;margin-top:3px}
        .main-nav{display:flex;align-items:center;gap:26px;margin-left:auto}
        .main-nav a{
            position:relative;padding:26px 0 23px;color:var(--ink-soft);
            font-size:14px;font-weight:700
        }
        .main-nav a::after{
            content:"";position:absolute;right:0;bottom:15px;left:0;height:3px;
            background:var(--lime);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)}
        .menu-toggle{display:none;border:0;background:transparent;padding:10px}
        .menu-toggle span{display:block;width:23px;height:2px;margin:5px;background:var(--ink)}
        .btn{
            display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:9px;
            padding:0 20px;border:1px solid transparent;border-radius:8px;font-size:14px;font-weight:850;
            transition:transform var(--ease),background var(--ease),color var(--ease),box-shadow var(--ease)
        }
        .btn:hover{transform:translateY(-2px);box-shadow:0 9px 18px rgba(23,27,24,.12)}
        .btn:active{transform:translateY(0)}
        .btn:focus-visible,.main-nav a:focus-visible,.text-link:focus-visible{outline:3px solid var(--lime-dark);outline-offset:4px}
        .btn--dark{color:var(--lime);background:var(--ink)}
        .btn--dark:hover{color:var(--ink);background:var(--lime)}
        .btn--lime{color:var(--ink);background:var(--lime)}
        .btn--lime:hover{background:#e8ff70}
        .btn--outline{color:var(--ink);border-color:var(--ink);background:transparent}
        .btn--outline:hover{color:var(--lime);background:var(--ink)}
        .page-intro{padding:82px 0 76px;background:var(--warm);border-bottom:1px solid var(--line)}
        .breadcrumb{display:flex;align-items:center;gap:10px;margin-bottom:28px;color:var(--muted);font-size:13px}
        .breadcrumb span{color:var(--ink)}
        .intro-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:72px;align-items:end}
        .page-intro h1{max-width:760px;margin:14px 0 20px;font-size:clamp(42px,6vw,78px);line-height:1.04;letter-spacing:-.065em}
        .page-intro .lead{max-width:700px;margin:0;color:var(--ink-soft);font-size:19px}
        .intro-note{padding:24px;border-left:4px solid var(--lime);background:rgba(255,255,255,.55)}
        .intro-note strong{display:block;margin-bottom:8px;font-size:23px}
        .intro-note p{margin:0;color:var(--muted);font-size:14px}
        .guide-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
        .guide-stat{min-height:142px;padding:24px;background:var(--paper)}
        .guide-stat b{display:block;font-size:42px;line-height:1;color:var(--ink);letter-spacing:-.05em}
        .guide-stat span{display:block;margin-top:14px;color:var(--muted);font-size:13px}
        .guide-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:28px}
        .guide-feature{min-height:330px;padding:38px;background:var(--ink);color:var(--white);border-radius:var(--radius-lg);position:relative;overflow:hidden}
        .guide-feature::after{content:"NG28";position:absolute;right:-18px;bottom:-45px;color:rgba(217,247,61,.12);font-size:150px;font-weight:950;letter-spacing:-.1em}
        .guide-feature h2{position:relative;z-index:1;max-width:530px;margin:18px 0 18px;font-size:clamp(30px,4vw,48px);line-height:1.12;letter-spacing:-.05em}
        .guide-feature p{position:relative;z-index:1;max-width:500px;color:#cbd2c8;margin:0 0 28px}
        .guide-feature .eyebrow{color:#cbd2c8}
        .guide-feature .btn{position:relative;z-index:1}
        .guide-side{display:grid;grid-template-rows:1fr 1fr;gap:16px}
        .mini-card{padding:28px;background:var(--sage);border-radius:var(--radius-md);border:1px solid var(--line)}
        .mini-card:nth-child(2){background:var(--orange-wash)}
        .mini-card .mini-num{font-size:13px;font-weight:900;color:var(--muted)}
        .mini-card h3{margin:10px 0 8px;font-size:23px;letter-spacing:-.03em}
        .mini-card p{margin:0;color:var(--muted);font-size:14px}
        .section--guide{background:var(--paper)}
        .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
        .step{position:relative;padding:28px 24px 32px;border-right:1px solid var(--line)}
        .step:last-child{border-right:0}
        .step-number{display:flex;align-items:center;justify-content:space-between;color:var(--lime-dark);font-size:13px;font-weight:900}
        .step-number::after{content:"↗";font-size:22px;color:var(--ink)}
        .step h3{margin:36px 0 9px;font-size:21px}
        .step p{margin:0;color:var(--muted);font-size:14px}
        .content-section{background:var(--sage)}
        .content-list{display:grid;gap:14px}
        .content-item{
            display:grid;grid-template-columns:90px 1fr auto;gap:26px;align-items:center;
            padding:22px 24px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-md)
        }
        .content-item:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover);border-color:var(--lime-dark)}
        .content-icon{width:74px;height:74px;display:grid;place-items:center;background:var(--warm);border-radius:14px;font-size:25px;font-weight:950}
        .content-meta{display:flex;align-items:center;gap:12px;margin-bottom:5px;color:var(--muted);font-size:12px}
        .tag{display:inline-flex;padding:4px 9px;color:var(--ink);background:var(--lime);border-radius:5px;font-size:11px;font-weight:900}
        .content-item h3{margin:0 0 6px;font-size:20px;line-height:1.35}
        .content-item p{margin:0;color:var(--muted);font-size:14px}
        .content-arrow{font-size:24px;color:var(--ink)}
        .empty-state{padding:48px;text-align:center;color:var(--muted);border:1px dashed var(--line-dark);border-radius:var(--radius-md);background:rgba(255,255,255,.45)}
        .empty-state strong{display:block;margin-bottom:6px;color:var(--ink);font-size:20px}
        .comparison{display:grid;grid-template-columns:1fr 1fr;gap:18px}
        .compare-card{padding:30px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--white)}
        .compare-card.dark{background:var(--ink);color:var(--white);border-color:var(--ink)}
        .compare-card h3{margin:0 0 20px;font-size:24px}
        .compare-card ul{padding:0;margin:0;list-style:none}
        .compare-card li{display:flex;gap:12px;padding:11px 0;border-top:1px solid var(--line)}
        .compare-card.dark li{border-color:#3b443d;color:#d8dfd5}
        .compare-card li::before{content:"＋";color:var(--lime-dark);font-weight:900}
        .faq-wrap{max-width:880px;margin:0 auto}
        .faq-item{border-top:1px solid var(--line)}
        .faq-item:last-child{border-bottom:1px solid var(--line)}
        .faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;cursor:pointer;font-weight:850;list-style:none}
        .faq-item summary::-webkit-details-marker{display:none}
        .faq-item summary::after{content:"＋";font-size:24px;font-weight:400}
        .faq-item[open] summary::after{content:"－"}
        .faq-answer{max-width:760px;padding:0 45px 24px 0;color:var(--muted);font-size:15px}
        .more-area{display:flex;justify-content:center;margin-top:34px}
        .closing{padding:72px 0;background:var(--ink);color:var(--white)}
        .closing-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}
        .closing h2{max-width:650px;margin:0;font-size:clamp(30px,4vw,50px);line-height:1.12;letter-spacing:-.05em}
        .closing p{margin:12px 0 0;color:#cbd2c8}
        .closing-actions{display:flex;gap:12px;flex-shrink:0}
        .site-footer{padding:68px 0 24px;background:var(--ink);color:var(--white);border-top:1px solid #343c35}
        .footer-grid{display:grid;grid-template-columns:1.3fr .8fr .8fr 1.2fr;gap:38px;padding-bottom:52px}
        .footer-brand .brand-copy span{color:#adb6ab}
        .footer-brand p{max-width:280px;margin:20px 0 0;color:#adb6ab;font-size:14px}
        .footer-col{display:flex;flex-direction:column;gap:9px}
        .footer-col h3{margin:0 0 12px;color:var(--lime);font-size:14px}
        .footer-col a{color:#d9ded8;font-size:14px}
        .footer-col a:hover{color:var(--lime)}
        .reminder-form label{display:block;margin-bottom:10px;color:#d9ded8;font-size:14px}
        .form-row{display:flex;gap:8px}
        .form-row input{min-width:0;width:100%;height:48px;padding:0 13px;color:var(--white);background:#29312b;border:1px solid #4a554b;border-radius:8px;outline:0}
        .form-row input:focus{border-color:var(--lime);box-shadow:0 0 0 3px rgba(217,247,61,.15)}
        .form-tip{margin:10px 0 0;color:#879287;font-size:12px}
        .footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:20px;color:#879287;border-top:1px solid #3c463d;font-size:12px}
        @media (max-width:1024px){
            .main-nav{gap:16px}.header-inner>.btn{display:none}
            .intro-grid,.guide-layout{grid-template-columns:1fr;gap:34px}
            .steps{grid-template-columns:repeat(2,1fr)}
            .step:nth-child(2){border-right:0}.step:nth-child(-n+2){border-bottom:1px solid var(--line)}
            .footer-grid{grid-template-columns:repeat(2,1fr)}
        }
        @media (max-width:768px){
            .container{width:min(var(--container),calc(100% - 40px))}
            .section{padding:72px 0}.section--tight{padding:54px 0}
            .header-inner{min-height:68px}
            .main-nav{
                display:none;position:absolute;top:68px;right:0;left:0;padding:12px 20px 22px;
                flex-direction:column;align-items:stretch;gap:0;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:var(--shadow)
            }
            .main-nav.is-open{display:flex}
            .main-nav a{padding:14px 0;border-bottom:1px solid var(--line)}
            .main-nav a::after{bottom:0}
            .menu-toggle{display:block}
            .page-intro{padding:58px 0 54px}
            .page-intro h1{font-size:clamp(40px,12vw,64px)}
            .section-head{display:block;margin-bottom:28px}.section-head p{margin-top:16px}
            .guide-stats{grid-template-columns:1fr}
            .guide-stat{min-height:auto}
            .content-item{grid-template-columns:62px 1fr;gap:16px;padding:18px}
            .content-icon{width:62px;height:62px;font-size:21px}
            .content-arrow{display:none}
            .comparison{grid-template-columns:1fr}
            .closing-inner{display:block}.closing-actions{margin-top:26px;flex-wrap:wrap}
        }
        @media (max-width:480px){
            .container{width:calc(100% - 40px)}
            .brand-copy span{font-size:10px}
            .steps{grid-template-columns:1fr}
            .step{border-right:0!important;border-bottom:1px solid var(--line)}
            .step:last-child{border-bottom:0}
            .guide-feature{padding:28px 24px}
            .guide-feature::after{font-size:100px}
            .content-item h3{font-size:17px}
            .content-item p{font-size:13px}
            .footer-grid{grid-template-columns:1fr;gap:30px}
            .footer-bottom{display:block}.footer-bottom span{display:block;margin-top:6px}
            .form-row{display:grid;grid-template-columns:1fr auto}
            .faq-answer{padding-right:0}
        }

/* roulang page: category4 */
:root {
            --ink: #171b18;
            --ink-soft: #303832;
            --lime: #d9f73d;
            --lime-dark: #aecb18;
            --paper: #f7f7f1;
            --warm: #f0eee5;
            --sage: #e4ebe0;
            --orange-wash: #f5e7d7;
            --white: #ffffff;
            --muted: #6d756e;
            --line: #dfe3da;
            --line-dark: #59635a;
            --radius-sm: 10px;
            --radius-md: 16px;
            --radius-lg: 24px;
            --shadow: 0 14px 40px rgba(23, 27, 24, .08);
            --shadow-hover: 0 20px 50px rgba(23, 27, 24, .14);
            --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", Arial, sans-serif;
            font-size: 16px;
            line-height: 1.7;
            -webkit-font-smoothing: antialiased;
        }
        body.menu-open { overflow: hidden; }
        a {
            color: inherit;
            text-decoration: none;
            transition: color var(--ease), background var(--ease), border-color var(--ease), transform var(--ease), box-shadow var(--ease);
        }
        a:hover { color: var(--lime-dark); }
        img { display: block; max-width: 100%; }
        button, input, textarea { font: inherit; }
        button { cursor: pointer; }
        .container { width: min(var(--container), calc(100% - 48px)); margin: 0 auto; }
        .section { padding: 104px 0; }
        .section--tight { padding: 72px 0; }
        .eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 9px;
            color: var(--muted);
            font-size: 12px;
            font-weight: 800;
            letter-spacing: .12em;
            text-transform: uppercase;
        }
        .eyebrow::before {
            content: "";
            width: 22px;
            height: 3px;
            background: var(--lime);
            border-radius: 10px;
        }
        .section-head {
            display: flex;
            align-items: end;
            justify-content: space-between;
            gap: 32px;
            margin-bottom: 42px;
        }
        .section-head h2 {
            max-width: 680px;
            margin: 12px 0 0;
            font-size: clamp(30px, 4vw, 54px);
            line-height: 1.12;
            letter-spacing: -.045em;
        }
        .section-head p { max-width: 420px; margin: 0; color: var(--muted); }
        .text-link {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            white-space: nowrap;
            font-weight: 800;
        }
        .text-link::after { content: "↗"; font-size: 19px; }
        .text-link:hover { color: var(--lime-dark); }

        .site-header {
            position: sticky;
            top: 0;
            z-index: 20;
            background: rgba(247, 247, 241, .92);
            border-bottom: 1px solid rgba(223, 227, 218, .9);
            backdrop-filter: blur(18px);
        }
        .header-inner {
            min-height: 78px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 24px;
        }
        .brand {
            display: inline-flex;
            align-items: center;
            gap: 12px;
            flex-shrink: 0;
        }
        .brand-mark {
            display: grid;
            width: 38px;
            height: 38px;
            place-items: center;
            color: var(--ink);
            background: var(--lime);
            border-radius: 11px;
            font-size: 17px;
            font-weight: 950;
            letter-spacing: -.08em;
        }
        .brand-copy { display: grid; line-height: 1.15; }
        .brand-copy strong { font-size: 18px; letter-spacing: -.03em; }
        .brand-copy span { color: var(--muted); font-size: 11px; margin-top: 3px; }
        .main-nav { display: flex; align-items: center; gap: 26px; margin-left: auto; }
        .main-nav a {
            position: relative;
            padding: 26px 0 23px;
            color: var(--ink-soft);
            font-size: 14px;
            font-weight: 700;
        }
        .main-nav a::after {
            content: "";
            position: absolute;
            right: 0;
            bottom: 15px;
            left: 0;
            height: 3px;
            background: var(--lime);
            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); }
        .menu-toggle {
            display: none;
            border: 0;
            background: transparent;
            padding: 10px;
        }
        .menu-toggle span {
            display: block;
            width: 23px;
            height: 2px;
            margin: 5px;
            background: var(--ink);
        }
        .btn {
            display: inline-flex;
            min-height: 48px;
            align-items: center;
            justify-content: center;
            gap: 9px;
            padding: 0 20px;
            border: 1px solid transparent;
            border-radius: 8px;
            font-size: 14px;
            font-weight: 850;
            transition: transform var(--ease), background var(--ease), color var(--ease), box-shadow var(--ease);
        }
        .btn:hover { transform: translateY(-2px); box-shadow: 0 9px 18px rgba(23, 27, 24, .12); }
        .btn:active { transform: translateY(0); }
        .btn:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, summary:focus-visible {
            outline: 3px solid rgba(174, 203, 24, .7);
            outline-offset: 3px;
        }
        .btn--dark { color: var(--lime); background: var(--ink); }
        .btn--dark:hover { color: var(--ink); background: var(--lime); }
        .btn--lime { color: var(--ink); background: var(--lime); }
        .btn--lime:hover { background: #e8ff70; }
        .btn--outline { color: var(--ink); border-color: var(--ink); background: transparent; }
        .btn--outline:hover { color: var(--lime); background: var(--ink); }

        .page-intro {
            padding: 78px 0 72px;
            background: var(--warm);
            border-bottom: 1px solid var(--line);
        }
        .breadcrumb {
            display: flex;
            flex-wrap: wrap;
            gap: 9px;
            align-items: center;
            margin-bottom: 30px;
            color: var(--muted);
            font-size: 13px;
        }
        .breadcrumb a:hover { color: var(--ink); }
        .breadcrumb .current { color: var(--ink-soft); font-weight: 700; }
        .intro-grid {
            display: grid;
            grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
            gap: 70px;
            align-items: end;
        }
        .page-intro h1 {
            max-width: 760px;
            margin: 0 0 20px;
            font-size: clamp(42px, 7vw, 86px);
            line-height: .98;
            letter-spacing: -.075em;
        }
        .intro-lead {
            max-width: 680px;
            margin: 0;
            color: var(--ink-soft);
            font-size: 19px;
        }
        .intro-note {
            padding: 24px;
            background: var(--sage);
            border-left: 4px solid var(--lime-dark);
            border-radius: var(--radius-md);
        }
        .intro-note strong { display: block; margin-bottom: 6px; font-size: 18px; }
        .intro-note p { margin: 0; color: var(--ink-soft); font-size: 14px; }

        .stats-strip {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            border-bottom: 1px solid var(--line);
            background: var(--paper);
        }
        .stat {
            min-height: 132px;
            padding: 27px 26px;
            border-right: 1px solid var(--line);
        }
        .stat:last-child { border-right: 0; }
        .stat-number {
            display: block;
            margin-bottom: 3px;
            color: var(--ink);
            font-size: 34px;
            font-weight: 900;
            letter-spacing: -.06em;
        }
        .stat-label { color: var(--muted); font-size: 13px; }

        .feature-section { background: var(--sage); }
        .feature-card {
            display: grid;
            grid-template-columns: .92fr 1.08fr;
            min-height: 360px;
            overflow: hidden;
            background: var(--ink);
            color: var(--white);
            border-radius: var(--radius-lg);
            box-shadow: var(--shadow);
        }
        .feature-copy { padding: 50px; }
        .feature-copy .eyebrow { color: #bfc9bf; }
        .feature-copy h2 {
            max-width: 560px;
            margin: 18px 0 18px;
            color: var(--white);
            font-size: clamp(30px, 4vw, 52px);
            line-height: 1.08;
            letter-spacing: -.055em;
        }
        .feature-copy p { max-width: 540px; margin: 0 0 28px; color: #c8d0c8; }
        .feature-art {
            position: relative;
            min-height: 320px;
            overflow: hidden;
            background: var(--lime);
        }
        .feature-art::before,
        .feature-art::after {
            content: "";
            position: absolute;
            border: 1px solid rgba(23,27,24,.27);
            border-radius: 50%;
        }
        .feature-art::before { width: 420px; height: 420px; top: -100px; right: -60px; }
        .feature-art::after { width: 230px; height: 230px; bottom: -90px; left: 50px; }
        .art-panel {
            position: absolute;
            z-index: 1;
            top: 55px;
            right: 15%;
            width: 280px;
            padding: 23px;
            color: var(--ink);
            background: rgba(247,247,241,.92);
            border: 1px solid rgba(23,27,24,.16);
            border-radius: 17px;
            box-shadow: 0 18px 35px rgba(23,27,24,.18);
            transform: rotate(4deg);
        }
        .art-panel small { color: var(--muted); font-size: 11px; }
        .art-panel strong { display: block; margin: 10px 0 18px; font-size: 27px; line-height: 1.1; }
        .art-line { height: 9px; margin-top: 9px; background: var(--ink); border-radius: 10px; opacity: .85; }
        .art-line.short { width: 62%; background: var(--lime-dark); }

        .content-section { background: var(--paper); }
        .content-layout {
            display: grid;
            grid-template-columns: .74fr 1.26fr;
            gap: 70px;
            align-items: start;
        }
        .side-heading {
            position: sticky;
            top: 120px;
        }
        .side-heading h2 {
            max-width: 380px;
            margin: 14px 0 18px;
            font-size: clamp(30px, 4vw, 48px);
            line-height: 1.08;
            letter-spacing: -.055em;
        }
        .side-heading p { max-width: 340px; color: var(--muted); }
        .service-list { border-top: 1px solid var(--line-dark); }
        .service-item {
            display: grid;
            grid-template-columns: 62px 1fr auto;
            gap: 22px;
            align-items: start;
            padding: 28px 0;
            border-bottom: 1px solid var(--line);
        }
        .service-index {
            color: var(--lime-dark);
            font-size: 15px;
            font-weight: 900;
            letter-spacing: .06em;
        }
        .service-item h3 { margin: 0 0 7px; font-size: 21px; letter-spacing: -.025em; }
        .service-item p { margin: 0; color: var(--muted); font-size: 14px; }
        .service-arrow {
            width: 36px;
            height: 36px;
            display: grid;
            place-items: center;
            border: 1px solid var(--line-dark);
            border-radius: 50%;
            font-size: 19px;
        }
        .service-item:hover .service-arrow {
            color: var(--ink);
            background: var(--lime);
            border-color: var(--lime);
            transform: translate(3px, -3px);
        }

        .process-section { background: var(--orange-wash); }
        .process-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 18px;
        }
        .process-card {
            position: relative;
            min-height: 220px;
            padding: 28px;
            background: var(--white);
            border: 1px solid rgba(23,27,24,.1);
            border-radius: var(--radius-md);
        }
        .process-card::after {
            content: "";
            position: absolute;
            top: 35px;
            right: 28px;
            width: 10px;
            height: 10px;
            background: var(--lime);
            border-radius: 50%;
        }
        .process-num {
            display: block;
            margin-bottom: 45px;
            color: var(--lime-dark);
            font-size: 14px;
            font-weight: 900;
        }
        .process-card h3 { margin: 0 0 8px; font-size: 21px; }
        .process-card p { margin: 0; color: var(--muted); font-size: 14px; }

        .status-section { background: var(--paper); }
        .status-board {
            display: grid;
            grid-template-columns: 1.1fr .9fr;
            gap: 0;
            overflow: hidden;
            border: 1px solid var(--line);
            border-radius: var(--radius-lg);
            background: var(--white);
        }
        .status-main { padding: 38px; border-right: 1px solid var(--line); }
        .status-main h2 { margin: 12px 0 12px; font-size: 35px; line-height: 1.15; letter-spacing: -.045em; }
        .status-main p { max-width: 560px; margin: 0; color: var(--muted); }
        .status-list { padding: 20px 30px; }
        .status-row {
            display: flex;
            justify-content: space-between;
            gap: 20px;
            padding: 18px 0;
            border-bottom: 1px solid var(--line);
            font-size: 14px;
        }
        .status-row:last-child { border-bottom: 0; }
        .status-state { color: #5d7900; font-weight: 800; }
        .status-state::before {
            content: "";
            display: inline-block;
            width: 8px;
            height: 8px;
            margin-right: 8px;
            background: var(--lime-dark);
            border-radius: 50%;
        }

        .faq-section { background: var(--sage); }
        .faq-wrap {
            max-width: 900px;
            margin: 0 auto;
        }
        .faq-item {
            border-top: 1px solid var(--line-dark);
        }
        .faq-item:last-child { border-bottom: 1px solid var(--line-dark); }
        .faq-item summary {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 24px;
            padding: 23px 0;
            list-style: none;
            cursor: pointer;
            font-size: 18px;
            font-weight: 800;
        }
        .faq-item summary::-webkit-details-marker { display: none; }
        .faq-item summary::after {
            content: "+";
            color: var(--lime-dark);
            font-size: 28px;
            font-weight: 400;
            line-height: 1;
        }
        .faq-item[open] summary::after { content: "−"; }
        .faq-answer {
            max-width: 760px;
            padding: 0 48px 24px 0;
            color: var(--muted);
            font-size: 15px;
        }

        .feedback-section { background: var(--paper); }
        .feedback-grid {
            display: grid;
            grid-template-columns: .85fr 1.15fr;
            gap: 70px;
            align-items: start;
        }
        .feedback-copy h2 {
            margin: 14px 0 16px;
            font-size: clamp(32px, 4vw, 54px);
            line-height: 1.08;
            letter-spacing: -.06em;
        }
        .feedback-copy p { max-width: 400px; color: var(--muted); }
        .feedback-form {
            padding: 34px;
            background: var(--white);
            border: 1px solid var(--line);
            border-radius: var(--radius-md);
            box-shadow: var(--shadow);
        }
        .field { margin-bottom: 18px; }
        .field label {
            display: block;
            margin-bottom: 7px;
            font-size: 13px;
            font-weight: 800;
        }
        .field input, .field textarea {
            width: 100%;
            padding: 13px 15px;
            color: var(--ink);
            background: var(--paper);
            border: 1px solid var(--line);
            border-radius: 8px;
        }
        .field textarea { min-height: 120px; resize: vertical; }
        .field input::placeholder, .field textarea::placeholder { color: #9aa19a; }
        .form-foot {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 18px;
        }
        .form-foot small { color: var(--muted); font-size: 12px; }

        .latest-section { background: var(--warm); }
        .latest-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
        .latest-card {
            display: flex;
            flex-direction: column;
            min-height: 210px;
            padding: 26px;
            background: var(--white);
            border: 1px solid var(--line);
            border-radius: var(--radius-md);
        }
        .latest-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-hover); }
        .card-meta {
            display: flex;
            justify-content: space-between;
            gap: 15px;
            color: var(--muted);
            font-size: 12px;
        }
        .tag {
            display: inline-flex;
            width: fit-content;
            align-items: center;
            padding: 4px 9px;
            color: var(--ink);
            background: var(--lime);
            border-radius: 5px;
            font-size: 11px;
            font-weight: 850;
        }
        .latest-card h3 { margin: 22px 0 8px; font-size: 20px; line-height: 1.35; }
        .latest-card p { margin: 0 0 20px; color: var(--muted); font-size: 14px; }
        .latest-card .text-link { margin-top: auto; font-size: 13px; }
        .empty-state {
            grid-column: 1 / -1;
            padding: 35px;
            text-align: center;
            color: var(--muted);
            border: 1px dashed var(--line-dark);
            border-radius: var(--radius-md);
        }

        .cta-section { padding: 82px 0; background: var(--ink); color: var(--white); }
        .cta-inner {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 40px;
        }
        .cta-inner h2 {
            max-width: 660px;
            margin: 0 0 12px;
            font-size: clamp(30px, 4vw, 52px);
            line-height: 1.08;
            letter-spacing: -.055em;
        }
        .cta-inner p { max-width: 600px; margin: 0; color: #c5ccc4; }
        .cta-actions { display: flex; flex-wrap: wrap; gap: 12px; flex-shrink: 0; }

        .site-footer { padding: 68px 0 22px; background: #111512; color: var(--white); }
        .site-footer .brand-copy strong { color: var(--white); }
        .site-footer .brand-copy span { color: #aeb7ae; }
        .footer-grid {
            display: grid;
            grid-template-columns: 1.3fr .8fr .8fr 1.2fr;
            gap: 45px;
            padding-bottom: 54px;
        }
        .footer-brand p { max-width: 280px; margin: 20px 0 0; color: #aeb7ae; font-size: 13px; }
        .footer-col { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
        .footer-col h3 { margin: 0 0 12px; color: var(--lime); font-size: 14px; }
        .footer-col a { color: #c5ccc4; font-size: 13px; }
        .footer-col a:hover { color: var(--lime); }
        .reminder-form label { color: #c5ccc4; font-size: 13px; }
        .form-row { display: flex; width: 100%; gap: 8px; margin-top: 8px; }
        .form-row input {
            min-width: 0;
            width: 100%;
            padding: 11px 12px;
            color: var(--white);
            background: #252c26;
            border: 1px solid #485348;
            border-radius: 7px;
        }
        .form-row input::placeholder { color: #8e988f; }
        .form-row .btn { min-height: 43px; padding: 0 15px; }
        .form-tip { margin: 9px 0 0; color: #899289; font-size: 11px; }
        .footer-bottom {
            display: flex;
            justify-content: space-between;
            gap: 20px;
            padding-top: 20px;
            color: #899289;
            border-top: 1px solid #303830;
            font-size: 12px;
        }

        @media (max-width: 1024px) {
            .main-nav { gap: 15px; }
            .header-inner > .btn { display: none; }
            .intro-grid, .content-layout, .feedback-grid { gap: 40px; }
            .feature-copy { padding: 38px; }
            .footer-grid { grid-template-columns: 1fr 1fr; }
        }
        @media (max-width: 768px) {
            .container { width: min(var(--container), calc(100% - 40px)); }
            .section { padding: 70px 0; }
            .section-head, .cta-inner { display: block; }
            .section-head p { margin-top: 18px; }
            .section-head .text-link { margin-top: 20px; }
            .menu-toggle { display: block; }
            .main-nav {
                position: fixed;
                top: 78px;
                right: 0;
                bottom: 0;
                left: 0;
                display: none;
                flex-direction: column;
                align-items: stretch;
                gap: 0;
                padding: 15px 20px 30px;
                margin: 0;
                background: var(--paper);
                border-top: 1px solid var(--line);
            }
            .main-nav.is-open { display: flex; }
            .main-nav a { padding: 16px 5px; border-bottom: 1px solid var(--line); }
            .main-nav a::after { bottom: 0; }
            .intro-grid, .content-layout, .feature-card, .status-board, .feedback-grid { grid-template-columns: 1fr; }
            .page-intro { padding: 55px 0; }
            .page-intro h1 { font-size: clamp(45px, 13vw, 72px); }
            .intro-note { margin-top: 10px; }
            .stats-strip { grid-template-columns: repeat(2, 1fr); }
            .stat:nth-child(2) { border-right: 0; }
            .stat:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
            .feature-art { min-height: 260px; }
            .feature-copy { padding: 34px 28px; }
            .side-heading { position: static; margin-bottom: 35px; }
            .status-main { border-right: 0; border-bottom: 1px solid var(--line); }
            .feedback-copy { margin-bottom: 10px; }
            .cta-inner p { margin-bottom: 25px; }
        }
        @media (max-width: 520px) {
            .container { width: min(var(--container), calc(100% - 32px)); }
            .header-inner { min-height: 70px; }
            .main-nav { top: 70px; }
            .brand-copy span { font-size: 10px; }
            .page-intro h1 { letter-spacing: -.07em; }
            .stats-strip { grid-template-columns: 1fr 1fr; }
            .stat { min-height: 108px; padding: 20px 15px; }
            .stat-number { font-size: 28px; }
            .service-item { grid-template-columns: 38px 1fr; gap: 12px; }
            .service-arrow { display: none; }
            .process-grid, .latest-grid { grid-template-columns: 1fr; }
            .feature-copy, .status-main, .status-list, .feedback-form { padding: 26px 22px; }
            .art-panel { right: 10%; width: 240px; }
            .form-foot { display: block; }
            .form-foot small { display: block; margin-bottom: 15px; }
            .form-foot .btn { width: 100%; }
            .footer-grid { grid-template-columns: 1fr; gap: 32px; }
            .footer-bottom { display: block; }
            .footer-bottom span { display: block; margin-top: 6px; }
            .cta-actions .btn { width: 100%; }
        }
