/* roulang page: index */
:root {
            --bg: #080b16;
            --bg-soft: #0d1222;
            --surface: #11172a;
            --surface-2: #161e35;
            --surface-3: #1d2743;
            --text: #f7f9ff;
            --text-soft: #aab4cf;
            --text-faint: #7c88a6;
            --primary: #8cffcf;
            --primary-deep: #33dba1;
            --accent: #a987ff;
            --accent-2: #ffcf6a;
            --danger: #ff718e;
            --success: #69e7b1;
            --border: rgba(195, 207, 238, .14);
            --border-strong: rgba(140, 255, 207, .35);
            --shadow-sm: 0 10px 28px rgba(0, 0, 0, .2);
            --shadow-lg: 0 30px 80px rgba(0, 0, 0, .38);
            --radius-sm: 12px;
            --radius-md: 20px;
            --radius-lg: 30px;
            --radius-pill: 999px;
            --container: 1200px;
            --section-space: clamp(72px, 9vw, 118px);
            --transition: .25s ease;
        }

        *, *::before, *::after {
            box-sizing: border-box;
        }

        html {
            scroll-behavior: smooth;
            scroll-padding-top: 110px;
        }

        body {
            margin: 0;
            min-width: 320px;
            overflow-x: hidden;
            color: var(--text);
            background:
                radial-gradient(circle at 10% 5%, rgba(104, 78, 210, .14), transparent 25rem),
                radial-gradient(circle at 90% 15%, rgba(51, 219, 161, .1), transparent 25rem),
                var(--bg);
            font-family: "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", system-ui, sans-serif;
            font-size: 16px;
            line-height: 1.72;
            -webkit-font-smoothing: antialiased;
        }

        body.menu-open {
            overflow: hidden;
        }

        a {
            color: inherit;
            text-decoration: none;
        }

        button, input, select {
            font: inherit;
        }

        button, input, select, a {
            -webkit-tap-highlight-color: transparent;
        }

        button {
            border: 0;
            cursor: pointer;
        }

        img, svg {
            display: block;
            max-width: 100%;
        }

        h1, h2, h3, p {
            margin-top: 0;
        }

        h1, h2, h3 {
            line-height: 1.18;
            letter-spacing: -.035em;
        }

        p {
            color: var(--text-soft);
        }

        :focus-visible {
            outline: 3px solid rgba(140, 255, 207, .7);
            outline-offset: 4px;
        }

        .container {
            width: min(calc(100% - 40px), var(--container));
            margin-inline: auto;
        }

        .section {
            position: relative;
            padding: var(--section-space) 0;
        }

        .section + .section {
            border-top: 1px solid rgba(255, 255, 255, .045);
        }

        .section-soft {
            background: linear-gradient(180deg, rgba(255, 255, 255, .025), rgba(255, 255, 255, 0));
        }

        .section-heading {
            display: flex;
            align-items: end;
            justify-content: space-between;
            gap: 32px;
            margin-bottom: 38px;
        }

        .section-heading > div:first-child {
            max-width: 780px;
        }

        .section-heading h2 {
            margin-bottom: 14px;
            font-size: clamp(30px, 4vw, 50px);
        }

        .section-heading p {
            max-width: 760px;
            margin-bottom: 0;
            font-size: 17px;
        }

        .eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 9px;
            margin-bottom: 17px;
            color: var(--primary);
            font-size: 13px;
            font-weight: 800;
            letter-spacing: .12em;
            text-transform: uppercase;
        }

        .eyebrow::before {
            width: 24px;
            height: 2px;
            content: "";
            background: var(--primary);
            box-shadow: 0 0 14px var(--primary);
        }

        .badge {
            display: inline-flex;
            align-items: center;
            gap: 7px;
            padding: 7px 11px;
            border: 1px solid var(--border);
            border-radius: var(--radius-pill);
            color: var(--text-soft);
            background: rgba(255, 255, 255, .045);
            font-size: 12px;
            font-weight: 700;
        }

        .badge.live::before,
        .status-dot {
            width: 7px;
            height: 7px;
            border-radius: 50%;
            content: "";
            background: var(--primary);
            box-shadow: 0 0 12px var(--primary);
        }

        .btn {
            display: inline-flex;
            min-height: 48px;
            align-items: center;
            justify-content: center;
            gap: 9px;
            padding: 0 20px;
            border: 1px solid transparent;
            border-radius: var(--radius-pill);
            font-weight: 800;
            transition: transform var(--transition), box-shadow var(--transition), background var(--transition), border-color var(--transition);
        }

        .btn:hover {
            transform: translateY(-2px);
        }

        .btn:active {
            transform: translateY(0);
        }

        .btn-primary {
            color: #07120e;
            background: var(--primary);
            box-shadow: 0 12px 30px rgba(51, 219, 161, .2);
        }

        .btn-primary:hover {
            background: #b1ffe1;
            box-shadow: 0 16px 36px rgba(51, 219, 161, .3);
        }

        .btn-secondary {
            border-color: var(--border);
            color: var(--text);
            background: rgba(255, 255, 255, .055);
        }

        .btn-secondary:hover {
            border-color: rgba(255, 255, 255, .3);
            background: rgba(255, 255, 255, .1);
        }

        .text-link {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            color: var(--primary);
            font-weight: 800;
            transition: gap var(--transition), color var(--transition);
        }

        .text-link:hover {
            gap: 12px;
            color: #c0ffe7;
        }

        .site-header {
            position: absolute;
            z-index: 100;
            top: 0;
            left: 0;
            width: 100%;
            padding: 22px 0;
        }

        .nav-shell {
            display: flex;
            min-height: 66px;
            align-items: center;
            justify-content: space-between;
            gap: 24px;
            padding: 9px 12px 9px 20px;
            border: 1px solid rgba(255, 255, 255, .12);
            border-radius: var(--radius-pill);
            background: rgba(9, 12, 25, .74);
            box-shadow: 0 15px 42px rgba(0, 0, 0, .25);
            backdrop-filter: blur(18px);
            -webkit-backdrop-filter: blur(18px);
        }

        .brand {
            display: inline-flex;
            flex-shrink: 0;
            align-items: center;
            gap: 11px;
            font-weight: 900;
            letter-spacing: -.025em;
        }

        .brand-mark {
            position: relative;
            display: grid;
            width: 38px;
            height: 38px;
            place-items: center;
            overflow: hidden;
            border: 1px solid rgba(140, 255, 207, .35);
            border-radius: 12px;
            color: #06130e;
            background: var(--primary);
            box-shadow: inset 0 0 0 5px rgba(255, 255, 255, .17);
        }

        .brand-mark::after {
            position: absolute;
            width: 28px;
            height: 6px;
            content: "";
            transform: rotate(-38deg);
            background: var(--bg);
        }

        .brand-text {
            font-size: 17px;
        }

        .nav-links {
            display: flex;
            align-items: center;
            gap: 6px;
            padding: 4px;
            border-radius: var(--radius-pill);
            background: rgba(255, 255, 255, .035);
        }

        .nav-link {
            padding: 10px 17px;
            border-radius: var(--radius-pill);
            color: var(--text-soft);
            font-size: 14px;
            font-weight: 750;
            transition: color var(--transition), background var(--transition);
        }

        .nav-link:hover,
        .nav-link.active {
            color: var(--text);
            background: rgba(255, 255, 255, .095);
        }

        .nav-status {
            display: inline-flex;
            align-items: center;
            gap: 9px;
            padding: 10px 16px;
            border: 1px solid var(--border);
            border-radius: var(--radius-pill);
            color: var(--text-soft);
            font-size: 13px;
            font-weight: 700;
        }

        .menu-toggle {
            display: none;
            width: 46px;
            height: 46px;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            color: var(--text);
            background: var(--surface-2);
        }

        .menu-toggle span,
        .menu-toggle span::before,
        .menu-toggle span::after {
            display: block;
            width: 20px;
            height: 2px;
            border-radius: 2px;
            background: currentColor;
            transition: var(--transition);
        }

        .menu-toggle span {
            position: relative;
        }

        .menu-toggle span::before,
        .menu-toggle span::after {
            position: absolute;
            left: 0;
            content: "";
        }

        .menu-toggle span::before { top: -6px; }
        .menu-toggle span::after { top: 6px; }

        .hero {
            position: relative;
            display: grid;
            min-height: 830px;
            align-items: end;
            overflow: hidden;
            padding: 158px 0 78px;
            isolation: isolate;
        }

        .hero::before {
            position: absolute;
            z-index: -3;
            inset: 0;
            content: "";
            background:
                linear-gradient(90deg, rgba(8, 11, 22, .97) 0%, rgba(8, 11, 22, .74) 47%, rgba(8, 11, 22, .28) 80%, rgba(8, 11, 22, .7) 100%),
                linear-gradient(0deg, var(--bg) 0%, transparent 35%);
        }

        .hero-art {
            position: absolute;
            z-index: -4;
            inset: 0;
            overflow: hidden;
            background:
                radial-gradient(ellipse at 76% 46%, rgba(169, 135, 255, .38), transparent 18%),
                radial-gradient(ellipse at 76% 55%, rgba(140, 255, 207, .22), transparent 32%),
                linear-gradient(135deg, #0d1530 0%, #1a1740 52%, #07120e 100%);
        }

        .arena-ring {
            position: absolute;
            top: 14%;
            right: -7%;
            width: min(63vw, 880px);
            aspect-ratio: 1;
            border: 2px solid rgba(140, 255, 207, .24);
            border-radius: 50%;
            box-shadow:
                0 0 80px rgba(140, 255, 207, .08),
                inset 0 0 100px rgba(169, 135, 255, .12);
        }

        .arena-ring::before,
        .arena-ring::after {
            position: absolute;
            border-radius: 50%;
            content: "";
        }

        .arena-ring::before {
            inset: 10%;
            border: 22px solid rgba(255, 255, 255, .035);
            border-top-color: rgba(140, 255, 207, .3);
            border-bottom-color: rgba(169, 135, 255, .3);
            transform: rotate(-18deg);
        }

        .arena-ring::after {
            inset: 27%;
            border: 1px solid rgba(255, 255, 255, .22);
            background: radial-gradient(circle, rgba(140, 255, 207, .2), transparent 60%);
        }

        .hero-lines {
            position: absolute;
            inset: 0;
            opacity: .35;
            background-image:
                linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px),
                linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px);
            background-size: 72px 72px;
            mask-image: linear-gradient(to right, transparent, #000);
        }

        .hero-content {
            max-width: 790px;
        }

        .hero-brand {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            margin-bottom: 24px;
            padding: 8px 14px;
            border: 1px solid rgba(140, 255, 207, .25);
            border-radius: var(--radius-pill);
            color: var(--primary);
            background: rgba(140, 255, 207, .065);
            font-weight: 800;
        }

        .hero h1 {
            max-width: 900px;
            margin-bottom: 25px;
            font-size: clamp(48px, 7vw, 92px);
            letter-spacing: -.062em;
        }

        .hero h1 span {
            color: transparent;
            background: linear-gradient(90deg, var(--primary), #d5c8ff 70%);
            -webkit-background-clip: text;
            background-clip: text;
        }

        .hero-copy {
            max-width: 760px;
            margin-bottom: 30px;
            color: #c2cbe1;
            font-size: clamp(17px, 2vw, 20px);
            line-height: 1.9;
        }

        .hero-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 12px;
            margin-bottom: 48px;
        }

        .hero-bottom {
            display: grid;
            grid-template-columns: 1.25fr .75fr;
            gap: 18px;
        }

        .countdown-card,
        .hero-note {
            border: 1px solid var(--border);
            border-radius: var(--radius-md);
            background: rgba(12, 17, 33, .76);
            box-shadow: var(--shadow-sm);
            backdrop-filter: blur(14px);
        }

        .countdown-card {
            display: flex;
            align-items: center;
            gap: 20px;
            padding: 20px 22px;
        }

        .countdown-label strong {
            display: block;
            margin-bottom: 3px;
            font-size: 15px;
        }

        .countdown-label span {
            color: var(--text-faint);
            font-size: 13px;
        }

        .countdown-units {
            display: flex;
            gap: 8px;
            margin-left: auto;
        }

        .countdown-unit {
            min-width: 62px;
            padding: 9px 7px;
            text-align: center;
            border: 1px solid var(--border);
            border-radius: 12px;
            background: rgba(255, 255, 255, .045);
        }

        .countdown-unit b {
            display: block;
            font-size: 20px;
        }

        .countdown-unit small {
            color: var(--text-faint);
            font-size: 11px;
        }

        .hero-note {
            display: flex;
            align-items: center;
            gap: 14px;
            padding: 20px;
        }

        .note-icon {
            display: grid;
            width: 44px;
            height: 44px;
            flex: 0 0 auto;
            place-items: center;
            border-radius: 14px;
            color: var(--accent-2);
            background: rgba(255, 207, 106, .12);
            font-size: 22px;
        }

        .hero-note strong {
            display: block;
            margin-bottom: 2px;
            font-size: 14px;
        }

        .hero-note span {
            color: var(--text-faint);
            font-size: 12px;
        }

        .metric-board {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 14px;
        }

        .metric {
            position: relative;
            overflow: hidden;
            min-height: 170px;
            padding: 24px;
            border: 1px solid var(--border);
            border-radius: var(--radius-md);
            background: var(--surface);
            transition: transform var(--transition), border-color var(--transition);
        }

        .metric:hover {
            transform: translateY(-5px);
            border-color: var(--border-strong);
        }

        .metric::after {
            position: absolute;
            right: -30px;
            bottom: -42px;
            width: 110px;
            height: 110px;
            border-radius: 50%;
            content: "";
            background: rgba(140, 255, 207, .06);
        }

        .metric-index {
            color: var(--primary);
            font-size: 12px;
            font-weight: 900;
            letter-spacing: .15em;
        }

        .metric strong {
            display: block;
            margin: 22px 0 8px;
            font-size: 27px;
        }

        .metric p {
            margin-bottom: 0;
            font-size: 14px;
        }

        .content-split {
            display: grid;
            grid-template-columns: minmax(0, 1.45fr) minmax(300px, .75fr);
            gap: 28px;
            align-items: start;
        }

        .news-stream {
            display: grid;
            gap: 12px;
        }

        .news-item {
            display: grid;
            grid-template-columns: 110px 1fr auto;
            gap: 20px;
            align-items: center;
            padding: 22px;
            border: 1px solid var(--border);
            border-radius: var(--radius-md);
            background: rgba(255, 255, 255, .027);
            transition: background var(--transition), border-color var(--transition), transform var(--transition);
        }

        .news-item:hover {
            transform: translateX(4px);
            border-color: rgba(169, 135, 255, .35);
            background: rgba(255, 255, 255, .05);
        }

        .news-time {
            color: var(--primary);
            font-size: 13px;
            font-weight: 800;
        }

        .news-item h3 {
            margin: 0 0 7px;
            font-size: 19px;
        }

        .news-item p {
            margin: 0;
            font-size: 14px;
        }

        .news-arrow {
            color: var(--text-faint);
            font-size: 24px;
        }

        .side-panel {
            position: sticky;
            top: 24px;
            padding: 25px;
            border: 1px solid var(--border);
            border-radius: var(--radius-lg);
            background: linear-gradient(160deg, var(--surface-2), var(--surface));
            box-shadow: var(--shadow-sm);
        }

        .side-panel h3 {
            margin-bottom: 19px;
            font-size: 23px;
        }

        .rank-list {
            display: grid;
            gap: 8px;
            margin: 0;
            padding: 0;
            list-style: none;
        }

        .rank-item {
            display: grid;
            grid-template-columns: 34px 1fr auto;
            align-items: center;
            gap: 12px;
            padding: 13px;
            border-radius: 14px;
            background: rgba(255, 255, 255, .035);
        }

        .rank-number {
            display: grid;
            width: 28px;
            height: 28px;
            place-items: center;
            border-radius: 9px;
            color: var(--primary);
            background: rgba(140, 255, 207, .1);
            font-weight: 900;
        }

        .rank-item strong {
            font-size: 14px;
        }

        .rank-item span:last-child {
            color: var(--text-faint);
            font-size: 12px;
        }

        .side-alert {
            margin-top: 18px;
            padding: 16px;
            border: 1px solid rgba(255, 207, 106, .18);
            border-radius: 15px;
            color: #e9d9ad;
            background: rgba(255, 207, 106, .07);
            font-size: 13px;
        }

        .topic-rail {
            display: flex;
            gap: 16px;
            overflow-x: auto;
            padding: 3px 2px 18px;
            scrollbar-color: var(--primary) rgba(255, 255, 255, .06);
        }

        .topic-card {
            min-width: 280px;
            padding: 24px;
            border: 1px solid var(--border);
            border-radius: var(--radius-md);
            background: var(--surface);
            transition: transform var(--transition), border-color var(--transition);
        }

        .topic-card:hover {
            transform: translateY(-5px);
            border-color: var(--border-strong);
        }

        .topic-card .topic-icon {
            display: grid;
            width: 48px;
            height: 48px;
            margin-bottom: 24px;
            place-items: center;
            border-radius: 15px;
            color: var(--primary);
            background: rgba(140, 255, 207, .09);
            font-size: 22px;
        }

        .topic-card h3 {
            margin-bottom: 10px;
            font-size: 20px;
        }

        .topic-card p {
            margin-bottom: 20px;
            font-size: 14px;
        }

        .service-grid {
            display: grid;
            grid-template-columns: 1.15fr .85fr .85fr;
            grid-template-rows: auto auto;
            gap: 18px;
        }

        .service-card {
            padding: 28px;
            border: 1px solid var(--border);
            border-radius: var(--radius-md);
            background: var(--surface);
        }

        .service-card.featured {
            grid-row: span 2;
            min-height: 430px;
            background:
                radial-gradient(circle at 100% 0, rgba(140, 255, 207, .14), transparent 45%),
                var(--surface-2);
        }

        .service-number {
            color: var(--primary);
            font-size: 40px;
            font-weight: 900;
            letter-spacing: -.05em;
        }

        .service-card h3 {
            margin: 30px 0 12px;
            font-size: 23px;
        }

        .service-card p {
            margin-bottom: 0;
            font-size: 14px;
        }

        .feature-list {
            display: grid;
            gap: 11px;
            margin: 28px 0 0;
            padding: 0;
            list-style: none;
        }

        .feature-list li {
            display: flex;
            gap: 10px;
            color: var(--text-soft);
            font-size: 14px;
        }

        .feature-list li::before {
            color: var(--primary);
            content: "◆";
            font-size: 9px;
            transform: translateY(5px);
        }

        .plan-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 18px;
        }

        .plan {
            position: relative;
            display: flex;
            min-height: 440px;
            flex-direction: column;
            padding: 29px;
            border: 1px solid var(--border);
            border-radius: var(--radius-lg);
            background: var(--surface);
        }

        .plan.recommended {
            transform: translateY(-10px);
            border-color: var(--border-strong);
            background:
                linear-gradient(180deg, rgba(140, 255, 207, .1), transparent 35%),
                var(--surface);
            box-shadow: 0 24px 70px rgba(51, 219, 161, .12);
        }

        .recommend-label {
            position: absolute;
            top: 18px;
            right: 18px;
            padding: 6px 10px;
            border-radius: var(--radius-pill);
            color: #07120e;
            background: var(--primary);
            font-size: 11px;
            font-weight: 900;
        }

        .plan h3 {
            margin: 18px 0 8px;
            font-size: 25px;
        }

        .plan-price {
            margin: 17px 0;
            font-size: 34px;
            font-weight: 900;
        }

        .plan-price small {
            color: var(--text-faint);
            font-size: 13px;
            font-weight: 600;
        }

        .plan ul {
            display: grid;
            gap: 12px;
            margin: 0 0 25px;
            padding: 0;
            list-style: none;
        }

        .plan li {
            display: flex;
            gap: 9px;
            color: var(--text-soft);
            font-size: 14px;
        }

        .plan li::before {
            color: var(--primary);
            content: "✓";
            font-weight: 900;
        }

        .plan .btn {
            width: 100%;
            margin-top: auto;
        }

        .comparison {
            display: grid;
            grid-template-columns: 1fr 1fr;
            overflow: hidden;
            border: 1px solid var(--border);
            border-radius: var(--radius-lg);
            background: var(--surface);
        }

        .compare-side {
            padding: clamp(28px, 5vw, 54px);
        }

        .compare-side + .compare-side {
            border-left: 1px solid var(--border);
            background: linear-gradient(145deg, rgba(140, 255, 207, .08), rgba(169, 135, 255, .06));
        }

        .compare-side h3 {
            margin-bottom: 24px;
            font-size: 25px;
        }

        .compare-list {
            display: grid;
            gap: 16px;
            margin: 0;
            padding: 0;
            list-style: none;
        }

        .compare-list li {
            display: grid;
            grid-template-columns: 34px 1fr;
            gap: 12px;
            align-items: start;
            color: var(--text-soft);
        }

        .compare-list i {
            display: grid;
            width: 30px;
            height: 30px;
            place-items: center;
            border-radius: 9px;
            color: var(--primary);
            background: rgba(140, 255, 207, .09);
            font-style: normal;
            font-size: 12px;
            font-weight: 900;
        }

        .timeline {
            position: relative;
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 18px;
        }

        .timeline::before {
            position: absolute;
            top: 25px;
            right: 10%;
            left: 10%;
            height: 1px;
            content: "";
            background: linear-gradient(90deg, var(--primary), var(--accent));
        }

        .milestone {
            position: relative;
            padding-top: 58px;
        }

        .milestone-dot {
            position: absolute;
            z-index: 2;
            top: 15px;
            left: 22px;
            width: 21px;
            height: 21px;
            border: 5px solid var(--bg);
            border-radius: 50%;
            background: var(--primary);
            box-shadow: 0 0 0 1px var(--primary), 0 0 18px rgba(140, 255, 207, .45);
        }

        .milestone-card {
            min-height: 220px;
            padding: 24px;
            border: 1px solid var(--border);
            border-radius: var(--radius-md);
            background: var(--surface);
        }

        .milestone-card span {
            color: var(--primary);
            font-size: 12px;
            font-weight: 900;
        }

        .milestone-card h3 {
            margin: 13px 0 10px;
            font-size: 20px;
        }

        .milestone-card p {
            margin: 0;
            font-size: 14px;
        }

        .update-layout {
            display: grid;
            grid-template-columns: 1.1fr .9fr;
            gap: 24px;
        }

        .update-feature {
            position: relative;
            min-height: 460px;
            overflow: hidden;
            padding: clamp(30px, 6vw, 58px);
            border: 1px solid var(--border);
            border-radius: var(--radius-lg);
            background:
                radial-gradient(circle at 78% 26%, rgba(169, 135, 255, .28), transparent 22%),
                radial-gradient(circle at 84% 70%, rgba(140, 255, 207, .16), transparent 27%),
                linear-gradient(145deg, #171d35, #0c1020);
        }

        .update-feature::after {
            position: absolute;
            right: -80px;
            bottom: -90px;
            width: 330px;
            height: 330px;
            border: 1px solid rgba(255, 255, 255, .15);
            border-radius: 50%;
            content: "";
            box-shadow: inset 0 0 0 40px rgba(255, 255, 255, .018);
        }

        .update-feature h3 {
            max-width: 520px;
            margin: 24px 0 16px;
            font-size: clamp(30px, 4vw, 48px);
        }

        .update-feature p {
            max-width: 570px;
        }

        .update-stack {
            display: grid;
            gap: 14px;
        }

        .update-card {
            padding: 23px;
            border: 1px solid var(--border);
            border-radius: var(--radius-md);
            background: var(--surface);
        }

        .update-card time {
            color: var(--primary);
            font-size: 12px;
            font-weight: 800;
        }

        .update-card h3 {
            margin: 12px 0 8px;
            font-size: 19px;
        }

        .update-card p {
            margin: 0;
            font-size: 13px;
        }

        .bracket {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 42px;
            align-items: center;
        }

        .bracket-stage h3 {
            margin-bottom: 18px;
            color: var(--text-soft);
            font-size: 15px;
            letter-spacing: .04em;
        }

        .match-card {
            position: relative;
            margin-bottom: 16px;
            padding: 18px;
            border: 1px solid var(--border);
            border-radius: 16px;
            background: var(--surface);
        }

        .match-card::after {
            position: absolute;
            top: 50%;
            left: 100%;
            width: 43px;
            height: 1px;
            content: "";
            background: var(--border);
        }

        .bracket-stage:last-child .match-card::after {
            display: none;
        }

        .team-row {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            color: var(--text-soft);
            font-size: 14px;
        }

        .team-row + .team-row {
            margin-top: 10px;
            padding-top: 10px;
            border-top: 1px solid var(--border);
        }

        .team-row b {
            color: var(--text);
        }

        .trust-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 16px;
        }

        .trust-card {
            padding: 26px;
            border: 1px solid var(--border);
            border-radius: var(--radius-md);
            background: rgba(255, 255, 255, .025);
        }

        .trust-icon {
            display: grid;
            width: 48px;
            height: 48px;
            margin-bottom: 23px;
            place-items: center;
            border-radius: 15px;
            color: var(--accent-2);
            background: rgba(255, 207, 106, .09);
            font-size: 21px;
        }

        .trust-card h3 {
            margin-bottom: 11px;
            font-size: 19px;
        }

        .trust-card p {
            margin: 0;
            font-size: 13px;
        }

        .answer-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 16px;
        }

        .answer-card {
            display: grid;
            grid-template-columns: 48px 1fr;
            gap: 18px;
            padding: 26px;
            border: 1px solid var(--border);
            border-radius: var(--radius-md);
            background: var(--surface);
        }

        .answer-index {
            display: grid;
            width: 46px;
            height: 46px;
            place-items: center;
            border-radius: 14px;
            color: var(--primary);
            background: rgba(140, 255, 207, .08);
            font-weight: 900;
        }

        .answer-card h3 {
            margin-bottom: 9px;
            font-size: 20px;
        }

        .answer-card p {
            margin: 0;
            font-size: 14px;
        }

        .faq-list {
            max-width: 920px;
            margin: 0 auto;
        }

        .faq-item {
            border-bottom: 1px solid var(--border);
        }

        .faq-question {
            display: flex;
            width: 100%;
            align-items: center;
            justify-content: space-between;
            gap: 20px;
            padding: 24px 0;
            color: var(--text);
            text-align: left;
            background: transparent;
            font-size: 18px;
            font-weight: 800;
        }

        .faq-question::after {
            display: grid;
            width: 30px;
            height: 30px;
            flex: 0 0 auto;
            place-items: center;
            border: 1px solid var(--border);
            border-radius: 50%;
            content: "+";
            color: var(--primary);
            transition: transform var(--transition), background var(--transition);
        }

        .faq-item.open .faq-question::after {
            transform: rotate(45deg);
            background: rgba(140, 255, 207, .08);
        }

        .faq-answer {
            display: grid;
            grid-template-rows: 0fr;
            transition: grid-template-rows .3s ease;
        }

        .faq-answer > div {
            overflow: hidden;
        }

        .faq-answer p {
            max-width: 820px;
            margin-bottom: 24px;
        }

        .faq-item.open .faq-answer {
            grid-template-rows: 1fr;
        }

        .partner-wall {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 14px;
        }

        .partner {
            display: flex;
            min-height: 125px;
            align-items: center;
            gap: 16px;
            padding: 22px;
            border: 1px solid var(--border);
            border-radius: var(--radius-md);
            background: var(--surface);
        }

        .partner-symbol {
            display: grid;
            width: 45px;
            height: 45px;
            flex: 0 0 auto;
            place-items: center;
            border-radius: 14px;
            color: var(--accent);
            background: rgba(169, 135, 255, .1);
            font-weight: 900;
        }

        .partner strong {
            display: block;
            margin-bottom: 4px;
        }

        .partner span {
            color: var(--text-faint);
            font-size: 12px;
        }

        .subscribe-shell {
            position: relative;
            display: grid;
            grid-template-columns: .9fr 1.1fr;
            gap: 50px;
            overflow: hidden;
            padding: clamp(32px, 6vw, 66px);
            border: 1px solid var(--border-strong);
            border-radius: 36px;
            background:
                radial-gradient(circle at 5% 10%, rgba(140, 255, 207, .17), transparent 31%),
                radial-gradient(circle at 95% 90%, rgba(169, 135, 255, .18), transparent 30%),
                var(--surface);
            box-shadow: var(--shadow-lg);
        }

        .subscribe-shell h2 {
            margin-bottom: 17px;
            font-size: clamp(34px, 5vw, 56px);
        }

        .app-status {
            display: flex;
            gap: 12px;
            flex-wrap: wrap;
            margin-top: 28px;
        }

        .app-status span {
            padding: 9px 13px;
            border: 1px solid var(--border);
            border-radius: var(--radius-pill);
            color: var(--text-soft);
            font-size: 12px;
        }

        .preference-form {
            display: grid;
            gap: 16px;
            align-content: center;
            padding: 28px;
            border: 1px solid var(--border);
            border-radius: var(--radius-md);
            background: rgba(8, 11, 22, .58);
        }

        .field label {
            display: block;
            margin-bottom: 8px;
            color: var(--text-soft);
            font-size: 13px;
            font-weight: 800;
        }

        .field select {
            width: 100%;
            min-height: 50px;
            padding: 0 15px;
            border: 1px solid var(--border);
            border-radius: 13px;
            color: var(--text);
            background: var(--surface-2);
            outline: none;
            transition: border-color var(--transition), box-shadow var(--transition);
        }

        .field select:focus {
            border-color: var(--primary);
            box-shadow: 0 0 0 4px rgba(140, 255, 207, .08);
        }

        .preference-form .btn {
            width: 100%;
        }

        .form-note,
        .form-message {
            margin: 0;
            color: var(--text-faint);
            font-size: 12px;
        }

        .form-message {
            display: none;
            padding: 12px;
            border: 1px solid rgba(140, 255, 207, .2);
            border-radius: 11px;
            color: var(--primary);
            background: rgba(140, 255, 207, .06);
        }

        .form-message.show {
            display: block;
        }

        .site-footer {
            padding: 52px 0 26px;
            border-top: 1px solid var(--border);
            background: #060810;
        }

        .footer-top {
            display: grid;
            grid-template-columns: 1fr auto;
            gap: 30px;
            align-items: start;
            padding-bottom: 35px;
        }

        .footer-brand p {
            max-width: 590px;
            margin: 17px 0 0;
            font-size: 14px;
        }

        .footer-links {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
        }

        .footer-links a {
            padding: 9px 13px;
            border-radius: var(--radius-pill);
            color: var(--text-soft);
            font-size: 13px;
            transition: color var(--transition), background var(--transition);
        }

        .footer-links a:hover {
            color: var(--text);
            background: rgba(255, 255, 255, .06);
        }

        .footer-bottom {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 20px;
            padding-top: 24px;
            border-top: 1px solid var(--border);
            color: var(--text-faint);
            font-size: 12px;
        }

        @media (max-width: 1024px) {
            .nav-status {
                display: none;
            }

            .hero {
                min-height: 780px;
            }

            .hero-bottom,
            .update-layout,
            .subscribe-shell {
                grid-template-columns: 1fr;
            }

            .metric-board,
            .trust-grid,
            .partner-wall {
                grid-template-columns: repeat(2, 1fr);
            }

            .service-grid {
                grid-template-columns: 1fr 1fr;
            }

            .service-card.featured {
                grid-column: span 2;
                grid-row: auto;
                min-height: 330px;
            }

            .plan-grid {
                gap: 12px;
            }

            .plan {
                padding: 23px;
            }

            .timeline {
                grid-template-columns: repeat(2, 1fr);
            }

            .timeline::before {
                display: none;
            }

            .bracket {
                gap: 20px;
            }

            .match-card::after {
                width: 21px;
            }
        }

        @media (max-width: 768px) {
            .container {
                width: min(calc(100% - 28px), var(--container));
            }

            .site-header {
                position: absolute;
                padding-top: 14px;
            }

            .nav-shell {
                position: relative;
                min-height: 60px;
                padding: 7px 8px 7px 15px;
            }

            .brand-text {
                font-size: 15px;
            }

            .menu-toggle {
                display: inline-flex;
            }

            .nav-links {
                position: absolute;
                top: calc(100% + 10px);
                right: 0;
                left: 0;
                display: none;
                padding: 10px;
                border: 1px solid var(--border);
                border-radius: 22px;
                background: rgba(9, 12, 25, .97);
                box-shadow: var(--shadow-lg);
            }

            .nav-links.open {
                display: grid;
            }

            .nav-link {
                padding: 14px 16px;
            }

            .hero {
                min-height: auto;
                padding: 130px 0 58px;
            }

            .hero::before {
                background: linear-gradient(90deg, rgba(8, 11, 22, .97), rgba(8, 11, 22, .65));
            }

            .arena-ring {
                top: 19%;
                right: -45%;
                width: 100vw;
                opacity: .6;
            }

            .hero h1 {
                font-size: clamp(42px, 13vw, 68px);
            }

            .hero-copy {
                font-size: 16px;
            }

            .countdown-card {
                align-items: flex-start;
                flex-direction: column;
            }

            .countdown-units {
                width: 100%;
                margin-left: 0;
            }

            .countdown-unit {
                min-width: 0;
                flex: 1;
            }

            .section-heading {
                display: block;
                margin-bottom: 28px;
            }

            .content-split,
            .comparison {
                grid-template-columns: 1fr;
            }

            .side-panel {
                position: static;
            }

            .news-item {
                grid-template-columns: 1fr auto;
            }

            .news-time {
                grid-column: span 2;
            }

            .service-grid,
            .plan-grid,
            .answer-grid {
                grid-template-columns: 1fr;
            }

            .service-card.featured {
                grid-column: auto;
            }

            .plan.recommended {
                transform: none;
            }

            .compare-side + .compare-side {
                border-top: 1px solid var(--border);
                border-left: 0;
            }

            .bracket {
                grid-template-columns: 1fr;
            }

            .match-card::after {
                top: 100%;
                left: 50%;
                width: 1px;
                height: 17px;
            }

            .footer-top {
                grid-template-columns: 1fr;
            }

            .footer-bottom {
                align-items: flex-start;
                flex-direction: column;
            }
        }

        @media (max-width: 520px) {
            :root {
                --section-space: 65px;
            }

            .hero-actions {
                display: grid;
            }

            .btn {
                width: 100%;
            }

            .hero-bottom,
            .metric-board,
            .timeline,
            .trust-grid,
            .partner-wall {
                grid-template-columns: 1fr;
            }

            .hero-note {
                align-items: flex-start;
            }

            .metric {
                min-height: 150px;
            }

            .news-item {
                padding: 18px;
            }

            .topic-card {
                min-width: 82vw;
            }

            .answer-card {
                grid-template-columns: 1fr;
            }

            .subscribe-shell {
                gap: 28px;
                padding: 27px 20px;
                border-radius: 25px;
            }

            .preference-form {
                padding: 20px;
            }

            .footer-links {
                display: grid;
                grid-template-columns: 1fr 1fr;
                width: 100%;
            }
        }

        @media (prefers-reduced-motion: reduce) {
            html {
                scroll-behavior: auto;
            }

            *, *::before, *::after {
                animation-duration: .01ms !important;
                animation-iteration-count: 1 !important;
                transition-duration: .01ms !important;
            }
        }

