/* roulang page: index */
:root{
      --primary:#2563eb;
      --primary-dark:#1d4ed8;
      --primary-soft:#dbeafe;
      --cyan-soft:#e0f7ff;
      --indigo:#334155;
      --text:#14213d;
      --muted:#64748b;
      --light:#f7faff;
      --lighter:#eef5ff;
      --white:#ffffff;
      --border:rgba(37,99,235,.12);
      --border-strong:rgba(37,99,235,.22);
      --shadow:0 16px 45px rgba(30,64,175,.08);
      --shadow-hover:0 24px 60px rgba(30,64,175,.14);
      --radius-xl:28px;
      --radius-lg:22px;
      --radius-md:16px;
      --pill:999px;
      --section:96px;
    }

    *{box-sizing:border-box;}
    html{scroll-behavior:smooth;}
    body{
      margin:0;
      font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",Arial,sans-serif;
      color:var(--text);
      background:
        radial-gradient(circle at 12% 8%, rgba(37,99,235,.10), transparent 28%),
        radial-gradient(circle at 86% 18%, rgba(14,165,233,.10), transparent 26%),
        linear-gradient(180deg,#f7faff 0%,#ffffff 46%,#f7faff 100%);
      line-height:1.82;
      overflow-x:hidden;
    }
    a{color:inherit;text-decoration:none;transition:color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease;}
    a:hover{color:var(--primary);}
    img{max-width:100%;height:auto;display:block;}
    button,input{font-family:inherit;}
    ::selection{background:var(--primary-soft);color:var(--primary-dark);}

    .site-shell{position:relative;min-height:100vh;}
    .grid-container{max-width:1180px;}
    .section{padding:var(--section) 0;}
    .section.tight{padding:72px 0;}
    .section-title{
      font-size:clamp(26px,3vw,34px);
      line-height:1.25;
      font-weight:800;
      letter-spacing:-.02em;
      margin:0 0 14px;
      color:#102247;
    }
    .section-desc{
      max-width:760px;
      margin:0;
      color:var(--muted);
      font-size:16.5px;
      line-height:1.85;
    }
    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:7px 13px;
      border-radius:var(--pill);
      background:rgba(37,99,235,.08);
      color:var(--primary-dark);
      font-size:13px;
      font-weight:700;
      margin-bottom:16px;
    }
    .eyebrow:before{
      content:"";
      width:7px;height:7px;border-radius:50%;
      background:linear-gradient(135deg,var(--primary),#22c55e);
      box-shadow:0 0 0 4px rgba(37,99,235,.10);
    }

    .site-header{
      position:fixed;
      top:18px;
      left:0;
      right:0;
      z-index:1000;
      pointer-events:none;
    }
    .nav-wrap{
      pointer-events:auto;
      max-width:1120px;
      margin:0 auto;
      padding:9px 10px 9px 14px;
      border:1px solid rgba(148,163,184,.20);
      border-radius:var(--pill);
      background:rgba(255,255,255,.88);
      backdrop-filter:blur(18px);
      box-shadow:0 14px 38px rgba(15,23,42,.08);
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:18px;
    }
    .brand{
      display:flex;
      align-items:center;
      gap:10px;
      min-width:0;
      font-weight:800;
      color:#0f2450;
      letter-spacing:-.02em;
    }
    .brand-mark{
      width:42px;height:42px;
      border-radius:14px;
      background:linear-gradient(145deg,#2563eb,#0ea5e9);
      box-shadow:0 10px 26px rgba(37,99,235,.24);
      position:relative;
      flex:0 0 auto;
      overflow:hidden;
    }
    .brand-mark:before,
    .brand-mark:after{
      content:"";
      position:absolute;
      left:9px;right:9px;
      height:4px;
      border-radius:6px;
      background:rgba(255,255,255,.88);
    }
    .brand-mark:before{top:12px;box-shadow:0 8px 0 rgba(255,255,255,.62);}
    .brand-mark:after{bottom:8px;width:16px;right:auto;}
    .brand-text{
      white-space:nowrap;
      font-size:15px;
      max-width:260px;
      overflow:hidden;
      text-overflow:ellipsis;
    }
    .desktop-menu{
      display:flex;
      align-items:center;
      justify-content:center;
      gap:6px;
      margin:0;
      list-style:none;
      flex:1;
    }
    .desktop-menu a{
      display:inline-flex;
      align-items:center;
      min-height:40px;
      padding:8px 15px;
      border-radius:var(--pill);
      color:#334155;
      font-weight:700;
      font-size:14px;
    }
    .desktop-menu a:hover{
      background:rgba(37,99,235,.08);
      color:var(--primary-dark);
    }
    .desktop-menu a.active{
      background:var(--primary-soft);
      color:var(--primary-dark);
    }
    .nav-actions{
      display:flex;
      align-items:center;
      gap:10px;
      flex:0 0 auto;
    }
    .menu-toggle{
      display:none;
      width:42px;height:42px;
      border:0;
      border-radius:50%;
      background:var(--primary-soft);
      color:var(--primary-dark);
      cursor:pointer;
      position:relative;
    }
    .menu-toggle span,
    .menu-toggle span:before,
    .menu-toggle span:after{
      display:block;
      width:18px;height:2px;
      background:var(--primary-dark);
      border-radius:4px;
      position:absolute;
      left:12px;
      transition:.2s ease;
      content:"";
    }
    .menu-toggle span{top:20px;}
    .menu-toggle span:before{left:0;top:-6px;}
    .menu-toggle span:after{left:0;top:6px;}
    .mobile-panel{
      display:none;
      max-width:1120px;
      margin:10px auto 0;
      padding:10px;
      border-radius:24px;
      background:#fff;
      border:1px solid var(--border);
      box-shadow:var(--shadow);
      pointer-events:auto;
    }
    .mobile-panel a{
      display:flex;
      min-height:46px;
      align-items:center;
      padding:10px 14px;
      border-radius:16px;
      color:#334155;
      font-weight:700;
    }
    .mobile-panel a.active,.mobile-panel a:hover{
      background:var(--primary-soft);
      color:var(--primary-dark);
    }

    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      border-radius:var(--pill);
      padding:13px 22px;
      line-height:1;
      font-weight:800;
      font-size:15px;
      border:1px solid transparent;
      cursor:pointer;
      transition:transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease, color .2s ease;
      white-space:nowrap;
    }
    .btn.primary{
      background:var(--primary);
      color:#fff;
      box-shadow:0 12px 28px rgba(37,99,235,.22);
    }
    .btn.primary:hover,.btn.primary:focus{
      background:var(--primary-dark);
      color:#fff;
      transform:translateY(-2px);
      box-shadow:0 18px 36px rgba(37,99,235,.30);
    }
    .btn.secondary{
      background:#fff;
      color:var(--primary-dark);
      border-color:var(--border-strong);
      box-shadow:0 8px 22px rgba(30,64,175,.05);
    }
    .btn.secondary:hover,.btn.secondary:focus{
      background:#eff6ff;
      transform:translateY(-2px);
      color:var(--primary-dark);
    }
    .btn.small{padding:10px 16px;font-size:14px;}

    .hero{
      padding:150px 0 78px;
      position:relative;
      overflow:hidden;
    }
    .hero:before{
      content:"";
      position:absolute;
      inset:120px -8% auto auto;
      width:520px;height:220px;
      opacity:.12;
      background:
        repeating-linear-gradient(90deg, transparent 0 18px, #2563eb 18px 22px, transparent 22px 42px);
      border-radius:999px;
      filter:blur(.2px);
      transform:rotate(-8deg);
      pointer-events:none;
    }
    .hero-board{
      position:relative;
      border-radius:34px;
      background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(239,246,255,.90));
      border:1px solid rgba(37,99,235,.12);
      box-shadow:var(--shadow);
      padding:34px;
      overflow:hidden;
    }
    .hero-board:after{
      content:"";
      position:absolute;
      right:-90px;bottom:-120px;
      width:340px;height:340px;
      border-radius:50%;
      background:radial-gradient(circle,rgba(14,165,233,.18),transparent 62%);
      pointer-events:none;
    }
    .hero-content{position:relative;z-index:2;}
    .hero h1{
      font-size:clamp(32px,4.8vw,52px);
      line-height:1.15;
      font-weight:900;
      letter-spacing:-.04em;
      margin:0 0 20px;
      color:#0f2246;
      max-width:850px;
    }
    .hero-lead{
      max-width:820px;
      color:#475569;
      font-size:17.5px;
      line-height:1.9;
      margin:0 0 24px;
    }
    .hero-toolbar{
      display:flex;
      flex-wrap:wrap;
      align-items:center;
      gap:12px;
      margin-bottom:26px;
    }
    .hero-points{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:14px;
      margin-top:24px;
    }
    .point{
      padding:16px;
      border-radius:20px;
      background:#fff;
      border:1px solid var(--border);
      box-shadow:0 10px 28px rgba(30,64,175,.06);
    }
    .point strong{
      display:block;
      font-size:20px;
      color:var(--primary-dark);
      margin-bottom:4px;
    }
    .point span{font-size:13.5px;color:var(--muted);}
    .demo-panel{
      position:relative;
      z-index:2;
      height:100%;
      min-height:380px;
      border-radius:30px;
      background:#fff;
      border:1px solid var(--border);
      padding:22px;
      box-shadow:0 18px 48px rgba(30,64,175,.10);
    }
    .wave-line{
      height:54px;
      border-radius:18px;
      background:
        linear-gradient(90deg,rgba(37,99,235,.10),rgba(14,165,233,.06)),
        repeating-linear-gradient(90deg, transparent 0 13px, rgba(37,99,235,.38) 13px 16px, transparent 16px 28px);
      opacity:.9;
      margin-bottom:18px;
    }
    .matrix{
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:12px;
    }
    .matrix-card{
      padding:15px;
      border-radius:20px;
      background:linear-gradient(180deg,#f8fbff,#fff);
      border:1px solid var(--border);
      min-height:118px;
    }
    .matrix-icon{
      width:34px;height:34px;border-radius:12px;
      background:var(--primary-soft);
      color:var(--primary-dark);
      display:flex;align-items:center;justify-content:center;
      font-weight:900;
      margin-bottom:10px;
    }
    .matrix-card h3{
      font-size:16px;
      line-height:1.35;
      margin:0 0 6px;
      font-weight:800;
    }
    .matrix-card p{
      margin:0;
      color:var(--muted);
      font-size:13.5px;
      line-height:1.6;
    }
    .status-strip{
      margin-top:14px;
      padding:12px 14px;
      border-radius:18px;
      background:#f0f9ff;
      color:#28507f;
      font-size:13.5px;
      border:1px solid rgba(14,165,233,.15);
    }

    .phone-seed{
      background:linear-gradient(180deg,#fff,#f7faff);
    }
    .vertical-panel{
      display:grid;
      grid-template-columns:.72fr 1.28fr;
      gap:26px;
      align-items:stretch;
      margin-top:34px;
    }
    .vertical-card{
      border-radius:34px;
      background:linear-gradient(160deg,#1d4ed8,#38bdf8);
      color:#fff;
      padding:26px;
      min-height:460px;
      box-shadow:0 24px 58px rgba(37,99,235,.22);
      position:relative;
      overflow:hidden;
    }
    .vertical-card:before{
      content:"";
      position:absolute;
      inset:26px;
      border-radius:28px;
      border:1px solid rgba(255,255,255,.28);
      pointer-events:none;
    }
    .vertical-card h3{font-size:25px;line-height:1.28;margin:0 0 16px;font-weight:850;}
    .vertical-card p{color:rgba(255,255,255,.86);margin:0;font-size:15.5px;}
    .vertical-steps{
      position:absolute;
      left:26px;right:26px;bottom:28px;
      display:grid;
      gap:12px;
    }
    .vertical-steps span{
      display:flex;
      align-items:center;
      gap:10px;
      padding:12px 14px;
      border-radius:18px;
      background:rgba(255,255,255,.14);
      backdrop-filter:blur(8px);
      font-weight:700;
    }
    .chapter-list{
      display:grid;
      gap:16px;
    }
    .chapter{
      display:grid;
      grid-template-columns:52px 1fr;
      gap:16px;
      padding:22px;
      border-radius:24px;
      background:#fff;
      border:1px solid var(--border);
      box-shadow:var(--shadow);
      transition:.2s ease;
    }
    .chapter:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover);}
    .chapter-num{
      width:52px;height:52px;
      border-radius:18px;
      background:#eff6ff;
      color:var(--primary-dark);
      display:flex;
      align-items:center;
      justify-content:center;
      font-weight:900;
      font-size:18px;
    }
    .chapter h3{font-size:20px;margin:0 0 7px;font-weight:800;}
    .chapter p{margin:0;color:var(--muted);font-size:15px;}

    .hot-grid{
      margin-top:34px;
      display:grid;
      grid-template-columns:1.2fr .8fr;
      gap:24px;
    }
    .feature-card,.mini-card,.trust-card,.quote-card,.article-list,.recommend-card,.plan-card,.faq-wrap,.cta-box{
      background:#fff;
      border:1px solid var(--border);
      border-radius:var(--radius-xl);
      box-shadow:var(--shadow);
    }
    .feature-card{
      padding:30px;
      min-height:380px;
      position:relative;
      overflow:hidden;
      transition:.2s ease;
    }
    .feature-card:hover,.mini-card:hover,.trust-card:hover,.plan-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover);}
    .feature-card:after{
      content:"";
      position:absolute;
      right:24px;top:24px;
      width:160px;height:90px;
      border-radius:22px;
      background:
        repeating-linear-gradient(0deg, rgba(37,99,235,.10) 0 8px, transparent 8px 18px);
    }
    .tag{
      display:inline-flex;
      padding:7px 12px;
      border-radius:var(--pill);
      background:var(--primary-soft);
      color:var(--primary-dark);
      font-weight:800;
      font-size:13px;
      margin-bottom:14px;
    }
    .feature-card h3{position:relative;z-index:1;font-size:28px;line-height:1.25;margin:0 0 14px;font-weight:850;}
    .feature-card p{position:relative;z-index:1;color:var(--muted);margin:0 0 18px;max-width:580px;}
    .text-link{
      display:inline-flex;
      align-items:center;
      gap:6px;
      font-weight:850;
      color:var(--primary-dark);
    }
    .text-link:hover{text-decoration:underline;}
    .mini-stack{display:grid;gap:18px;}
    .mini-card{padding:24px;transition:.2s ease;}
    .mini-card h3{font-size:20px;margin:0 0 9px;font-weight:800;}
    .mini-card p{color:var(--muted);margin:0 0 13px;font-size:15px;}

    .trust-section{
      background:linear-gradient(180deg,#eef5ff,#f8fbff);
      border-top:1px solid rgba(37,99,235,.08);
      border-bottom:1px solid rgba(37,99,235,.08);
    }
    .trust-grid{
      margin-top:30px;
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:16px;
    }
    .trust-card{padding:22px;}
    .trust-card strong{
      display:block;
      font-size:24px;
      color:var(--primary-dark);
      margin-bottom:8px;
    }
    .trust-card p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.7;}

    .quote-wall{
      margin-top:32px;
      display:grid;
      grid-template-columns:1fr 1fr 1fr;
      gap:18px;
    }
    .quote-card{
      padding:24px;
      position:relative;
    }
    .quote-card:before{
      content:"“";
      position:absolute;
      top:10px;right:22px;
      color:rgba(37,99,235,.18);
      font-size:56px;
      line-height:1;
      font-weight:900;
    }
    .quote-card p{margin:0 0 16px;color:#334155;font-size:15.5px;}
    .quote-card span{color:var(--muted);font-size:13.5px;font-weight:700;}

    .info-layout{
      margin-top:34px;
      display:grid;
      grid-template-columns:1.25fr .75fr;
      gap:24px;
      align-items:start;
    }
    .article-list{padding:12px;}
    .article-row{
      display:grid;
      grid-template-columns:1fr auto;
      gap:16px;
      align-items:center;
      padding:18px;
      border-radius:20px;
      border-bottom:1px solid rgba(37,99,235,.08);
      transition:.2s ease;
    }
    .article-row:last-child{border-bottom:0;}
    .article-row:hover{
      background:#f8fbff;
      transform:translateX(3px);
    }
    .article-row h3{font-size:18px;line-height:1.4;margin:0 0 5px;font-weight:800;}
    .article-row p{margin:0;color:var(--muted);font-size:14.5px;}
    .article-row .date{
      color:var(--primary-dark);
      background:var(--primary-soft);
      padding:7px 10px;
      border-radius:var(--pill);
      font-size:12px;
      font-weight:800;
      white-space:nowrap;
    }
    .recommend-card{padding:24px;}
    .recommend-card h3{font-size:22px;margin:0 0 12px;font-weight:850;}
    .pill-list{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0;}
    .pill-list span,.pill-list a{
      display:inline-flex;
      padding:9px 12px;
      border-radius:var(--pill);
      background:#fff;
      border:1px solid var(--border);
      color:#475569;
      font-weight:700;
      font-size:13.5px;
    }
    .pill-list a:hover{background:var(--primary-soft);color:var(--primary-dark);}

    .plan-grid{
      margin-top:34px;
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:18px;
    }
    .plan-card{
      padding:24px;
      position:relative;
      transition:.2s ease;
    }
    .plan-card.recommended{
      border-color:rgba(37,99,235,.34);
      box-shadow:0 22px 58px rgba(37,99,235,.14);
      transform:translateY(-8px);
    }
    .plan-card h3{font-size:22px;margin:0 0 10px;font-weight:850;}
    .plan-card p{color:var(--muted);margin:0 0 18px;font-size:15px;}
    .check-list{margin:0 0 20px;padding:0;list-style:none;display:grid;gap:10px;}
    .check-list li{
      position:relative;
      padding-left:26px;
      color:#334155;
      font-size:14.5px;
    }
    .check-list li:before{
      content:"✓";
      position:absolute;
      left:0;top:0;
      color:var(--primary);
      font-weight:900;
    }

    .faq-wrap{
      margin-top:34px;
      padding:12px;
    }
    .accordion{
      background:transparent;
      margin:0;
    }
    .accordion-item{
      border-radius:20px;
      overflow:hidden;
      margin-bottom:10px;
      border:1px solid rgba(37,99,235,.10);
      background:#fff;
    }
    .accordion-title{
      border:0!important;
      color:#12264b!important;
      font-weight:850;
      font-size:16px;
      padding:18px 48px 18px 20px;
      background:#fff;
    }
    .accordion-title:hover,.accordion-title:focus{
      background:#f8fbff;
      color:var(--primary-dark)!important;
    }
    .accordion-content{
      border:0!important;
      border-left:4px solid var(--primary);
      background:#fbfdff;
      color:#475569;
      padding:18px 20px;
      line-height:1.85;
    }

    .cta-box{
      padding:34px;
      background:
        radial-gradient(circle at 86% 20%,rgba(14,165,233,.16),transparent 28%),
        linear-gradient(135deg,#ffffff,#eef6ff);
      overflow:hidden;
    }
    .cta-form{
      display:grid;
      grid-template-columns:1fr auto;
      gap:12px;
      margin-top:22px;
      max-width:680px;
    }
    .cta-form input{
      height:50px;
      border-radius:var(--pill);
      border:1px solid var(--border-strong);
      box-shadow:none;
      padding:0 18px;
      margin:0;
      background:#fff;
      color:var(--text);
    }
    .cta-form input:focus{
      border-color:var(--primary);
      box-shadow:0 0 0 4px rgba(37,99,235,.10);
    }
    .notice{
      margin-top:14px;
      color:var(--muted);
      font-size:13.5px;
      line-height:1.7;
    }

    .site-footer{
      padding:54px 0 30px;
      background:#f8fbff;
      border-top:1px solid rgba(37,99,235,.10);
      position:relative;
    }
    .site-footer:before{
      content:"";
      position:absolute;
      top:0;left:0;right:0;height:5px;
      background:repeating-linear-gradient(90deg,rgba(37,99,235,.18) 0 18px,transparent 18px 34px);
      opacity:.45;
    }
    .footer-grid{
      display:grid;
      grid-template-columns:1.3fr .7fr .8fr;
      gap:28px;
      align-items:start;
    }
    .footer-brand{display:flex;align-items:center;gap:10px;font-weight:850;margin-bottom:14px;}
    .footer-text{color:var(--muted);font-size:14.5px;max-width:460px;}
    .footer-title{font-weight:850;margin-bottom:12px;color:#102247;}
    .footer-links{display:grid;gap:9px;}
    .footer-links a{color:#475569;font-size:14.5px;}
    .footer-links a:hover{color:var(--primary-dark);text-decoration:underline;}
    .copyright{
      margin-top:34px;
      padding-top:20px;
      border-top:1px solid rgba(37,99,235,.10);
      color:#64748b;
      font-size:13.5px;
      display:flex;
      justify-content:space-between;
      gap:16px;
      flex-wrap:wrap;
    }

    @media (max-width:1024px){
      :root{--section:78px;}
      .nav-wrap{margin:0 18px;}
      .site-header .btn.small{display:none;}
      .hero-board{padding:26px;}
      .hero-points{grid-template-columns:1fr 1fr;}
      .vertical-panel,.hot-grid,.info-layout{grid-template-columns:1fr;}
      .trust-grid{grid-template-columns:1fr 1fr;}
      .quote-wall,.plan-grid{grid-template-columns:1fr 1fr;}
      .plan-card.recommended{transform:none;}
    }
    @media (max-width:768px){
      .site-header{top:12px;}
      .nav-wrap{border-radius:28px;margin:0 12px;padding:8px 8px 8px 12px;}
      .brand-text{max-width:210px;font-size:14px;}
      .desktop-menu,.nav-actions{display:none;}
      .menu-toggle{display:block;}
      .mobile-panel.is-open{display:block;margin-left:12px;margin-right:12px;}
      .hero{padding-top:112px;}
      .hero-board{border-radius:28px;padding:22px;}
      .hero-toolbar{align-items:stretch;}
      .hero-toolbar .btn{width:100%;}
      .hero-points,.matrix,.trust-grid,.quote-wall,.plan-grid,.footer-grid{grid-template-columns:1fr;}
      .demo-panel{min-height:auto;margin-top:22px;}
      .vertical-card{min-height:390px;}
      .article-row{grid-template-columns:1fr;gap:10px;}
      .article-row .date{width:max-content;}
      .cta-form{grid-template-columns:1fr;}
      .cta-form .btn{width:100%;}
    }
    @media (max-width:520px){
      :root{--section:64px;}
      .section.tight{padding:54px 0;}
      .grid-container{padding-left:18px;padding-right:18px;}
      .hero h1{font-size:31px;}
      .hero-lead{font-size:16px;}
      .brand-mark{width:38px;height:38px;border-radius:13px;}
      .brand-text{max-width:176px;}
      .chapter{grid-template-columns:1fr;}
      .chapter-num{width:46px;height:46px;}
      .feature-card,.cta-box{padding:22px;}
      .copyright{display:block;}
      .copyright span{display:block;margin-bottom:8px;}
    }

/* roulang page: category1 */
:root{
      --primary:#2563eb;
      --primary-700:#1d4ed8;
      --primary-50:#eff6ff;
      --primary-100:#dbeafe;
      --cyan:#22d3ee;
      --amber:#f59e0b;
      --bg:#f7faff;
      --bg-soft:#eef5ff;
      --surface:#ffffff;
      --text:#172033;
      --muted:#667085;
      --light:#94a3b8;
      --border:rgba(37,99,235,.12);
      --border-strong:rgba(37,99,235,.22);
      --shadow:0 16px 45px rgba(30,64,175,.08);
      --shadow-hover:0 22px 60px rgba(30,64,175,.14);
      --radius:24px;
      --radius-lg:32px;
      --radius-pill:999px;
      --nav-h:72px;
      --font:"PingFang SC","Microsoft YaHei","Noto Sans SC",Arial,sans-serif;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:var(--font);
      color:var(--text);
      background:
        radial-gradient(circle at 8% 4%, rgba(37,99,235,.12), transparent 32%),
        radial-gradient(circle at 88% 12%, rgba(34,211,238,.13), transparent 26%),
        linear-gradient(180deg,#f7faff 0%,#fff 48%,#f7faff 100%);
      line-height:1.78;
      -webkit-font-smoothing:antialiased;
      text-rendering:optimizeLegibility;
    }
    a{color:inherit;text-decoration:none;transition:color .2s ease,background .2s ease,border .2s ease,transform .2s ease}
    a:hover{color:var(--primary-700)}
    img{max-width:100%;height:auto}
    button,input{font-family:inherit}
    button{cursor:pointer}
    :focus-visible{outline:3px solid rgba(37,99,235,.25);outline-offset:3px}

    .grid-container{max-width:1180px}
    .section{padding:88px 0}
    .section.compact{padding:64px 0}
    .section-head{
      max-width:760px;
      margin-bottom:34px;
    }
    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:7px 13px;
      border-radius:var(--radius-pill);
      background:var(--primary-50);
      color:var(--primary-700);
      font-size:14px;
      font-weight:700;
      border:1px solid var(--border);
      margin-bottom:16px;
    }
    .eyebrow:before{
      content:"";
      width:8px;height:8px;border-radius:50%;
      background:linear-gradient(135deg,var(--primary),var(--cyan));
      box-shadow:0 0 0 5px rgba(37,99,235,.08);
    }
    h1,h2,h3,h4,p{margin-top:0}
    h1{
      font-size:clamp(32px,4.4vw,48px);
      line-height:1.18;
      letter-spacing:-.02em;
      font-weight:800;
      margin-bottom:20px;
      color:#0f172a;
    }
    h2{
      font-size:clamp(26px,3vw,34px);
      line-height:1.25;
      font-weight:800;
      color:#13213a;
      margin-bottom:14px;
    }
    h3{
      font-size:22px;
      line-height:1.35;
      font-weight:750;
      color:#172033;
      margin-bottom:10px;
    }
    p{font-size:16.5px;color:var(--muted);line-height:1.85}
    .lead{font-size:18px;color:#475569;max-width:760px}
    .muted{color:var(--muted)}
    .tiny{font-size:13px;color:#7c8aa5}

    .site-header{
      position:sticky;
      top:18px;
      z-index:50;
      padding:0 18px;
      pointer-events:none;
    }
    .nav-wrap{
      max-width:1180px;
      min-height:var(--nav-h);
      margin:0 auto;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:20px;
      padding:12px 14px 12px 18px;
      border:1px solid rgba(37,99,235,.13);
      border-radius:var(--radius-pill);
      background:rgba(255,255,255,.88);
      backdrop-filter:blur(18px);
      box-shadow:0 14px 40px rgba(30,64,175,.10);
      pointer-events:auto;
    }
    .brand,.footer-brand{
      display:inline-flex;
      align-items:center;
      gap:11px;
      font-weight:800;
      color:#10213f;
      white-space:nowrap;
    }
    .brand-mark{
      width:38px;height:38px;
      border-radius:13px;
      background:
        linear-gradient(90deg,rgba(255,255,255,.88) 0 13%,transparent 13% 23%,rgba(255,255,255,.75) 23% 35%,transparent 35% 48%,rgba(255,255,255,.82) 48% 62%,transparent 62% 75%,rgba(255,255,255,.78) 75% 88%,transparent 88%),
        linear-gradient(135deg,var(--primary),#60a5fa);
      box-shadow:0 10px 22px rgba(37,99,235,.25);
      position:relative;
      flex:0 0 auto;
    }
    .brand-mark:after{
      content:"";
      position:absolute;
      left:8px;right:8px;bottom:8px;height:5px;
      border-radius:999px;
      background:rgba(255,255,255,.9);
    }
    .brand-text{font-size:17px;letter-spacing:-.01em}
    .desktop-menu{
      list-style:none;
      margin:0;
      padding:0;
      display:flex;
      align-items:center;
      gap:4px;
    }
    .desktop-menu a,.mobile-panel a{
      display:inline-flex;
      align-items:center;
      min-height:42px;
      padding:9px 15px;
      border-radius:var(--radius-pill);
      font-size:15px;
      font-weight:700;
      color:#46556f;
    }
    .desktop-menu a:hover,.mobile-panel a:hover{
      background:var(--primary-50);
      color:var(--primary-700);
    }
    .desktop-menu a.active,.mobile-panel a.active{
      background:linear-gradient(135deg,var(--primary-50),#e0f2fe);
      color:var(--primary-700);
      box-shadow:inset 0 0 0 1px rgba(37,99,235,.12);
    }
    .nav-actions{display:flex;align-items:center;gap:10px}
    .btn,.button.btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      border-radius:var(--radius-pill);
      min-height:48px;
      padding:13px 22px;
      font-weight:800;
      font-size:15px;
      line-height:1;
      border:1px solid transparent;
      transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease,border .2s ease;
      margin:0;
    }
    .btn.small{min-height:42px;padding:11px 16px;font-size:14px}
    .btn.primary{
      color:#fff;
      background:linear-gradient(135deg,var(--primary),var(--primary-700));
      box-shadow:0 12px 28px rgba(37,99,235,.25);
    }
    .btn.primary:hover{
      color:#fff;
      transform:translateY(-2px);
      box-shadow:0 18px 36px rgba(37,99,235,.32);
      background:linear-gradient(135deg,#1d4ed8,#1e40af);
    }
    .btn.secondary{
      color:var(--primary-700);
      background:#fff;
      border-color:var(--border-strong);
      box-shadow:0 8px 20px rgba(30,64,175,.06);
    }
    .btn.secondary:hover{
      color:#1e40af;
      background:var(--primary-50);
      transform:translateY(-2px);
    }
    .menu-toggle{
      display:none;
      width:46px;height:46px;
      border:1px solid var(--border);
      background:#fff;
      border-radius:50%;
      position:relative;
      box-shadow:none;
    }
    .menu-toggle span,
    .menu-toggle span:before,
    .menu-toggle span:after{
      content:"";
      position:absolute;
      width:18px;height:2px;
      background:#1e3a8a;
      border-radius:99px;
      left:13px;
      transition:transform .2s ease,top .2s ease,opacity .2s ease;
    }
    .menu-toggle span{top:22px}
    .menu-toggle span:before{top:-6px;left:0}
    .menu-toggle span:after{top:6px;left:0}
    .menu-toggle.is-open span{background:transparent}
    .menu-toggle.is-open span:before{top:0;transform:rotate(45deg)}
    .menu-toggle.is-open span:after{top:0;transform:rotate(-45deg)}
    .mobile-panel{
      max-width:1180px;
      margin:10px auto 0;
      padding:10px;
      border-radius:22px;
      background:rgba(255,255,255,.96);
      border:1px solid var(--border);
      box-shadow:var(--shadow);
      display:none;
      pointer-events:auto;
    }
    .mobile-panel.is-open{display:grid;gap:4px}

    .hero{
      padding:62px 0 34px;
      position:relative;
      overflow:hidden;
    }
    .hero:before{
      content:"";
      position:absolute;
      left:0;right:0;top:12px;height:180px;
      background:
        repeating-linear-gradient(90deg, rgba(37,99,235,.08) 0 3px, transparent 3px 22px);
      mask-image:linear-gradient(90deg,transparent,black 18%,black 78%,transparent);
      opacity:.38;
      pointer-events:none;
    }
    .breadcrumb{
      display:flex;
      flex-wrap:wrap;
      align-items:center;
      gap:8px;
      margin:18px 0 24px;
      color:#64748b;
      font-size:14px;
      font-weight:650;
    }
    .breadcrumb a{color:#475569}
    .breadcrumb a:hover{color:var(--primary-700);text-decoration:underline}
    .breadcrumb span:last-child{color:var(--primary-700)}
    .hero-card{
      position:relative;
      z-index:1;
      padding:34px;
      border-radius:var(--radius-lg);
      background:rgba(255,255,255,.88);
      border:1px solid var(--border);
      box-shadow:var(--shadow);
      overflow:hidden;
    }
    .hero-card:after{
      content:"";
      position:absolute;
      inset:auto -80px -90px auto;
      width:230px;height:230px;
      border-radius:50%;
      background:radial-gradient(circle,rgba(34,211,238,.18),transparent 68%);
      pointer-events:none;
    }
    .hero-badges{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin:22px 0 28px;
    }
    .badge{
      display:inline-flex;
      align-items:center;
      gap:7px;
      padding:8px 12px;
      border-radius:var(--radius-pill);
      background:#fff;
      border:1px solid var(--border);
      color:#315070;
      font-size:14px;
      font-weight:700;
      box-shadow:0 8px 18px rgba(30,64,175,.05);
    }
    .badge.blue{background:var(--primary-50);color:var(--primary-700)}
    .badge.cyan{background:#ecfeff;color:#0e7490}
    .hero-actions{
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      align-items:center;
    }
    .apply-panel{
      background:#fff;
      border:1px solid var(--border);
      border-radius:28px;
      box-shadow:var(--shadow);
      padding:22px;
      position:relative;
      overflow:hidden;
    }
    .wave-line{
      height:42px;
      border-radius:18px;
      background:
        linear-gradient(90deg,transparent 0 4%,rgba(37,99,235,.14) 4% 5%,transparent 5% 9%,rgba(34,211,238,.20) 9% 11%,transparent 11% 16%,rgba(37,99,235,.18) 16% 18%,transparent 18% 24%,rgba(37,99,235,.10) 24% 25%,transparent 25% 32%,rgba(34,211,238,.22) 32% 34%,transparent 34% 40%,rgba(37,99,235,.16) 40% 41%,transparent 41% 100%),
        linear-gradient(180deg,#f8fbff,#eef6ff);
      margin-bottom:18px;
    }
    .qualification{
      display:grid;
      gap:12px;
      margin:18px 0;
    }
    .qual-item{
      display:flex;
      gap:12px;
      align-items:flex-start;
      padding:13px;
      border-radius:18px;
      background:#f8fbff;
      border:1px solid rgba(37,99,235,.08);
    }
    .qual-icon{
      width:30px;height:30px;border-radius:10px;
      display:inline-flex;align-items:center;justify-content:center;
      flex:0 0 auto;
      color:#fff;
      background:linear-gradient(135deg,var(--primary),#60a5fa);
      font-weight:900;
    }
    .qual-item strong{display:block;color:#15213a;font-size:15px}
    .qual-item span{display:block;color:#6b7890;font-size:13.5px;line-height:1.6}

    .card{
      background:var(--surface);
      border:1px solid var(--border);
      border-radius:var(--radius);
      box-shadow:var(--shadow);
      padding:24px;
      transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
      height:100%;
    }
    .card:hover{
      transform:translateY(-4px);
      box-shadow:var(--shadow-hover);
      border-color:rgba(37,99,235,.22);
    }
    .overview-card{
      padding:30px;
      border-radius:30px;
      background:
        linear-gradient(135deg,rgba(255,255,255,.96),rgba(239,246,255,.9));
      border:1px solid var(--border);
      box-shadow:var(--shadow);
    }
    .include-list{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:12px;
      margin-top:6px;
    }
    .include-item{
      padding:14px;
      border-radius:18px;
      background:#fff;
      border:1px solid rgba(37,99,235,.10);
    }
    .include-item b{
      display:block;
      color:#1e3a8a;
      margin-bottom:4px;
      font-size:15px;
    }
    .include-item span{font-size:13.5px;color:#64748b}

    .tag-filter{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top:8px;
    }
    .filter-pill{
      border:1px solid var(--border-strong);
      background:#fff;
      color:#43536d;
      padding:9px 15px;
      border-radius:var(--radius-pill);
      font-size:14px;
      font-weight:750;
    }
    .filter-pill.active{
      background:linear-gradient(135deg,var(--primary),var(--primary-700));
      color:#fff;
      border-color:transparent;
      box-shadow:0 10px 22px rgba(37,99,235,.22);
    }
    .filter-pill:hover{background:var(--primary-50);color:var(--primary-700)}
    .filter-pill.active:hover{color:#fff;background:linear-gradient(135deg,#1d4ed8,#1e40af)}

    .feature-grid{margin-top:26px}
    .big-feature{
      min-height:100%;
      padding:30px;
      background:
        radial-gradient(circle at right top,rgba(34,211,238,.15),transparent 40%),
        linear-gradient(135deg,#fff,#f8fbff);
    }
    .card-label{
      display:inline-flex;
      padding:7px 11px;
      border-radius:var(--radius-pill);
      background:var(--primary-50);
      color:var(--primary-700);
      font-size:13px;
      font-weight:800;
      margin-bottom:16px;
    }
    .text-link{
      display:inline-flex;
      align-items:center;
      gap:7px;
      color:var(--primary-700);
      font-weight:800;
      margin-top:8px;
    }
    .text-link:hover{text-decoration:underline}
    .mini-stack{display:grid;gap:18px}
    .horizontal-list{
      margin-top:18px;
      display:grid;
      gap:14px;
    }
    .list-row{
      display:grid;
      grid-template-columns:44px 1fr auto;
      gap:16px;
      align-items:center;
      padding:18px;
      border-radius:22px;
      background:#fff;
      border:1px solid var(--border);
      box-shadow:0 10px 28px rgba(30,64,175,.06);
      transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
    }
    .list-row:hover{
      transform:translateY(-3px);
      box-shadow:var(--shadow);
      border-color:rgba(37,99,235,.20);
    }
    .num{
      width:44px;height:44px;border-radius:15px;
      display:inline-flex;align-items:center;justify-content:center;
      background:linear-gradient(135deg,var(--primary-50),#e0f2fe);
      color:var(--primary-700);
      font-weight:900;
    }

    .process-section{
      background:
        linear-gradient(180deg,rgba(239,246,255,.7),rgba(255,255,255,.92));
      border-top:1px solid rgba(37,99,235,.08);
      border-bottom:1px solid rgba(37,99,235,.08);
    }
    .steps{
      display:grid;
      gap:16px;
      counter-reset:step;
    }
    .step{
      position:relative;
      padding:22px 22px 22px 78px;
      border-radius:24px;
      background:#fff;
      border:1px solid var(--border);
      box-shadow:0 12px 32px rgba(30,64,175,.06);
    }
    .step:before{
      counter-increment:step;
      content:"0" counter(step);
      position:absolute;
      left:22px;top:22px;
      width:40px;height:40px;
      border-radius:14px;
      display:flex;align-items:center;justify-content:center;
      background:linear-gradient(135deg,var(--primary),#60a5fa);
      color:#fff;
      font-weight:900;
      font-size:14px;
    }
    .notice-card{
      background:#fff;
      border-radius:28px;
      border:1px solid var(--border);
      box-shadow:var(--shadow);
      padding:26px;
    }
    .notice-list{
      list-style:none;
      margin:16px 0 0;
      padding:0;
      display:grid;
      gap:12px;
    }
    .notice-list li{
      position:relative;
      padding-left:26px;
      color:#56657d;
      line-height:1.75;
    }
    .notice-list li:before{
      content:"";
      width:10px;height:10px;border-radius:50%;
      position:absolute;left:0;top:.72em;
      background:var(--primary);
      box-shadow:0 0 0 5px rgba(37,99,235,.09);
    }

    .trust-band{
      background:#eef5ff;
      border-radius:34px;
      padding:34px;
      border:1px solid rgba(37,99,235,.10);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
    }
    .trust-item{
      padding:22px;
      border-radius:24px;
      background:rgba(255,255,255,.82);
      border:1px solid rgba(37,99,235,.10);
      height:100%;
    }
    .trust-item strong{
      display:block;
      font-size:20px;
      color:#13213a;
      margin-bottom:6px;
    }
    .trust-item p{font-size:15px;margin-bottom:0}

    .accordion{
      background:transparent;
      border:0;
    }
    .accordion-item{
      margin-bottom:12px;
      border-radius:22px;
      overflow:hidden;
      background:#fff;
      border:1px solid var(--border);
      box-shadow:0 10px 26px rgba(30,64,175,.06);
    }
    .accordion-title{
      border:0!important;
      padding:20px 54px 20px 22px;
      color:#172033;
      font-size:17px;
      font-weight:800;
      line-height:1.5;
      background:#fff;
    }
    .accordion-title:focus,.accordion-title:hover{
      background:var(--primary-50);
      color:var(--primary-700);
    }
    .accordion-title:before{
      right:22px;
      margin-top:-10px;
      color:var(--primary);
      font-size:22px;
    }
    .accordion-content{
      border:0!important;
      border-left:4px solid var(--primary);
      padding:0 24px 22px 24px;
      color:#5b687e;
      background:#fff;
      line-height:1.85;
    }
    .accordion-content p{margin-bottom:0}

    .cta-box{
      border-radius:34px;
      padding:34px;
      background:
        radial-gradient(circle at 90% 15%,rgba(34,211,238,.22),transparent 32%),
        linear-gradient(135deg,#eff6ff,#ffffff);
      border:1px solid var(--border);
      box-shadow:var(--shadow);
      overflow:hidden;
      position:relative;
    }
    .cta-form{
      display:flex;
      gap:10px;
      align-items:center;
      margin-top:14px;
    }
    .cta-form input{
      height:52px;
      border-radius:var(--radius-pill);
      border:1px solid var(--border-strong);
      padding:0 18px;
      box-shadow:none;
      margin:0;
      background:#fff;
      color:#172033;
    }
    .cta-form input:focus{
      border-color:var(--primary);
      box-shadow:0 0 0 4px rgba(37,99,235,.12);
      background:#fff;
    }

    .site-footer{
      padding:44px 0 28px;
      background:#f8fbff;
      border-top:1px solid rgba(37,99,235,.10);
      position:relative;
    }
    .site-footer:before{
      content:"";
      position:absolute;
      left:0;right:0;top:0;height:2px;
      background:linear-gradient(90deg,transparent,rgba(37,99,235,.35),rgba(34,211,238,.35),transparent);
    }
    .footer-grid{
      display:grid;
      grid-template-columns:1.4fr .8fr .8fr;
      gap:34px;
      align-items:start;
    }
    .footer-brand{font-size:17px;margin-bottom:12px}
    .footer-text{
      max-width:430px;
      font-size:14.5px;
      color:#64748b;
      margin-bottom:0;
    }
    .footer-title{
      font-size:15px;
      font-weight:850;
      color:#13213a;
      margin-bottom:12px;
    }
    .footer-links{
      display:grid;
      gap:8px;
    }
    .footer-links a{
      color:#64748b;
      font-size:14.5px;
    }
    .footer-links a:hover{
      color:var(--primary-700);
      text-decoration:underline;
    }
    .copyright{
      margin-top:30px;
      padding-top:18px;
      border-top:1px solid rgba(37,99,235,.10);
      display:flex;
      flex-wrap:wrap;
      justify-content:space-between;
      gap:12px;
      color:#7b879c;
      font-size:13px;
    }

    @media screen and (max-width:1024px){
      .section{padding:72px 0}
      .hero-card{padding:28px}
      .list-row{grid-template-columns:44px 1fr}
      .list-row .text-link{grid-column:2}
    }
    @media screen and (max-width:768px){
      .site-header{top:10px;padding:0 12px}
      .nav-wrap{border-radius:26px;min-height:64px}
      .desktop-menu,.nav-actions{display:none}
      .menu-toggle{display:inline-flex}
      .brand-text{font-size:15px;max-width:210px;overflow:hidden;text-overflow:ellipsis}
      .hero{padding-top:42px}
      .hero-card{padding:24px;border-radius:28px}
      .include-list{grid-template-columns:1fr}
      .footer-grid{grid-template-columns:1fr;gap:24px}
      .cta-form{flex-direction:column;align-items:stretch}
      .cta-form .btn{width:100%}
      .trust-band{padding:22px;border-radius:28px}
    }
    @media screen and (max-width:520px){
      .grid-container{padding-left:18px;padding-right:18px}
      .section{padding:58px 0}
      .section.compact{padding:48px 0}
      h1{font-size:31px}
      h2{font-size:25px}
      h3{font-size:20px}
      p,.lead{font-size:16px}
      .hero-badges{gap:8px}
      .badge{font-size:13px}
      .hero-actions .btn{width:100%}
      .apply-panel,.overview-card,.card,.cta-box{padding:20px;border-radius:24px}
      .step{padding:70px 18px 18px}
      .step:before{left:18px;top:18px}
      .list-row{grid-template-columns:1fr;gap:10px}
      .list-row .text-link{grid-column:auto}
      .copyright{display:grid}
    }
