/* roulang page: index */
:root{
      --ink:#18252c;
      --muted:#64747a;
      --paper:#f6f8f6;
      --white:#ffffff;
      --line:#dce5e1;
      --teal:#116b68;
      --teal-dark:#0a4c4b;
      --mint:#dff0e9;
      --coral:#d76551;
      --yellow:#f5c968;
      --shadow:0 18px 45px rgba(24,37,44,.08);
      --soft-shadow:0 8px 24px rgba(24,37,44,.06);
      --radius:18px;
      --container:1180px;
    }
    *{box-sizing:border-box;margin:0;padding:0}
    html{scroll-behavior:smooth}
    body{
      background:var(--paper);
      color:var(--ink);
      font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",Arial,sans-serif;
      font-size:16px;
      line-height:1.75;
      letter-spacing:0;
    }
    a{color:inherit;text-decoration:none}
    button,input{font:inherit}
    button{cursor:pointer}
    img{display:block;width:100%;max-width:100%;object-fit:cover}
    .container{width:min(calc(100% - 48px),var(--container));margin:0 auto}
    .site-header{
      position:sticky;top:0;z-index:20;
      background:rgba(246,248,246,.94);
      border-bottom:1px solid rgba(220,229,225,.85);
      backdrop-filter:blur(16px);
    }
    .nav-wrap{height:78px;display:flex;align-items:center;justify-content:space-between;gap:28px}
    .brand{display:flex;align-items:center;gap:12px;min-width:245px}
    .brand-mark{
      width:38px;height:38px;border-radius:11px;background:var(--teal);
      color:#fff;display:grid;place-items:center;font-size:15px;font-weight:800;
      box-shadow:0 6px 14px rgba(17,107,104,.2)
    }
    .brand-name{font-weight:800;font-size:16px;line-height:1.25}
    .brand-name small{display:block;color:var(--muted);font-size:11px;font-weight:500;margin-top:3px}
    .main-nav{display:flex;align-items:center;gap:6px}
    .main-nav a{
      padding:9px 13px;border-radius:10px;color:var(--muted);font-size:14px;
      transition:all .2s ease
    }
    .main-nav a:hover,.main-nav a.active{background:var(--mint);color:var(--teal-dark)}
    .nav-action{
      background:var(--teal)!important;color:#fff!important;padding:10px 17px!important;
      font-weight:700!important
    }
    .nav-action:hover{background:var(--teal-dark)!important;transform:translateY(-1px)}
    .menu-toggle{display:none;border:1px solid var(--line);background:#fff;border-radius:10px;width:42px;height:40px;color:var(--teal)}
    .hero{
      min-height:640px;display:flex;align-items:center;position:relative;overflow:hidden;
      background:#dfece7;
    }
    .hero:before{
      content:"";position:absolute;inset:0;background:
      linear-gradient(90deg,rgba(15,64,62,.88) 0%,rgba(15,64,62,.72) 45%,rgba(15,64,62,.2) 100%),
      url("https://images.unsplash.com/photo-1516302752625-fcc3c50ae61f?auto=format&fit=crop&w=1800&q=88") center/cover;
    }
    .hero-content{position:relative;z-index:1;color:#fff;width:100%;padding:88px 0 96px}
    .hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(350px,.72fr);align-items:center;gap:70px}
    .eyebrow{display:inline-flex;align-items:center;gap:8px;color:#bde4d6;font-weight:700;font-size:13px;margin-bottom:20px}
    .eyebrow:before{content:"";width:24px;height:2px;background:var(--yellow)}
    h1{font-size:clamp(38px,5vw,68px);line-height:1.16;letter-spacing:0;font-weight:850;max-width:720px}
    h1 em{font-style:normal;color:var(--yellow)}
    .hero-subtitle{font-size:21px;line-height:1.5;color:#e8f5ef;margin:22px 0 14px;font-weight:650}
    .hero-copy{color:#d8e9e2;max-width:650px;font-size:16px}
    .hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
    .btn{
      display:inline-flex;align-items:center;justify-content:center;gap:8px;
      min-height:48px;padding:11px 20px;border-radius:11px;border:1px solid transparent;
      font-weight:750;transition:all .2s ease
    }
    .btn-primary{background:var(--yellow);color:#26362f}
    .btn-primary:hover{background:#ffd77f;transform:translateY(-2px);box-shadow:0 9px 20px rgba(0,0,0,.15)}
    .btn-light{border-color:rgba(255,255,255,.45);color:#fff;background:rgba(255,255,255,.08)}
    .btn-light:hover{background:#fff;color:var(--teal-dark)}
    .assessment{
      background:rgba(255,255,255,.96);color:var(--ink);border-radius:20px;padding:26px;
      box-shadow:0 22px 55px rgba(4,35,34,.22)
    }
    .assessment-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}
    .assessment-top strong{font-size:18px}
    .step{font-size:12px;color:var(--teal);background:var(--mint);padding:5px 9px;border-radius:20px;font-weight:700}
    .assessment h2{font-size:22px;line-height:1.4;margin-bottom:16px}
    .choice{display:block;width:100%;text-align:left;padding:12px 14px;background:#f7faf8;border:1px solid var(--line);border-radius:10px;margin-top:9px;color:var(--ink);transition:.2s}
    .choice:hover,.choice:focus{border-color:var(--teal);background:var(--mint);outline:none}
    .assessment-note{font-size:12px;color:var(--muted);margin-top:16px}
    .section{padding:92px 0}
    .section.alt{background:#edf4f0}
    .section.dark{background:var(--teal-dark);color:#fff}
    .section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:34px}
    .section-kicker{color:var(--coral);font-size:13px;font-weight:800;letter-spacing:1px;margin-bottom:8px}
    .dark .section-kicker{color:var(--yellow)}
    h2{font-size:clamp(28px,3vw,42px);line-height:1.3;letter-spacing:0}
    .section-intro{max-width:600px;color:var(--muted);font-size:15px}
    .dark .section-intro{color:#c8ded7}
    .metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden}
    .metric{background:#fff;padding:28px 24px;min-height:150px}
    .metric strong{font-size:37px;color:var(--teal);display:block;line-height:1.2}
    .metric span{display:block;color:var(--muted);font-size:14px;margin-top:8px}
    .matrix{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
    .info-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:25px;box-shadow:var(--soft-shadow);transition:transform .2s,box-shadow .2s}
    .info-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
    .card-number{display:flex;align-items:center;justify-content:space-between;color:var(--teal);font-weight:800;margin-bottom:20px}
    .card-number span{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--mint);font-size:13px}
    .info-card h3{font-size:19px;margin-bottom:10px;line-height:1.45}
    .info-card p{color:var(--muted);font-size:14px}
    .path{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative}
    .path:before{content:"";position:absolute;top:22px;left:8%;right:8%;height:1px;background:#b4d4c8}
    .path-item{position:relative;text-align:center;padding:0 16px}
    .path-dot{width:45px;height:45px;border-radius:50%;margin:0 auto 18px;background:var(--teal);color:#fff;display:grid;place-items:center;font-weight:800;position:relative;z-index:1;border:5px solid #edf4f0}
    .path-item h3{font-size:17px;margin-bottom:8px}
    .path-item p{color:var(--muted);font-size:14px}
    .compare{display:grid;grid-template-columns:1fr 1fr;gap:22px}
    .compare-panel{border-radius:16px;padding:28px;border:1px solid var(--line);background:#fff}
    .compare-panel.emphasis{background:#fff6ed;border-color:#f0d2b3}
    .compare-panel h3{font-size:20px;margin-bottom:15px}
    .compare-panel ul{list-style:none}
    .compare-panel li{padding:10px 0 10px 25px;border-bottom:1px solid #edf0ee;position:relative;color:var(--muted);font-size:14px}
    .compare-panel li:last-child{border-bottom:0}
    .compare-panel li:before{content:"";position:absolute;left:2px;top:20px;width:8px;height:8px;border-radius:50%;background:var(--teal)}
    .story-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:24px}
    .story-feature{min-height:410px;border-radius:18px;overflow:hidden;position:relative;background:url("https://images.unsplash.com/photo-1499209974431-9dddcece7f88?auto=format&fit=crop&w=1200&q=85") center/cover}
    .story-feature:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(8,40,39,.92))}
    .story-caption{position:absolute;z-index:1;left:28px;right:28px;bottom:25px;color:#fff}
    .story-caption h3{font-size:25px;line-height:1.4;margin-bottom:8px}
    .story-caption p{font-size:14px;color:#dbeae4}
    .story-list{display:grid;gap:14px}
    .story-item{display:grid;grid-template-columns:100px 1fr;gap:16px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px}
    .story-item img{height:88px;border-radius:9px}
    .story-item h3{font-size:16px;line-height:1.4;margin-bottom:4px}
    .story-item p{font-size:13px;color:var(--muted)}
    .timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
    .timeline-item{padding:24px;border-left:3px solid var(--yellow);background:rgba(255,255,255,.08);border-radius:0 14px 14px 0}
    .timeline-item strong{color:var(--yellow);font-size:13px}
    .timeline-item h3{font-size:19px;margin:8px 0}
    .timeline-item p{color:#c8ded7;font-size:14px}
    .quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
    .quote{background:#fff;border-radius:16px;padding:25px;border:1px solid var(--line)}
    .quote p{font-size:16px;line-height:1.7}
    .quote footer{margin-top:18px;color:var(--teal);font-size:13px;font-weight:700}
    .resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
    .resource{background:#fff;border:1px solid var(--line);border-radius:15px;padding:23px}
    .resource .tag{display:inline-block;color:var(--coral);background:#fff0eb;padding:4px 9px;border-radius:5px;font-size:12px;font-weight:800;margin-bottom:13px}
    .resource h3{font-size:18px;margin-bottom:8px}
    .resource p{font-size:14px;color:var(--muted)}
    .faq-list{max-width:900px;margin:0 auto;border-top:1px solid var(--line)}
    .faq{border-bottom:1px solid var(--line)}
    .faq summary{list-style:none;cursor:pointer;padding:21px 4px;font-weight:750;font-size:17px;display:flex;justify-content:space-between;gap:20px}
    .faq summary::-webkit-details-marker{display:none}
    .faq summary:after{content:"＋";color:var(--teal);font-size:22px}
    .faq[open] summary:after{content:"－"}
    .faq p{padding:0 40px 22px 4px;color:var(--muted);font-size:15px}
    .closing{background:var(--coral);color:#fff;padding:66px 0}
    .closing-inner{display:flex;justify-content:space-between;align-items:center;gap:35px}
    .closing h2{max-width:690px}
    .closing p{color:#ffe5dc;margin-top:10px;max-width:650px}
    .site-footer{background:#102f31;color:#c7d9d2;padding:60px 0 24px}
    .footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:40px;padding-bottom:45px}
    .footer-brand{color:#fff;font-weight:800;font-size:17px}
    .footer-brand p{font-size:13px;color:#9ebbb1;font-weight:400;margin-top:12px;max-width:280px}
    .footer-col h3{color:#fff;font-size:14px;margin-bottom:13px}
    .footer-col a{display:block;color:#9ebbb1;font-size:13px;margin:7px 0;transition:.2s}
    .footer-col a:hover{color:var(--yellow)}
    .copyright{border-top:1px solid rgba(199,217,210,.18);padding-top:20px;color:#8eaaa1;font-size:12px;display:flex;justify-content:space-between;gap:15px}
    :focus-visible{outline:3px solid rgba(245,201,104,.8);outline-offset:3px}
    @media(max-width:1024px){
      .main-nav a{padding:8px 8px;font-size:13px}
      .hero-grid{gap:38px}
      .matrix{grid-template-columns:repeat(2,1fr)}
      .container{width:min(calc(100% - 36px),var(--container))}
    }
    @media(max-width:768px){
      .nav-wrap{height:68px}
      .brand{min-width:0}
      .brand-name{font-size:14px}
      .menu-toggle{display:block}
      .main-nav{
        display:none;position:absolute;top:68px;left:18px;right:18px;background:#fff;
        padding:10px;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);
        flex-direction:column;align-items:stretch
      }
      .main-nav.open{display:flex}
      .main-nav a{padding:11px 13px}
      .hero{min-height:auto}
      .hero:before{background:linear-gradient(90deg,rgba(15,64,62,.93),rgba(15,64,62,.78)),url("https://images.unsplash.com/photo-1516302752625-fcc3c50ae61f?auto=format&fit=crop&w=1200&q=80") center/cover}
      .hero-content{padding:65px 0 70px}
      .hero-grid,.story-grid{grid-template-columns:1fr}
      .assessment{max-width:520px}
      .section{padding:70px 0}
      .section-head{display:block}
      .section-intro{margin-top:12px}
      .metric-grid{grid-template-columns:repeat(2,1fr)}
      .path{grid-template-columns:1fr 1fr;gap:28px 0}
      .path:before{display:none}
      .timeline,.quote-grid,.resource-grid{grid-template-columns:1fr}
      .closing-inner{display:block}
      .closing .btn{margin-top:24px}
      .footer-grid{grid-template-columns:1fr 1fr;gap:30px}
      .footer-brand{grid-column:1/-1}
    }
    @media(max-width:520px){
      .container{width:min(calc(100% - 28px),var(--container))}
      h1{font-size:36px}
      .hero-subtitle{font-size:18px}
      .hero-actions{display:grid}
      .btn{width:100%}
      .metric-grid,.matrix,.compare{grid-template-columns:1fr}
      .metric{min-height:auto}
      .story-feature{min-height:350px}
      .story-item{grid-template-columns:84px 1fr}
      .story-item img{height:76px}
      .path{grid-template-columns:1fr}
      .footer-grid{grid-template-columns:1fr}
      .copyright{display:block}
      .copyright span{display:block;margin-top:8px}
    }
