/* roulang page: index */
:root{
            --brand:#8b5cf6;
            --brand-2:#ec4899;
            --brand-3:#06b6d4;
            --ink:#101223;
            --muted:#667085;
            --soft:#f7f3ff;
            --soft-2:#eef9ff;
            --line:rgba(16,18,35,.10);
            --white:#ffffff;
            --dark:#16112b;
            --success:#16a34a;
            --warning:#f59e0b;
            --danger:#ef4444;
            --radius-xl:30px;
            --radius-lg:22px;
            --radius-md:16px;
            --shadow-lg:0 24px 70px rgba(31,23,71,.16);
            --shadow-md:0 16px 40px rgba(31,23,71,.11);
            --shadow-sm:0 8px 24px rgba(31,23,71,.08);
            --container:1180px;
            --ease:all .28s ease;
        }

        *{box-sizing:border-box;}
        html{scroll-behavior:smooth;}
        body{
            margin:0;
            font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif;
            color:var(--ink);
            background:
                radial-gradient(circle at 6% 3%, rgba(139,92,246,.16), transparent 30%),
                radial-gradient(circle at 90% 10%, rgba(236,72,153,.12), transparent 34%),
                linear-gradient(180deg,#fff 0%,#fbf8ff 36%,#ffffff 100%);
            line-height:1.72;
            overflow-x:hidden;
        }
        a{color:inherit;text-decoration:none;transition:var(--ease);}
        a:hover{color:var(--brand);}
        img{max-width:100%;display:block;}
        button,input,select,textarea{font:inherit;}
        button:focus-visible,
        a:focus-visible,
        input:focus-visible,
        select:focus-visible,
        textarea:focus-visible{
            outline:3px solid rgba(139,92,246,.35);
            outline-offset:3px;
            border-radius:12px;
        }
        .container-custom{
            width:min(var(--container), calc(100% - 40px));
            margin-inline:auto;
        }
        .section-pad{padding:92px 0;}
        .section-soft{
            background:linear-gradient(180deg,rgba(247,243,255,.68),rgba(255,255,255,.86));
            border-top:1px solid rgba(139,92,246,.08);
            border-bottom:1px solid rgba(139,92,246,.08);
        }
        .eyebrow{
            display:inline-flex;
            align-items:center;
            gap:8px;
            padding:8px 13px;
            border-radius:999px;
            color:#6d28d9;
            background:rgba(139,92,246,.10);
            border:1px solid rgba(139,92,246,.18);
            font-size:14px;
            font-weight:700;
            letter-spacing:.02em;
        }
        .eyebrow .dot{
            width:8px;height:8px;border-radius:50%;
            background:linear-gradient(135deg,var(--brand),var(--brand-2));
            box-shadow:0 0 0 6px rgba(139,92,246,.10);
        }
        .section-title{
            font-size:clamp(30px,4vw,46px);
            line-height:1.18;
            font-weight:900;
            letter-spacing:-.04em;
            margin:16px 0 16px;
        }
        .section-desc{
            color:var(--muted);
            font-size:17px;
            max-width:760px;
            margin:0;
        }
        .gradient-text{
            background:linear-gradient(135deg,var(--brand),var(--brand-2) 56%,var(--brand-3));
            -webkit-background-clip:text;
            background-clip:text;
            color:transparent;
        }
        .btn-brand,
        .btn-ghost,
        .btn-dark-soft{
            display:inline-flex;
            align-items:center;
            justify-content:center;
            gap:9px;
            min-height:48px;
            padding:12px 20px;
            border-radius:999px;
            border:1px solid transparent;
            font-weight:800;
            letter-spacing:.01em;
            transition:var(--ease);
            cursor:pointer;
            white-space:nowrap;
        }
        .btn-brand{
            color:#fff;
            background:linear-gradient(135deg,var(--brand),var(--brand-2));
            box-shadow:0 16px 34px rgba(139,92,246,.28);
        }
        .btn-brand:hover{
            color:#fff;
            transform:translateY(-2px);
            box-shadow:0 20px 42px rgba(139,92,246,.34);
        }
        .btn-ghost{
            color:#4c1d95;
            background:rgba(255,255,255,.78);
            border-color:rgba(139,92,246,.18);
            box-shadow:var(--shadow-sm);
        }
        .btn-ghost:hover{
            color:#4c1d95;
            transform:translateY(-2px);
            border-color:rgba(139,92,246,.32);
            box-shadow:var(--shadow-md);
        }
        .btn-dark-soft{
            color:#fff;
            background:rgba(255,255,255,.12);
            border-color:rgba(255,255,255,.22);
        }
        .btn-dark-soft:hover{
            color:#fff;
            background:rgba(255,255,255,.20);
            transform:translateY(-2px);
        }
        .badge-soft{
            display:inline-flex;
            align-items:center;
            gap:7px;
            padding:7px 11px;
            border-radius:999px;
            font-size:13px;
            font-weight:800;
            color:#5b21b6;
            background:rgba(139,92,246,.10);
            border:1px solid rgba(139,92,246,.14);
        }
        .card-modern{
            position:relative;
            border:1px solid var(--line);
            border-radius:var(--radius-lg);
            background:rgba(255,255,255,.86);
            box-shadow:var(--shadow-sm);
            transition:var(--ease);
            overflow:hidden;
        }
        .card-modern:hover{
            transform:translateY(-5px);
            box-shadow:var(--shadow-md);
            border-color:rgba(139,92,246,.25);
        }
        .top-countdown{
            background:linear-gradient(90deg,#2e1065,#7e22ce 48%,#db2777);
            color:#fff;
            font-size:14px;
            position:relative;
            z-index:1031;
        }
        .top-countdown .container-custom{
            min-height:42px;
            display:flex;
            align-items:center;
            justify-content:space-between;
            gap:18px;
        }
        .count-pill{
            display:inline-flex;
            align-items:center;
            gap:8px;
            font-weight:900;
        }
        .count-box{
            min-width:28px;
            padding:3px 7px;
            border-radius:9px;
            background:rgba(255,255,255,.18);
            border:1px solid rgba(255,255,255,.20);
            text-align:center;
        }

        .site-header{
            position:sticky;
            top:0;
            z-index:1030;
            background:rgba(255,255,255,.82);
            backdrop-filter:saturate(180%) blur(18px);
            border-bottom:1px solid rgba(16,18,35,.08);
        }
        .navbar{
            padding:15px 0;
        }
        .navbar-brand{
            display:flex;
            align-items:center;
            gap:12px;
            font-weight:900;
            letter-spacing:-.03em;
            color:var(--ink);
            max-width:70%;
        }
        .brand-mark{
            width:42px;height:42px;
            border-radius:15px;
            display:grid;
            place-items:center;
            color:#fff;
            background:
                linear-gradient(135deg,rgba(255,255,255,.18),transparent),
                linear-gradient(135deg,var(--brand),var(--brand-2));
            box-shadow:0 14px 28px rgba(139,92,246,.26);
            flex:0 0 auto;
        }
        .brand-name{
            font-size:18px;
            white-space:nowrap;
            overflow:hidden;
            text-overflow:ellipsis;
        }
        .navbar-toggler{
            border:1px solid rgba(139,92,246,.20);
            border-radius:14px;
            padding:8px 10px;
            background:#fff;
        }
        .navbar-toggler:focus{box-shadow:0 0 0 4px rgba(139,92,246,.14);}
        .nav-link{
            color:#4b5563;
            font-weight:800;
            border-radius:999px;
            padding:10px 16px!important;
            margin:0 3px;
        }
        .nav-link:hover,
        .nav-link.active{
            color:#6d28d9;
            background:rgba(139,92,246,.10);
        }
        .nav-cta{
            margin-left:14px;
        }

        .hero{
            padding:68px 0 72px;
            position:relative;
            overflow:hidden;
        }
        .hero:before{
            content:"";
            position:absolute;
            inset:18px 4% auto auto;
            width:320px;height:320px;
            border-radius:50%;
            background:radial-gradient(circle,rgba(236,72,153,.18),transparent 68%);
            pointer-events:none;
        }
        .hero-shell{
            border-radius:38px;
            overflow:hidden;
            position:relative;
            min-height:590px;
            background:
                linear-gradient(120deg,rgba(24,16,56,.84),rgba(73,28,128,.78)),
                url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1400' height='760' viewBox='0 0 1400 760'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' x2='1' y1='0' y2='1'%3E%3Cstop stop-color='%238b5cf6'/%3E%3Cstop offset='1' stop-color='%23ec4899'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='1400' height='760' fill='%2316112b'/%3E%3Ccircle cx='1110' cy='120' r='250' fill='%23ec4899' opacity='.28'/%3E%3Ccircle cx='280' cy='640' r='310' fill='%2306b6d4' opacity='.18'/%3E%3Cpath d='M120 160 C310 40 520 260 710 135 C930 -10 1080 300 1280 190' stroke='url(/%23g)' stroke-width='3' opacity='.35' fill='none'/%3E%3Cpath d='M120 255 C360 135 470 400 735 250 C965 120 1050 430 1310 315' stroke='white' stroke-width='1.5' opacity='.18' fill='none'/%3E%3Cg opacity='.13'%3E%3Ccircle cx='235' cy='215' r='6' fill='white'/%3E%3Ccircle cx='418' cy='110' r='4' fill='white'/%3E%3Ccircle cx='970' cy='530' r='7' fill='white'/%3E%3Ccircle cx='1190' cy='460' r='5' fill='white'/%3E%3C/g%3E%3C/svg%3E") center/cover;
            box-shadow:var(--shadow-lg);
        }
        .hero-overlay{
            position:absolute;
            inset:0;
            background:
                radial-gradient(circle at 75% 45%,rgba(255,255,255,.14),transparent 28%),
                linear-gradient(180deg,transparent,rgba(18,13,44,.24));
        }
        .hero-content{
            position:relative;
            z-index:2;
            display:grid;
            grid-template-columns:1.04fr .96fr;
            gap:34px;
            align-items:center;
            min-height:590px;
            padding:52px;
        }
        .hero h1{
            color:#fff;
            font-size:clamp(38px,6vw,72px);
            line-height:1.02;
            letter-spacing:-.06em;
            font-weight:950;
            margin:18px 0;
        }
        .hero-lead{
            color:rgba(255,255,255,.82);
            font-size:18px;
            max-width:690px;
            margin:0 0 26px;
        }
        .hero-badges{
            display:flex;
            flex-wrap:wrap;
            gap:10px;
            margin-bottom:18px;
        }
        .hero-badge{
            display:inline-flex;
            align-items:center;
            gap:8px;
            padding:8px 12px;
            border-radius:999px;
            color:#fff;
            font-weight:800;
            background:rgba(255,255,255,.13);
            border:1px solid rgba(255,255,255,.20);
            backdrop-filter:blur(12px);
        }
        .hero-actions{
            display:flex;
            flex-wrap:wrap;
            gap:13px;
            margin:26px 0 26px;
        }
        .qualification{
            display:grid;
            grid-template-columns:repeat(3,1fr);
            gap:12px;
            max-width:720px;
        }
        .q-item{
            padding:14px 15px;
            border-radius:18px;
            background:rgba(255,255,255,.12);
            border:1px solid rgba(255,255,255,.16);
            color:#fff;
        }
        .q-item strong{
            display:block;
            font-size:23px;
            line-height:1.1;
        }
        .q-item span{
            display:block;
            color:rgba(255,255,255,.72);
            font-size:13px;
            margin-top:4px;
        }
        .trial-panel{
            position:relative;
            padding:22px;
            border-radius:30px;
            background:rgba(255,255,255,.88);
            backdrop-filter:blur(18px);
            border:1px solid rgba(255,255,255,.44);
            box-shadow:0 26px 70px rgba(0,0,0,.24);
        }
        .panel-head{
            display:flex;
            align-items:flex-start;
            justify-content:space-between;
            gap:16px;
            margin-bottom:18px;
        }
        .panel-title{
            font-weight:950;
            font-size:22px;
            letter-spacing:-.03em;
            margin:0;
        }
        .status-badge{
            color:#065f46;
            background:rgba(16,185,129,.14);
            border:1px solid rgba(16,185,129,.20);
            padding:7px 11px;
            border-radius:999px;
            font-size:13px;
            font-weight:900;
            white-space:nowrap;
        }
        .mini-dashboard{
            display:grid;
            grid-template-columns:1fr 1fr;
            gap:12px;
            margin-bottom:16px;
        }
        .dash-card{
            padding:16px;
            border-radius:20px;
            background:linear-gradient(180deg,#fff,#faf7ff);
            border:1px solid rgba(139,92,246,.12);
        }
        .dash-card .num{
            display:flex;
            align-items:baseline;
            gap:4px;
            font-size:30px;
            font-weight:950;
            letter-spacing:-.04em;
        }
        .dash-card .num small{
            color:var(--muted);
            font-size:13px;
            font-weight:800;
        }
        .dash-card p{
            margin:3px 0 0;
            color:var(--muted);
            font-size:14px;
        }
        .apply-steps{
            list-style:none;
            margin:0;
            padding:0;
            display:grid;
            gap:10px;
        }
        .apply-steps li{
            display:flex;
            gap:10px;
            align-items:flex-start;
            padding:12px;
            border-radius:18px;
            background:rgba(139,92,246,.07);
            border:1px solid rgba(139,92,246,.10);
            color:#35245c;
            font-size:14px;
        }
        .step-no{
            width:24px;height:24px;
            display:grid;
            place-items:center;
            flex:0 0 auto;
            border-radius:9px;
            color:#fff;
            font-size:12px;
            font-weight:900;
            background:linear-gradient(135deg,var(--brand),var(--brand-2));
        }

        .feature-triplet{
            display:grid;
            grid-template-columns:1.1fr .9fr 1fr;
            gap:18px;
            margin-top:34px;
        }
        .feature-card{
            padding:28px;
            min-height:230px;
        }
        .feature-card:nth-child(2){
            margin-top:42px;
            background:linear-gradient(180deg,#fff,#f5fbff);
        }
        .feature-icon{
            width:52px;height:52px;
            border-radius:18px;
            display:grid;
            place-items:center;
            margin-bottom:18px;
            color:#fff;
            background:linear-gradient(135deg,var(--brand),var(--brand-2));
            box-shadow:0 14px 24px rgba(139,92,246,.24);
            font-size:24px;
        }
        .feature-card h3{
            font-size:22px;
            font-weight:950;
            margin:0 0 10px;
            letter-spacing:-.03em;
        }
        .feature-card p{
            color:var(--muted);
            margin:0;
        }

        .scene-wrap{
            display:grid;
            grid-template-columns:.85fr 1.15fr;
            gap:24px;
            align-items:stretch;
            margin-top:36px;
        }
        .scene-menu{
            display:grid;
            gap:12px;
        }
        .scene-tab{
            padding:20px;
            border-radius:22px;
            border:1px solid var(--line);
            background:#fff;
            box-shadow:var(--shadow-sm);
        }
        .scene-tab.active{
            color:#fff;
            background:linear-gradient(135deg,var(--brand),var(--brand-2));
            border-color:transparent;
        }
        .scene-tab h3{
            font-size:19px;
            font-weight:950;
            margin:0 0 6px;
        }
        .scene-tab p{
            margin:0;
            color:var(--muted);
            font-size:14px;
        }
        .scene-tab.active p{color:rgba(255,255,255,.78);}
        .scene-board{
            padding:26px;
            border-radius:30px;
            background:#18112f;
            color:#fff;
            box-shadow:var(--shadow-lg);
            position:relative;
            overflow:hidden;
        }
        .scene-board:before{
            content:"";
            position:absolute;
            inset:-90px -90px auto auto;
            width:260px;height:260px;
            border-radius:50%;
            background:rgba(236,72,153,.28);
        }
        .board-grid{
            position:relative;
            z-index:1;
            display:grid;
            grid-template-columns:repeat(2,1fr);
            gap:14px;
        }
        .board-card{
            padding:18px;
            border-radius:22px;
            background:rgba(255,255,255,.10);
            border:1px solid rgba(255,255,255,.13);
        }
        .board-card.wide{grid-column:span 2;}
        .board-card strong{
            display:block;
            font-size:30px;
            font-weight:950;
            letter-spacing:-.03em;
        }
        .board-card span{
            color:rgba(255,255,255,.70);
            font-size:14px;
        }
        .progress-line{
            height:12px;
            border-radius:999px;
            background:rgba(255,255,255,.12);
            margin-top:14px;
            overflow:hidden;
        }
        .progress-line i{
            display:block;
            height:100%;
            width:82%;
            border-radius:inherit;
            background:linear-gradient(90deg,var(--brand-3),var(--brand-2));
        }

        .highlight-wall{
            display:grid;
            grid-template-columns:1.1fr .9fr .9fr;
            grid-auto-rows:minmax(138px,auto);
            gap:16px;
            margin-top:34px;
        }
        .wall-tile{
            padding:24px;
            border-radius:26px;
            color:#fff;
            position:relative;
            overflow:hidden;
            background:linear-gradient(135deg,#7c3aed,#db2777);
            box-shadow:var(--shadow-md);
            min-height:158px;
        }
        .wall-tile:after{
            content:"";
            position:absolute;
            width:180px;height:180px;
            border-radius:50%;
            right:-70px;bottom:-90px;
            background:rgba(255,255,255,.16);
        }
        .wall-tile:nth-child(2){background:linear-gradient(135deg,#0f766e,#06b6d4);}
        .wall-tile:nth-child(3){background:linear-gradient(135deg,#7c2d12,#f97316);}
        .wall-tile:nth-child(4){background:linear-gradient(135deg,#312e81,#8b5cf6);}
        .wall-tile:nth-child(5){background:linear-gradient(135deg,#9d174d,#ec4899);}
        .wall-tile.large{
            grid-row:span 2;
            min-height:332px;
            display:flex;
            flex-direction:column;
            justify-content:space-between;
        }
        .wall-tile h3{
            position:relative;
            z-index:1;
            font-size:22px;
            font-weight:950;
            margin:0 0 10px;
            letter-spacing:-.03em;
        }
        .wall-tile p{
            position:relative;
            z-index:1;
            color:rgba(255,255,255,.78);
            margin:0;
        }
        .wall-index{
            position:relative;
            z-index:1;
            display:inline-flex;
            width:44px;height:44px;
            align-items:center;
            justify-content:center;
            border-radius:16px;
            background:rgba(255,255,255,.18);
            border:1px solid rgba(255,255,255,.20);
            font-weight:950;
            margin-bottom:18px;
        }

        .compare-card{
            margin-top:34px;
            padding:10px;
            border-radius:30px;
            background:#fff;
            border:1px solid var(--line);
            box-shadow:var(--shadow-md);
        }
        .compare-grid{
            display:grid;
            grid-template-columns:1fr 1fr;
            gap:10px;
        }
        .compare-col{
            padding:26px;
            border-radius:24px;
            background:#fafafa;
        }
        .compare-col.primary{
            color:#fff;
            background:linear-gradient(135deg,#211447,#6d28d9 58%,#db2777);
        }
        .compare-col h3{
            font-size:24px;
            font-weight:950;
            margin:0 0 18px;
            letter-spacing:-.03em;
        }
        .check-list{
            list-style:none;
            margin:0;
            padding:0;
            display:grid;
            gap:12px;
        }
        .check-list li{
            display:flex;
            gap:10px;
            align-items:flex-start;
            color:#515466;
        }
        .primary .check-list li{color:rgba(255,255,255,.82);}
        .check{
            width:24px;height:24px;
            flex:0 0 auto;
            border-radius:50%;
            display:grid;
            place-items:center;
            color:#fff;
            background:var(--success);
            font-size:13px;
            font-weight:900;
        }
        .muted-x{
            background:#e5e7eb;
            color:#6b7280;
        }

        .trust-strip{
            margin-top:34px;
            display:grid;
            grid-template-columns:repeat(4,1fr);
            gap:16px;
        }
        .trust-item{
            padding:22px;
            border-radius:24px;
            background:#fff;
            border:1px solid var(--line);
            box-shadow:var(--shadow-sm);
        }
        .trust-item strong{
            display:block;
            font-size:31px;
            font-weight:950;
            letter-spacing:-.04em;
            color:#5b21b6;
        }
        .trust-item span{
            color:var(--muted);
            font-size:14px;
        }
        .quote-grid{
            display:grid;
            grid-template-columns:1.1fr .9fr;
            gap:18px;
            margin-top:18px;
        }
        .quote-card{
            padding:24px;
            border-radius:26px;
            background:#fff;
            border:1px solid var(--line);
            box-shadow:var(--shadow-sm);
        }
        .stars{color:#f59e0b;letter-spacing:2px;margin-bottom:10px;}
        .quote-card p{color:#4b5563;margin:0 0 14px;}
        .quote-card b{font-weight:900;}

        .news-layout{
            display:grid;
            grid-template-columns:1.4fr .75fr;
            gap:24px;
            margin-top:34px;
        }
        .news-list,
        .recommend-box{
            padding:24px;
            border-radius:28px;
            background:#fff;
            border:1px solid var(--line);
            box-shadow:var(--shadow-sm);
        }
        .news-item{
            display:grid;
            grid-template-columns:auto 1fr auto;
            gap:16px;
            align-items:center;
            padding:17px 0;
            border-bottom:1px solid rgba(16,18,35,.08);
        }
        .news-item:last-child{border-bottom:0;}
        .news-date{
            width:72px;
            padding:8px 6px;
            border-radius:16px;
            text-align:center;
            font-weight:950;
            color:#6d28d9;
            background:rgba(139,92,246,.09);
        }
        .news-date small{
            display:block;
            color:var(--muted);
            font-size:12px;
            font-weight:800;
        }
        .news-item h3{
            font-size:18px;
            font-weight:950;
            margin:0 0 4px;
            letter-spacing:-.02em;
        }
        .news-item p{
            margin:0;
            color:var(--muted);
            font-size:14px;
        }
        .arrow-link{
            width:38px;height:38px;
            border-radius:14px;
            display:grid;
            place-items:center;
            color:#6d28d9;
            background:rgba(139,92,246,.08);
            font-weight:950;
        }
        .news-item:hover .arrow-link{
            color:#fff;
            background:linear-gradient(135deg,var(--brand),var(--brand-2));
        }
        .recommend-box h3{
            font-size:22px;
            font-weight:950;
            margin:0 0 14px;
        }
        .rank-list{
            list-style:none;
            padding:0;margin:0;
            display:grid;
            gap:12px;
        }
        .rank-list li{
            display:flex;
            gap:12px;
            padding:13px;
            border-radius:18px;
            background:linear-gradient(180deg,#fff,#faf7ff);
            border:1px solid rgba(139,92,246,.10);
        }
        .rank-no{
            width:28px;height:28px;
            border-radius:10px;
            display:grid;
            place-items:center;
            color:#fff;
            font-weight:950;
            background:linear-gradient(135deg,var(--brand),var(--brand-2));
            flex:0 0 auto;
        }
        .rank-list b{display:block;margin-bottom:2px;}
        .rank-list span{color:var(--muted);font-size:13px;}

        .faq-wrap{
            margin-top:34px;
            display:grid;
            grid-template-columns:.8fr 1.2fr;
            gap:24px;
            align-items:start;
        }
        .faq-note{
            padding:28px;
            border-radius:28px;
            background:linear-gradient(135deg,#1e1641,#6d28d9);
            color:#fff;
            box-shadow:var(--shadow-md);
        }
        .faq-note h3{
            font-size:28px;
            font-weight:950;
            margin:0 0 12px;
            letter-spacing:-.03em;
        }
        .faq-note p{color:rgba(255,255,255,.76);margin:0 0 20px;}
        .accordion{
            --bs-accordion-border-width:0;
            --bs-accordion-border-radius:22px;
            display:grid;
            gap:12px;
        }
        .accordion-item{
            border-radius:22px!important;
            overflow:hidden;
            border:1px solid var(--line);
            box-shadow:var(--shadow-sm);
            background:#fff;
        }
        .accordion-button{
            font-weight:950;
            color:var(--ink);
            padding:19px 22px;
            border-radius:22px!important;
            box-shadow:none!important;
        }
        .accordion-button:not(.collapsed){
            color:#5b21b6;
            background:rgba(139,92,246,.08);
        }
        .accordion-body{
            color:var(--muted);
            padding:0 22px 22px;
        }

        .conversion{
            padding:92px 0 104px;
        }
        .form-shell{
            display:grid;
            grid-template-columns:.9fr 1.1fr;
            gap:24px;
            padding:28px;
            border-radius:36px;
            background:
                linear-gradient(135deg,rgba(255,255,255,.92),rgba(255,255,255,.76)),
                radial-gradient(circle at 20% 10%,rgba(139,92,246,.18),transparent 38%);
            border:1px solid rgba(139,92,246,.14);
            box-shadow:var(--shadow-lg);
        }
        .form-copy{
            padding:24px;
            border-radius:28px;
            color:#fff;
            background:linear-gradient(135deg,#211447,#7c3aed 58%,#db2777);
            display:flex;
            flex-direction:column;
            justify-content:space-between;
            min-height:460px;
        }
        .form-copy h2{
            font-size:clamp(30px,4vw,46px);
            font-weight:950;
            line-height:1.15;
            letter-spacing:-.04em;
            margin:14px 0 14px;
        }
        .form-copy p{color:rgba(255,255,255,.78);margin:0;}
        .benefit-pills{
            display:flex;
            flex-wrap:wrap;
            gap:10px;
            margin-top:24px;
        }
        .benefit-pills span{
            padding:8px 12px;
            border-radius:999px;
            background:rgba(255,255,255,.13);
            border:1px solid rgba(255,255,255,.18);
            font-weight:800;
            font-size:13px;
        }
        .lead-form{
            padding:24px;
            border-radius:28px;
            background:#fff;
            border:1px solid var(--line);
        }
        .form-label{
            font-weight:900;
            color:#2f3142;
            margin-bottom:8px;
        }
        .form-control,
        .form-select{
            border-radius:16px;
            border:1px solid rgba(16,18,35,.12);
            min-height:50px;
            padding:12px 14px;
            box-shadow:none!important;
        }
        textarea.form-control{min-height:112px;}
        .form-control:focus,
        .form-select:focus{
            border-color:rgba(139,92,246,.55);
            box-shadow:0 0 0 4px rgba(139,92,246,.12)!important;
        }
        .form-check-input{
            border-color:rgba(139,92,246,.30);
        }
        .form-check-input:checked{
            background-color:var(--brand);
            border-color:var(--brand);
        }
        .submit-note{
            color:var(--muted);
            font-size:13px;
            margin-top:12px;
        }
        .form-success{
            display:none;
            margin-top:14px;
            padding:12px 14px;
            border-radius:16px;
            color:#065f46;
            background:rgba(16,185,129,.12);
            border:1px solid rgba(16,185,129,.18);
            font-weight:800;
        }

        .site-footer{
            background:#120d24;
            color:#fff;
            padding:56px 0 28px;
            position:relative;
            overflow:hidden;
        }
        .site-footer:before{
            content:"";
            position:absolute;
            width:360px;height:360px;
            border-radius:50%;
            right:-140px;top:-150px;
            background:rgba(236,72,153,.16);
        }
        .footer-grid{
            position:relative;
            z-index:1;
            display:grid;
            grid-template-columns:1.2fr .8fr .8fr;
            gap:28px;
            padding-bottom:34px;
            border-bottom:1px solid rgba(255,255,255,.10);
        }
        .footer-logo{
            display:flex;
            align-items:center;
            gap:12px;
            font-size:20px;
            font-weight:950;
            letter-spacing:-.03em;
            margin-bottom:14px;
        }
        .footer-text{
            color:rgba(255,255,255,.68);
            max-width:520px;
            margin:0;
        }
        .footer-title{
            font-weight:950;
            margin-bottom:12px;
        }
        .footer-links{
            list-style:none;
            padding:0;margin:0;
            display:grid;
            gap:9px;
        }
        .footer-links a{
            color:rgba(255,255,255,.68);
        }
        .footer-links a:hover{
            color:#fff;
            padding-left:4px;
        }
        .copyright{
            position:relative;
            z-index:1;
            padding-top:22px;
            display:flex;
            justify-content:space-between;
            gap:18px;
            flex-wrap:wrap;
            color:rgba(255,255,255,.58);
            font-size:14px;
        }
        .float-cta{
            position:fixed;
            left:50%;
            bottom:18px;
            transform:translateX(-50%);
            z-index:1020;
            width:min(680px,calc(100% - 28px));
            padding:10px;
            border-radius:999px;
            background:rgba(18,13,36,.82);
            backdrop-filter:blur(16px);
            border:1px solid rgba(255,255,255,.14);
            box-shadow:0 18px 50px rgba(18,13,36,.28);
            display:flex;
            align-items:center;
            justify-content:space-between;
            gap:12px;
            color:#fff;
        }
        .float-cta span{
            padding-left:10px;
            font-weight:800;
            white-space:nowrap;
            overflow:hidden;
            text-overflow:ellipsis;
        }
        .float-cta .btn-brand{
            min-height:42px;
            padding:9px 16px;
        }

        @media (max-width:1024px){
            .section-pad{padding:76px 0;}
            .hero-content{
                grid-template-columns:1fr;
                padding:40px;
                min-height:auto;
            }
            .hero-shell{min-height:auto;}
            .trial-panel{max-width:680px;}
            .feature-triplet,
            .scene-wrap,
            .news-layout,
            .faq-wrap,
            .form-shell{
                grid-template-columns:1fr;
            }
            .feature-card:nth-child(2){margin-top:0;}
            .trust-strip{grid-template-columns:repeat(2,1fr);}
            .highlight-wall{grid-template-columns:1fr 1fr;}
            .wall-tile.large{grid-row:auto;min-height:230px;}
            .footer-grid{grid-template-columns:1fr 1fr;}
            .footer-grid > div:first-child{grid-column:span 2;}
        }
        @media (max-width:768px){
            .container-custom{width:min(100% - 28px,var(--container));}
            .top-countdown .container-custom{
                flex-direction:column;
                align-items:flex-start;
                padding:9px 0;
                gap:6px;
            }
            .navbar-collapse{
                margin-top:12px;
                padding:12px;
                border-radius:20px;
                background:#fff;
                border:1px solid rgba(16,18,35,.08);
                box-shadow:var(--shadow-sm);
            }
            .nav-cta{
                margin:10px 0 0;
                width:100%;
            }
            .nav-cta .btn-brand{width:100%;}
            .hero{padding:38px 0 52px;}
            .hero-content{padding:28px;}
            .hero h1{letter-spacing:-.045em;}
            .hero-actions{flex-direction:column;align-items:stretch;}
            .qualification,
            .mini-dashboard,
            .board-grid,
            .compare-grid,
            .quote-grid{
                grid-template-columns:1fr;
            }
            .board-card.wide{grid-column:auto;}
            .highlight-wall{grid-template-columns:1fr;}
            .trust-strip{grid-template-columns:1fr;}
            .news-item{
                grid-template-columns:auto 1fr;
            }
            .news-item .arrow-link{
                grid-column:2;
                justify-self:start;
            }
            .form-copy{min-height:auto;}
            .footer-grid,
            .footer-grid > div:first-child{
                grid-template-columns:1fr;
                grid-column:auto;
            }
            .copyright{display:block;}
            .copyright span{display:block;margin-top:8px;}
        }
        @media (max-width:520px){
            .brand-name{font-size:16px;max-width:230px;}
            .hero-shell{border-radius:26px;}
            .hero-content{padding:22px;}
            .trial-panel{padding:16px;border-radius:24px;}
            .section-title{font-size:29px;}
            .feature-card,
            .scene-board,
            .news-list,
            .recommend-box,
            .lead-form{padding:20px;}
            .form-shell{padding:14px;border-radius:28px;}
            .float-cta{
                border-radius:22px;
                align-items:stretch;
                flex-direction:column;
            }
            .float-cta span{white-space:normal;padding:0 6px;}
            .float-cta .btn-brand{width:100%;}
        }

/* roulang: framework shim */
/* 覆盖 Bootstrap 等对 a/btn 的全局默认，避免导航出现下划线/蓝链 */
.site-header a,.site-header a:hover,.navbar a,.navbar a:hover,.nav-links a,.nav-links a:hover,header nav a,header nav a:hover{text-decoration:none}
.site-header .btn,.navbar .btn,.nav-cta{text-decoration:none}
