/* roulang page: index */
:root{
      --primary:#0F766E;
      --primary-dark:#0B5F59;
      --primary-soft:#E5F4EF;
      --accent:#F59E5B;
      --accent-soft:#FFF3D8;
      --ink:#1F2A24;
      --muted:#64716A;
      --bg:#F7F4EC;
      --surface:#FFFDF8;
      --surface-2:#EEF5F0;
      --border:#DDE7DF;
      --border-warm:#E5E1D6;
      --radius-lg:28px;
      --radius-md:20px;
      --radius-sm:14px;
      --shadow:0 18px 45px rgba(31,42,36,.08);
      --shadow-hover:0 24px 60px rgba(31,42,36,.14);
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",sans-serif;
      color:var(--ink);
      background:
        radial-gradient(circle at 8% 0%, rgba(15,118,110,.10), transparent 30%),
        radial-gradient(circle at 88% 12%, rgba(245,158,91,.12), transparent 28%),
        linear-gradient(180deg,#FBF8F0 0%,var(--bg) 45%,#FFFDF8 100%);
      line-height:1.75;
      overflow-x:hidden;
    }

    a{color:inherit;text-decoration:none}
    img{max-width:100%;height:auto;display:block}
    button,input{font:inherit}
    ::selection{background:rgba(15,118,110,.18);color:var(--ink)}

    .site-container{
      width:min(100% - 40px, 1200px);
      margin-inline:auto;
    }

    .section{
      padding:88px 0;
    }

    .section-tight{
      padding:64px 0;
    }

    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:7px 12px;
      border-radius:999px;
      background:rgba(15,118,110,.08);
      border:1px solid rgba(15,118,110,.14);
      color:var(--primary-dark);
      font-size:14px;
      font-weight:700;
      letter-spacing:.01em;
    }

    .eyebrow-dot{
      width:8px;
      height:8px;
      border-radius:999px;
      background:var(--accent);
      box-shadow:0 0 0 5px rgba(245,158,91,.16);
    }

    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:9px;
      border-radius:999px;
      padding:14px 22px;
      font-weight:800;
      line-height:1.1;
      transition:transform .22s ease, box-shadow .22s ease, background .22s ease, border-color .22s ease, color .22s ease;
      white-space:nowrap;
    }

    .btn-primary{
      background:var(--primary);
      color:#fff;
      box-shadow:0 12px 28px rgba(15,118,110,.22);
    }

    .btn-primary:hover{
      background:var(--primary-dark);
      transform:translateY(-1px);
      box-shadow:0 16px 34px rgba(15,118,110,.28);
    }

    .btn-secondary{
      background:rgba(255,253,248,.88);
      color:var(--primary-dark);
      border:1px solid #B7D3C8;
    }

    .btn-secondary:hover{
      background:#EEF8F4;
      transform:translateY(-1px);
      border-color:rgba(15,118,110,.28);
    }

    .btn-text{
      display:inline-flex;
      align-items:center;
      gap:8px;
      color:var(--primary-dark);
      font-weight:800;
      transition:gap .22s ease,color .22s ease;
    }

    .btn-text:hover{gap:12px;color:var(--primary)}

    .btn:focus-visible,
    a:focus-visible,
    summary:focus-visible,
    input:focus-visible{
      outline:3px solid rgba(245,158,91,.48);
      outline-offset:3px;
    }

    .glass-header{
      position:sticky;
      top:0;
      z-index:50;
      background:rgba(247,244,236,.86);
      backdrop-filter:blur(18px);
      border-bottom:1px solid rgba(221,231,223,.72);
    }

    .logo-mark{
      width:42px;
      height:42px;
      border-radius:16px;
      background:linear-gradient(135deg,var(--primary),#42A391);
      position:relative;
      box-shadow:0 12px 26px rgba(15,118,110,.18);
      flex:0 0 auto;
    }

    .logo-mark::before{
      content:"";
      position:absolute;
      width:20px;
      height:12px;
      border:3px solid rgba(255,255,255,.88);
      border-top-color:transparent;
      border-left-color:transparent;
      border-radius:50%;
      left:10px;
      top:11px;
      transform:rotate(-14deg);
    }

    .logo-mark::after{
      content:"";
      position:absolute;
      width:8px;
      height:8px;
      border-radius:50%;
      background:var(--accent);
      right:8px;
      bottom:9px;
      box-shadow:-18px 1px 0 rgba(255,255,255,.82);
    }

    .nav-shell{
      border:1px solid rgba(15,118,110,.12);
      background:rgba(255,253,248,.78);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
      border-radius:999px;
      padding:6px;
    }

    .nav-scroll{
      scrollbar-width:none;
      -ms-overflow-style:none;
    }

    .nav-scroll::-webkit-scrollbar{display:none}

    .nav-pill{
      border-radius:999px;
      padding:10px 16px;
      font-weight:800;
      color:#46534C;
      transition:background .2s ease,color .2s ease,box-shadow .2s ease;
      white-space:nowrap;
    }

    .nav-pill:hover{
      background:rgba(15,118,110,.08);
      color:var(--primary-dark);
    }

    .nav-pill.active{
      background:var(--primary);
      color:white;
      box-shadow:0 10px 22px rgba(15,118,110,.18);
    }

    .hero{
      position:relative;
      padding:74px 0 82px;
      overflow:hidden;
    }

    .hero::before{
      content:"";
      position:absolute;
      inset:0;
      background-image:
        linear-gradient(rgba(247,244,236,.84),rgba(247,244,236,.92)),
        url('/assets/images/backpic/back-1.webp');
      background-size:cover;
      background-position:center;
      opacity:.92;
      z-index:-2;
    }

    .hero::after{
      content:"";
      position:absolute;
      inset:auto -90px -150px auto;
      width:460px;
      height:460px;
      border-radius:999px;
      background:radial-gradient(circle, rgba(15,118,110,.18), transparent 66%);
      z-index:-1;
    }

    .dot-pattern{
      background-image:radial-gradient(rgba(15,118,110,.14) 1px, transparent 1px);
      background-size:18px 18px;
    }

    .index-panel{
      border:1px solid rgba(15,118,110,.14);
      background:
        linear-gradient(180deg, rgba(255,253,248,.96), rgba(255,253,248,.88)),
        radial-gradient(circle at top right, rgba(245,158,91,.18), transparent 45%);
      border-radius:var(--radius-lg);
      box-shadow:var(--shadow);
      overflow:hidden;
    }

    .panel-row{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      padding:15px 0;
      border-bottom:1px dashed rgba(15,118,110,.16);
    }

    .panel-row:last-child{border-bottom:0}

    .chip{
      display:inline-flex;
      align-items:center;
      gap:7px;
      padding:7px 11px;
      border-radius:999px;
      background:#fff;
      border:1px solid rgba(15,118,110,.13);
      color:var(--primary-dark);
      font-size:13px;
      font-weight:800;
      box-shadow:0 6px 18px rgba(31,42,36,.04);
      transition:background .2s ease,border-color .2s ease,transform .2s ease;
    }

    .chip:hover{
      background:#EEF8F4;
      border-color:rgba(15,118,110,.28);
      transform:translateY(-1px);
    }

    .card{
      border:1px solid rgba(15,118,110,.13);
      background:rgba(255,253,248,.88);
      border-radius:var(--radius-lg);
      box-shadow:0 10px 32px rgba(31,42,36,.06);
      transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
    }

    .card:hover{
      transform:translateY(-3px);
      box-shadow:var(--shadow-hover);
      border-color:rgba(15,118,110,.28);
    }

    .note-card{
      border:1px solid rgba(245,158,91,.18);
      background:linear-gradient(135deg,#FFFDF8 0%,#FFF4E3 100%);
      border-radius:24px;
      box-shadow:0 14px 38px rgba(31,42,36,.06);
    }

    .timeline-line{
      position:absolute;
      left:8%;
      right:8%;
      top:46px;
      height:1px;
      border-top:2px dashed rgba(15,118,110,.22);
      z-index:0;
    }

    .timeline-step{
      position:relative;
      z-index:1;
      background:rgba(255,253,248,.94);
      border:1px solid rgba(15,118,110,.13);
      border-radius:24px;
      padding:24px;
      box-shadow:0 12px 30px rgba(31,42,36,.05);
      transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease;
    }

    .timeline-step:hover{
      transform:translateY(-3px);
      border-color:rgba(15,118,110,.28);
      box-shadow:var(--shadow);
    }

    .metric-word{
      font-size:clamp(30px,5vw,48px);
      line-height:1.05;
      font-weight:900;
      color:var(--primary-dark);
      letter-spacing:-.04em;
    }

    .image-wrap{
      position:relative;
      border-radius:24px;
      overflow:hidden;
      background:linear-gradient(135deg,#E5F4EF,#FFF3D8);
      min-height:210px;
    }

    .image-wrap::after{
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(180deg, transparent 42%, rgba(31,42,36,.62));
      pointer-events:none;
    }

    .image-caption{
      position:absolute;
      left:18px;
      right:18px;
      bottom:16px;
      z-index:1;
      color:#fff;
    }

    .quote-card{
      border-radius:24px;
      border:1px solid rgba(15,118,110,.12);
      background:#FFFDF8;
      box-shadow:0 12px 32px rgba(31,42,36,.05);
      padding:24px;
    }

    .avatar-dot{
      width:42px;
      height:42px;
      border-radius:999px;
      background:
        radial-gradient(circle at 68% 34%, var(--accent) 0 5px, transparent 6px),
        linear-gradient(135deg,var(--primary-soft),#fff);
      border:1px solid rgba(15,118,110,.15);
    }

    details.faq-item{
      border:1px solid rgba(15,118,110,.13);
      background:rgba(255,253,248,.92);
      border-radius:20px;
      padding:0;
      overflow:hidden;
      box-shadow:0 10px 26px rgba(31,42,36,.045);
    }

    details.faq-item + details.faq-item{margin-top:14px}

    details.faq-item summary{
      list-style:none;
      cursor:pointer;
      padding:20px 22px;
      font-weight:900;
      color:var(--ink);
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:18px;
      transition:background .2s ease;
    }

    details.faq-item summary::-webkit-details-marker{display:none}

    details.faq-item summary::after{
      content:"+";
      width:28px;
      height:28px;
      border-radius:999px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      background:var(--primary-soft);
      color:var(--primary-dark);
      font-weight:900;
      flex:0 0 auto;
    }

    details.faq-item[open] summary{
      background:rgba(15,118,110,.06);
    }

    details.faq-item[open] summary::after{
      content:"−";
      background:var(--primary);
      color:white;
    }

    .faq-answer{
      padding:0 22px 22px;
      color:var(--muted);
      line-height:1.85;
    }

    .cta-band{
      position:relative;
      overflow:hidden;
      border-radius:32px;
      border:1px solid rgba(15,118,110,.14);
      background:
        linear-gradient(135deg, rgba(229,244,239,.96), rgba(255,243,216,.86)),
        url('/assets/images/backpic/back-2.webp');
      background-size:cover;
      background-position:center;
      box-shadow:var(--shadow);
    }

    .cta-band::before{
      content:"";
      position:absolute;
      inset:0;
      background:radial-gradient(circle at 86% 20%, rgba(15,118,110,.16), transparent 38%);
      pointer-events:none;
    }

    .footer{
      background:#1F2A24;
      color:#EAF1EC;
      position:relative;
      overflow:hidden;
    }

    .footer::before{
      content:"";
      position:absolute;
      width:430px;
      height:430px;
      right:-170px;
      top:-220px;
      border-radius:999px;
      background:radial-gradient(circle, rgba(15,118,110,.38), transparent 68%);
    }

    .footer a{
      color:#D9E8DF;
      transition:color .2s ease,transform .2s ease;
    }

    .footer a:hover{
      color:#fff;
    }

    .footer-chip{
      display:inline-flex;
      padding:7px 11px;
      border-radius:999px;
      background:rgba(255,255,255,.07);
      border:1px solid rgba(255,255,255,.11);
      color:#EAF1EC;
      font-size:13px;
      font-weight:700;
    }

    .line-clamp-2{
      display:-webkit-box;
      -webkit-line-clamp:2;
      -webkit-box-orient:vertical;
      overflow:hidden;
    }

    @media (max-width:1024px){
      .section{padding:72px 0}
      .timeline-line{display:none}
    }

    @media (max-width:768px){
      .site-container{width:min(100% - 32px, 1200px)}
      .hero{padding:48px 0 62px}
      .section{padding:58px 0}
      .section-tight{padding:46px 0}
      .nav-shell{width:100%;overflow-x:auto}
      .nav-pill{padding:9px 14px}
      .btn{width:100%;padding:14px 18px}
      .mobile-btn-auto{width:auto}
      .card,.index-panel,.cta-band{border-radius:24px}
    }

    @media (max-width:520px){
      .site-container{width:min(100% - 28px, 1200px)}
      .logo-mark{width:38px;height:38px;border-radius:14px}
      details.faq-item summary{padding:18px}
      .faq-answer{padding:0 18px 18px}
    }

/* roulang page: category1 */
:root{
      --primary:#0F766E;
      --primary-dark:#0B5F59;
      --primary-soft:#E7F3EE;
      --accent:#F59E5B;
      --accent-soft:#FFF1DF;
      --ink:#1F2A24;
      --muted:#64716A;
      --bg:#F7F4EC;
      --bg-soft:#EEF5F0;
      --paper:#FFFDF8;
      --line:#DDE7DF;
      --line-warm:#E5E1D6;
      --shadow:0 18px 45px rgba(31,42,36,.08);
      --shadow-strong:0 24px 70px rgba(31,42,36,.13);
      --radius-xl:28px;
      --radius-lg:22px;
      --radius-md:16px;
      --focus:0 0 0 4px rgba(15,118,110,.18);
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",sans-serif;
      color:var(--ink);
      background:
        radial-gradient(circle at 12% 8%, rgba(15,118,110,.10), transparent 28%),
        radial-gradient(circle at 88% 18%, rgba(245,158,91,.12), transparent 30%),
        linear-gradient(180deg,var(--bg),#FFFDF8 45%,var(--bg));
      line-height:1.75;
      overflow-x:hidden;
      text-rendering:optimizeLegibility;
      -webkit-font-smoothing:antialiased;
    }
    a{color:inherit;text-decoration:none}
    img{max-width:100%;display:block}
    button,input,textarea{font:inherit}
    ::selection{background:rgba(15,118,110,.18);color:var(--ink)}

    .site-container{
      width:min(100% - 40px, 1200px);
      margin-inline:auto;
    }
    .wide-container{
      width:min(100% - 40px, 1280px);
      margin-inline:auto;
    }

    .site-header{
      position:sticky;
      top:0;
      z-index:50;
      border-bottom:1px solid rgba(221,231,223,.82);
      background:rgba(247,244,236,.86);
      backdrop-filter:blur(18px);
    }
    .header-inner{
      min-height:78px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:18px;
      padding-block:14px;
    }
    .logo-mark{
      width:42px;
      height:42px;
      position:relative;
      flex:0 0 auto;
      border-radius:18px;
      background:
        radial-gradient(circle at 72% 28%, var(--accent) 0 7px, transparent 8px),
        linear-gradient(135deg,var(--primary),#28A08F);
      box-shadow:0 12px 26px rgba(15,118,110,.22);
    }
    .logo-mark:before{
      content:"";
      position:absolute;
      width:21px;
      height:12px;
      left:9px;
      top:17px;
      border:3px solid rgba(255,255,255,.88);
      border-right:0;
      border-top-left-radius:20px;
      border-bottom-left-radius:20px;
      transform:rotate(-12deg);
    }
    .logo-mark:after{
      content:"";
      position:absolute;
      right:10px;
      bottom:10px;
      width:8px;
      height:8px;
      border-radius:999px;
      background:#fff;
      box-shadow:-12px -1px 0 rgba(255,255,255,.78);
    }
    .brand-title{letter-spacing:-.02em}
    .nav-shell{
      padding:6px;
      border:1px solid rgba(15,118,110,.12);
      border-radius:999px;
      background:rgba(255,253,248,.82);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 10px 24px rgba(31,42,36,.04);
      scrollbar-width:none;
    }
    .nav-scroll::-webkit-scrollbar{display:none}
    .nav-pill{
      flex:0 0 auto;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:38px;
      padding:0 16px;
      border-radius:999px;
      color:#405047;
      font-size:14px;
      font-weight:800;
      white-space:nowrap;
      transition:background .22s ease,color .22s ease,box-shadow .22s ease,transform .22s ease;
    }
    .nav-pill:hover{
      color:var(--primary-dark);
      background:#EEF8F4;
      transform:translateY(-1px);
    }
    .nav-pill.active{
      color:white;
      background:var(--primary);
      box-shadow:0 10px 22px rgba(15,118,110,.20);
    }
    .header-cta{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:42px;
      padding:0 18px;
      border-radius:999px;
      background:var(--accent);
      color:#fff;
      font-size:14px;
      font-weight:900;
      box-shadow:0 12px 24px rgba(245,158,91,.22);
      transition:transform .22s ease,box-shadow .22s ease,background .22s ease;
      white-space:nowrap;
    }
    .header-cta:hover{
      transform:translateY(-1px);
      background:#EB8F49;
      box-shadow:0 16px 30px rgba(245,158,91,.30);
    }
    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      min-height:48px;
      padding:0 22px;
      border-radius:999px;
      font-weight:900;
      transition:transform .22s ease,box-shadow .22s ease,background .22s ease,border-color .22s ease,color .22s ease;
    }
    .btn-primary{
      color:#fff;
      background:var(--primary);
      box-shadow:0 16px 34px rgba(15,118,110,.24);
    }
    .btn-primary:hover{
      background:var(--primary-dark);
      transform:translateY(-1px);
      box-shadow:0 22px 42px rgba(15,118,110,.30);
    }
    .btn-secondary{
      color:var(--primary-dark);
      background:rgba(255,253,248,.9);
      border:1px solid #B7D3C8;
    }
    .btn-secondary:hover{
      background:#EEF8F4;
      border-color:rgba(15,118,110,.35);
      transform:translateY(-1px);
    }
    .btn-text{
      display:inline-flex;
      align-items:center;
      gap:7px;
      color:var(--primary-dark);
      font-weight:900;
    }
    .btn-text span{transition:transform .2s ease}
    .btn-text:hover span{transform:translateX(4px)}
    a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{
      outline:none;
      box-shadow:var(--focus);
    }

    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:7px 12px;
      border:1px solid rgba(15,118,110,.14);
      border-radius:999px;
      background:rgba(231,243,238,.8);
      color:var(--primary-dark);
      font-size:13px;
      font-weight:900;
    }
    .eyebrow:before{
      content:"";
      width:8px;
      height:8px;
      border-radius:999px;
      background:var(--accent);
      box-shadow:0 0 0 5px rgba(245,158,91,.14);
    }
    .section{
      padding-block:86px;
    }
    .section-title{
      letter-spacing:-.04em;
      line-height:1.18;
      font-weight:900;
      color:var(--ink);
    }
    .section-desc{
      color:var(--muted);
      line-height:1.9;
      font-size:17px;
    }
    .card{
      border:1px solid rgba(15,118,110,.12);
      border-radius:var(--radius-xl);
      background:rgba(255,253,248,.88);
      box-shadow:var(--shadow);
      transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
    }
    .card:hover{
      transform:translateY(-3px);
      border-color:rgba(15,118,110,.26);
      box-shadow:var(--shadow-strong);
    }
    .soft-panel{
      border:1px solid rgba(15,118,110,.11);
      background:
        linear-gradient(135deg,rgba(238,245,240,.92),rgba(255,253,248,.96)),
        repeating-linear-gradient(135deg,rgba(15,118,110,.05) 0 1px,transparent 1px 12px);
      border-radius:var(--radius-xl);
    }
    .hero-topic{
      position:relative;
      overflow:hidden;
      padding:64px 0 74px;
    }
    .hero-topic:before{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(90deg,rgba(247,244,236,.96),rgba(247,244,236,.78)),
        url('/assets/images/backpic/back-2.webp') center/cover no-repeat;
      z-index:-2;
    }
    .hero-topic:after{
      content:"";
      position:absolute;
      inset:auto -10% -36% 45%;
      height:360px;
      border-radius:999px;
      background:rgba(15,118,110,.12);
      filter:blur(40px);
      z-index:-1;
    }
    .breadcrumb{
      display:flex;
      align-items:center;
      gap:8px;
      color:#66766E;
      font-size:14px;
      font-weight:700;
    }
    .breadcrumb a:hover{color:var(--primary-dark)}
    .index-card{
      border-radius:26px;
      background:rgba(255,253,248,.94);
      border:1px solid rgba(15,118,110,.14);
      box-shadow:var(--shadow-strong);
      overflow:hidden;
    }
    .index-row{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      padding:14px 0;
      border-bottom:1px dashed rgba(15,118,110,.16);
    }
    .index-row:last-child{border-bottom:0}
    .mini-chip,.topic-chip{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:30px;
      padding:0 11px;
      border-radius:999px;
      border:1px solid rgba(15,118,110,.12);
      background:#fff;
      color:#52615A;
      font-size:13px;
      font-weight:800;
      white-space:nowrap;
      transition:background .2s ease,color .2s ease,border-color .2s ease;
    }
    .topic-chip{
      min-height:38px;
      padding:0 16px;
      cursor:pointer;
    }
    .topic-chip:hover,.topic-chip.active{
      background:var(--primary);
      color:#fff;
      border-color:var(--primary);
    }
    .article-card{
      position:relative;
      overflow:hidden;
      padding:26px;
      border-radius:26px;
      border:1px solid rgba(15,118,110,.12);
      background:rgba(255,253,248,.94);
      box-shadow:0 14px 32px rgba(31,42,36,.06);
      transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
    }
    .article-card:hover{
      transform:translateY(-3px);
      border-color:rgba(15,118,110,.26);
      box-shadow:0 22px 54px rgba(31,42,36,.11);
    }
    .article-card h3 a:hover{color:var(--primary-dark)}
    .line-clamp-2{
      display:-webkit-box;
      -webkit-line-clamp:2;
      -webkit-box-orient:vertical;
      overflow:hidden;
    }
    .cover-frame{
      position:relative;
      overflow:hidden;
      border-radius:28px;
      min-height:300px;
      background:linear-gradient(135deg,#DDEFE7,#FFF0DE);
    }
    .cover-frame img{
      width:100%;
      height:100%;
      min-height:300px;
      object-fit:cover;
    }
    .cover-frame:after{
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(180deg,rgba(31,42,36,.04),rgba(31,42,36,.44));
    }
    .cover-caption{
      position:absolute;
      left:22px;
      right:22px;
      bottom:22px;
      z-index:2;
      color:#fff;
    }
    .content-prose{
      max-width:820px;
    }
    .content-prose h2{
      margin-top:0;
      margin-bottom:18px;
      font-size:clamp(28px,4vw,40px);
      line-height:1.2;
      font-weight:900;
      letter-spacing:-.04em;
    }
    .content-prose h3{
      margin-top:28px;
      margin-bottom:10px;
      font-size:23px;
      line-height:1.35;
      font-weight:900;
    }
    .content-prose p{
      margin:0 0 16px;
      color:#4E5D55;
      font-size:17px;
      line-height:1.92;
    }
    .content-prose ol{
      margin:16px 0 0;
      padding-left:1.25rem;
      color:#4E5D55;
      line-height:1.9;
    }
    .content-prose li{padding-left:6px;margin:8px 0}
    .note-box{
      border-left:5px solid var(--accent);
      border-radius:20px;
      background:var(--accent-soft);
      padding:20px 22px;
      color:#60432C;
      line-height:1.85;
    }
    .quote-box{
      border-radius:24px;
      border:1px solid rgba(15,118,110,.12);
      background:#EEF5F0;
      padding:24px;
      color:#33443B;
      line-height:1.9;
      font-weight:700;
    }
    .sidebar-card{
      border-radius:26px;
      border:1px solid rgba(15,118,110,.13);
      background:rgba(255,253,248,.94);
      box-shadow:var(--shadow);
      padding:22px;
    }
    .side-link{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      padding:12px 0;
      color:#425149;
      font-weight:800;
      border-bottom:1px dashed rgba(15,118,110,.16);
    }
    .side-link:last-child{border-bottom:0}
    .side-link:hover{color:var(--primary-dark)}
    details.faq-item{
      border:1px solid rgba(15,118,110,.12);
      border-radius:22px;
      background:rgba(255,253,248,.92);
      box-shadow:0 12px 28px rgba(31,42,36,.05);
      overflow:hidden;
    }
    details.faq-item + details.faq-item{margin-top:14px}
    details.faq-item summary{
      list-style:none;
      cursor:pointer;
      padding:20px 22px;
      font-weight:900;
      color:var(--ink);
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      transition:background .2s ease;
    }
    details.faq-item summary::-webkit-details-marker{display:none}
    details.faq-item summary:after{
      content:"+";
      width:28px;
      height:28px;
      border-radius:999px;
      background:var(--primary-soft);
      color:var(--primary-dark);
      display:inline-flex;
      align-items:center;
      justify-content:center;
      font-weight:900;
      flex:0 0 auto;
    }
    details.faq-item[open] summary{
      background:#EEF8F4;
    }
    details.faq-item[open] summary:after{content:"−"}
    .faq-answer{
      padding:0 22px 20px;
      color:var(--muted);
      line-height:1.9;
    }
    .cta-band{
      position:relative;
      overflow:hidden;
      border-radius:32px;
      background:
        linear-gradient(135deg,rgba(15,118,110,.94),rgba(17,124,111,.84)),
        url('/assets/images/backpic/back-3.webp') center/cover no-repeat;
      color:#fff;
      box-shadow:var(--shadow-strong);
    }
    .cta-band:after{
      content:"";
      position:absolute;
      right:-80px;
      bottom:-110px;
      width:330px;
      height:330px;
      border-radius:999px;
      background:rgba(245,158,91,.30);
      filter:blur(8px);
    }
    .footer{
      position:relative;
      overflow:hidden;
      background:#1F2A24;
      color:#C8D8CF;
    }
    .footer:before{
      content:"";
      position:absolute;
      inset:0;
      background:
        radial-gradient(circle at 15% 15%, rgba(15,118,110,.28), transparent 30%),
        radial-gradient(circle at 82% 20%, rgba(245,158,91,.16), transparent 24%);
      opacity:.85;
    }
    .footer a{
      color:#C8D8CF;
      transition:color .2s ease,transform .2s ease;
    }
    .footer a:hover{
      color:#fff;
    }
    .footer-chip{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:30px;
      padding:0 10px;
      border-radius:999px;
      background:rgba(255,255,255,.08);
      border:1px solid rgba(255,255,255,.10);
      color:#DDE7DF;
      font-size:12px;
      font-weight:800;
    }

    @media (max-width:1024px){
      .header-inner{
        flex-wrap:wrap;
      }
      .nav-shell{
        order:3;
        width:100%;
      }
      .section{padding-block:72px}
    }
    @media (max-width:768px){
      .site-container,.wide-container{width:min(100% - 32px, 1200px)}
      .header-inner{min-height:auto}
      .header-cta{width:100%;order:4}
      .hero-topic{padding:44px 0 58px}
      .section{padding-block:58px}
      .article-card{padding:22px}
      .content-prose p{font-size:16px}
    }
    @media (max-width:520px){
      .brand-sub{display:none}
      .logo-mark{width:38px;height:38px;border-radius:16px}
      .nav-pill{padding:0 14px;font-size:13px}
      .btn{width:100%;padding-inline:16px}
      .cover-frame,.cover-frame img{min-height:240px}
      .topic-chip{min-height:36px;padding-inline:13px}
      .section-title{letter-spacing:-.03em}
    }