/* roulang page: category1 */
:root{
 --bg:#080b16;--bg-soft:#0d1222;--surface:#11172a;--surface-2:#161e35;--surface-3:#1d2743;
 --text:#f7f9ff;--text-soft:#aab4cf;--text-faint:#7c88a6;--primary:#8cffcf;--primary-deep:#33dba1;
 --accent:#a987ff;--accent-2:#ffcf6a;--danger:#ff718e;--success:#69e7b1;
 --border:rgba(195,207,238,.14);--border-strong:rgba(140,255,207,.35);
 --shadow-sm:0 10px 28px rgba(0,0,0,.2);--shadow-lg:0 30px 80px rgba(0,0,0,.38);
 --radius-sm:12px;--radius-md:20px;--radius-lg:30px;--radius-pill:999px;
 --container:1200px;--section-space:clamp(68px,8vw,110px);--transition:.25s ease;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;min-width:320px;overflow-x:hidden;color:var(--text);background:radial-gradient(circle at 10% 4%,rgba(104,78,210,.15),transparent 25rem),radial-gradient(circle at 92% 12%,rgba(51,219,161,.1),transparent 26rem),var(--bg);font-family:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",system-ui,sans-serif;font-size:16px;line-height:1.72;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button,input,a{-webkit-tap-highlight-color:transparent}
button{border:0;cursor:pointer}
img,svg{display:block;max-width:100%}
.container{width:min(calc(100% - 40px),var(--container));margin-inline:auto}
.section{position:relative;padding:var(--section-space) 0}
.section+.section{border-top:1px solid rgba(255,255,255,.045)}
.section-soft{background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,0))}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:36px}
.section-heading>div:first-child{max-width:760px}
.section-heading h2{margin:0 0 12px;font-size:clamp(28px,4vw,48px);line-height:1.18;letter-spacing:-.04em}
.section-heading p{margin:0;color:var(--text-soft);font-size:17px}
.eyebrow{display:inline-flex;align-items:center;gap:9px;margin-bottom:16px;color:var(--primary);font-size:13px;font-weight:800;letter-spacing:.12em}
.eyebrow:before{width:24px;height:2px;content:"";background:var(--primary);box-shadow:0 0 14px var(--primary)}
.badge{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-soft);background:rgba(255,255,255,.045);font-size:12px;font-weight:700}
.badge.live:before,.status-dot{width:7px;height:7px;border-radius:50%;content:"";background:var(--primary);box-shadow:0 0 12px var(--primary)}
.btn{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:9px;padding:0 21px;border:1px solid transparent;border-radius:var(--radius-pill);font-weight:800;transition:transform var(--transition),box-shadow var(--transition),background var(--transition),border-color var(--transition)}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn:focus-visible,.nav-link:focus-visible,.menu-toggle:focus-visible,input:focus-visible{outline:3px solid rgba(140,255,207,.45);outline-offset:3px}
.btn-primary{color:#07120e;background:var(--primary);box-shadow:0 12px 30px rgba(51,219,161,.2)}
.btn-primary:hover{background:#b1ffe1;box-shadow:0 16px 36px rgba(51,219,161,.3)}
.btn-secondary{border-color:var(--border);color:var(--text);background:rgba(255,255,255,.055)}
.btn-secondary:hover{border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.1)}
.text-link{display:inline-flex;align-items:center;gap:8px;color:var(--primary);font-weight:800;transition:gap var(--transition)}
.text-link:hover{gap:12px;color:#c0ffe7}
.site-header{position:absolute;z-index:100;top:0;left:0;width:100%;padding:22px 0}
.nav-shell{display:flex;min-height:66px;align-items:center;justify-content:space-between;gap:24px;padding:9px 12px 9px 18px;border:1px solid var(--border);border-radius:var(--radius-pill);background:rgba(13,18,34,.72);box-shadow:var(--shadow-sm);backdrop-filter:blur(18px)}
.brand{display:inline-flex;align-items:center;gap:10px;flex-shrink:0;font-weight:900;letter-spacing:-.03em}
.brand-mark{display:grid;width:36px;height:36px;place-items:center;border-radius:12px;color:#07120e;background:var(--primary);font-size:20px;box-shadow:0 0 24px rgba(140,255,207,.24)}
.brand-text{font-size:17px}
.nav-links{display:flex;align-items:center;gap:5px}
.nav-link{padding:10px 15px;border-radius:var(--radius-pill);color:var(--text-soft);font-size:14px;font-weight:800;transition:color var(--transition),background var(--transition)}
.nav-link:hover,.nav-link.active{color:var(--text);background:rgba(255,255,255,.08)}
.nav-link.active{color:var(--primary)}
.nav-status{display:flex;align-items:center;gap:8px;color:var(--text-faint);font-size:12px;white-space:nowrap}
.menu-toggle{display:none;width:42px;height:42px;border:1px solid var(--border);border-radius:50%;background:transparent}
.menu-toggle span,.menu-toggle span:before,.menu-toggle span:after{display:block;width:18px;height:2px;margin:auto;background:var(--text);content:"";transition:transform var(--transition)}
.menu-toggle span{position:relative}
.menu-toggle span:before{position:absolute;top:-6px}.menu-toggle span:after{position:absolute;top:6px}
.hero{position:relative;min-height:690px;padding:178px 0 100px;overflow:hidden}
.hero:after{position:absolute;right:-8%;bottom:-32%;width:48vw;height:48vw;border:1px solid rgba(169,135,255,.15);border-radius:50%;content:"";box-shadow:0 0 0 55px rgba(169,135,255,.035),0 0 0 110px rgba(169,135,255,.02)}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:72px}
.hero h1{max-width:760px;margin:0 0 22px;font-size:clamp(42px,6vw,76px);line-height:1.08;letter-spacing:-.065em}
.hero h1 em{color:var(--primary);font-style:normal}
.hero-copy{max-width:680px;color:var(--text-soft);font-size:18px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.hero-visual{position:relative;padding:25px;border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:linear-gradient(145deg,rgba(29,39,67,.85),rgba(17,23,42,.9));box-shadow:var(--shadow-lg)}
.visual-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}
.visual-title{font-size:18px;font-weight:900}
.score-card{padding:24px;border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(8,11,22,.62)}
.score-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.team{display:flex;align-items:center;gap:10px;font-weight:800}
.team-mark{display:grid;width:38px;height:38px;place-items:center;border-radius:12px;color:#0b1020;background:var(--accent);font-weight:900}
.team-mark.green{color:#07120e;background:var(--primary)}
.score{font-size:34px;font-weight:900;letter-spacing:.04em}
.vs{margin:14px 0;color:var(--text-faint);font-size:12px;text-align:center;letter-spacing:.18em}
.progress{height:7px;margin-top:22px;overflow:hidden;border-radius:var(--radius-pill);background:rgba(255,255,255,.08)}
.progress span{display:block;width:68%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--primary))}
.visual-foot{display:flex;justify-content:space-between;gap:12px;margin-top:18px;color:var(--text-faint);font-size:12px}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.stat{padding:24px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);transition:transform var(--transition),border-color var(--transition)}
.stat:hover{transform:translateY(-4px);border-color:var(--border-strong)}
.stat strong{display:block;margin-bottom:5px;color:var(--primary);font-size:32px;line-height:1.2}
.stat span{color:var(--text-soft);font-size:14px}
.matrix{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}
.phase-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.phase{padding:22px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);transition:background var(--transition),transform var(--transition)}
.phase:hover{transform:translateY(-3px);background:var(--surface-2)}
.phase h3{margin:13px 0 5px;font-size:19px}
.phase p{margin:0;color:var(--text-soft);font-size:14px}
.dark-panel{padding:30px;border-radius:var(--radius-lg);background:var(--surface-2);box-shadow:var(--shadow-sm)}
.dark-panel h3{margin:0 0 22px;font-size:24px}
.match-list{display:grid;gap:10px}
.match{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:15px 0;border-bottom:1px solid var(--border);font-size:14px}
.match:last-child{border-bottom:0}
.match time{color:var(--accent-2);font-weight:800;white-space:nowrap}
.live-board{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.board{padding:28px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}
.board h3{margin:0 0 20px;font-size:22px}
.board-list{margin:0;padding:0;list-style:none}
.board-list li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid var(--border);color:var(--text-soft)}
.board-list li:last-child{border-bottom:0}
.board-list b{color:var(--text)}
.rank{display:inline-grid;width:25px;height:25px;place-items:center;margin-right:8px;border-radius:8px;color:var(--bg);background:var(--accent-2);font-size:12px}
.compare{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.compare-card{padding:25px;border-radius:var(--radius-md);background:linear-gradient(155deg,var(--surface-2),var(--surface));border:1px solid var(--border)}
.compare-card h3{margin:0 0 16px}
.compare-card p{margin:0;color:var(--text-soft);font-size:14px}
.milestone{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;background:var(--surface)}
.mile{position:relative;padding:28px 22px;border-right:1px solid var(--border)}
.mile:last-child{border-right:0}
.mile b{display:block;margin-bottom:12px;color:var(--primary);font-size:13px}
.mile h3{margin:0 0 8px;font-size:18px}
.mile p{margin:0;color:var(--text-soft);font-size:14px}
.news-layout{display:grid;grid-template-columns:1fr .7fr;gap:18px}
.news-main,.news-side{padding:28px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}
.news-main h3{margin:0 0 12px;font-size:26px}
.news-main p,.news-side p{color:var(--text-soft)}
.news-side ul{margin:0;padding:0;list-style:none}
.news-side li{padding:14px 0;border-bottom:1px solid var(--border);color:var(--text-soft)}
.news-side li:last-child{border-bottom:0}
.news-side strong{display:block;color:var(--text);font-size:15px}
.assurance{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:center}
.assurance h2{margin:0 0 14px;font-size:clamp(30px,4vw,48px);line-height:1.18}
.assurance p{margin:0;color:var(--text-soft)}
.assurance-items{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.assurance-item{padding:22px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}
.assurance-item strong{display:block;margin-bottom:7px;color:var(--primary)}
.assurance-item span{color:var(--text-soft);font-size:14px}
.faq-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.faq{padding:22px 24px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}
.faq h3{margin:0 0 8px;font-size:17px}
.faq p{margin:0;color:var(--text-soft);font-size:14px}
.cta-box{display:grid;grid-template-columns:1fr auto;align-items:center;gap:35px;padding:38px;border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:linear-gradient(100deg,rgba(140,255,207,.11),rgba(169,135,255,.12))}
.cta-box h2{margin:0 0 8px;font-size:clamp(26px,4vw,42px)}
.cta-box p{margin:0;color:var(--text-soft)}
.site-footer{padding:58px 0 25px;border-top:1px solid var(--border);background:rgba(5,8,17,.55)}
.footer-top{display:flex;justify-content:space-between;gap:50px;padding-bottom:34px}
.footer-brand{max-width:540px}
.footer-brand p{margin:18px 0 0;color:var(--text-faint);font-size:14px}
.footer-links{display:flex;flex-wrap:wrap;align-content:flex-start;gap:13px 24px;color:var(--text-soft);font-size:14px}
.footer-links a{transition:color var(--transition)}
.footer-links a:hover{color:var(--primary)}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:22px;border-top:1px solid var(--border);color:var(--text-faint);font-size:12px}
@media(max-width:1024px){
 .hero-grid{gap:38px}.stats-grid{grid-template-columns:repeat(2,1fr)}.assurance{gap:25px}
}
@media(max-width:768px){
 .container{width:min(calc(100% - 30px),var(--container))}
 .site-header{padding:14px 0}.nav-shell{min-height:58px}.nav-status{display:none}.menu-toggle{display:block}
 .nav-links{position:absolute;top:80px;left:15px;right:15px;display:grid;gap:4px;padding:10px;border:1px solid var(--border);border-radius:20px;background:rgba(13,18,34,.96);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transform:translateY(-8px);transition:all var(--transition)}
 .nav-links.open{opacity:1;visibility:visible;transform:translateY(0)}.nav-link{padding:13px 15px}
 .hero{min-height:auto;padding:140px 0 75px}.hero-grid,.matrix,.news-layout,.assurance{grid-template-columns:1fr}
 .hero h1{font-size:clamp(40px,11vw,62px)}.hero-copy{font-size:16px}.hero-visual{margin-top:5px}
 .live-board,.compare,.faq-list{grid-template-columns:1fr}.milestone{grid-template-columns:repeat(2,1fr)}
 .mile:nth-child(2){border-right:0}.mile:nth-child(-n+2){border-bottom:1px solid var(--border)}
 .section-heading{display:block}.section-heading .badge{margin-top:18px}
 .cta-box{grid-template-columns:1fr;padding:28px}.footer-top,.footer-bottom{display:block}.footer-links{margin-top:25px}.footer-bottom span{display:block;margin-top:8px}
}
@media(max-width:520px){
 .hero-actions{display:grid}.hero-actions .btn{width:100%}.stats-grid,.phase-list,.assurance-items{grid-template-columns:1fr}
 .hero-visual{padding:17px}.score-card{padding:18px}.score{font-size:28px}.milestone{grid-template-columns:1fr}
 .mile{border-right:0!important;border-bottom:1px solid var(--border)}.mile:last-child{border-bottom:0}
 .board,.news-main,.news-side{padding:22px}.cta-box .btn{width:100%}
}
