/* roulang page: index */
:root{
            --ink:#17211f;
            --muted:#6d7b77;
            --cream:#f6f4ee;
            --paper:#fffefa;
            --line:#dfe5df;
            --green:#1f5145;
            --green-deep:#12372f;
            --lime:#d9ed87;
            --orange:#e8794f;
            --shadow:0 22px 65px rgba(24,48,40,.11);
            --radius:24px;
        }
        *{box-sizing:border-box;margin:0;padding:0}
        html{scroll-behavior:smooth}
        body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--cream);line-height:1.7;overflow-x:hidden}
        a{text-decoration:none;color:inherit}
        button,input{font:inherit}
        button{cursor:pointer;border:0}
        img{max-width:100%;display:block}
        .container{width:min(1160px,calc(100% - 48px));margin:auto}
        .site-shell{min-height:100vh}
        .side-nav{position:fixed;left:0;top:0;bottom:0;width:214px;background:var(--green-deep);color:#fff;padding:34px 25px;z-index:20;display:flex;flex-direction:column}
        .brand{font-size:20px;font-weight:800;letter-spacing:-.04em;line-height:1.25;display:block}
        .brand small{display:block;color:#b8c9b9;font-size:10px;letter-spacing:.18em;font-weight:500;margin-top:8px}
        .nav-label{color:#8ca99c;text-transform:uppercase;font-size:10px;letter-spacing:.18em;margin:76px 0 16px}
        .nav-link{display:flex;align-items:center;gap:10px;color:#c4d3c9;padding:12px 13px;border-radius:12px;font-size:14px;transition:.25s}
        .nav-link:before{content:"";width:5px;height:5px;background:#89a89a;border-radius:50%;transition:.25s}
        .nav-link:hover,.nav-link.active{background:rgba(255,255,255,.12);color:#fff}
        .nav-link.active:before{background:var(--lime);box-shadow:0 0 0 4px rgba(217,237,135,.12)}
        .nav-bottom{margin-top:auto;color:#8ca99c;font-size:12px;border-top:1px solid rgba(255,255,255,.14);padding-top:18px}
        .mobile-bar{display:none}
        main{margin-left:214px}
        .hero{min-height:720px;padding:36px 0 60px;position:relative;display:flex;align-items:center}
        .hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 18%,#e5ebba 0,transparent 27%),radial-gradient(circle at 20% 80%,#e9d8c7 0,transparent 28%);pointer-events:none}
        .hero-grid{position:relative;display:grid;grid-template-columns:1fr 1.02fr;gap:58px;align-items:center}
        .eyebrow,.section-kicker{font-size:11px;letter-spacing:.19em;color:var(--orange);font-weight:800;text-transform:uppercase;margin-bottom:20px}
        h1{font-size:clamp(42px,5.3vw,76px);line-height:1.08;letter-spacing:-.07em;max-width:650px}
        .hero-copy{font-size:17px;color:var(--muted);max-width:550px;margin:27px 0 30px}
        .actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
        .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 21px;border-radius:99px;font-size:14px;font-weight:750;transition:.25s;border:1px solid transparent}
        .btn-primary{background:var(--green);color:#fff;box-shadow:0 8px 20px rgba(31,81,69,.18)}
        .btn-primary:hover{background:var(--green-deep);transform:translateY(-2px);box-shadow:0 13px 26px rgba(31,81,69,.25)}
        .btn-light{background:rgba(255,255,255,.6);border-color:var(--line)}
        .btn-light:hover{background:#fff;border-color:var(--green);color:var(--green)}
        .hero-facts{display:flex;gap:28px;margin-top:45px}
        .fact strong{font-size:25px;display:block;letter-spacing:-.04em}
        .fact span{font-size:12px;color:var(--muted)}
        .hero-art{height:505px;position:relative;border-radius:30px;overflow:hidden;background:#c8d5a5;box-shadow:var(--shadow);background-image:linear-gradient(135deg,rgba(20,55,47,.72),rgba(20,55,47,.05)),radial-gradient(circle at 70% 25%,#f4b277 0 12%,transparent 13%),linear-gradient(125deg,#224f43 15%,#8eaf91 15% 45%,#e7d8ba 45% 72%,#e27850 72%)}
        .hero-art:after{content:"";position:absolute;inset:28px;border:1px solid rgba(255,255,255,.42);border-radius:22px}
        .series-bar{position:absolute;top:29px;left:30px;right:30px;z-index:2;display:flex;justify-content:space-between;align-items:center;color:#fff;font-size:12px}
        .series-nav{display:flex;gap:18px;color:rgba(255,255,255,.7)}
        .series-nav span:first-child{color:#fff;border-bottom:1px solid var(--lime);padding-bottom:4px}
        .art-copy{position:absolute;left:48px;bottom:47px;color:#fff;z-index:2}
        .art-copy p{font-size:12px;letter-spacing:.15em;color:#d9ed87;margin-bottom:9px}
        .art-copy h2{font-size:42px;line-height:1.1;letter-spacing:-.06em;max-width:300px}
        .art-index{position:absolute;right:45px;bottom:47px;color:#fff;z-index:2;font-size:12px}
        section{padding:104px 0}
        .section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:38px}
        .section-head h2{font-size:clamp(30px,4vw,48px);line-height:1.1;letter-spacing:-.06em}
        .section-head p{color:var(--muted);max-width:430px;font-size:15px}
        .calendar{background:var(--green-deep);color:#fff}
        .calendar .section-kicker{color:var(--lime)}
        .calendar .section-head p{color:#b6c8bc}
        .calendar-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:14px}
        .day-card{min-height:225px;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius);padding:25px;display:flex;flex-direction:column;justify-content:space-between;background:rgba(255,255,255,.05);transition:.25s}
        .day-card:first-child{background:#d9ed87;color:var(--green-deep);grid-row:span 2;min-height:464px}
        .day-card:hover{transform:translateY(-5px);border-color:rgba(217,237,135,.7)}
        .day-name{font-size:12px;opacity:.72;letter-spacing:.12em}
        .day-card h3{font-size:25px;letter-spacing:-.04em;line-height:1.25;margin-top:10px}
        .day-card p{font-size:13px;opacity:.75;margin-top:9px}
        .topic-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr;grid-template-rows:200px 200px;gap:15px}
        .topic-card{border-radius:var(--radius);padding:26px;position:relative;overflow:hidden;color:#fff;background:var(--orange);transition:.25s}
        .topic-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
        .topic-card.large{grid-row:span 2;background:linear-gradient(135deg,#214e43,#628875)}
        .topic-card:nth-child(2){background:#d19a69;color:#2d3027}
        .topic-card:nth-child(3){background:#a9b9d0;color:#1d2e3b}
        .topic-card:nth-child(4){background:#d4c4a6;color:#3e3327}
        .topic-card h3{font-size:25px;letter-spacing:-.05em}
        .topic-card p{font-size:13px;max-width:230px;opacity:.78;margin-top:9px}
        .topic-mark{position:absolute;right:22px;bottom:15px;font-size:72px;font-weight:900;opacity:.16;line-height:1}
        .dashboard{background:#e8eee7}
        .dash-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:18px}
        .dash-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:29px}
        .metric{font-size:54px;line-height:1;font-weight:800;letter-spacing:-.08em;color:var(--green)}
        .metric-label{color:var(--muted);font-size:13px;margin-top:10px}
        .bar-list{margin-top:25px;display:grid;gap:18px}
        .bar-line{display:flex;justify-content:space-between;font-size:13px;margin-bottom:7px}
        .bar-track{height:8px;border-radius:8px;background:#e7ebe5;overflow:hidden}
        .bar-fill{height:100%;background:var(--orange);border-radius:8px}
        .rank-list{display:grid;gap:0}
        .rank-item{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:13px;border-bottom:1px solid var(--line);padding:15px 0}
        .rank-item:last-child{border-bottom:0}
        .rank-no{font-weight:800;color:var(--orange);font-size:18px}
        .rank-title{font-weight:700;font-size:14px}
        .rank-desc{font-size:12px;color:var(--muted)}
        .rank-score{font-size:12px;color:var(--green);font-weight:700}
        .news-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:55px}
        .news-list{border-top:1px solid var(--ink)}
        .news-item{display:grid;grid-template-columns:100px 1fr auto;gap:20px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line);transition:.2s}
        .news-item:hover{padding-left:8px}
        .news-date{font-size:12px;color:var(--muted)}
        .news-item h3{font-size:17px;letter-spacing:-.02em}
        .news-item p{color:var(--muted);font-size:13px;margin-top:4px}
        .arrow{font-size:22px;color:var(--orange)}
        .news-feature{background:#eadfce;border-radius:var(--radius);padding:29px;min-height:280px;display:flex;flex-direction:column;justify-content:space-between}
        .news-feature h3{font-size:31px;line-height:1.18;letter-spacing:-.06em}
        .guide{background:#f0ede5}
        .guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
        .guide-card{background:var(--paper);padding:28px;border-radius:var(--radius);border:1px solid var(--line);transition:.25s}
        .guide-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
        .guide-num{font-size:13px;color:var(--orange);font-weight:800}
        .guide-card h3{font-size:21px;margin:38px 0 9px;letter-spacing:-.04em}
        .guide-card p{font-size:13px;color:var(--muted)}
        .faq-cta{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}
        .faq-list{border-top:1px solid var(--ink)}
        .faq-item{border-bottom:1px solid var(--line)}
        .faq-question{width:100%;background:none;padding:19px 0;text-align:left;display:flex;justify-content:space-between;font-weight:700;color:var(--ink)}
        .faq-answer{color:var(--muted);font-size:14px;max-height:0;overflow:hidden;transition:max-height .3s,padding .3s}
        .faq-item.open .faq-answer{max-height:130px;padding:0 0 20px}
        .faq-question span{color:var(--orange);font-size:21px;transition:.3s}
        .faq-item.open .faq-question span{transform:rotate(45deg)}
        .cta-box{background:var(--green);border-radius:28px;color:#fff;padding:37px;position:relative;overflow:hidden}
        .cta-box:after{content:"";position:absolute;width:180px;height:180px;border:1px solid rgba(255,255,255,.18);border-radius:50%;right:-50px;bottom:-65px}
        .cta-box h2{font-size:36px;line-height:1.1;letter-spacing:-.06em;position:relative;z-index:1}
        .cta-box p{color:#c5d5ca;font-size:14px;margin:17px 0 24px;position:relative;z-index:1}
        .cta-box .btn{background:var(--lime);color:var(--green-deep);position:relative;z-index:1}
        footer{margin-left:214px;background:var(--green-deep);color:#fff;padding:45px 0 25px}
        .footer-main{display:flex;justify-content:space-between;gap:30px;align-items:start}
        .footer-copy{color:#9cb2a5;font-size:13px;max-width:330px;margin-top:15px}
        .footer-links{display:flex;gap:28px;color:#c5d5ca;font-size:13px}
        .footer-bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:42px;padding-top:18px;color:#819c8e;font-size:12px;display:flex;justify-content:space-between}
        .float-cta{position:fixed;right:25px;bottom:24px;background:var(--orange);color:#fff;padding:13px 19px;border-radius:99px;font-size:13px;font-weight:700;box-shadow:0 12px 25px rgba(180,82,47,.25);z-index:15;transition:.25s}
        .float-cta:hover{transform:translateY(-3px);background:#c95f3d}
        :focus-visible{outline:3px solid var(--lime);outline-offset:3px}
        @media(max-width:1024px){.side-nav{width:180px;padding:28px 18px}main,footer{margin-left:180px}.hero-grid{gap:30px}.hero-art{height:440px}.container{width:min(100% - 38px,920px)}}
        @media(max-width:768px){.side-nav{display:none}.mobile-bar{display:flex;position:sticky;top:0;z-index:30;background:var(--green-deep);color:#fff;padding:17px 20px;justify-content:space-between;align-items:center}.mobile-toggle{background:none;color:#fff;font-size:23px}.mobile-menu{display:none;background:var(--green-deep);padding:0 20px 18px;color:#fff}.mobile-menu.show{display:block}.mobile-menu a{display:block;padding:9px 0;color:#d4e0d7}main,footer{margin-left:0}.hero{min-height:auto;padding:70px 0 60px}.hero-grid{grid-template-columns:1fr}.hero-art{height:390px}.calendar-grid,.topic-grid,.dash-grid,.news-layout,.faq-cta{grid-template-columns:1fr}.day-card:first-child{grid-row:auto;min-height:225px}.topic-grid{grid-template-rows:auto}.topic-card.large{grid-row:auto;min-height:260px}.section-head{display:block}.section-head p{margin-top:17px}.guide-grid{grid-template-columns:1fr}.faq-cta{gap:45px}.footer-main{display:block}.footer-links{margin-top:25px}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:8px}}
        @media(max-width:520px){.container{width:calc(100% - 32px)}h1{font-size:42px}.hero-copy{font-size:15px}.hero-facts{gap:17px}.fact strong{font-size:22px}.hero-art{height:320px}.series-bar{left:20px;right:20px}.series-nav{gap:8px;font-size:10px}.art-copy{left:28px;bottom:30px}.art-copy h2{font-size:32px}.art-index{right:28px;bottom:30px}.section-head h2{font-size:34px}section{padding:72px 0}.news-item{grid-template-columns:72px 1fr}.news-item .arrow{display:none}.cta-box h2{font-size:30px}.float-cta{right:15px;bottom:15px}}
