/* roulang page: index */
:root{
      --bg:#f4f7fb;
      --bg-alt:#eef4fb;
      --surface:#ffffff;
      --surface-soft:#f9fbfe;
      --text:#142033;
      --muted:#66748a;
      --line:#d9e2ec;
      --line-strong:#c7d3df;
      --primary:#ff4d2f;
      --primary-deep:#e63d1f;
      --secondary:#12b3a8;
      --accent:#f3b83a;
      --accent-soft:#fff4dd;
      --shadow:0 14px 34px rgba(20,32,51,.08);
      --shadow-soft:0 8px 20px rgba(20,32,51,.06);
      --radius:8px;
      --space:24px;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif;
      line-height:1.7;
      letter-spacing:0;
      color:var(--text);
      background:
        linear-gradient(180deg,#f8fbff 0%,#f4f7fb 28%,#eef4fb 100%);
      padding-bottom:120px;
    }

    a{color:inherit;text-decoration:none}
    a:hover{color:inherit}
    img{max-width:100%;display:block}
    button,input,select,textarea{font:inherit}
    ::selection{background:rgba(255,77,47,.18)}

    .container-xl{
      width:min(1200px,calc(100% - 32px));
    }

    .site-header{
      position:sticky;
      top:0;
      z-index:1030;
      background:rgba(244,247,251,.9);
      backdrop-filter:blur(14px);
      border-bottom:1px solid rgba(217,226,236,.9);
    }

    .header-inner{
      display:grid;
      grid-template-columns:auto minmax(320px,1fr) auto;
      gap:16px;
      align-items:center;
      padding:14px 0;
    }

    .brand{
      display:flex;
      align-items:center;
      gap:12px;
      min-width:0;
      font-weight:800;
      color:var(--text);
      letter-spacing:0;
    }
    .brand:hover{color:var(--text)}
    .brand-mark{
      width:40px;
      height:40px;
      border-radius:8px;
      display:grid;
      place-items:center;
      color:#fff;
      background:linear-gradient(135deg,var(--primary) 0%,#ff7d58 100%);
      box-shadow:0 10px 20px rgba(255,77,47,.22);
      flex:0 0 auto;
    }
    .brand span:last-child{
      font-size:1.05rem;
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
    }

    .site-search{
      display:flex;
      align-items:center;
      gap:10px;
      background:var(--surface);
      border:1px solid var(--line);
      border-radius:8px;
      padding:10px 12px;
      box-shadow:var(--shadow-soft);
    }
    .site-search i{
      color:var(--muted);
      font-size:1rem;
      flex:0 0 auto;
    }
    .site-search input{
      border:none;
      outline:none;
      background:transparent;
      color:var(--text);
      width:100%;
      min-width:0;
    }
    .site-search input::placeholder{color:#8b97a8}

    .site-nav{
      display:flex;
      justify-content:flex-end;
      gap:8px;
      flex-wrap:wrap;
    }
    .nav-link-custom{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:9px 14px;
      border-radius:8px;
      border:1px solid transparent;
      color:var(--muted);
      background:transparent;
      transition:all .18s ease;
      white-space:nowrap;
    }
    .nav-link-custom:hover,
    .nav-link-custom.active{
      color:var(--text);
      background:var(--surface);
      border-color:var(--line);
      box-shadow:var(--shadow-soft);
      transform:translateY(-1px);
    }

    .btn{
      border-radius:8px;
      font-weight:700;
      letter-spacing:0;
      transition:all .18s ease;
    }
    .btn:focus,
    .btn:active,
    .form-control:focus,
    .form-select:focus,
    textarea:focus{
      box-shadow:none !important;
    }
    .btn-primary-custom{
      background:var(--primary);
      border-color:var(--primary);
      color:#fff;
    }
    .btn-primary-custom:hover,
    .btn-primary-custom:focus{
      background:var(--primary-deep);
      border-color:var(--primary-deep);
      color:#fff;
      transform:translateY(-1px);
    }
    .btn-outline-custom{
      background:#fff;
      border:1px solid var(--line);
      color:var(--text);
    }
    .btn-outline-custom:hover,
    .btn-outline-custom:focus{
      background:var(--surface-soft);
      border-color:var(--line-strong);
      color:var(--text);
      transform:translateY(-1px);
    }
    .btn-secondary-custom{
      background:var(--secondary);
      border-color:var(--secondary);
      color:#fff;
    }
    .btn-secondary-custom:hover{
      background:#0f9b91;
      border-color:#0f9b91;
      color:#fff;
      transform:translateY(-1px);
    }
    .btn-sm{
      border-radius:8px;
      padding:.45rem .8rem;
    }

    main{display:block}
    section{
      padding:84px 0;
      position:relative;
    }
    section.alt{
      background:rgba(238,244,251,.72);
      border-top:1px solid rgba(217,226,236,.62);
      border-bottom:1px solid rgba(217,226,236,.62);
    }

    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:6px 10px;
      border-radius:999px;
      background:var(--accent-soft);
      border:1px solid #f7dca1;
      color:#9a6710;
      font-size:.92rem;
      font-weight:700;
      margin-bottom:14px;
    }
    .eyebrow i{font-size:.9rem}

    .section-head{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:16px;
      margin-bottom:22px;
    }
    .section-title-wrap{max-width:760px}
    .section-title{
      margin:0;
      font-size:2rem;
      line-height:1.2;
      letter-spacing:0;
      font-weight:800;
      color:var(--text);
    }
    .section-desc{
      margin:10px 0 0;
      color:var(--muted);
      max-width:72ch;
    }
    .section-actions{
      flex:0 0 auto;
      display:flex;
      gap:10px;
      flex-wrap:wrap;
    }

    .surface{
      background:var(--surface);
      border:1px solid var(--line);
      border-radius:8px;
      box-shadow:var(--shadow-soft);
    }

    .hero{
      padding-top:30px;
      padding-bottom:46px;
    }
    .hero-grid{
      display:grid;
      grid-template-columns:minmax(0,1.28fr) minmax(320px,.72fr);
      gap:18px;
      align-items:stretch;
    }
    .hero-main{
      padding:30px;
      background:
        linear-gradient(180deg,#ffffff 0%,#fffaf7 100%);
      border:1px solid rgba(217,226,236,.95);
      border-radius:8px;
      box-shadow:var(--shadow);
    }
    .hero-badges{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin-bottom:18px;
    }
    .tag{
      display:inline-flex;
      align-items:center;
      gap:7px;
      padding:7px 11px;
      border-radius:999px;
      border:1px solid var(--line);
      background:#fff;
      color:var(--muted);
      font-size:.92rem;
      font-weight:700;
    }
    .tag.primary{
      background:#fff4ef;
      border-color:#ffd3c5;
      color:#c64223;
    }
    .tag.secondary{
      background:#edf9f7;
      border-color:#cfeeea;
      color:#0e8b82;
    }
    .tag.accent{
      background:#fff7e2;
      border-color:#f4d88b;
      color:#946014;
    }

    .hero h1{
      margin:0;
      font-size:3rem;
      line-height:1.12;
      font-weight:900;
      letter-spacing:0;
      color:var(--text);
    }
    .hero-copy{
      margin:16px 0 0;
      max-width:62ch;
      color:var(--muted);
      font-size:1.05rem;
    }
    .hero-actions{
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      margin-top:22px;
    }
    .hero-shelf{
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      margin-top:20px;
    }
    .hero-metric{
      flex:1 1 160px;
      min-width:160px;
      padding:14px 14px 13px;
      border-radius:8px;
      border:1px solid var(--line);
      background:var(--surface-soft);
    }
    .hero-metric strong{
      display:block;
      font-size:1.15rem;
      line-height:1.2;
      margin-bottom:4px;
      color:var(--text);
    }
    .hero-metric span{
      color:var(--muted);
      font-size:.95rem;
    }
    .hero-jump{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top:18px;
      padding-top:18px;
      border-top:1px dashed var(--line);
    }
    .jump-link{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:8px 11px;
      border-radius:8px;
      border:1px solid var(--line);
      background:#fff;
      color:var(--text);
      transition:all .18s ease;
      font-weight:700;
      font-size:.94rem;
    }
    .jump-link:hover{
      background:var(--surface-soft);
      border-color:var(--line-strong);
      transform:translateY(-1px);
    }

    .hero-side{
      display:grid;
      gap:16px;
    }
    .mini-card{
      padding:18px;
      background:var(--surface);
      border:1px solid var(--line);
      border-radius:8px;
      box-shadow:var(--shadow-soft);
    }
    .mini-card h3{
      margin:0 0 10px;
      font-size:1.08rem;
      font-weight:800;
      line-height:1.3;
    }
    .mini-card p{
      margin:0;
      color:var(--muted);
      font-size:.98rem;
    }
    .mini-list{
      display:grid;
      gap:12px;
      margin-top:14px;
    }
    .mini-row{
      display:flex;
      gap:12px;
      align-items:flex-start;
    }
    .mini-icon{
      width:36px;
      height:36px;
      border-radius:8px;
      display:grid;
      place-items:center;
      flex:0 0 auto;
      background:#eef5ff;
      color:#1f6bd4;
    }
    .mini-icon.green{background:#edf9f7;color:#0e8b82}
    .mini-icon.orange{background:#fff3ec;color:#d35e25}
    .mini-row strong{
      display:block;
      margin:0 0 4px;
      font-size:.98rem;
      color:var(--text);
    }
    .mini-row span{
      display:block;
      color:var(--muted);
      font-size:.93rem;
      line-height:1.55;
    }
    .mini-pills{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin-top:14px;
    }
    .mini-pill{
      display:inline-flex;
      align-items:center;
      gap:7px;
      padding:8px 10px;
      border-radius:8px;
      border:1px solid var(--line);
      background:var(--surface-soft);
      color:var(--text);
      font-size:.92rem;
      font-weight:700;
    }

    .feature-grid{
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:16px;
    }
    .feature-card{
      height:100%;
      padding:22px 20px;
      background:var(--surface);
      border:1px solid var(--line);
      border-radius:8px;
      box-shadow:var(--shadow-soft);
      transition:all .18s ease;
    }
    .feature-card:hover{
      transform:translateY(-2px);
      border-color:var(--line-strong);
      box-shadow:var(--shadow);
    }
    .feature-icon{
      width:42px;
      height:42px;
      border-radius:8px;
      display:grid;
      place-items:center;
      margin-bottom:14px;
      color:#1c5fd0;
      background:#eef5ff;
      font-size:1.15rem;
    }
    .feature-icon.orange{background:#fff3ec;color:#d45d24}
    .feature-icon.green{background:#edf9f7;color:#0e8b82}
    .feature-icon.amber{background:#fff7e2;color:#9d670d}
    .feature-card h3{
      margin:0 0 10px;
      font-size:1.08rem;
      font-weight:800;
      line-height:1.35;
    }
    .feature-card p{
      margin:0;
      color:var(--muted);
      font-size:.96rem;
    }

    .timeline-grid{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:16px;
    }
    .time-card{
      position:relative;
      overflow:hidden;
      height:100%;
      padding:22px 20px;
      background:var(--surface);
      border:1px solid var(--line);
      border-radius:8px;
      box-shadow:var(--shadow-soft);
    }
    .time-card::after{
      content:"";
      position:absolute;
      inset:auto 0 0 0;
      height:4px;
      background:linear-gradient(90deg,var(--primary),#ff7e58,var(--secondary));
    }
    .time-label{
      display:inline-flex;
      align-items:center;
      gap:7px;
      padding:6px 10px;
      border-radius:999px;
      border:1px solid var(--line);
      background:#fff;
      color:var(--muted);
      font-size:.9rem;
      font-weight:700;
      margin-bottom:12px;
    }
    .time-card h3{
      margin:0 0 10px;
      font-size:1.08rem;
      font-weight:800;
    }
    .time-card p{
      margin:0;
      color:var(--muted);
      font-size:.96rem;
      min-height:72px;
    }
    .time-card .btn{
      margin-top:14px;
    }

    .proof-grid{
      display:grid;
      grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);
      gap:16px;
      align-items:stretch;
    }
    .proof-panel{
      padding:24px;
      background:var(--surface);
      border:1px solid var(--line);
      border-radius:8px;
      box-shadow:var(--shadow-soft);
      height:100%;
    }
    .proof-panel h3{
      margin:0 0 10px;
      font-size:1.15rem;
      font-weight:800;
    }
    .proof-panel p{
      margin:0;
      color:var(--muted);
    }
    .proof-stats{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:12px;
      margin-top:18px;
    }
    .proof-stat{
      padding:16px;
      border-radius:8px;
      border:1px solid var(--line);
      background:var(--surface-soft);
    }
    .proof-stat strong{
      display:block;
      margin-bottom:4px;
      font-size:1.04rem;
      color:var(--text);
    }
    .proof-stat span{
      color:var(--muted);
      font-size:.94rem;
      line-height:1.6;
    }
    .quote-stack{
      display:grid;
      gap:14px;
    }
    .quote-card{
      padding:20px;
      background:var(--surface);
      border:1px solid var(--line);
      border-radius:8px;
      box-shadow:var(--shadow-soft);
    }
    .quote-card .quote-mark{
      color:var(--primary);
      font-size:1.25rem;
      margin-bottom:8px;
    }
    .quote-card p{
      margin:0;
      color:var(--text);
      font-size:1rem;
      line-height:1.7;
    }
    .quote-card .quote-meta{
      margin-top:10px;
      color:var(--muted);
      font-size:.92rem;
    }

    .price-grid{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:16px;
    }
    .price-card{
      height:100%;
      padding:24px 20px 20px;
      background:var(--surface);
      border:1px solid var(--line);
      border-radius:8px;
      box-shadow:var(--shadow-soft);
      display:flex;
      flex-direction:column;
    }
    .price-card.recommended{
      border-color:rgba(255,77,47,.45);
      box-shadow:0 18px 34px rgba(255,77,47,.11);
      transform:translateY(-4px);
      background:
        linear-gradient(180deg,#fff9f5 0%,#ffffff 100%);
    }
    .price-tag{
      display:inline-flex;
      align-items:center;
      gap:7px;
      align-self:flex-start;
      padding:6px 10px;
      border-radius:999px;
      border:1px solid var(--line);
      background:#fff;
      color:var(--muted);
      font-size:.9rem;
      font-weight:700;
      margin-bottom:12px;
    }
    .price-card.recommended .price-tag{
      border-color:#ffcfbf;
      background:#fff2ec;
      color:#c64524;
    }
    .price-card h3{
      margin:0 0 8px;
      font-size:1.16rem;
      font-weight:800;
    }
    .price{
      display:flex;
      align-items:flex-end;
      gap:6px;
      margin-bottom:10px;
    }
    .price strong{
      font-size:2rem;
      line-height:1;
      font-weight:900;
      color:var(--text);
    }
    .price span{
      color:var(--muted);
      margin-bottom:3px;
      font-size:.94rem;
    }
    .price-desc{
      color:var(--muted);
      margin:0 0 16px;
      min-height:52px;
    }
    .price-list{
      list-style:none;
      padding:0;
      margin:0;
      display:grid;
      gap:10px;
    }
    .price-list li{
      display:flex;
      gap:10px;
      color:var(--text);
      font-size:.95rem;
      line-height:1.5;
    }
    .price-list i{
      color:var(--secondary);
      margin-top:2px;
      flex:0 0 auto;
    }
    .price-card .btn{
      margin-top:auto;
      width:100%;
    }

    .topic-grid{
      display:grid;
      grid-template-columns:minmax(0,1fr) minmax(320px,.84fr);
      gap:16px;
    }
    .topic-panel{
      padding:22px;
      background:var(--surface);
      border:1px solid var(--line);
      border-radius:8px;
      box-shadow:var(--shadow-soft);
    }
    .topic-cloud{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top:16px;
    }
    .topic-chip{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:9px 12px;
      border-radius:8px;
      border:1px solid var(--line);
      background:var(--surface-soft);
      color:var(--text);
      font-weight:700;
      transition:all .18s ease;
    }
    .topic-chip:hover{
      transform:translateY(-1px);
      border-color:var(--line-strong);
      background:#fff;
    }
    .topic-panel h3{
      margin:0 0 10px;
      font-size:1.12rem;
      font-weight:800;
    }
    .topic-panel p{
      margin:0;
      color:var(--muted);
    }
    .topic-list{
      list-style:none;
      padding:0;
      margin:16px 0 0;
      display:grid;
      gap:10px;
    }
    .topic-list li{
      display:flex;
      gap:10px;
      align-items:flex-start;
      color:var(--text);
      font-size:.96rem;
      line-height:1.6;
    }
    .topic-list i{
      color:var(--primary);
      margin-top:3px;
      flex:0 0 auto;
    }

    .news-grid{
      display:grid;
      grid-template-columns:minmax(0,1.14fr) minmax(300px,.86fr);
      gap:16px;
    }
    .news-list{
      display:grid;
      gap:12px;
    }
    .news-item{
      display:flex;
      justify-content:space-between;
      gap:16px;
      padding:18px 18px;
      background:var(--surface);
      border:1px solid var(--line);
      border-radius:8px;
      box-shadow:var(--shadow-soft);
      transition:all .18s ease;
    }
    .news-item:hover{
      transform:translateY(-1px);
      border-color:var(--line-strong);
    }
    .news-item h3{
      margin:0 0 6px;
      font-size:1.02rem;
      font-weight:800;
      line-height:1.45;
    }
    .news-item p{
      margin:0;
      color:var(--muted);
      font-size:.94rem;
    }
    .news-meta{
      flex:0 0 auto;
      display:inline-flex;
      align-items:center;
      align-self:flex-start;
      padding:6px 10px;
      border-radius:999px;
      background:#fff4ef;
      border:1px solid #ffd2c4;
      color:#c64524;
      font-size:.88rem;
      font-weight:700;
      white-space:nowrap;
    }
    .news-side{
      padding:22px;
      background:var(--surface);
      border:1px solid var(--line);
      border-radius:8px;
      box-shadow:var(--shadow-soft);
      height:100%;
    }
    .news-side h3{
      margin:0 0 10px;
      font-size:1.12rem;
      font-weight:800;
    }
    .news-side p{
      margin:0;
      color:var(--muted);
    }
    .news-side .mini-list{
      margin-top:16px;
    }

    .accordion{
      --bs-accordion-border-color:var(--line);
      --bs-accordion-border-radius:8px;
      --bs-accordion-inner-border-radius:8px;
      --bs-accordion-btn-bg:var(--surface);
      --bs-accordion-bg:var(--surface);
      --bs-accordion-btn-color:var(--text);
      --bs-accordion-btn-focus-border-color:var(--line-strong);
      --bs-accordion-btn-focus-box-shadow:none;
      --bs-accordion-active-bg:var(--surface);
      --bs-accordion-active-color:var(--text);
      --bs-accordion-btn-padding-x:18px;
      --bs-accordion-btn-padding-y:18px;
      --bs-accordion-body-padding-x:18px;
      --bs-accordion-body-padding-y:0 18px 18px;
    }
    .accordion-item{
      background:var(--surface);
      box-shadow:var(--shadow-soft);
      border:1px solid var(--line);
      border-radius:8px;
      overflow:hidden;
      margin-bottom:12px;
    }
    .accordion-button{
      font-weight:800;
      line-height:1.4;
    }
    .accordion-button:not(.collapsed){
      box-shadow:none;
    }
    .accordion-body{
      color:var(--muted);
      padding-top:0;
    }

    .contact-grid{
      display:grid;
      grid-template-columns:minmax(0,.85fr) minmax(320px,1.15fr);
      gap:16px;
      align-items:stretch;
    }
    .contact-panel,
    .form-panel{
      padding:24px;
      background:var(--surface);
      border:1px solid var(--line);
      border-radius:8px;
      box-shadow:var(--shadow-soft);
      height:100%;
    }
    .contact-panel h3,
    .form-panel h3{
      margin:0 0 10px;
      font-size:1.15rem;
      font-weight:800;
    }
    .contact-panel p,
    .form-panel .form-note{
      color:var(--muted);
      margin-bottom:0;
    }
    .contact-points{
      margin:18px 0 0;
      padding:0;
      list-style:none;
      display:grid;
      gap:12px;
    }
    .contact-points li{
      display:flex;
      gap:10px;
      align-items:flex-start;
      color:var(--text);
      font-size:.96rem;
      line-height:1.6;
    }
    .contact-points i{
      color:var(--secondary);
      margin-top:3px;
    }
    .form-panel .form-label{
      font-weight:700;
      color:var(--text);
      margin-bottom:8px;
    }
    .form-control,
    .form-select{
      min-height:48px;
      border-radius:8px;
      border-color:var(--line);
      background:#fff;
    }
    textarea.form-control{
      min-height:132px;
      resize:vertical;
    }
    .form-control:focus,
    .form-select:focus{
      border-color:#ffb6a6;
    }
    .form-help{
      color:var(--muted);
      font-size:.92rem;
      margin-top:10px;
    }

    .site-footer{
      padding:34px 0 38px;
      background:#f9fbfe;
      border-top:1px solid var(--line);
    }
    .footer-grid{
      display:grid;
      grid-template-columns:minmax(0,1fr) auto auto;
      gap:20px;
      align-items:start;
    }
    .footer-brand{
      display:flex;
      flex-direction:column;
      gap:10px;
    }
    .footer-brand strong{
      display:block;
      font-size:1.08rem;
      font-weight:900;
      color:var(--text);
    }
    .footer-brand p{
      margin:0;
      color:var(--muted);
      max-width:44ch;
    }
    .footer-links,
    .footer-meta{
      display:grid;
      gap:10px;
      align-content:start;
    }
    .footer-links a,
    .footer-meta a{
      color:var(--muted);
      transition:color .18s ease;
    }
    .footer-links a:hover,
    .footer-meta a:hover{
      color:var(--text);
    }
    .footer-note{
      margin-top:18px;
      padding-top:18px;
      border-top:1px solid var(--line);
      color:var(--muted);
      font-size:.94rem;
      display:flex;
      justify-content:space-between;
      gap:12px;
      flex-wrap:wrap;
    }

    .floating-cta{
      position:fixed;
      right:18px;
      bottom:18px;
      z-index:1040;
      width:min(320px,calc(100vw - 36px));
      padding:14px;
      background:rgba(255,255,255,.96);
      border:1px solid rgba(217,226,236,.98);
      border-radius:8px;
      box-shadow:var(--shadow);
      display:flex;
      flex-direction:column;
      gap:10px;
    }
    .floating-cta .cta-title{
      display:flex;
      align-items:center;
      gap:8px;
      font-size:.93rem;
      font-weight:800;
      color:var(--text);
    }
    .floating-cta .cta-actions{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:10px;
    }

    .mobile-cta{
      position:fixed;
      left:12px;
      right:12px;
      bottom:12px;
      z-index:1040;
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:10px;
      padding:10px;
      background:rgba(255,255,255,.97);
      border:1px solid rgba(217,226,236,.98);
      border-radius:8px;
      box-shadow:var(--shadow);
    }
    .mobile-cta .btn{
      width:100%;
    }

    .section-divider{
      height:1px;
      background:linear-gradient(90deg,transparent,rgba(199,211,223,.9),transparent);
      margin:0;
      border:none;
    }

    @media (max-width: 1199.98px){
      .feature-grid,
      .timeline-grid,
      .price-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
      }
      .hero-grid,
      .proof-grid,
      .topic-grid,
      .news-grid,
      .contact-grid{
        grid-template-columns:1fr;
      }
      .footer-grid{
        grid-template-columns:1fr 1fr;
      }
    }

    @media (max-width: 991.98px){
      body{padding-bottom:106px}
      .header-inner{
        grid-template-columns:1fr;
      }
      .site-nav{
        justify-content:flex-start;
      }
      .hero h1{font-size:2.5rem}
      .section-title{font-size:1.75rem}
      section{padding:72px 0}
    }

    @media (max-width: 767.98px){
      body{padding-bottom:100px}
      .container-xl{width:min(100% - 24px,1200px)}
      .hero-main,
      .mini-card,
      .feature-card,
      .time-card,
      .proof-panel,
      .quote-card,
      .price-card,
      .topic-panel,
      .news-side,
      .contact-panel,
      .form-panel{
        padding:18px;
      }
      .hero h1{font-size:2rem}
      .hero-copy{font-size:1rem}
      .section-head{
        flex-direction:column;
        align-items:flex-start;
      }
      .section-title{font-size:1.5rem}
      .feature-grid,
      .timeline-grid,
      .price-grid{
        grid-template-columns:1fr;
      }
      .proof-stats{
        grid-template-columns:1fr;
      }
      .news-item{
        flex-direction:column;
      }
      .news-meta{
        align-self:flex-start;
      }
      .footer-grid{
        grid-template-columns:1fr;
      }
      .floating-cta{display:none}
    }

    @media (max-width: 575.98px){
      .hero-main{padding:18px}
      .hero h1{font-size:1.8rem}
      .hero-actions .btn,
      .section-actions .btn,
      .mobile-cta .btn{
        width:100%;
      }
      .hero-actions,
      .section-actions{
        flex-direction:column;
      }
      .hero-shelf{
        gap:10px;
      }
      .hero-metric{
        min-width:100%;
      }
      .mobile-cta{
        grid-template-columns:1fr;
      }
    }

/* roulang page: category1 */
:root{
      --bg:#f4f7fb;
      --bg-soft:#eef4f8;
      --surface:#ffffff;
      --surface-2:#f9fbfd;
      --text:#102033;
      --muted:#5f6b7a;
      --line:#d8e1ea;
      --line-strong:#c7d1dd;
      --brand:#0f766e;
      --brand-dark:#0b5f59;
      --accent:#f97316;
      --accent-dark:#ea580c;
      --warn:#f59e0b;
      --success:#16a34a;
      --radius:8px;
      --shadow-sm:0 1px 2px rgba(16,32,51,.05), 0 10px 24px rgba(16,32,51,.04);
      --shadow-md:0 8px 24px rgba(16,32,51,.08);
      --focus:0 0 0 .2rem rgba(15,118,110,.18);
      --header-h:82px;
      --footer-bg:#0b1220;
      --footer-text:#d7deea;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      color:var(--text);
      background:
        linear-gradient(180deg, rgba(15,118,110,.05) 0, rgba(15,118,110,0) 160px),
        linear-gradient(90deg, rgba(249,115,22,.04) 0, rgba(249,115,22,0) 220px),
        var(--bg);
      font-family: "PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
      line-height:1.65;
      letter-spacing:0;
      -webkit-font-smoothing:antialiased;
      text-rendering:optimizeLegibility;
    }

    a{
      color:inherit;
      text-decoration:none;
      transition:color .18s ease, background-color .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease;
    }
    a:hover{color:var(--brand)}
    img{max-width:100%;display:block}
    button,input,select,textarea{
      font:inherit;
    }
    button:focus,input:focus,select:focus,textarea:focus,.btn:focus{
      box-shadow:var(--focus)!important;
    }
    ::selection{
      background:rgba(15,118,110,.18);
      color:var(--text);
    }

    .skip-link{
      position:absolute;
      left:12px;
      top:-48px;
      z-index:1085;
      background:var(--text);
      color:#fff;
      padding:.55rem .8rem;
      border-radius:6px;
    }
    .skip-link:focus{top:12px}

    .container-xl{
      padding-left:1rem;
      padding-right:1rem;
    }

    .site-header{
      position:sticky;
      top:0;
      z-index:1030;
      background:rgba(244,247,251,.92);
      backdrop-filter:saturate(140%) blur(14px);
      border-bottom:1px solid rgba(216,225,234,.9);
      box-shadow:0 1px 0 rgba(255,255,255,.5) inset;
    }
    .header-inner{
      min-height:var(--header-h);
      display:flex;
      align-items:center;
      gap:1rem;
      padding:.75rem 0;
      flex-wrap:wrap;
    }

    .brand{
      display:inline-flex;
      align-items:center;
      gap:.7rem;
      font-weight:800;
      font-size:1.04rem;
      color:var(--text);
      white-space:nowrap;
      flex:0 0 auto;
    }
    .brand:hover{color:var(--brand)}
    .brand-mark{
      width:2.3rem;
      height:2.3rem;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      border-radius:8px;
      background:linear-gradient(135deg, rgba(15,118,110,.12), rgba(249,115,22,.10));
      color:var(--brand);
      border:1px solid rgba(15,118,110,.15);
      box-shadow:var(--shadow-sm);
      font-size:1.1rem;
    }

    .site-search{
      display:flex;
      align-items:center;
      gap:.65rem;
      flex:1 1 520px;
      min-width:260px;
      max-width:700px;
      background:var(--surface);
      border:1px solid var(--line);
      border-radius:8px;
      padding:.45rem .55rem .45rem .8rem;
      box-shadow:var(--shadow-sm);
    }
    .site-search i{
      color:var(--muted);
      font-size:1rem;
      flex:0 0 auto;
    }
    .site-search input{
      border:none;
      outline:none;
      width:100%;
      background:transparent;
      color:var(--text);
      padding:.4rem 0;
      min-width:0;
    }
    .site-search input::placeholder{color:#7c8896}
    .site-search:focus-within{
      border-color:rgba(15,118,110,.4);
      box-shadow:0 0 0 .18rem rgba(15,118,110,.14), var(--shadow-sm);
    }

    .site-nav{
      display:flex;
      align-items:center;
      gap:.4rem;
      flex-wrap:wrap;
      margin-left:auto;
    }
    .nav-link-custom{
      display:inline-flex;
      align-items:center;
      gap:.35rem;
      padding:.5rem .8rem;
      border-radius:8px;
      color:var(--muted);
      border:1px solid transparent;
      font-weight:600;
      font-size:.95rem;
      line-height:1.15;
    }
    .nav-link-custom:hover{
      color:var(--brand);
      background:rgba(15,118,110,.06);
      border-color:rgba(15,118,110,.12);
    }
    .nav-link-custom.active{
      color:var(--brand-dark);
      background:rgba(15,118,110,.10);
      border-color:rgba(15,118,110,.18);
    }

    .btn-primary-custom,
    .btn-primary-custom:hover,
    .btn-primary-custom:focus,
    .btn-primary-custom:active{
      background:var(--brand);
      border-color:var(--brand);
      color:#fff;
      box-shadow:none;
    }
    .btn-primary-custom:hover{
      background:var(--brand-dark);
      border-color:var(--brand-dark);
      transform:translateY(-1px);
    }
    .btn-outline-custom{
      background:#fff;
      border:1px solid rgba(15,118,110,.28);
      color:var(--brand-dark);
    }
    .btn-outline-custom:hover{
      background:rgba(15,118,110,.08);
      border-color:rgba(15,118,110,.35);
      color:var(--brand-dark);
      transform:translateY(-1px);
    }
    .btn-accent-custom{
      background:var(--accent);
      border-color:var(--accent);
      color:#fff;
    }
    .btn-accent-custom:hover{
      background:var(--accent-dark);
      border-color:var(--accent-dark);
      color:#fff;
      transform:translateY(-1px);
    }

    .page-main{
      padding-bottom:1.5rem;
    }

    section{
      scroll-margin-top:calc(var(--header-h) + 16px);
    }
    .panel{
      padding:4.2rem 0;
    }
    .panel-soft{
      background:rgba(255,255,255,.46);
      border-top:1px solid rgba(216,225,234,.6);
      border-bottom:1px solid rgba(216,225,234,.6);
    }

    .hero-band{
      padding:3.3rem 0 2rem;
    }
    .kicker{
      display:inline-flex;
      align-items:center;
      gap:.45rem;
      font-size:.82rem;
      font-weight:700;
      color:var(--brand-dark);
      background:rgba(15,118,110,.10);
      border:1px solid rgba(15,118,110,.14);
      border-radius:999px;
      padding:.34rem .72rem;
      margin-bottom:1rem;
    }
    .hero-title{
      font-size:clamp(2rem, 3vw, 3.35rem);
      line-height:1.12;
      margin:0 0 1rem;
      letter-spacing:0;
      font-weight:900;
      color:var(--text);
    }
    .hero-copy{
      max-width:60ch;
      margin:0 0 1.35rem;
      color:var(--muted);
      font-size:1.02rem;
    }

    .hero-search{
      display:flex;
      flex-wrap:wrap;
      gap:.7rem;
      align-items:center;
      margin-bottom:1.1rem;
    }
    .hero-search .search-field{
      flex:1 1 420px;
      min-width:0;
      display:flex;
      align-items:center;
      gap:.7rem;
      background:#fff;
      border:1px solid var(--line);
      border-radius:8px;
      padding:.72rem .86rem;
      box-shadow:var(--shadow-sm);
    }
    .hero-search .search-field i{
      color:var(--brand);
      font-size:1rem;
      flex:0 0 auto;
    }
    .hero-search .search-field input{
      width:100%;
      border:none;
      outline:none;
      min-width:0;
      background:transparent;
      color:var(--text);
    }
    .hero-search .search-field input::placeholder{color:#7f8a97}
    .hero-search .search-field:focus-within{
      border-color:rgba(15,118,110,.45);
      box-shadow:0 0 0 .18rem rgba(15,118,110,.12), var(--shadow-sm);
    }

    .hero-tags{
      display:flex;
      flex-wrap:wrap;
      gap:.55rem;
      margin-bottom:1.35rem;
    }
    .tag-soft{
      display:inline-flex;
      align-items:center;
      gap:.35rem;
      padding:.38rem .7rem;
      border-radius:999px;
      background:#fff;
      border:1px solid var(--line);
      color:var(--muted);
      font-size:.88rem;
      box-shadow:0 1px 0 rgba(255,255,255,.7) inset;
    }
    .tag-soft strong{
      color:var(--text);
      font-weight:700;
    }
    .tag-soft.brand{
      background:rgba(15,118,110,.08);
      border-color:rgba(15,118,110,.14);
      color:var(--brand-dark);
    }
    .tag-soft.accent{
      background:rgba(249,115,22,.08);
      border-color:rgba(249,115,22,.14);
      color:#b45309;
    }

    .hero-actions{
      display:flex;
      gap:.7rem;
      flex-wrap:wrap;
      margin-bottom:1rem;
    }

    .hero-visual{
      background:
        linear-gradient(180deg, rgba(15,118,110,.08) 0, rgba(255,255,255,.95) 18%),
        #fff;
      border:1px solid var(--line);
      border-radius:8px;
      box-shadow:var(--shadow-md);
      padding:1rem;
      position:relative;
      overflow:hidden;
    }
    .hero-visual::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(90deg, transparent 0 24%, rgba(15,118,110,.04) 24% 24.4%, transparent 24.4% 100%),
        linear-gradient(180deg, transparent 0 34%, rgba(249,115,22,.04) 34% 34.4%, transparent 34.4% 100%);
      pointer-events:none;
    }
    .visual-head{
      position:relative;
      display:flex;
      align-items:center;
      justify-content:space-between;
      margin-bottom:.9rem;
      font-weight:800;
      font-size:.97rem;
    }
    .visual-head span{
      font-size:.82rem;
      color:var(--muted);
      font-weight:600;
    }
    .stat-strip{
      position:relative;
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:.65rem;
      margin-bottom:.9rem;
    }
    .mini-stat{
      background:var(--surface-2);
      border:1px solid var(--line);
      border-radius:8px;
      padding:.8rem .75rem;
      min-height:86px;
    }
    .mini-stat .num{
      display:block;
      font-size:1.25rem;
      font-weight:900;
      line-height:1.1;
      color:var(--text);
      margin-bottom:.25rem;
    }
    .mini-stat .label{
      display:block;
      color:var(--muted);
      font-size:.84rem;
      line-height:1.45;
    }

    .feed-board{
      position:relative;
      display:grid;
      gap:.65rem;
      margin-top:.35rem;
    }
    .feed-row{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:.8rem;
      background:#fff;
      border:1px solid var(--line);
      border-radius:8px;
      padding:.78rem .85rem;
    }
    .feed-row strong{
      font-size:.95rem;
      display:block;
      margin-bottom:.12rem;
    }
    .feed-row small{
      color:var(--muted);
      display:block;
    }
    .feed-right{
      display:flex;
      align-items:center;
      gap:.45rem;
      flex:0 0 auto;
    }
    .feed-chip{
      display:inline-flex;
      align-items:center;
      gap:.25rem;
      padding:.28rem .55rem;
      border-radius:999px;
      font-size:.78rem;
      font-weight:700;
      background:rgba(15,118,110,.10);
      color:var(--brand-dark);
      border:1px solid rgba(15,118,110,.14);
    }
    .feed-chip.alt{
      background:rgba(249,115,22,.10);
      color:#b45309;
      border-color:rgba(249,115,22,.16);
    }
    .visual-note{
      position:relative;
      margin-top:.9rem;
      padding:.8rem .9rem;
      border-radius:8px;
      border:1px dashed rgba(15,118,110,.22);
      background:rgba(15,118,110,.04);
      color:var(--muted);
      font-size:.92rem;
    }

    .section-head{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:1rem;
      margin-bottom:1.35rem;
      flex-wrap:wrap;
    }
    .section-title{
      margin:0;
      font-size:clamp(1.35rem, 1.8vw, 2rem);
      line-height:1.2;
      font-weight:900;
      letter-spacing:0;
    }
    .section-subtitle{
      margin:.45rem 0 0;
      color:var(--muted);
      max-width:66ch;
    }
    .section-action{
      flex:0 0 auto;
    }

    .topic-grid{
      display:grid;
      grid-template-columns:repeat(12, minmax(0,1fr));
      gap:1rem;
    }
    .topic-card{
      grid-column:span 4;
      background:var(--surface);
      border:1px solid var(--line);
      border-radius:8px;
      box-shadow:var(--shadow-sm);
      padding:1rem;
      min-height:100%;
      display:flex;
      flex-direction:column;
      gap:.8rem;
    }
    .topic-card:hover{
      transform:translateY(-2px);
      box-shadow:var(--shadow-md);
      border-color:rgba(15,118,110,.18);
    }
    .topic-top{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:.8rem;
    }
    .topic-icon{
      width:2.45rem;
      height:2.45rem;
      border-radius:8px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      background:rgba(15,118,110,.08);
      color:var(--brand-dark);
      font-size:1.05rem;
      flex:0 0 auto;
      border:1px solid rgba(15,118,110,.14);
    }
    .topic-card h3{
      margin:0;
      font-size:1.03rem;
      line-height:1.35;
      font-weight:800;
    }
    .topic-card p{
      margin:0;
      color:var(--muted);
      font-size:.95rem;
    }
    .topic-list{
      margin:0;
      padding-left:1.05rem;
      color:var(--text);
      display:grid;
      gap:.35rem;
      font-size:.93rem;
    }
    .topic-bottom{
      margin-top:auto;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:.65rem;
      padding-top:.1rem;
    }
    .topic-link{
      display:inline-flex;
      align-items:center;
      gap:.25rem;
      color:var(--brand-dark);
      font-weight:700;
      font-size:.92rem;
    }
    .topic-link:hover{color:var(--accent-dark)}
    .status-dot{
      width:.55rem;
      height:.55rem;
      border-radius:50%;
      background:var(--success);
      display:inline-block;
      box-shadow:0 0 0 .18rem rgba(22,163,74,.12);
    }

    .filter-card,
    .evidence-card,
    .news-card,
    .pricing-card,
    .contact-card,
    .faq-shell{
      background:var(--surface);
      border:1px solid var(--line);
      border-radius:8px;
      box-shadow:var(--shadow-sm);
    }

    .filter-card{
      padding:1rem;
      position:sticky;
      top:calc(var(--header-h) + 16px);
    }
    .filter-card h3{
      margin:0 0 .5rem;
      font-size:1.02rem;
      font-weight:800;
    }
    .filter-card p{
      margin:0 0 .9rem;
      color:var(--muted);
      font-size:.94rem;
    }
    .filter-form{
      display:grid;
      gap:.7rem;
    }
    .filter-form label{
      font-size:.86rem;
      font-weight:700;
      color:var(--text);
      margin-bottom:.25rem;
    }
    .filter-form .form-select,
    .filter-form .form-control{
      border-radius:8px;
      border-color:var(--line);
      box-shadow:none;
    }
    .filter-form .form-select:focus,
    .filter-form .form-control:focus{
      border-color:rgba(15,118,110,.45);
    }
    .filter-actions{
      display:flex;
      gap:.6rem;
      flex-wrap:wrap;
      margin-top:.25rem;
    }
    .quick-tags{
      display:flex;
      flex-wrap:wrap;
      gap:.5rem;
      margin-top:.75rem;
    }
    .quick-tags .chip{
      display:inline-flex;
      align-items:center;
      padding:.34rem .62rem;
      border-radius:999px;
      font-size:.85rem;
      background:#f6fafc;
      border:1px solid var(--line);
      color:var(--muted);
      cursor:default;
    }

    .entry-list{
      display:grid;
      gap:1rem;
    }
    .entry-card{
      display:grid;
      grid-template-columns:1fr auto;
      gap:1rem;
      padding:1rem;
      align-items:start;
      background:var(--surface);
      border:1px solid var(--line);
      border-radius:8px;
      box-shadow:var(--shadow-sm);
    }
    .entry-card:hover{
      transform:translateY(-2px);
      box-shadow:var(--shadow-md);
      border-color:rgba(15,118,110,.18);
    }
    .entry-main{
      min-width:0;
    }
    .entry-badges{
      display:flex;
      flex-wrap:wrap;
      gap:.45rem;
      margin-bottom:.65rem;
    }
    .badge-soft{
      display:inline-flex;
      align-items:center;
      gap:.25rem;
      padding:.26rem .55rem;
      border-radius:999px;
      border:1px solid transparent;
      font-size:.8rem;
      font-weight:700;
      line-height:1.2;
    }
    .badge-soft.brand{
      background:rgba(15,118,110,.10);
      color:var(--brand-dark);
      border-color:rgba(15,118,110,.14);
    }
    .badge-soft.accent{
      background:rgba(249,115,22,.10);
      color:#b45309;
      border-color:rgba(249,115,22,.16);
    }
    .badge-soft.mute{
      background:#f6f9fb;
      color:var(--muted);
      border-color:var(--line);
    }
    .entry-card h3{
      margin:0 0 .4rem;
      font-size:1.05rem;
      line-height:1.38;
      font-weight:800;
    }
    .entry-card p{
      margin:0 0 .7rem;
      color:var(--muted);
    }
    .entry-meta{
      display:flex;
      flex-wrap:wrap;
      gap:.55rem;
      color:var(--muted);
      font-size:.88rem;
    }
    .entry-meta span{
      display:inline-flex;
      align-items:center;
      gap:.28rem;
    }
    .entry-side{
      display:flex;
      flex-direction:column;
      align-items:flex-end;
      gap:.55rem;
      min-width:124px;
    }
    .entry-price{
      font-size:1.28rem;
      font-weight:900;
      color:var(--text);
      line-height:1;
    }
    .entry-price small{
      display:block;
      font-size:.82rem;
      color:var(--muted);
      font-weight:600;
      margin-top:.25rem;
      text-align:right;
    }

    .evidence-card{
      padding:1rem;
    }
    .stat-grid{
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:1rem;
      margin-bottom:1rem;
    }
    .stat-box{
      background:var(--surface-2);
      border:1px solid var(--line);
      border-radius:8px;
      padding:1rem;
      min-height:100%;
    }
    .stat-box .num{
      display:block;
      font-size:1.6rem;
      font-weight:900;
      line-height:1.1;
      margin-bottom:.35rem;
      color:var(--text);
    }
    .stat-box .label{
      display:block;
      color:var(--muted);
      font-size:.9rem;
      line-height:1.45;
    }
    .evidence-list{
      margin:0;
      padding-left:1.05rem;
      display:grid;
      gap:.45rem;
      color:var(--text);
    }
    .evidence-list li{
      color:var(--muted);
    }
    .evidence-side{
      background:
        linear-gradient(180deg, rgba(249,115,22,.07), rgba(255,255,255,.96)),
        #fff;
      border:1px solid var(--line);
      border-radius:8px;
      box-shadow:var(--shadow-sm);
      padding:1rem;
      height:100%;
    }
    .evidence-side h3{
      margin:0 0 .8rem;
      font-size:1rem;
      font-weight:800;
    }
    .timeline{
      display:grid;
      gap:.7rem;
      margin:0;
    }
    .timeline-item{
      display:flex;
      gap:.75rem;
      align-items:flex-start;
    }
    .timeline-index{
      width:1.7rem;
      height:1.7rem;
      border-radius:8px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      background:rgba(15,118,110,.10);
      color:var(--brand-dark);
      font-weight:800;
      font-size:.84rem;
      border:1px solid rgba(15,118,110,.14);
      flex:0 0 auto;
      margin-top:.08rem;
    }
    .timeline-item strong{
      display:block;
      margin-bottom:.12rem;
      font-size:.94rem;
    }
    .timeline-item span{
      color:var(--muted);
      font-size:.9rem;
      display:block;
    }

    .news-grid{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:1rem;
    }
    .news-card{
      padding:1rem;
      min-height:100%;
      display:flex;
      flex-direction:column;
      gap:.75rem;
    }
    .news-card h3{
      margin:0;
      font-size:1rem;
      font-weight:800;
      line-height:1.35;
    }
    .news-card p{
      margin:0;
      color:var(--muted);
      font-size:.94rem;
    }
    .news-footer{
      margin-top:auto;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:.6rem;
      padding-top:.15rem;
    }
    .news-footer small{
      color:var(--muted);
    }

    .pricing-grid{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:1rem;
    }
    .pricing-card{
      padding:1.1rem;
      display:flex;
      flex-direction:column;
      gap:.85rem;
      position:relative;
      overflow:hidden;
    }
    .pricing-card.featured{
      border-color:rgba(15,118,110,.24);
      box-shadow:0 10px 30px rgba(15,118,110,.08);
      background:
        linear-gradient(180deg, rgba(15,118,110,.05), rgba(255,255,255,.98)),
        #fff;
    }
    .pricing-card .plan-head{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:.75rem;
    }
    .pricing-card h3{
      margin:0;
      font-size:1.08rem;
      font-weight:800;
    }
    .plan-price{
      font-size:2rem;
      font-weight:900;
      line-height:1;
      color:var(--text);
    }
    .plan-price small{
      display:block;
      margin-top:.18rem;
      font-size:.84rem;
      font-weight:600;
      color:var(--muted);
    }
    .plan-list{
      margin:0;
      padding-left:1.05rem;
      display:grid;
      gap:.45rem;
      color:var(--muted);
      font-size:.94rem;
    }
    .plan-actions{
      margin-top:auto;
      display:flex;
      gap:.65rem;
      flex-wrap:wrap;
    }

    .faq-shell{
      overflow:hidden;
    }
    .accordion{
      --bs-accordion-border-width:0;
      --bs-accordion-btn-padding-x:1rem;
      --bs-accordion-btn-padding-y:1rem;
      --bs-accordion-active-bg:rgba(15,118,110,.06);
      --bs-accordion-active-color:var(--text);
      --bs-accordion-btn-focus-box-shadow:none;
    }
    .accordion-item{
      border-top:1px solid var(--line)!important;
      background:transparent;
    }
    .accordion-item:first-child{border-top:none!important}
    .accordion-button{
      background:transparent;
      font-weight:800;
      color:var(--text);
      box-shadow:none!important;
    }
    .accordion-button:not(.collapsed){
      background:rgba(15,118,110,.06);
      color:var(--text);
    }
    .accordion-button::after{
      background-size:1rem 1rem;
    }
    .accordion-body{
      color:var(--muted);
      padding:0 1rem 1rem;
    }

    .contact-card{
      padding:1rem;
    }
    .contact-card h3{
      margin:0 0 .5rem;
      font-size:1.08rem;
      font-weight:800;
    }
    .contact-card p{
      margin:0 0 .95rem;
      color:var(--muted);
    }
    .contact-list{
      margin:0 0 1rem;
      padding:0;
      list-style:none;
      display:grid;
      gap:.55rem;
    }
    .contact-list li{
      display:flex;
      align-items:flex-start;
      gap:.55rem;
      color:var(--text);
    }
    .contact-list i{
      color:var(--brand);
      margin-top:.14rem;
    }
    .contact-form{
      display:grid;
      gap:.8rem;
    }
    .contact-form .form-label{
      margin-bottom:.3rem;
      font-size:.88rem;
      font-weight:700;
      color:var(--text);
    }
    .contact-form .form-control{
      border-radius:8px;
      border-color:var(--line);
      box-shadow:none;
    }
    .contact-form .form-control:focus{
      border-color:rgba(15,118,110,.45);
    }
    .contact-actions{
      display:flex;
      flex-wrap:wrap;
      gap:.65rem;
      align-items:center;
      margin-top:.2rem;
    }

    .site-footer{
      background:var(--footer-bg);
      color:var(--footer-text);
      margin-top:2rem;
      border-top:1px solid rgba(255,255,255,.07);
    }
    .site-footer a{
      color:var(--footer-text);
    }
    .site-footer a:hover{
      color:#fff;
    }
    .footer-grid{
      display:grid;
      grid-template-columns:1.2fr .9fr .9fr;
      gap:1.2rem;
      padding:2rem 0 1.25rem;
      border-bottom:1px solid rgba(255,255,255,.08);
    }
    .footer-brand strong{
      display:block;
      font-size:1.05rem;
      margin-bottom:.5rem;
      color:#fff;
    }
    .footer-brand p{
      margin:0;
      color:#b8c2d3;
      max-width:32ch;
    }
    .footer-links,
    .footer-meta{
      display:grid;
      gap:.45rem;
      align-content:start;
    }
    .footer-links a,
    .footer-meta a{
      display:inline-flex;
      width:fit-content;
      gap:.35rem;
      color:#d7deea;
      font-size:.94rem;
    }
    .footer-note{
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:.8rem;
      padding:1rem 0 1.35rem;
      color:#9eabc0;
      flex-wrap:wrap;
      font-size:.92rem;
    }

    .floating-cta{
      position:fixed;
      right:1rem;
      bottom:1rem;
      z-index:1040;
      display:flex;
      flex-direction:column;
      gap:.55rem;
    }
    .floating-cta .btn{
      min-width:148px;
      justify-content:flex-start;
      box-shadow:var(--shadow-md);
    }

    .mobile-cta{
      position:fixed;
      left:0;
      right:0;
      bottom:0;
      z-index:1040;
      background:rgba(255,255,255,.94);
      backdrop-filter:blur(14px);
      border-top:1px solid rgba(216,225,234,.9);
      box-shadow:0 -8px 24px rgba(16,32,51,.08);
      padding:.6rem .8rem;
    }
    .mobile-cta-inner{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:.7rem;
    }
    .mobile-cta .btn{
      width:100%;
      justify-content:center;
    }

    .section-link{
      color:var(--brand-dark);
      font-weight:700;
      display:inline-flex;
      align-items:center;
      gap:.25rem;
    }

    .form-select, .form-control{
      border-radius:8px;
    }
    .form-select:focus, .form-control:focus{
      box-shadow:var(--focus);
    }

    .note-inline{
      font-size:.88rem;
      color:var(--muted);
    }

    @media (max-width: 1199.98px){
      .topic-card{grid-column:span 6}
      .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    }

    @media (max-width: 991.98px){
      .header-inner{
        gap:.85rem;
      }
      .site-search{
        order:3;
        flex:1 1 100%;
        max-width:none;
      }
      .site-nav{
        margin-left:0;
      }
      .hero-band{
        padding-top:2.35rem;
      }
      .topic-card,
      .news-grid,
      .pricing-grid{
        grid-template-columns:1fr;
      }
      .topic-card{grid-column:span 12}
      .stat-strip{
        grid-template-columns:1fr;
      }
      .entry-card{
        grid-template-columns:1fr;
      }
      .entry-side{
        align-items:flex-start;
        min-width:0;
      }
      .entry-price small{
        text-align:left;
      }
      .filter-card{
        position:static;
      }
      .footer-grid{
        grid-template-columns:1fr;
      }
      .floating-cta{display:none}
      body{padding-bottom:86px}
    }

    @media (max-width: 767.98px){
      .header-inner{
        padding:.7rem 0;
      }
      .brand{
        font-size:1rem;
      }
      .hero-copy{
        font-size:.98rem;
      }
      .section-head{
        align-items:flex-start;
      }
      .section-action{
        width:100%;
      }
      .section-action .btn{
        width:100%;
      }
      .stat-grid{
        grid-template-columns:1fr;
      }
      .footer-note{
        align-items:flex-start;
      }
      .contact-actions{
        display:grid;
        grid-template-columns:1fr;
      }
    }

    @media (max-width: 575.98px){
      .container-xl{
        padding-left:.85rem;
        padding-right:.85rem;
      }
      .hero-band{
        padding-top:1.9rem;
      }
      .hero-title{
        font-size:1.9rem;
      }
      .hero-actions .btn,
      .contact-actions .btn{
        width:100%;
      }
      .site-nav{
        width:100%;
        overflow-x:auto;
        padding-bottom:.2rem;
        flex-wrap:nowrap;
      }
      .site-nav::-webkit-scrollbar{
        height:0;
      }
      .nav-link-custom{
        flex:0 0 auto;
      }
      .mobile-cta{
        padding:.55rem .7rem;
      }
    }
