/* roulang page: index */
:root{
      --ink:#14213d;
      --muted:#68758d;
      --blue:#246bfd;
      --blue-dark:#1550c8;
      --cyan:#2cc8c3;
      --bg:#f5f8fc;
      --paper:#ffffff;
      --line:#e4eaf3;
      --soft:#edf4ff;
      --gold:#f1b84b;
      --radius:18px;
      --shadow:0 16px 45px rgba(35,67,116,.09);
      --shadow-hover:0 22px 54px rgba(35,67,116,.16);
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;background:var(--bg);color:var(--ink);font-family:"Noto Sans SC","Manrope",sans-serif;line-height:1.7}
    a{color:inherit;text-decoration:none}
    img{display:block;width:100%;object-fit:cover}
    button,input{font:inherit}
    .container{width:min(1180px,calc(100% - 40px));margin:0 auto}
    .site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(228,234,243,.86)}
    .nav-shell{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
    .brand{display:flex;align-items:center;gap:12px;font-weight:900;letter-spacing:-.03em;white-space:nowrap}
    .brand-mark{width:38px;height:38px;border-radius:11px;background:var(--blue);color:#fff;display:grid;place-items:center;font:800 18px/1 "Manrope";box-shadow:0 8px 18px rgba(36,107,253,.25)}
    .brand-text{font-size:17px}
    .nav-links{display:flex;align-items:center;gap:6px}
    .nav-links a{padding:9px 13px;border-radius:10px;color:var(--muted);font-size:14px;font-weight:600;transition:.2s ease}
    .nav-links a:hover,.nav-links a.active{color:var(--blue);background:var(--soft)}
    .nav-cta{display:inline-flex;align-items:center;gap:8px;padding:11px 16px;border-radius:11px;background:var(--ink);color:#fff;font-size:14px;font-weight:700;transition:.2s ease}
    .nav-cta:hover{background:var(--blue);transform:translateY(-2px)}
    .menu-toggle{display:none;border:0;background:var(--soft);color:var(--ink);border-radius:10px;padding:10px 12px;cursor:pointer}
    .hero{position:relative;min-height:600px;display:flex;align-items:center;overflow:hidden;background:#122746 url("https://images.unsplash.com/photo-1516321318423-f06f85e504b3?auto=format&fit=crop&w=1800&q=85") center/cover}
    .hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,29,58,.96) 0%,rgba(11,29,58,.78) 46%,rgba(11,29,58,.18) 100%)}
    .hero-inner{position:relative;z-index:1;padding:76px 0 88px;color:#fff}
    .hero-copy{max-width:710px}
    .eyebrow{display:inline-flex;align-items:center;gap:8px;color:#bcd4ff;font-size:13px;font-weight:700;letter-spacing:.1em;margin-bottom:18px}
    .eyebrow:before{content:"";width:24px;height:2px;background:var(--cyan)}
    h1,h2,h3,p{margin-top:0}
    h1{font-size:clamp(38px,5.2vw,70px);line-height:1.15;letter-spacing:-.055em;margin-bottom:22px;font-weight:900}
    h1 em{font-style:normal;color:#5ce2dc}
    .hero-lead{font-size:18px;line-height:1.9;color:#dce7f8;max-width:680px;margin-bottom:30px}
    .hero-actions{display:flex;gap:12px;flex-wrap:wrap}
    .button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:11px;padding:13px 20px;font-weight:700;font-size:14px;transition:.2s ease;border:1px solid transparent}
    .button.primary{background:var(--blue);color:#fff;box-shadow:0 10px 22px rgba(36,107,253,.28)}
    .button.primary:hover{background:#4a84ff;transform:translateY(-2px)}
    .button.light{background:#fff;color:var(--ink)}
    .button.light:hover{background:#dff9f7;transform:translateY(-2px)}
    .button.outline{border-color:var(--line);background:#fff;color:var(--ink)}
    .button.outline:hover{border-color:var(--blue);color:var(--blue)}
    .hero-data{display:flex;gap:34px;margin-top:48px;padding-top:22px;border-top:1px solid rgba(255,255,255,.22)}
    .hero-data strong{display:block;font:800 25px/1.2 "Manrope";color:#fff}
    .hero-data span{display:block;color:#b9c9df;font-size:12px;margin-top:5px}
    .countdown{position:absolute;right:0;bottom:44px;background:#fff;color:var(--ink);border-radius:14px;padding:14px 18px;box-shadow:var(--shadow);display:flex;align-items:center;gap:16px}
    .countdown b{font-size:13px}
    .countdown strong{color:var(--blue);font:800 18px "Manrope"}
    section{padding:88px 0}
    .section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:32px}
    .section-kicker{color:var(--blue);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px}
    h2{font-size:clamp(27px,3vw,40px);line-height:1.25;letter-spacing:-.04em;margin-bottom:10px;font-weight:900}
    .section-intro{color:var(--muted);max-width:650px;margin-bottom:0;font-size:15px}
    .section-link{color:var(--blue);font-weight:700;font-size:14px;white-space:nowrap}
    .section-link:hover{color:var(--blue-dark)}
    .category-section{background:#fff}
    .category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
    .category{border:1px solid var(--line);border-radius:var(--radius);padding:24px;background:#fff;transition:.25s ease}
    .category:hover{border-color:#b5cbfa;box-shadow:var(--shadow);transform:translateY(-4px)}
    .category-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:var(--soft);color:var(--blue);font:800 18px "Manrope";margin-bottom:18px}
    .category h3{font-size:18px;margin-bottom:8px}
    .category p{font-size:13px;color:var(--muted);line-height:1.8;margin-bottom:0}
    .feature-section{background:var(--bg)}
    .feature-grid{display:grid;grid-template-columns:1.45fr 1fr 1fr;gap:18px}
    .feature-card{position:relative;min-height:300px;border-radius:var(--radius);overflow:hidden;background:#18325c;color:#fff;box-shadow:var(--shadow)}
    .feature-card.large{grid-row:span 2;min-height:618px}
    .feature-card img{height:100%;position:absolute;inset:0;opacity:.78}
    .feature-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,35,68,.05),rgba(10,24,48,.9))}
    .feature-content{position:absolute;z-index:1;left:25px;right:25px;bottom:24px}
    .feature-content h3{font-size:23px;line-height:1.35;margin-bottom:8px}
    .feature-content p{font-size:13px;color:#d5e2f6;margin-bottom:0}
    .tag{display:inline-flex;align-items:center;padding:5px 9px;border-radius:7px;background:rgba(255,255,255,.16);color:#fff;font-size:11px;font-weight:700;margin-bottom:10px}
    .news-section{background:#fff}
    .news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
    .news-card{display:flex;gap:16px;padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff;transition:.2s ease}
    .news-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
    .news-card img{width:112px;height:92px;border-radius:10px;flex:none}
    .news-card h3{font-size:15px;line-height:1.5;margin:3px 0 7px}
    .news-card p{font-size:12px;color:var(--muted);margin:0}
    .rank-section{background:#f0f5fc}
    .rank-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:start}
    .rank-note{background:var(--ink);color:#fff;border-radius:var(--radius);padding:32px;min-height:300px}
    .rank-note h3{font-size:25px;line-height:1.35;margin-bottom:14px}
    .rank-note p{color:#b9c9df;font-size:14px;line-height:1.9}
    .rank-note .button{margin-top:8px}
    .rank-list{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
    .rank-item{display:grid;grid-template-columns:34px 1fr 88px 52px;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line)}
    .rank-item:last-child{border-bottom:0}
    .rank-number{font:800 16px "Manrope";color:#9ca9bd}
    .rank-item:nth-child(-n+3) .rank-number{color:var(--blue)}
    .rank-title{font-size:14px;font-weight:700}
    .rank-type{display:block;color:var(--muted);font-size:11px;font-weight:500}
    .rank-hot{font-size:12px;color:#e47b4d}
    .rank-score{font:800 14px "Manrope";color:var(--blue)}
    .evidence-section{background:#fff}
    .evidence-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
    .evidence-card{padding:25px;border-radius:var(--radius);background:var(--bg);border:1px solid var(--line)}
    .evidence-card strong{display:block;font:800 30px "Manrope";color:var(--blue);margin-bottom:7px}
    .evidence-card h3{font-size:17px;margin-bottom:8px}
    .evidence-card p{color:var(--muted);font-size:13px;margin-bottom:0}
    .partner-section{padding:54px 0;background:#f7fafc;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
    .partner-row{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
    .partner-row span{font:800 16px "Manrope";color:#9aa8bb;letter-spacing:.03em}
    .partner-copy{color:var(--muted);font-size:13px;margin:0}
    .assurance{padding:28px 0;background:var(--blue);color:#fff}
    .assurance-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
    .assurance-item{display:flex;gap:12px;align-items:flex-start}
    .assurance-icon{font:800 16px "Manrope";color:#65e6df}
    .assurance-item strong{display:block;font-size:14px;margin-bottom:3px}
    .assurance-item span{display:block;color:#c9dcff;font-size:12px}
    .trial-section{padding:88px 0}
    .trial-box{background:#e9f2ff;border:1px solid #cfe0fb;border-radius:24px;padding:44px;display:flex;align-items:center;justify-content:space-between;gap:30px}
    .trial-box h2{margin-bottom:10px}
    .trial-box p{color:var(--muted);max-width:620px;margin-bottom:0;font-size:14px}
    .trial-box .button{flex:none}
    .faq-section{background:#fff}
    .faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
    .faq-item{border:1px solid var(--line);border-radius:13px;padding:20px 22px;background:#fff}
    .faq-item h3{font-size:15px;margin-bottom:8px}
    .faq-item p{font-size:13px;color:var(--muted);margin-bottom:0}
    footer{background:#11213b;color:#c4d1e3;padding:58px 0 24px}
    .footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:35px;padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.12)}
    .footer-brand{color:#fff;margin-bottom:13px}
    .footer-desc{font-size:13px;line-height:1.9;color:#91a5c0;max-width:310px}
    footer h3{font-size:14px;color:#fff;margin-bottom:14px}
    .footer-links{display:grid;gap:8px}
    .footer-links a{font-size:13px;color:#91a5c0;transition:.2s}
    .footer-links a:hover{color:#65e6df}
    .copyright{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:22px;color:#788da9;font-size:12px}
    :focus-visible{outline:3px solid rgba(44,200,195,.55);outline-offset:3px}
    @media(max-width:1024px){
      .nav-links{gap:0}.nav-links a{padding:8px 9px;font-size:13px}
      .category-grid{grid-template-columns:repeat(2,1fr)}
      .feature-grid{grid-template-columns:1fr 1fr}.feature-card.large{grid-row:span 2}
      .news-grid{grid-template-columns:repeat(2,1fr)}
      .footer-grid{grid-template-columns:1.4fr repeat(2,1fr)}
    }
    @media(max-width:768px){
      .container{width:min(100% - 30px,620px)}
      .nav-shell{height:68px}.nav-cta{display:none}.menu-toggle{display:block}
      .nav-links{display:none;position:absolute;top:68px;left:15px;right:15px;padding:10px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;flex-direction:column;align-items:stretch}
      .nav-links.open{display:flex}.nav-links a{padding:11px 13px}
      .hero{min-height:680px}.hero-inner{padding:72px 0}
      .hero-lead{font-size:16px}.hero-data{gap:20px;flex-wrap:wrap}
      .countdown{position:relative;right:auto;bottom:auto;margin-top:34px;width:max-content}
      section{padding:65px 0}.section-head{display:block}.section-link{display:inline-block;margin-top:15px}
      .feature-grid,.rank-layout{grid-template-columns:1fr}.feature-card.large{grid-row:auto;min-height:380px}
      .news-grid,.evidence-grid{grid-template-columns:1fr}
      .assurance-grid{grid-template-columns:repeat(2,1fr)}
      .trial-box{display:block;padding:30px}.trial-box .button{margin-top:22px}
      .faq-grid{grid-template-columns:1fr}
      .footer-grid{grid-template-columns:1fr 1fr}
    }
    @media(max-width:520px){
      h1{font-size:40px}.brand-text{font-size:14px}.category-grid{grid-template-columns:1fr}
      .news-card img{width:95px;height:82px}.rank-item{grid-template-columns:28px 1fr 60px 42px;padding:13px 12px}
      .rank-hot{font-size:11px}.assurance-grid{grid-template-columns:1fr}
      .footer-grid{grid-template-columns:1fr}.copyright{display:block}.copyright span{display:block;margin-top:7px}
    }
