/* roulang page: index */
:root {
            --primary: #1767bc;
            --primary-dark: #14549a;
            --primary-soft: #eaf4ff;
            --accent: #2f9b85;
            --accent-soft: #e9f8f4;
            --warning: #d98535;
            --page: #f7f9fc;
            --surface: #ffffff;
            --surface-blue: #f0f7ff;
            --text: #172b3e;
            --muted: #607287;
            --border: #dce6f0;
            --radius-sm: 10px;
            --radius-md: 16px;
            --radius-lg: 24px;
            --shadow-sm: 0 7px 20px rgba(28, 64, 98, .07);
            --shadow-md: 0 18px 45px rgba(30, 83, 133, .11);
            --ease: 180ms ease;
        }

        *, *::before, *::after {
            box-sizing: border-box;
        }

        html {
            scroll-behavior: smooth;
            scroll-padding-top: 96px;
        }

        body {
            margin: 0;
            min-width: 320px;
            color: var(--text);
            background: var(--page);
            font-family: "PingFang SC", "Microsoft YaHei", "Noto Sans SC", system-ui, -apple-system, sans-serif;
            line-height: 1.75;
            -webkit-font-smoothing: antialiased;
            padding-bottom: 78px;
        }

        body.menu-open {
            overflow: hidden;
        }

        h1, h2, h3, p, ul, ol {
            margin-top: 0;
        }

        a {
            color: inherit;
            text-decoration: none;
        }

        button, input, textarea {
            font: inherit;
        }

        button, a {
            -webkit-tap-highlight-color: transparent;
        }

        button:focus-visible,
        a:focus-visible,
        input:focus-visible,
        textarea:focus-visible,
        summary:focus-visible {
            outline: 3px solid rgba(40, 120, 208, .25);
            outline-offset: 3px;
        }

        img, svg {
            display: block;
            max-width: 100%;
        }

        .site-container {
            width: min(1220px, calc(100% - 48px));
            margin-inline: auto;
        }

        .section-space {
            padding: 104px 0;
        }

        .section-kicker {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            margin-bottom: 15px;
            color: var(--primary-dark);
            font-size: 14px;
            font-weight: 700;
            letter-spacing: .08em;
        }

        .section-kicker::before {
            width: 25px;
            height: 2px;
            content: "";
            background: var(--primary);
            border-radius: 20px;
        }

        .section-title {
            margin-bottom: 18px;
            font-size: clamp(30px, 4vw, 48px);
            line-height: 1.2;
            letter-spacing: -.04em;
            font-weight: 800;
        }

        .section-description {
            max-width: 760px;
            margin-bottom: 0;
            color: var(--muted);
            font-size: 17px;
            line-height: 1.9;
        }

        .site-header {
            position: sticky;
            z-index: 60;
            top: 0;
            background: rgba(255, 255, 255, .94);
            border-bottom: 1px solid rgba(220, 230, 240, .9);
            box-shadow: 0 6px 24px rgba(27, 66, 103, .04);
            backdrop-filter: blur(14px);
        }

        .nav-shell {
            min-height: 76px;
            display: flex;
            align-items: center;
            gap: 34px;
        }

        .brand-logo {
            display: inline-flex;
            align-items: center;
            gap: 11px;
            flex: 0 1 auto;
            min-width: 0;
            color: #153858;
            font-size: 17px;
            line-height: 1.25;
            font-weight: 800;
        }

        .brand-mark {
            position: relative;
            width: 40px;
            height: 40px;
            flex: 0 0 40px;
            border-radius: 13px;
            background: var(--primary);
            box-shadow: 0 8px 18px rgba(23, 103, 188, .25);
        }

        .brand-mark::before,
        .brand-mark::after {
            position: absolute;
            content: "";
            border-radius: 4px;
            background: #fff;
        }

        .brand-mark::before {
            width: 17px;
            height: 6px;
            left: 8px;
            top: 10px;
        }

        .brand-mark::after {
            width: 23px;
            height: 6px;
            right: 7px;
            bottom: 10px;
            opacity: .75;
        }

        .nav-links {
            display: flex;
            align-items: center;
            gap: 7px;
            margin-left: auto;
        }

        .nav-link {
            position: relative;
            padding: 11px 14px;
            color: #53667a;
            border-radius: 10px;
            font-size: 15px;
            font-weight: 650;
            transition: color var(--ease), background var(--ease);
        }

        .nav-link:hover {
            color: var(--primary);
            background: var(--primary-soft);
        }

        .nav-link.active {
            color: var(--primary-dark);
            background: #e4f1ff;
        }

        .nav-link.active::after {
            position: absolute;
            left: 14px;
            right: 14px;
            bottom: 5px;
            height: 2px;
            content: "";
            border-radius: 10px;
            background: var(--primary);
        }

        .nav-actions {
            display: flex;
            align-items: center;
            gap: 10px;
        }

        .btn {
            min-height: 46px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 9px;
            padding: 11px 20px;
            border: 1px solid transparent;
            border-radius: 12px;
            cursor: pointer;
            font-weight: 750;
            line-height: 1.2;
            transition: transform var(--ease), color var(--ease), background var(--ease), border-color var(--ease), box-shadow var(--ease);
        }

        .btn:hover {
            transform: translateY(-2px);
        }

        .btn:active {
            transform: translateY(0);
        }

        .btn-primary {
            color: #fff;
            background: var(--primary);
            box-shadow: 0 9px 20px rgba(23, 103, 188, .22);
        }

        .btn-primary:hover {
            background: var(--primary-dark);
            box-shadow: 0 13px 26px rgba(23, 103, 188, .28);
        }

        .btn-secondary {
            color: var(--primary-dark);
            background: #fff;
            border-color: #bed4e9;
        }

        .btn-secondary:hover {
            color: var(--primary);
            background: var(--primary-soft);
            border-color: #91bce3;
        }

        .btn:disabled {
            cursor: not-allowed;
            opacity: .55;
            transform: none;
            box-shadow: none;
        }

        .menu-toggle {
            width: 46px;
            height: 46px;
            display: none;
            align-items: center;
            justify-content: center;
            margin-left: auto;
            border: 1px solid var(--border);
            border-radius: 12px;
            color: var(--text);
            background: #fff;
            cursor: pointer;
        }

        .menu-lines,
        .menu-lines::before,
        .menu-lines::after {
            width: 21px;
            height: 2px;
            display: block;
            content: "";
            background: currentColor;
            transition: transform var(--ease), opacity var(--ease);
        }

        .menu-lines {
            position: relative;
        }

        .menu-lines::before {
            position: absolute;
            top: -7px;
        }

        .menu-lines::after {
            position: absolute;
            top: 7px;
        }

        .menu-toggle[aria-expanded="true"] .menu-lines {
            background: transparent;
        }

        .menu-toggle[aria-expanded="true"] .menu-lines::before {
            top: 0;
            transform: rotate(45deg);
        }

        .menu-toggle[aria-expanded="true"] .menu-lines::after {
            top: 0;
            transform: rotate(-45deg);
        }

        .hero {
            position: relative;
            min-height: 690px;
            overflow: hidden;
            display: flex;
            align-items: center;
            background:
                radial-gradient(circle at 12% 18%, rgba(47, 155, 133, .13), transparent 25%),
                radial-gradient(circle at 88% 20%, rgba(40, 120, 208, .18), transparent 27%),
                linear-gradient(180deg, #edf6ff 0%, #f9fbfd 82%);
            border-bottom: 1px solid var(--border);
        }

        .hero::before {
            position: absolute;
            inset: 0;
            content: "";
            opacity: .32;
            background-image:
                linear-gradient(rgba(73, 118, 159, .10) 1px, transparent 1px),
                linear-gradient(90deg, rgba(73, 118, 159, .10) 1px, transparent 1px);
            background-size: 44px 44px;
            mask-image: linear-gradient(to bottom, #000 0%, transparent 88%);
        }

        .hero-inner {
            position: relative;
            z-index: 1;
            padding: 84px 0 76px;
            text-align: center;
        }

        .hero-badge {
            display: inline-flex;
            align-items: center;
            gap: 9px;
            margin-bottom: 24px;
            padding: 7px 12px;
            color: #226655;
            background: rgba(233, 248, 244, .94);
            border: 1px solid #c8e8df;
            border-radius: 999px;
            font-size: 14px;
            font-weight: 700;
        }

        .status-dot {
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: var(--accent);
            box-shadow: 0 0 0 5px rgba(47, 155, 133, .12);
        }

        .hero h1 {
            max-width: 1080px;
            margin: 0 auto 24px;
            color: #112e48;
            font-size: clamp(38px, 6.2vw, 70px);
            line-height: 1.12;
            letter-spacing: -.055em;
            font-weight: 900;
            overflow-wrap: anywhere;
        }

        .hero-lead {
            max-width: 850px;
            margin: 0 auto 31px;
            color: #4e6479;
            font-size: clamp(17px, 2vw, 20px);
            line-height: 1.9;
        }

        .hero-actions {
            display: flex;
            align-items: center;
            justify-content: center;
            flex-wrap: wrap;
            gap: 13px;
            margin-bottom: 36px;
        }

        .hero-actions .btn {
            min-height: 54px;
            padding-inline: 26px;
        }

        .countdown-strip {
            width: min(820px, 100%);
            display: grid;
            grid-template-columns: 1.7fr repeat(4, 1fr);
            align-items: stretch;
            margin: 0 auto;
            overflow: hidden;
            text-align: left;
            background: rgba(255, 255, 255, .91);
            border: 1px solid rgba(195, 215, 234, .95);
            border-radius: 17px;
            box-shadow: var(--shadow-md);
        }

        .countdown-label {
            display: flex;
            align-items: center;
            padding: 18px 22px;
            color: #37546e;
            font-size: 14px;
            font-weight: 700;
        }

        .time-cell {
            padding: 13px 12px;
            text-align: center;
            border-left: 1px solid var(--border);
        }

        .time-number {
            display: block;
            color: var(--primary-dark);
            font-size: 22px;
            line-height: 1.15;
            font-weight: 850;
        }

        .time-unit {
            color: #7a8b9c;
            font-size: 12px;
        }

        .hero-index {
            width: min(1040px, 100%);
            display: grid;
            grid-template-columns: 1.25fr 1fr 1fr;
            gap: 14px;
            margin: 24px auto 0;
            text-align: left;
        }

        .hero-index-card {
            min-height: 116px;
            padding: 20px;
            background: rgba(255, 255, 255, .86);
            border: 1px solid rgba(207, 222, 236, .95);
            border-radius: 16px;
            box-shadow: var(--shadow-sm);
        }

        .hero-index-card strong {
            display: block;
            margin-bottom: 5px;
            color: #193c5b;
            font-size: 16px;
        }

        .hero-index-card span {
            color: var(--muted);
            font-size: 14px;
        }

        .catalog-layout {
            display: grid;
            grid-template-columns: .72fr 1.28fr;
            gap: 58px;
            align-items: start;
        }

        .catalog-sticky {
            position: sticky;
            top: 115px;
        }

        .catalog-tabs {
            display: flex;
            flex-wrap: wrap;
            gap: 9px;
            margin-top: 28px;
        }

        .filter-chip {
            min-height: 40px;
            padding: 8px 14px;
            color: #526a7f;
            background: #fff;
            border: 1px solid var(--border);
            border-radius: 999px;
            cursor: pointer;
            font-size: 14px;
            font-weight: 650;
            transition: all var(--ease);
        }

        .filter-chip:hover,
        .filter-chip.active {
            color: var(--primary-dark);
            background: var(--primary-soft);
            border-color: #acd0ee;
        }

        .catalog-list {
            display: grid;
            gap: 16px;
        }

        .catalog-item {
            display: grid;
            grid-template-columns: 68px 1fr auto;
            gap: 20px;
            align-items: center;
            padding: 24px;
            background: var(--surface);
            border: 1px solid var(--border);
            border-radius: var(--radius-md);
            box-shadow: var(--shadow-sm);
            transition: transform var(--ease), border-color var(--ease), box-shadow var(--ease);
        }

        .catalog-item:hover {
            transform: translateY(-3px);
            border-color: #adcce7;
            box-shadow: var(--shadow-md);
        }

        .catalog-number {
            width: 58px;
            height: 58px;
            display: grid;
            place-items: center;
            color: var(--primary);
            background: var(--primary-soft);
            border-radius: 15px;
            font-size: 18px;
            font-weight: 850;
        }

        .catalog-item h3 {
            margin-bottom: 5px;
            font-size: 19px;
            font-weight: 800;
        }

        .catalog-item p {
            margin-bottom: 0;
            color: var(--muted);
            font-size: 14px;
        }

        .catalog-arrow {
            width: 42px;
            height: 42px;
            display: grid;
            place-items: center;
            color: var(--primary);
            background: #f4f8fc;
            border-radius: 12px;
            transition: background var(--ease), transform var(--ease);
        }

        .catalog-item:hover .catalog-arrow {
            background: var(--primary-soft);
            transform: translateX(3px);
        }

        .recommend-section {
            background: #edf5fc;
            border-block: 1px solid #dfeaf4;
        }

        .recommend-grid {
            display: grid;
            grid-template-columns: 1.18fr .82fr;
            grid-template-rows: repeat(2, minmax(210px, auto));
            gap: 20px;
            margin-top: 44px;
        }

        .feature-card {
            position: relative;
            overflow: hidden;
            padding: 34px;
            background: #fff;
            border: 1px solid #d8e4ef;
            border-radius: var(--radius-lg);
            box-shadow: var(--shadow-sm);
            transition: transform var(--ease), box-shadow var(--ease);
        }

        .feature-card:hover {
            transform: translateY(-4px);
            box-shadow: var(--shadow-md);
        }

        .feature-card.large {
            grid-row: 1 / 3;
            min-height: 460px;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            background: #173f63;
            color: #fff;
            border-color: #173f63;
        }

        .feature-card.large::after {
            position: absolute;
            width: 280px;
            height: 280px;
            right: -80px;
            bottom: -90px;
            content: "";
            border: 46px solid rgba(255, 255, 255, .07);
            border-radius: 50%;
        }

        .feature-icon {
            width: 52px;
            height: 52px;
            display: grid;
            place-items: center;
            margin-bottom: 25px;
            color: var(--primary);
            background: var(--primary-soft);
            border-radius: 15px;
            font-size: 22px;
            font-weight: 850;
        }

        .large .feature-icon {
            color: #fff;
            background: rgba(255, 255, 255, .12);
        }

        .feature-card h3 {
            margin-bottom: 11px;
            font-size: 24px;
            line-height: 1.35;
            font-weight: 800;
        }

        .feature-card p {
            margin-bottom: 0;
            color: var(--muted);
        }

        .feature-card.large p {
            max-width: 550px;
            color: #d4e3ef;
            font-size: 17px;
        }

        .topic-tags {
            position: relative;
            z-index: 1;
            display: flex;
            flex-wrap: wrap;
            gap: 9px;
            margin-top: 34px;
        }

        .topic-tag {
            padding: 7px 11px;
            color: #dfeefa;
            background: rgba(255, 255, 255, .10);
            border: 1px solid rgba(255, 255, 255, .14);
            border-radius: 999px;
            font-size: 13px;
        }

        .news-layout {
            display: grid;
            grid-template-columns: minmax(0, 1.4fr) minmax(300px, .6fr);
            gap: 30px;
            margin-top: 44px;
        }

        .news-list {
            overflow: hidden;
            background: #fff;
            border: 1px solid var(--border);
            border-radius: var(--radius-lg);
            box-shadow: var(--shadow-sm);
        }

        .news-item {
            display: grid;
            grid-template-columns: 110px 1fr auto;
            gap: 20px;
            align-items: center;
            min-height: 112px;
            padding: 22px 24px;
            border-bottom: 1px solid var(--border);
            transition: background var(--ease);
        }

        .news-item:last-child {
            border-bottom: 0;
        }

        .news-item:hover {
            background: #f5f9fd;
        }

        .news-meta {
            color: #718399;
            font-size: 13px;
        }

        .news-meta strong {
            display: block;
            margin-bottom: 3px;
            color: var(--primary);
            font-size: 14px;
        }

        .news-content h3 {
            margin-bottom: 5px;
            font-size: 18px;
            font-weight: 800;
        }

        .news-content p {
            margin-bottom: 0;
            color: var(--muted);
            font-size: 14px;
        }

        .text-link {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            color: var(--primary);
            font-size: 14px;
            font-weight: 750;
        }

        .text-link:hover {
            color: var(--primary-dark);
        }

        .news-aside {
            padding: 28px;
            background: var(--surface-blue);
            border: 1px solid #cfdfed;
            border-radius: var(--radius-lg);
        }

        .news-aside h3 {
            margin-bottom: 16px;
            font-size: 21px;
            font-weight: 800;
        }

        .progress-list {
            display: grid;
            gap: 18px;
        }

        .progress-head {
            display: flex;
            justify-content: space-between;
            gap: 15px;
            margin-bottom: 7px;
            color: #415a70;
            font-size: 14px;
        }

        .progress-track {
            height: 8px;
            overflow: hidden;
            background: #dbe8f3;
            border-radius: 999px;
        }

        .progress-value {
            height: 100%;
            background: var(--primary);
            border-radius: inherit;
        }

        .progress-value.green {
            background: var(--accent);
        }

        .progress-value.orange {
            background: var(--warning);
        }

        .path-section {
            overflow: hidden;
            background: #fff;
            border-block: 1px solid var(--border);
        }

        .path-grid {
            display: grid;
            grid-template-columns: .8fr 1.2fr;
            gap: 70px;
            align-items: center;
        }

        .path-panel {
            position: relative;
            display: grid;
            gap: 14px;
            padding-left: 38px;
        }

        .path-panel::before {
            position: absolute;
            left: 15px;
            top: 28px;
            bottom: 28px;
            width: 2px;
            content: "";
            background: #d6e6f3;
        }

        .path-step {
            position: relative;
            padding: 20px 22px;
            background: #f8fbfe;
            border: 1px solid var(--border);
            border-radius: var(--radius-md);
        }

        .path-step::before {
            position: absolute;
            left: -31px;
            top: 26px;
            width: 16px;
            height: 16px;
            content: "";
            background: #fff;
            border: 4px solid var(--primary);
            border-radius: 50%;
        }

        .path-step span {
            display: block;
            margin-bottom: 4px;
            color: var(--primary);
            font-size: 13px;
            font-weight: 750;
        }

        .path-step h3 {
            margin-bottom: 5px;
            font-size: 18px;
            font-weight: 800;
        }

        .path-step p {
            margin-bottom: 0;
            color: var(--muted);
            font-size: 14px;
        }

        .trust-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 16px;
            margin-top: 40px;
        }

        .trust-card {
            padding: 25px;
            background: #fff;
            border: 1px solid var(--border);
            border-radius: var(--radius-md);
            box-shadow: var(--shadow-sm);
        }

        .trust-card strong {
            display: block;
            margin-bottom: 7px;
            color: var(--primary-dark);
            font-size: 19px;
        }

        .trust-card p {
            margin-bottom: 0;
            color: var(--muted);
            font-size: 14px;
        }

        .quote-row {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 18px;
            margin-top: 18px;
        }

        .quote-card {
            padding: 24px 27px;
            color: #40586d;
            background: #f2f7fb;
            border-left: 4px solid var(--accent);
            border-radius: 0 var(--radius-md) var(--radius-md) 0;
        }

        .quote-card p {
            margin-bottom: 9px;
        }

        .quote-card small {
            color: #73869a;
        }

        .faq-layout {
            display: grid;
            grid-template-columns: .72fr 1.28fr;
            gap: 60px;
            align-items: start;
        }

        .faq-list {
            display: grid;
            gap: 12px;
        }

        .faq-item {
            overflow: hidden;
            background: #fff;
            border: 1px solid var(--border);
            border-radius: 15px;
            transition: border-color var(--ease), box-shadow var(--ease);
        }

        .faq-item:hover,
        .faq-item[open] {
            border-color: #aacbe7;
            box-shadow: var(--shadow-sm);
        }

        .faq-item summary {
            position: relative;
            min-height: 66px;
            display: flex;
            align-items: center;
            padding: 18px 60px 18px 22px;
            cursor: pointer;
            list-style: none;
            font-weight: 750;
        }

        .faq-item summary::-webkit-details-marker {
            display: none;
        }

        .faq-item summary::after {
            position: absolute;
            right: 22px;
            width: 28px;
            height: 28px;
            display: grid;
            place-items: center;
            content: "+";
            color: var(--primary);
            background: var(--primary-soft);
            border-radius: 8px;
            font-size: 20px;
            line-height: 1;
            transition: transform var(--ease);
        }

        .faq-item[open] summary::after {
            content: "−";
            transform: rotate(180deg);
        }

        .faq-answer {
            padding: 0 22px 20px;
            color: var(--muted);
            line-height: 1.85;
        }

        .share-section {
            padding: 30px 0 105px;
        }

        .cta-card {
            position: relative;
            overflow: hidden;
            display: grid;
            grid-template-columns: 1.1fr .9fr;
            gap: 45px;
            align-items: center;
            padding: 54px;
            background: #e9f4ff;
            border: 1px solid #c9def0;
            border-radius: 26px;
            box-shadow: var(--shadow-md);
        }

        .cta-card::after {
            position: absolute;
            width: 230px;
            height: 230px;
            right: -90px;
            top: -100px;
            content: "";
            background: rgba(40, 120, 208, .08);
            border-radius: 50%;
        }

        .cta-card h2 {
            margin-bottom: 13px;
            font-size: clamp(29px, 4vw, 44px);
            line-height: 1.25;
            letter-spacing: -.035em;
            font-weight: 850;
        }

        .cta-card p {
            margin-bottom: 0;
            color: var(--muted);
            font-size: 16px;
        }

        .subscribe-box {
            position: relative;
            z-index: 1;
            padding: 22px;
            background: #fff;
            border: 1px solid var(--border);
            border-radius: 17px;
            box-shadow: var(--shadow-sm);
        }

        .input-row {
            display: grid;
            grid-template-columns: 1fr auto;
            gap: 10px;
        }

        .input-field {
            width: 100%;
            min-height: 48px;
            padding: 11px 14px;
            color: var(--text);
            background: #f8fafc;
            border: 1px solid var(--border);
            border-radius: 11px;
            transition: border-color var(--ease), box-shadow var(--ease), background var(--ease);
        }

        .input-field:hover {
            border-color: #b5cee4;
        }

        .input-field:focus {
            background: #fff;
            border-color: var(--primary);
            box-shadow: 0 0 0 4px rgba(40, 120, 208, .10);
            outline: 0;
        }

        .form-note {
            margin: 10px 0 0;
            color: #728497;
            font-size: 12px;
        }

        .form-message {
            min-height: 21px;
            margin: 8px 0 0;
            color: #287964;
            font-size: 13px;
            font-weight: 650;
        }

        .site-footer {
            color: #d8e6f1;
            background: #153858;
        }

        .footer-main {
            display: grid;
            grid-template-columns: 1.55fr .65fr .8fr;
            gap: 55px;
            padding: 62px 0 43px;
        }

        .footer-brand {
            color: #fff;
        }

        .footer-description {
            max-width: 500px;
            margin: 18px 0 0;
            color: #b8cbd9;
            font-size: 14px;
        }

        .footer-title {
            margin-bottom: 16px;
            color: #fff;
            font-size: 15px;
            font-weight: 800;
        }

        .footer-links {
            display: grid;
            gap: 10px;
        }

        .footer-link {
            width: fit-content;
            color: #b8cbd9;
            font-size: 14px;
            transition: color var(--ease), transform var(--ease);
        }

        .footer-link:hover {
            color: #fff;
            transform: translateX(3px);
        }

        .footer-bottom {
            display: flex;
            justify-content: space-between;
            gap: 20px;
            padding: 21px 0 102px;
            color: #91a9ba;
            border-top: 1px solid rgba(255, 255, 255, .10);
            font-size: 13px;
        }

        .fixed-conversion {
            position: fixed;
            z-index: 80;
            left: 50%;
            bottom: 16px;
            width: min(970px, calc(100% - 32px));
            display: flex;
            align-items: center;
            gap: 18px;
            padding: 12px 14px 12px 21px;
            color: #243f56;
            background: rgba(255, 255, 255, .97);
            border: 1px solid #cbdce9;
            border-radius: 17px;
            box-shadow: 0 15px 45px rgba(17, 50, 79, .18);
            backdrop-filter: blur(12px);
            transform: translateX(-50%);
        }

        .fixed-copy {
            min-width: 0;
            margin-right: auto;
        }

        .fixed-copy strong {
            display: block;
            font-size: 15px;
        }

        .fixed-copy span {
            color: var(--muted);
            font-size: 12px;
        }

        .fixed-actions {
            display: flex;
            gap: 9px;
        }

        .fixed-actions .btn {
            min-height: 43px;
            padding: 9px 16px;
            font-size: 14px;
        }

        @media (max-width: 1024px) {
            .site-container {
                width: min(100% - 40px, 960px);
            }

            .nav-shell {
                gap: 15px;
            }

            .brand-logo {
                max-width: 330px;
                font-size: 15px;
            }

            .nav-actions .btn {
                padding-inline: 14px;
            }

            .catalog-layout,
            .faq-layout {
                gap: 38px;
            }

            .path-grid {
                gap: 44px;
            }

            .trust-grid {
                grid-template-columns: repeat(2, 1fr);
            }

            .footer-main {
                gap: 35px;
            }
        }

        @media (max-width: 768px) {
            body {
                padding-bottom: 95px;
            }

            .site-container {
                width: min(100% - 40px, 720px);
            }

            .section-space {
                padding: 76px 0;
            }

            .nav-shell {
                min-height: 70px;
            }

            .brand-logo {
                max-width: calc(100% - 62px);
            }

            .nav-links,
            .nav-actions {
                display: none;
            }

            .menu-toggle {
                display: inline-flex;
            }

            .mobile-panel {
                position: fixed;
                z-index: 55;
                inset: 70px 0 auto;
                display: none;
                padding: 18px 20px 24px;
                background: #fff;
                border-bottom: 1px solid var(--border);
                box-shadow: var(--shadow-md);
            }

            .mobile-panel.open {
                display: grid;
                gap: 8px;
            }

            .mobile-panel .nav-link {
                min-height: 48px;
                display: flex;
                align-items: center;
            }

            .mobile-actions {
                display: grid;
                grid-template-columns: 1fr 1fr;
                gap: 10px;
                margin-top: 8px;
            }

            .hero {
                min-height: auto;
            }

            .hero-inner {
                padding: 67px 0 60px;
            }

            .hero h1 {
                font-size: clamp(36px, 10vw, 53px);
            }

            .hero-index {
                grid-template-columns: 1fr;
            }

            .countdown-strip {
                grid-template-columns: repeat(4, 1fr);
            }

            .countdown-label {
                grid-column: 1 / -1;
                justify-content: center;
                border-bottom: 1px solid var(--border);
            }

            .time-cell:first-of-type {
                border-left: 0;
            }

            .catalog-layout,
            .path-grid,
            .faq-layout,
            .cta-card {
                grid-template-columns: 1fr;
            }

            .catalog-sticky {
                position: static;
            }

            .recommend-grid {
                grid-template-columns: 1fr 1fr;
                grid-template-rows: auto;
            }

            .feature-card.large {
                grid-column: 1 / -1;
                grid-row: auto;
                min-height: 360px;
            }

            .news-layout {
                grid-template-columns: 1fr;
            }

            .quote-row {
                grid-template-columns: 1fr;
            }

            .cta-card {
                padding: 38px;
            }

            .footer-main {
                grid-template-columns: 1fr 1fr;
            }

            .footer-brand-block {
                grid-column: 1 / -1;
            }

            .footer-bottom {
                flex-direction: column;
            }

            .fixed-conversion {
                bottom: 8px;
                gap: 10px;
                padding: 9px;
            }

            .fixed-copy {
                display: none;
            }

            .fixed-actions {
                width: 100%;
            }

            .fixed-actions .btn {
                flex: 1;
            }
        }

        @media (max-width: 640px) {
            .site-container {
                width: min(100% - 32px, 580px);
            }

            .section-space {
                padding: 64px 0;
            }

            .brand-logo {
                font-size: 13px;
            }

            .brand-mark {
                width: 36px;
                height: 36px;
                flex-basis: 36px;
            }

            .hero-inner {
                padding-top: 54px;
            }

            .hero h1 {
                font-size: 36px;
                line-height: 1.18;
            }

            .hero-lead {
                font-size: 16px;
            }

            .hero-actions {
                display: grid;
                grid-template-columns: 1fr;
            }

            .hero-actions .btn {
                width: 100%;
            }

            .countdown-strip {
                border-radius: 14px;
            }

            .time-cell {
                padding-inline: 6px;
            }

            .catalog-item {
                grid-template-columns: 50px 1fr;
                gap: 14px;
                padding: 19px;
            }

            .catalog-number {
                width: 48px;
                height: 48px;
            }

            .catalog-arrow {
                display: none;
            }

            .recommend-grid,
            .trust-grid {
                grid-template-columns: 1fr;
            }

            .feature-card.large {
                grid-column: auto;
                min-height: 390px;
            }

            .news-item {
                grid-template-columns: 1fr;
                gap: 7px;
                padding: 20px;
            }

            .news-item .text-link {
                margin-top: 4px;
            }

            .path-panel {
                padding-left: 31px;
            }

            .path-panel::before {
                left: 10px;
            }

            .path-step::before {
                left: -29px;
            }

            .cta-card {
                padding: 28px 22px;
            }

            .input-row {
                grid-template-columns: 1fr;
            }

            .input-row .btn {
                width: 100%;
            }

            .footer-main {
                grid-template-columns: 1fr;
                padding-top: 49px;
            }

            .footer-brand-block {
                grid-column: auto;
            }

            .mobile-actions {
                grid-template-columns: 1fr;
            }
        }

        @media (max-width: 420px) {
            .brand-logo span:last-child {
                max-width: 220px;
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
            }

            .fixed-actions .btn {
                padding-inline: 10px;
                font-size: 13px;
            }
        }

        @media (prefers-reduced-motion: reduce) {
            html {
                scroll-behavior: auto;
            }

            *, *::before, *::after {
                transition-duration: .01ms !important;
                animation-duration: .01ms !important;
                animation-iteration-count: 1 !important;
            }
        }

/* roulang page: category1 */
:root{
      --primary:#1767bc;--primary-dark:#14549a;--primary-soft:#eaf4ff;
      --accent:#2f9b85;--accent-soft:#e9f8f4;--warning:#d98535;
      --page:#f7f9fc;--surface:#fff;--surface-blue:#f0f7ff;
      --text:#172b3e;--muted:#607287;--border:#dce6f0;
      --radius-sm:10px;--radius-md:16px;--radius-lg:24px;
      --shadow-sm:0 7px 20px rgba(28,64,98,.07);
      --shadow-md:0 18px 45px rgba(30,83,133,.11);--ease:180ms ease;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth;scroll-padding-top:96px}
    body{margin:0;min-width:320px;padding-bottom:78px;background:var(--page);color:var(--text);font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",system-ui,sans-serif;line-height:1.75;-webkit-font-smoothing:antialiased}
    body.menu-open{overflow:hidden}
    a{color:inherit;text-decoration:none}
    button,input,textarea{font:inherit}
    button,a{-webkit-tap-highlight-color:transparent}
    button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid rgba(40,120,208,.25);outline-offset:3px}
    img,svg{display:block;max-width:100%}
    .site-container{width:min(1220px,calc(100% - 48px));margin-inline:auto}
    .section-space{padding:100px 0}
    .section-kicker{display:inline-flex;align-items:center;gap:8px;margin-bottom:15px;color:var(--primary-dark);font-size:14px;font-weight:700;letter-spacing:.08em}
    .section-kicker:before{width:25px;height:2px;content:"";background:var(--primary);border-radius:20px}
    .section-title{margin:0 0 18px;font-size:clamp(30px,4vw,48px);line-height:1.2;letter-spacing:-.04em;font-weight:800}
    .section-description{max-width:760px;margin:0;color:var(--muted);font-size:17px;line-height:1.9}
    .site-header{position:sticky;z-index:60;top:0;background:rgba(255,255,255,.94);border-bottom:1px solid rgba(220,230,240,.9);box-shadow:0 6px 24px rgba(27,66,103,.04);backdrop-filter:blur(14px)}
    .nav-shell{min-height:76px;display:flex;align-items:center;gap:34px}
    .brand-logo{display:inline-flex;align-items:center;gap:11px;min-width:0;color:#153858;font-size:17px;line-height:1.25;font-weight:800}
    .brand-mark{position:relative;width:40px;height:40px;flex:0 0 40px;border-radius:13px;background:var(--primary);box-shadow:0 8px 18px rgba(23,103,188,.25)}
    .brand-mark:before,.brand-mark:after{position:absolute;content:"";border-radius:4px;background:#fff}
    .brand-mark:before{width:17px;height:6px;left:8px;top:10px}
    .brand-mark:after{width:23px;height:6px;right:7px;bottom:10px;opacity:.75}
    .nav-links{display:flex;align-items:center;gap:7px;margin-left:auto}
    .nav-link{position:relative;padding:11px 14px;color:#53667a;border-radius:10px;font-size:15px;font-weight:650;transition:all var(--ease)}
    .nav-link:hover{color:var(--primary);background:var(--primary-soft)}
    .nav-link.active{color:var(--primary-dark);background:#e4f1ff}
    .nav-link.active:after{position:absolute;left:14px;right:14px;bottom:5px;height:2px;content:"";border-radius:10px;background:var(--primary)}
    .nav-actions{display:flex;align-items:center;gap:10px}
    .btn{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:11px 20px;border:1px solid transparent;border-radius:12px;cursor:pointer;font-weight:750;line-height:1.2;transition:all var(--ease)}
    .btn:hover{transform:translateY(-2px)}
    .btn:active{transform:translateY(0)}
    .btn-primary{color:#fff;background:var(--primary);box-shadow:0 9px 20px rgba(23,103,188,.22)}
    .btn-primary:hover{background:var(--primary-dark);box-shadow:0 13px 26px rgba(23,103,188,.28)}
    .btn-secondary{color:var(--primary-dark);background:#fff;border-color:#bed4e9}
    .btn-secondary:hover{color:var(--primary);background:var(--primary-soft);border-color:#8db9df}
    .menu-toggle{display:none;width:44px;height:44px;border:1px solid var(--border);border-radius:11px;background:#fff;color:var(--primary);cursor:pointer}
    .topic-hero{padding:78px 0 64px;background:linear-gradient(180deg,#fff 0%,#f0f7ff 100%);border-bottom:1px solid var(--border)}
    .breadcrumb{display:flex;align-items:center;gap:10px;margin-bottom:34px;color:var(--muted);font-size:14px}
    .breadcrumb a:hover{color:var(--primary)}
    .hero-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(330px,.7fr);gap:68px;align-items:end}
    .hero-title{max-width:780px;margin:0 0 22px;font-size:clamp(38px,5.5vw,66px);line-height:1.13;letter-spacing:-.055em;font-weight:850}
    .hero-title em{font-style:normal;color:var(--primary)}
    .hero-copy{max-width:680px;margin:0 0 30px;color:var(--muted);font-size:18px;line-height:1.9}
    .hero-actions{display:flex;flex-wrap:wrap;gap:12px}
    .profile-panel{position:relative;padding:26px;border:1px solid #cfe1f1;border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-md);overflow:hidden}
    .profile-panel:before{position:absolute;right:-42px;top:-42px;width:150px;height:150px;border:22px solid #e8f3fd;border-radius:50%;content:""}
    .profile-head{position:relative;display:flex;align-items:center;gap:15px;padding-bottom:22px;border-bottom:1px solid var(--border)}
    .profile-avatar{display:grid;place-items:center;width:62px;height:62px;border-radius:19px;background:#dff1ec;color:var(--accent);font-size:25px;font-weight:800}
    .profile-name{margin:0;font-size:19px;font-weight:800}
    .profile-state{margin:3px 0 0;color:var(--accent);font-size:13px;font-weight:700}
    .profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding-top:21px}
    .profile-stat strong{display:block;color:var(--primary-dark);font-size:25px;line-height:1.2}
    .profile-stat span{display:block;margin-top:5px;color:var(--muted);font-size:12px}
    .index-bar{position:relative;z-index:2;margin-top:-1px;padding:18px 0;border-bottom:1px solid var(--border);background:#fff}
    .index-row{display:flex;align-items:center;gap:11px;overflow:auto;scrollbar-width:none}
    .index-row::-webkit-scrollbar{display:none}
    .index-label{flex:0 0 auto;margin-right:7px;color:var(--muted);font-size:14px;font-weight:700}
    .tag{display:inline-flex;align-items:center;min-height:38px;flex:0 0 auto;padding:7px 15px;border:1px solid var(--border);border-radius:10px;background:#fff;color:#53667a;font-size:14px;font-weight:650;transition:all var(--ease)}
    .tag:hover,.tag.active{border-color:#a8cbea;background:var(--primary-soft);color:var(--primary-dark)}
    .content-section{padding:90px 0}
    .content-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:54px;align-items:start}
    .side-index{position:sticky;top:105px;padding:22px;border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow-sm)}
    .side-index h2{margin:0 0 14px;font-size:17px}
    .side-index a{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #edf2f6;color:var(--muted);font-size:14px;transition:color var(--ease)}
    .side-index a:last-child{border-bottom:0}
    .side-index a:hover,.side-index a.active{color:var(--primary);font-weight:700}
    .topic-list{display:grid;gap:15px}
    .topic-item{display:grid;grid-template-columns:74px minmax(0,1fr) auto;gap:20px;align-items:center;padding:22px 24px;border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow-sm);transition:all var(--ease)}
    .topic-item:hover{border-color:#b6d4ed;box-shadow:var(--shadow-md);transform:translateY(-2px)}
    .topic-number{display:grid;place-items:center;width:58px;height:58px;border-radius:15px;background:var(--surface-blue);color:var(--primary);font-size:20px;font-weight:800}
    .topic-item h3{margin:0 0 5px;font-size:19px;line-height:1.4}
    .topic-item p{margin:0;color:var(--muted);font-size:14px;line-height:1.75}
    .meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px;color:#8292a2;font-size:12px}
    .mini-tag{padding:3px 8px;border-radius:6px;background:var(--accent-soft);color:#287c6b;font-weight:700}
    .topic-arrow{width:40px;height:40px;display:grid;place-items:center;border:1px solid #c9ddec;border-radius:10px;color:var(--primary);transition:all var(--ease)}
    .topic-arrow:hover{background:var(--primary);color:#fff}
    .feature-section{padding:15px 0 100px}
    .feature-card{display:grid;grid-template-columns:1fr 1.05fr;gap:0;overflow:hidden;border-radius:var(--radius-lg);background:#173d62;color:#fff;box-shadow:var(--shadow-md)}
    .feature-copy{padding:50px}
    .feature-copy .section-kicker{color:#a9d5fa}
    .feature-copy .section-kicker:before{background:#73b9eb}
    .feature-copy h2{margin:0 0 16px;font-size:clamp(28px,4vw,43px);line-height:1.25}
    .feature-copy p{margin:0 0 25px;color:#d4e4f1;line-height:1.9}
    .feature-visual{min-height:330px;padding:30px;display:flex;align-items:end;background:#dceefa}
    .visual-stack{width:100%;display:grid;gap:12px}
    .visual-line{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border:1px solid rgba(100,151,190,.2);border-radius:13px;background:#fff;color:var(--text);box-shadow:0 8px 20px rgba(23,70,105,.08)}
    .visual-line strong{font-size:15px}.visual-line span{color:var(--muted);font-size:12px}
    .faq-section{padding:95px 0;background:#fff;border-top:1px solid var(--border)}
    .faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}
    .faq-list{display:grid;gap:11px}
    .faq-item{border:1px solid var(--border);border-radius:13px;background:#fff;transition:all var(--ease)}
    .faq-item[open]{border-color:#afd0ec;box-shadow:var(--shadow-sm)}
    .faq-item summary{display:flex;justify-content:space-between;gap:20px;padding:18px 21px;cursor:pointer;list-style:none;font-weight:750}
    .faq-item summary::-webkit-details-marker{display:none}
    .faq-item summary:after{content:"＋";color:var(--primary);font-size:20px;font-weight:400}
    .faq-item[open] summary:after{content:"−"}
    .faq-answer{padding:0 21px 19px;color:var(--muted);font-size:14px;line-height:1.85}
    .cta-section{padding:85px 0}
    .cta-card{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:44px 50px;border:1px solid #c6def0;border-radius:var(--radius-lg);background:var(--primary-soft)}
    .cta-card h2{margin:0 0 8px;font-size:clamp(26px,3vw,38px);line-height:1.3}
    .cta-card p{margin:0;color:var(--muted)}
    .site-footer{padding:62px 0 95px;background:#132c44;color:#d9e7f1}
    .footer-main{display:grid;grid-template-columns:1.5fr .7fr 1fr;gap:55px}
    .footer-brand{color:#fff}
    .footer-description{max-width:420px;margin:18px 0 0;color:#a9bfce;font-size:14px;line-height:1.9}
    .footer-title{margin:0 0 15px;color:#fff;font-size:15px}
    .footer-links{display:grid;gap:8px}
    .footer-link{color:#a9bfce;font-size:14px;transition:color var(--ease)}
    .footer-link:hover{color:#fff}
    .footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:45px;padding-top:22px;border-top:1px solid rgba(217,231,241,.15);color:#8fa7b8;font-size:12px}
    .fixed-bar{position:fixed;z-index:70;right:0;bottom:0;left:0;padding:12px 0;background:rgba(255,255,255,.95);border-top:1px solid var(--border);box-shadow:0 -8px 25px rgba(24,60,95,.08);backdrop-filter:blur(12px)}
    .fixed-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}
    .fixed-copy{color:var(--muted);font-size:14px}.fixed-copy strong{color:var(--text)}
    .fixed-actions{display:flex;gap:9px}
    @media(max-width:1024px){.hero-grid{gap:35px}.content-layout{gap:30px}.footer-main{gap:30px}}
    @media(max-width:768px){
      .site-container{width:min(100% - 40px,600px)}
      .nav-shell{min-height:68px}.nav-links,.nav-actions{display:none}.menu-toggle{display:block;margin-left:auto}
      .site-header.open .nav-links{position:absolute;top:68px;right:20px;left:20px;display:grid;gap:4px;padding:14px;border:1px solid var(--border);border-radius:14px;background:#fff;box-shadow:var(--shadow-md)}
      .site-header.open .nav-actions{position:absolute;top:218px;right:20px;left:20px;display:grid;grid-template-columns:1fr 1fr;padding:14px;background:#fff;border:1px solid var(--border);border-top:0;border-radius:0 0 14px 14px;box-shadow:var(--shadow-md)}
      .topic-hero{padding:52px 0}.hero-grid,.content-layout,.faq-grid,.feature-card{grid-template-columns:1fr}
      .profile-panel{max-width:500px}.content-section{padding:65px 0}.side-index{position:static}
      .feature-copy{padding:35px 28px}.feature-visual{min-height:240px}.faq-section{padding:65px 0}
      .cta-card{align-items:flex-start;flex-direction:column;padding:34px 28px}
      .footer-main{grid-template-columns:1fr 1fr}.footer-brand-block{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:8px}
      .fixed-inner{align-items:stretch}.fixed-copy{display:none}.fixed-actions{width:100%}.fixed-actions .btn{flex:1}
    }
    @media(max-width:520px){
      .site-container{width:calc(100% - 32px)}.brand-logo{font-size:14px}.brand-mark{width:35px;height:35px;flex-basis:35px;border-radius:10px}
      .hero-title{font-size:39px}.hero-copy{font-size:16px}.hero-actions{display:grid;grid-template-columns:1fr}
      .topic-item{grid-template-columns:50px minmax(0,1fr);gap:13px;padding:17px}.topic-number{width:50px;height:50px;font-size:17px}.topic-arrow{grid-column:2;justify-self:start}
      .profile-stats{gap:5px}.feature-copy{padding:30px 22px}.footer-main{grid-template-columns:1fr}
      .footer-brand-block{grid-column:auto}.footer-bottom{margin-top:30px}.fixed-bar{padding:9px 0}
    }
