/* roulang page: index */
:root {
            --primary: #175cd3;
            --primary-dark: #1849a9;
            --secondary: #06a6a6;
            --accent: #f59e0b;
            --ink: #10213c;
            --muted: #61708a;
            --surface: #ffffff;
            --soft: #f5f8fd;
            --line: #dfe7f2;
            --radius-sm: 12px;
            --radius: 20px;
            --radius-lg: 30px;
            --shadow: 0 14px 40px rgba(16, 42, 86, .09);
            --shadow-hover: 0 20px 55px rgba(23, 92, 211, .16);
            --container: 1200px;
        }
        *, *::before, *::after { box-sizing: border-box; }
        html { scroll-behavior: smooth; scroll-padding-top: 90px; }
        body {
            margin: 0;
            color: var(--ink);
            background: #fff;
            font-family: Inter, "PingFang SC", "Microsoft YaHei", system-ui, -apple-system, sans-serif;
            line-height: 1.7;
            -webkit-font-smoothing: antialiased;
        }
        body.menu-open { overflow: hidden; }
        a { color: inherit; text-decoration: none; }
        img { display: block; max-width: 100%; }
        button, input { font: inherit; }
        button { cursor: pointer; }
        ::selection { color: #fff; background: var(--primary); }
        :focus-visible { outline: 3px solid rgba(40,120,239,.32); outline-offset: 3px; }
        .site-container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
        .site-header {
            position: sticky;
            top: 0;
            z-index: 50;
            background: rgba(255,255,255,.92);
            border-bottom: 1px solid rgba(223,231,242,.9);
            backdrop-filter: blur(16px);
        }
        .nav-shell { min-height: 76px; display: flex; align-items: center; gap: 32px; }
        .brand { display: inline-flex; align-items: center; gap: 11px; flex: 0 0 auto; font-weight: 900; letter-spacing: -.02em; }
        .brand-mark {
            width: 40px; height: 40px; border-radius: 13px; color: #fff;
            display: grid; place-items: center;
            background: linear-gradient(145deg, #2878ef, #1849a9);
            box-shadow: 0 9px 22px rgba(23,92,211,.24);
        }
        .brand-name { font-size: 18px; white-space: nowrap; }
        .desktop-nav { display: flex; align-items: center; gap: 8px; margin-left: auto; }
        .nav-link {
            padding: 10px 15px; border-radius: 11px; color: #4c5e78;
            font-size: 15px; font-weight: 700; transition: .22s ease;
        }
        .nav-link:hover { color: var(--primary); background: #f1f6ff; }
        .nav-link.active { color: var(--primary); background: #eaf2ff; }
        .nav-actions { display: flex; align-items: center; gap: 10px; }
        .btn {
            min-height: 44px; display: inline-flex; align-items: center; justify-content: center;
            gap: 8px; padding: 10px 18px; border: 1px solid transparent; border-radius: 12px;
            font-weight: 800; transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
        }
        .btn:hover { transform: translateY(-2px); }
        .btn-primary { color: #fff; background: var(--primary); box-shadow: 0 9px 22px rgba(23,92,211,.22); }
        .btn-primary:hover { background: var(--primary-dark); box-shadow: 0 14px 28px rgba(23,92,211,.3); }
        .btn-secondary { color: var(--primary); background: #fff; border-color: #cbd9ec; }
        .btn-secondary:hover { background: #f4f8ff; border-color: #95b5e7; }
        .menu-toggle {
            display: none; width: 44px; height: 44px; border: 1px solid var(--line);
            border-radius: 12px; background: #fff; color: var(--ink); place-items: center;
        }
        .mobile-panel { display: none; padding: 0 0 18px; }
        .mobile-panel.open { display: grid; gap: 8px; }
        .mobile-panel .nav-link, .mobile-panel .btn { width: 100%; justify-content: center; }
        section { position: relative; padding: 92px 0; }
        .section-soft { background: var(--soft); }
        .section-dark { color: #fff; background: #102a56; overflow: hidden; }
        .section-kicker {
            display: inline-flex; align-items: center; gap: 8px; margin-bottom: 13px;
            color: var(--primary); font-size: 13px; font-weight: 900; letter-spacing: .12em;
        }
        .section-kicker::before { content: ""; width: 24px; height: 3px; border-radius: 5px; background: var(--primary); }
        .section-dark .section-kicker { color: #80b2ff; }
        .section-dark .section-kicker::before { background: #55d6d2; }
        .section-title { max-width: 780px; margin: 0; font-size: clamp(30px, 4vw, 48px); line-height: 1.16; letter-spacing: -.04em; }
        .section-desc { max-width: 820px; margin: 18px 0 0; color: var(--muted); font-size: 17px; }
        .section-dark .section-desc { color: #c6d5eb; }
        .section-head { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 40px; }
        .text-link { color: var(--primary); font-weight: 800; white-space: nowrap; }
        .text-link:hover { color: var(--primary-dark); }
        .card {
            background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius);
            box-shadow: var(--shadow); transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
        }
        .card:hover { transform: translateY(-5px); box-shadow: var(--shadow-hover); border-color: #bdd1ed; }
        .badge {
            display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px;
            border-radius: 999px; color: var(--primary); background: #eaf2ff;
            font-size: 12px; font-weight: 900;
        }
        .badge-live { color: #067667; background: #dff8f3; }
        .badge-warn { color: #9a5b00; background: #fff3d6; }
        .hero {
            min-height: 720px; padding: 82px 0 52px; overflow: hidden;
            background:
                radial-gradient(circle at 86% 14%, rgba(40,120,239,.18), transparent 26%),
                radial-gradient(circle at 8% 70%, rgba(6,166,166,.10), transparent 25%),
                linear-gradient(180deg, #f7faff 0%, #fff 100%);
        }
        .hero::before {
            content: ""; position: absolute; inset: 0; opacity: .34; pointer-events: none;
            background-image: linear-gradient(#dfe7f2 1px, transparent 1px), linear-gradient(90deg, #dfe7f2 1px, transparent 1px);
            background-size: 54px 54px;
            mask-image: linear-gradient(to bottom, #000, transparent 86%);
        }
        .hero-stage {
            position: relative; overflow: hidden; border-radius: 32px; color: #fff;
            min-height: 500px; display: grid; align-items: end; box-shadow: 0 28px 70px rgba(16,42,86,.2);
            background: #102a56;
        }
        .hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .44; }
        .hero-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(7,24,52,.96) 0%, rgba(12,40,82,.8) 52%, rgba(12,40,82,.2) 100%); }
        .hero-content { position: relative; z-index: 2; max-width: 790px; padding: clamp(34px, 6vw, 74px); }
        .hero-label { display: inline-flex; align-items: center; gap: 10px; font-weight: 800; color: #d7e8ff; }
        .pulse { width: 9px; height: 9px; border-radius: 50%; background: #54e0d6; box-shadow: 0 0 0 7px rgba(84,224,214,.14); }
        .hero h1 { margin: 18px 0 20px; font-size: clamp(38px, 6vw, 72px); line-height: 1.06; letter-spacing: -.055em; }
        .hero-copy { max-width: 720px; margin: 0; color: #d2def0; font-size: clamp(16px, 2vw, 19px); }
        .hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
        .hero .btn-secondary { color: #fff; background: rgba(255,255,255,.09); border-color: rgba(255,255,255,.32); }
        .hero .btn-secondary:hover { background: rgba(255,255,255,.16); }
        .metric-strip {
            position: relative; z-index: 3; display: grid; grid-template-columns: repeat(4, 1fr);
            width: calc(100% - 64px); margin: -38px auto 0; border-radius: 22px;
            background: #fff; border: 1px solid var(--line); box-shadow: var(--shadow);
        }
        .metric { padding: 22px 25px; }
        .metric + .metric { border-left: 1px solid var(--line); }
        .metric strong { display: block; font-size: 24px; line-height: 1.2; color: var(--primary); }
        .metric span { display: block; margin-top: 7px; color: var(--muted); font-size: 13px; }
        .category-grid { display: grid; grid-template-columns: 1.25fr .75fr .75fr; gap: 18px; }
        .category-card { min-height: 250px; padding: 28px; display: flex; flex-direction: column; justify-content: space-between; }
        .category-card.featured { color: #fff; background: linear-gradient(145deg, #175cd3, #123f8c); border: 0; }
        .category-card h3 { margin: 16px 0 8px; font-size: 24px; }
        .category-card p { margin: 0; color: var(--muted); }
        .category-card.featured p { color: #dce9ff; }
        .category-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 15px; color: var(--primary); background: #eaf2ff; font-size: 22px; }
        .feature-layout { display: grid; grid-template-columns: 1.35fr .65fr; gap: 22px; }
        .feature-story { overflow: hidden; min-height: 500px; position: relative; }
        .feature-story img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
        .story-shade { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(7,24,52,.96), rgba(7,24,52,.05) 76%); }
        .story-copy { position: absolute; inset: auto 0 0; z-index: 2; padding: 34px; color: #fff; }
        .story-copy h3 { margin: 13px 0 10px; font-size: 30px; }
        .story-copy p { margin: 0; color: #d7e2f2; }
        .brief-stack { display: grid; gap: 16px; }
        .brief-card { padding: 23px; }
        .brief-card h3 { margin: 13px 0 8px; font-size: 20px; }
        .brief-card p { margin: 0; color: var(--muted); font-size: 14px; }
        .news-layout { display: grid; grid-template-columns: .7fr 1.3fr; gap: 40px; align-items: start; }
        .search-box { padding: 25px; position: sticky; top: 104px; }
        .search-field { display: flex; gap: 8px; margin-top: 18px; }
        .search-field input {
            width: 100%; min-width: 0; padding: 12px 14px; color: var(--ink);
            border: 1px solid var(--line); border-radius: 11px; background: #f9fbfe;
        }
        .search-field input:focus { border-color: var(--primary); background: #fff; outline: 3px solid rgba(40,120,239,.13); }
        .news-list { display: grid; gap: 14px; }
        .news-item { display: grid; grid-template-columns: 112px 1fr auto; gap: 22px; align-items: center; padding: 20px; }
        .news-date { text-align: center; padding: 15px 10px; border-radius: 14px; background: #eef4fd; color: var(--primary); }
        .news-date strong { display: block; font-size: 22px; }
        .news-item h3 { margin: 0 0 5px; font-size: 19px; }
        .news-item p { margin: 0; color: var(--muted); font-size: 14px; }
        .arrow { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; background: #eff5fd; color: var(--primary); }
        .rank-wrap { display: grid; grid-template-columns: 1fr .75fr; gap: 22px; }
        .rank-list { overflow: hidden; }
        .rank-row { display: grid; grid-template-columns: 56px 1fr 130px; gap: 18px; align-items: center; padding: 21px 25px; border-bottom: 1px solid var(--line); }
        .rank-row:last-child { border-bottom: 0; }
        .rank-no { font-size: 26px; font-weight: 900; color: #9ca9bc; }
        .rank-row:first-child .rank-no { color: var(--accent); }
        .rank-row h3 { margin: 0; font-size: 18px; }
        .rank-row p { margin: 4px 0 0; color: var(--muted); font-size: 13px; }
        .score-bar { height: 7px; border-radius: 9px; background: #e8eef6; overflow: hidden; }
        .score-bar span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #2878ef, #06a6a6); }
        .rank-note { padding: 30px; color: #fff; background: #102a56; }
        .rank-note blockquote { margin: 28px 0; font-size: 23px; line-height: 1.55; font-weight: 800; }
        .evidence-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
        .evidence-card { padding: 30px; }
        .evidence-card h3 { margin: 18px 0 9px; font-size: 22px; }
        .evidence-card p { margin: 0; color: var(--muted); }
        .evidence-meta { display: flex; justify-content: space-between; gap: 16px; margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line); color: #52647f; font-size: 13px; }
        .source-wall { display: grid; grid-template-columns: repeat(5, 1fr); gap: 13px; margin-top: 34px; }
        .source-item { min-height: 94px; display: grid; place-items: center; padding: 14px; text-align: center; color: #405571; font-weight: 800; box-shadow: none; }
        .source-item:hover { color: var(--primary); }
        .assurance-bar { display: grid; grid-template-columns: repeat(4, 1fr); border-radius: var(--radius); overflow: hidden; background: #fff; border: 1px solid var(--line); box-shadow: var(--shadow); }
        .assurance-item { padding: 27px; }
        .assurance-item + .assurance-item { border-left: 1px solid var(--line); }
        .assurance-item strong { display: block; margin-bottom: 6px; font-size: 17px; }
        .assurance-item span { color: var(--muted); font-size: 13px; }
        .solution-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 50px; align-items: center; }
        .pain-list { display: grid; gap: 13px; margin-top: 28px; }
        .pain-item { display: flex; gap: 15px; align-items: flex-start; padding: 17px; border-radius: 15px; background: #fff; border: 1px solid var(--line); }
        .pain-item i { flex: 0 0 auto; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--primary); font-style: normal; }
        .dashboard { padding: 24px; background: #102a56; border: 0; }
        .dashboard-top { display: flex; justify-content: space-between; gap: 20px; color: #fff; }
        .dashboard-screen { margin-top: 20px; padding: 25px; border-radius: 16px; background: #fff; }
        .timeline { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin-top: 45px; }
        .step { position: relative; padding: 0 24px; }
        .step:not(:last-child)::after { content: ""; position: absolute; top: 23px; left: 58px; right: -14px; height: 2px; background: #cfdbeb; }
        .step-no { position: relative; z-index: 2; width: 48px; height: 48px; display: grid; place-items: center; border-radius: 15px; color: #fff; background: var(--primary); font-weight: 900; box-shadow: 0 8px 20px rgba(23,92,211,.23); }
        .step h3 { margin: 20px 0 8px; font-size: 18px; }
        .step p { margin: 0; color: var(--muted); font-size: 14px; }
        .data-band { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 40px; border: 1px solid rgba(255,255,255,.15); border-radius: 20px; }
        .data-cell { padding: 32px; }
        .data-cell + .data-cell { border-left: 1px solid rgba(255,255,255,.15); }
        .data-cell strong { display: block; font-size: clamp(31px, 4vw, 48px); line-height: 1.1; color: #fff; }
        .data-cell span { display: block; margin-top: 9px; color: #b9cae2; }
        .scenario-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 38px; }
        .scenario-card { padding: 28px; }
        .scenario-card h3 { margin: 17px 0 9px; font-size: 21px; }
        .scenario-card p { margin: 0; color: var(--muted); }
        .quote { margin-top: 18px; padding: 15px; border-left: 3px solid var(--secondary); background: #f2fbfb; color: #48606d; font-size: 13px; }
        .compare-wrap { overflow-x: auto; margin-top: 38px; padding: 8px 8px 18px; }
        .compare-table { width: 100%; min-width: 820px; border-collapse: separate; border-spacing: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 20px; background: #fff; box-shadow: var(--shadow); }
        .compare-table th, .compare-table td { padding: 20px; text-align: center; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
        .compare-table th:first-child, .compare-table td:first-child { text-align: left; font-weight: 800; }
        .compare-table tr:last-child td { border-bottom: 0; }
        .compare-table th:last-child, .compare-table td:last-child { border-right: 0; }
        .compare-table th { color: #435670; background: #f7f9fc; }
        .compare-table .recommended { background: #edf5ff; color: var(--primary-dark); }
        .check { color: #079474; font-weight: 900; }
        .muted-mark { color: #a6b1c1; }
        .trial-panel {
            position: relative; overflow: hidden; display: grid; grid-template-columns: 1fr .8fr;
            gap: 45px; align-items: center; padding: clamp(32px, 6vw, 65px); border-radius: 30px;
            color: #fff; background: linear-gradient(135deg, #175cd3, #102a56);
            box-shadow: 0 25px 60px rgba(16,42,86,.25);
        }
        .trial-panel::after { content: ""; position: absolute; width: 350px; height: 350px; right: -120px; top: -170px; border-radius: 50%; border: 70px solid rgba(255,255,255,.06); }
        .trial-panel h2 { margin: 0; font-size: clamp(30px, 4vw, 49px); line-height: 1.16; }
        .trial-panel p { margin: 18px 0 0; color: #d7e4f7; }
        .trial-form { position: relative; z-index: 2; padding: 22px; border: 1px solid rgba(255,255,255,.18); border-radius: 18px; background: rgba(255,255,255,.1); backdrop-filter: blur(10px); }
        .trial-form label { display: block; margin-bottom: 8px; font-weight: 800; }
        .trial-form input { width: 100%; padding: 13px 15px; border: 1px solid rgba(255,255,255,.28); border-radius: 11px; color: var(--ink); background: #fff; }
        .trial-form .btn { width: 100%; margin-top: 11px; color: var(--primary); background: #fff; }
        .form-note { margin-top: 10px !important; color: #c4d5eb !important; font-size: 12px; }
        .form-message { display: none; margin-top: 12px; padding: 10px; border-radius: 10px; color: #d8fff7; background: rgba(4,120,87,.25); font-size: 13px; }
        .site-footer { padding: 55px 0 26px; color: #b7c6da; background: #091b35; }
        .footer-grid { display: grid; grid-template-columns: 1.4fr .6fr .6fr; gap: 50px; }
        .footer-brand .brand-name { color: #fff; }
        .footer-copy { max-width: 560px; margin: 19px 0 0; color: #9eb0c8; }
        .footer-title { margin: 0 0 15px; color: #fff; font-size: 15px; }
        .footer-links { display: grid; gap: 9px; }
        .footer-links a { color: #aebdd0; transition: color .2s ease; }
        .footer-links a:hover { color: #fff; }
        .footer-bottom { display: flex; justify-content: space-between; gap: 24px; margin-top: 40px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.1); color: #8398b3; font-size: 13px; }
        .hidden-item { display: none !important; }
        @media (max-width: 1024px) {
            .desktop-nav, .nav-actions { display: none; }
            .menu-toggle { display: grid; margin-left: auto; }
            .category-grid { grid-template-columns: 1fr 1fr; }
            .category-card.featured { grid-column: 1 / -1; }
            .feature-layout, .rank-wrap, .solution-grid { grid-template-columns: 1fr; }
            .brief-stack { grid-template-columns: repeat(3, 1fr); }
            .news-layout { grid-template-columns: 1fr; }
            .search-box { position: static; }
            .source-wall { grid-template-columns: repeat(3, 1fr); }
            .assurance-bar, .timeline, .data-band { grid-template-columns: repeat(2, 1fr); }
            .assurance-item:nth-child(3), .data-cell:nth-child(3) { border-left: 0; }
            .assurance-item:nth-child(n+3), .data-cell:nth-child(n+3) { border-top: 1px solid var(--line); }
            .section-dark .data-cell:nth-child(n+3) { border-top-color: rgba(255,255,255,.15); }
            .step:nth-child(2)::after { display: none; }
            .step:nth-child(n+3) { margin-top: 35px; }
            .scenario-grid { grid-template-columns: 1fr 1fr; }
        }
        @media (max-width: 768px) {
            .site-container { width: min(calc(100% - 28px), var(--container)); }
            section { padding: 70px 0; }
            .hero { padding-top: 32px; }
            .hero-stage { min-height: 570px; }
            .hero-overlay { background: linear-gradient(0deg, rgba(7,24,52,.97), rgba(12,40,82,.58)); }
            .hero-content { padding: 30px; }
            .metric-strip { width: calc(100% - 26px); grid-template-columns: 1fr 1fr; }
            .metric:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
            .metric:nth-child(4) { border-top: 1px solid var(--line); }
            .category-grid, .evidence-grid, .scenario-grid, .trial-panel { grid-template-columns: 1fr; }
            .category-card.featured { grid-column: auto; }
            .brief-stack { grid-template-columns: 1fr; }
            .news-item { grid-template-columns: 88px 1fr; }
            .news-item .arrow { display: none; }
            .source-wall { grid-template-columns: repeat(2, 1fr); }
            .section-head { display: block; }
            .section-head .text-link { display: inline-block; margin-top: 20px; }
            .footer-grid { grid-template-columns: 1fr 1fr; }
            .footer-brand { grid-column: 1 / -1; }
        }
        @media (max-width: 520px) {
            .brand-name { font-size: 16px; }
            .hero h1 { font-size: 38px; }
            .hero-content { padding: 26px 22px; }
            .hero-actions .btn { width: 100%; }
            .metric-strip { grid-template-columns: 1fr; margin-top: -24px; }
            .metric + .metric { border-left: 0; border-top: 1px solid var(--line); }
            .section-title { font-size: 30px; }
            .news-item { grid-template-columns: 1fr; }
            .news-date { text-align: left; }
            .news-date strong { display: inline; margin-right: 5px; }
            .rank-row { grid-template-columns: 42px 1fr; }
            .rank-row .score-bar { grid-column: 1 / -1; }
            .source-wall, .assurance-bar, .timeline, .data-band { grid-template-columns: 1fr; }
            .assurance-item + .assurance-item, .data-cell + .data-cell { border-left: 0; border-top: 1px solid var(--line); }
            .step { padding: 0; display: grid; grid-template-columns: 48px 1fr; gap: 0 16px; }
            .step:not(:last-child)::after { left: 23px; right: auto; top: 52px; bottom: -34px; width: 2px; height: auto; display: block; }
            .step + .step { margin-top: 34px; }
            .step h3 { margin: 2px 0 6px; }
            .step p { grid-column: 2; }
            .trial-panel { padding: 29px 21px; }
            .footer-grid { grid-template-columns: 1fr; }
            .footer-brand { grid-column: auto; }
            .footer-bottom { display: block; }
            .footer-bottom span { display: block; margin-top: 8px; }
        }

/* roulang page: category1 */
:root{--primary:#175cd3;--primary-dark:#1849a9;--secondary:#06a6a6;--accent:#f59e0b;--ink:#10213c;--muted:#61708a;--surface:#fff;--soft:#f5f8fd;--line:#dfe7f2;--radius-sm:12px;--radius:20px;--radius-lg:30px;--shadow:0 14px 40px rgba(16,42,86,.09);--shadow-hover:0 20px 55px rgba(23,92,211,.16);--container:1200px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;color:var(--ink);background:#fff;font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;line-height:1.7;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,select{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:800}a,button,input,select{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #06a6a6;outline-offset:4px}.site-container{width:min(calc(100% - 40px),var(--container));margin-inline:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.nav-shell{min-height:76px;display:flex;align-items:center;gap:32px}.brand{display:inline-flex;align-items:center;gap:11px;flex:0 0 auto;font-weight:900;letter-spacing:-.02em}.brand-mark{width:40px;height:40px;border-radius:13px;color:#fff;display:grid;place-items:center;background:linear-gradient(145deg,#2878ef,#1849a9);box-shadow:0 9px 22px rgba(23,92,211,.24)}.brand-name{font-size:18px;white-space:nowrap}.desktop-nav{display:flex;align-items:center;gap:8px;margin-left:auto}.nav-link{padding:10px 15px;border-radius:11px;color:#4c5e78;font-size:15px;font-weight:700;transition:.22s}.nav-link:hover{color:var(--primary);background:#f1f6ff}.nav-link.active{color:var(--primary);background:#eaf2ff}.nav-actions{display:flex;align-items:center;gap:10px}.btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border:1px solid transparent;border-radius:12px;font-weight:800;transition:transform .2s,box-shadow .2s,background .2s}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn-primary{color:#fff;background:var(--primary);box-shadow:0 9px 22px rgba(23,92,211,.22)}.btn-primary:hover{background:var(--primary-dark);box-shadow:var(--shadow-hover)}.btn-secondary{color:var(--primary);background:#fff;border-color:#cbd9ec}.btn-secondary:hover{background:#f4f8ff;border-color:#95b5e7}.menu-toggle{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);place-items:center}.mobile-panel{display:none;padding:0 0 18px}.mobile-panel.open{display:grid;gap:8px}.mobile-panel .nav-link,.mobile-panel .btn{width:100%;text-align:center;justify-content:center}section{position:relative;padding:80px 0}section+section{border-top:1px solid #edf1f7}.section-soft{background:var(--soft)}.section-dark{color:#fff;background:#102a56;overflow:hidden}.section-kicker{display:inline-flex;align-items:center;gap:8px;margin-bottom:13px;color:var(--primary);font-size:13px;font-weight:900;letter-spacing:.12em}.section-kicker:before{content:"";width:24px;height:3px;border-radius:5px;background:var(--primary)}.section-title{max-width:780px;font-size:clamp(28px,3.3vw,40px);line-height:1.3;letter-spacing:-.04em}.section-desc{max-width:820px;margin:18px 0 0;color:var(--muted);font-size:16px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:34px}.text-link{color:var(--primary);font-weight:800}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);transition:transform .22s,box-shadow .22s,border-color .22s}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover);border-color:#bdd1ed}.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;color:var(--primary);background:#eaf2ff;font-size:12px;font-weight:800}.badge-warn{color:#9a5b00;background:#fff3d6}.hero{padding:48px 0 66px;background:linear-gradient(180deg,#f5f9ff,#fff)}.breadcrumb{font-size:13px;color:var(--muted);margin-bottom:34px}.hero h1{font-size:clamp(36px,4.8vw,60px);line-height:1.15;letter-spacing:-.04em}.hero-intro{max-width:760px;font-size:18px;color:var(--muted);margin-top:22px}.resource-grid{display:grid;grid-template-columns:.85fr 1.15fr 1fr;gap:30px;align-items:center;margin-top:42px}.book{position:relative;min-height:340px;padding:32px;color:white;background:#175cd3;border-radius:6px 22px 22px 6px;border-left:9px solid #103d96;box-shadow:15px 18px 35px #173f7a24;overflow:hidden;isolation:isolate}.book:after{content:"";position:absolute;width:280px;height:280px;border:1px solid #ffffff30;border-radius:50%;right:-110px;bottom:-80px;box-shadow:0 0 0 35px #ffffff09,0 0 0 70px #ffffff09;z-index:-1}.book-title{font-size:34px;line-height:1.3;margin:30px 0 18px;font-weight:800}.book-bottom{margin-top:48px;font-size:12px;color:#cbdfff;letter-spacing:.1em}.toc{list-style:none;padding:0;margin:18px 0 0}.toc li{display:flex;gap:15px;padding:13px 0;border-bottom:1px solid var(--line);font-size:15px}.toc span{color:var(--primary);font-weight:800}.form-card{padding:26px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}label{display:block;font-size:13px;font-weight:700;margin:18px 0 7px}input,select{width:100%;padding:11px 12px;border:1px solid #cbd9ec;background:#fbfcff;border-radius:10px;color:var(--ink)}.fine{font-size:12px;color:var(--muted);line-height:1.8}.body-copy{color:var(--muted);font-size:15px;line-height:1.85}.line-item{padding:22px 0;border-bottom:1px solid var(--line)}.line-item:first-child{padding-top:0}.number{color:var(--primary);font-size:14px;font-weight:900;letter-spacing:.06em}.step{position:relative;padding:25px;border-top:3px solid var(--primary);background:var(--soft);border-radius:0 0 16px 16px}.step h3{margin:14px 0 10px;font-size:18px}.status-row{display:grid;grid-template-columns:1fr 1.4fr auto;align-items:center;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}.quote{margin:0;padding:26px 30px;border-left:3px solid var(--secondary);background:#f0f7ff;border-radius:0 18px 18px 0}.quote p{font-size:19px;font-weight:750}.quote footer{color:var(--muted);font-size:14px;margin-top:12px}.news-item{padding:26px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:100px 1fr;gap:22px}.news-item h3{font-size:20px;margin-bottom:8px}.metric{border-left:1px solid #315078;padding-left:22px}.metric strong{display:block;font-size:30px;line-height:1.3;color:#9dc7ff;margin-bottom:12px}.cta-box{padding:36px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#f2f7ff}.site-footer{padding:60px 0 22px;background:#f5f8fd;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:65px}.footer-copy{max-width:510px;margin-top:20px;color:var(--muted);font-size:14px}.footer-title{font-size:15px;margin:4px 0 16px}.footer-links{display:grid;gap:10px;color:var(--muted);font-size:14px}.footer-links a:hover{color:var(--primary)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:42px;padding-top:22px;color:var(--muted);font-size:12px}
@media(min-width:769px){.mobile-panel.open{display:none}}
@media(max-width:1024px){.nav-shell{gap:14px}.nav-link{padding:10px}.nav-actions .btn{padding:9px 12px;font-size:13px}.resource-grid{grid-template-columns:1fr 1fr}.form-card{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.footer-grid{gap:30px}}
@media(max-width:768px){.desktop-nav,.nav-actions{display:none}.menu-toggle{display:grid;margin-left:auto}.nav-shell{min-height:68px}section{padding:58px 0}.hero{padding-top:28px}.section-head{align-items:start;flex-direction:column;gap:16px}.resource-grid{gap:22px}.book{min-height:315px;padding:24px}.book-title{font-size:28px}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:8px}.status-row{grid-template-columns:1fr auto}.status-row .body-copy{grid-column:1/-1;grid-row:2}.section-title{font-size:29px}}
@media(max-width:520px){.site-container{width:calc(100% - 32px)}.resource-grid{grid-template-columns:1fr}.book{min-height:270px}.book-bottom{margin-top:28px}.form-card{display:block;padding:22px}.hero h1{font-size:37px}.hero-intro{font-size:16px}.news-item{grid-template-columns:1fr;gap:9px}.cta-box{padding:25px}.quote{padding:22px}.brand-name{font-size:17px}.footer-grid{gap:28px}.breadcrumb{margin-bottom:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
