/* roulang page: index */
:root {
      --paper: #f4f2ec;
      --surface: #fffefa;
      --ink: #202522;
      --muted: #66706b;
      --line: #dcded6;
      --green: #35644f;
      --green-dark: #254b3b;
      --lime: #c9d87c;
      --coral: #d7785e;
      --blue: #7794a0;
      --soft-green: #e8eee6;
      --soft-coral: #f3e6df;
      --soft-blue: #e5ecec;
      --radius: 8px;
      --shadow: 0 10px 28px rgba(34, 47, 39, .07);
      --content: 1180px;
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; scroll-padding-top: 110px; }
    body {
      margin: 0;
      background: var(--paper);
      color: var(--ink);
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
      font-size: 16px;
      line-height: 1.7;
      -webkit-font-smoothing: antialiased;
    }
    a { color: inherit; text-decoration: none; }
    a:hover { color: var(--green-dark); }
    img { display: block; max-width: 100%; }
    button, input { font: inherit; }
    button, a { -webkit-tap-highlight-color: transparent; }
    :focus-visible { outline: 3px solid var(--coral); outline-offset: 3px; }
    .site-container { width: min(var(--content), calc(100% - 48px)); margin-inline: auto; }
    .site-header {
      position: sticky;
      top: 0;
      z-index: 50;
      background: rgba(244, 242, 236, .97);
      border-bottom: 1px solid rgba(32, 37, 34, .11);
      backdrop-filter: blur(10px);
    }
    .brand-row {
      min-height: 68px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
    }
    .brand {
      display: inline-flex;
      align-items: center;
      gap: 11px;
      min-width: 0;
      font-size: 18px;
      font-weight: 800;
      color: var(--ink);
    }
    .brand-mark {
      width: 34px;
      height: 34px;
      display: grid;
      place-items: center;
      border-radius: 10px 3px 10px 3px;
      background: var(--green);
      color: #fff;
      font-size: 16px;
      line-height: 1;
      flex: 0 0 auto;
    }
    .brand-name { overflow-wrap: anywhere; }
    .header-actions { display: flex; align-items: center; gap: 10px; }
    .header-link {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 38px;
      padding: 0 14px;
      border: 1px solid var(--line);
      border-radius: 5px;
      color: var(--ink);
      font-size: 14px;
      font-weight: 700;
      transition: background .18s ease, border-color .18s ease, color .18s ease;
    }
    .header-link:hover, .header-link[aria-current="page"] {
      color: var(--green-dark);
      border-color: var(--green);
      background: var(--soft-green);
    }
    .chip-nav {
      border-top: 1px solid rgba(32, 37, 34, .07);
      overflow: hidden;
    }
    .chip-track {
      display: flex;
      gap: 9px;
      overflow-x: auto;
      padding: 9px 0 11px;
      scrollbar-width: thin;
      scrollbar-color: #a8b0a6 transparent;
      white-space: nowrap;
    }
    .chip {
      flex: 0 0 auto;
      display: inline-flex;
      align-items: center;
      min-height: 32px;
      padding: 4px 13px;
      border: 1px solid #d3d8ce;
      border-radius: 4px;
      color: #4a554d;
      font-size: 13px;
      font-weight: 650;
      transition: color .18s ease, background .18s ease, border-color .18s ease;
    }
    .chip:hover { border-color: var(--green); background: #edf1e9; color: var(--green-dark); }
    .chip.is-current { border-color: var(--green); background: var(--green); color: #fff; }
    main { overflow: clip; }
    .hero-band {
      padding: 42px 0 30px;
      background: #e9ece3;
      border-bottom: 1px solid #d9ded5;
    }
    .hero-layout {
      display: grid;
      grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
      gap: 42px;
      align-items: center;
    }
    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      margin-bottom: 13px;
      color: var(--green);
      font-size: 12px;
      font-weight: 800;
    }
    .eyebrow::before { content: ""; width: 22px; height: 2px; background: var(--coral); }
    h1, h2, h3, p { margin-top: 0; }
    h1 {
      max-width: 750px;
      margin-bottom: 15px;
      font-size: clamp(32px, 4vw, 48px);
      line-height: 1.2;
      letter-spacing: 0;
      font-weight: 850;
    }
    .hero-copy {
      max-width: 690px;
      margin-bottom: 20px;
      color: #4f5b53;
      font-size: 16px;
      line-height: 1.9;
    }
    .button-row { display: flex; flex-wrap: wrap; gap: 10px; }
    .button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 44px;
      padding: 0 18px;
      border: 1px solid transparent;
      border-radius: 5px;
      font-weight: 750;
      font-size: 14px;
      transition: transform .18s ease, background .18s ease, border-color .18s ease, color .18s ease;
    }
    .button:hover { transform: translateY(-1px); }
    .button:active { transform: translateY(0); }
    .button-primary { background: var(--green); color: #fff; }
    .button-primary:hover { background: var(--green-dark); color: #fff; }
    .button-secondary { background: transparent; border-color: #aab5aa; color: var(--green-dark); }
    .button-secondary:hover { background: #fffefa; border-color: var(--green); }
    .hero-art {
      min-height: 215px;
      display: grid;
      grid-template-columns: 1.05fr .75fr;
      grid-template-rows: 1fr .72fr;
      gap: 10px;
      transform: rotate(-1deg);
    }
    .art-tile {
      position: relative;
      overflow: hidden;
      min-height: 92px;
      border: 1px solid rgba(32, 37, 34, .13);
      border-radius: 4px;
      padding: 15px;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      color: #fff;
      box-shadow: var(--shadow);
    }
    .art-tile::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, transparent 15%, rgba(18, 31, 25, .62));
    }
    .art-tile strong, .art-tile span { position: relative; z-index: 1; }
    .art-tile strong { font-size: 18px; }
    .art-tile span { font-size: 11px; opacity: .88; }
    .art-one { grid-row: span 2; background: #749185; }
    .art-two { background: #c87b63; }
    .art-three { background: #788f9a; }
    .art-lines {
      position: absolute;
      inset: 15% 12%;
      border: 1px solid rgba(255,255,255,.42);
      transform: rotate(8deg);
    }
    .art-lines::before, .art-lines::after {
      content: "";
      position: absolute;
      border: 1px solid rgba(255,255,255,.32);
      inset: 13px -12px;
      transform: rotate(-15deg);
    }
    .art-lines::after { inset: 31px -3px; transform: rotate(12deg); }
    .section { padding: 58px 0; border-bottom: 1px solid rgba(32, 37, 34, .09); }
    .section-tint { background: #eeeee7; }
    .section-dark { background: #2b4035; color: #f8f7ef; }
    .section-heading {
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 24px;
      margin-bottom: 25px;
    }
    .section-heading h2 { margin: 0; font-size: 26px; line-height: 1.3; font-weight: 820; }
    .section-heading p { max-width: 560px; margin: 0; color: var(--muted); font-size: 14px; }
    .section-dark .section-heading p { color: #c4cec5; }
    .section-kicker { display: block; margin-bottom: 8px; color: var(--coral); font-size: 12px; font-weight: 800; }
    .entry-grid { display: grid; grid-template-columns: 1.15fr .85fr .85fr; gap: 12px; }
    .entry {
      position: relative;
      min-height: 145px;
      padding: 21px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      overflow: hidden;
      border: 1px solid var(--line);
      background: var(--surface);
      transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
    }
    .entry:hover { transform: translateY(-2px); border-color: #9cae9f; box-shadow: var(--shadow); }
    .entry strong { font-size: 20px; }
    .entry small { color: var(--muted); font-size: 13px; }
    .entry-mark { align-self: flex-end; color: var(--coral); font-size: 24px; font-weight: 800; }
    .feature-band { display: grid; grid-template-columns: .65fr 1.35fr; gap: 42px; align-items: start; }
    .feature-lead { color: #47534b; font-size: 16px; line-height: 1.9; }
    .feature-list { border-top: 1px solid var(--line); }
    .feature-row {
      display: grid;
      grid-template-columns: 56px 1fr auto;
      gap: 16px;
      align-items: center;
      padding: 17px 0;
      border-bottom: 1px solid var(--line);
    }
    .feature-number { color: var(--coral); font-size: 13px; font-weight: 800; }
    .feature-row strong { display: block; font-size: 16px; }
    .feature-row p { margin: 3px 0 0; color: var(--muted); font-size: 13px; }
    .feature-tag { color: var(--green); font-size: 12px; font-weight: 750; }
    .scene-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 36px; }
    .scene-copy { max-width: 450px; color: #526057; }
    .scene-tags { display: flex; flex-wrap: wrap; gap: 9px; align-content: start; }
    .scene-tag {
      padding: 9px 14px;
      border: 1px solid #c9d1c7;
      background: rgba(255,255,255,.45);
      color: #405046;
      font-size: 14px;
    }
    .scene-tag:nth-child(3n+2) { border-color: #e4c6b9; background: var(--soft-coral); }
    .scene-tag:nth-child(3n) { border-color: #bfd0d2; background: var(--soft-blue); }
    .sample-strip { display: grid; grid-template-columns: 1.1fr .9fr .9fr 1.1fr; gap: 12px; }
    .sample {
      min-height: 190px;
      padding: 16px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      border: 1px solid rgba(255,255,255,.17);
      background: #40564a;
      color: #fff;
    }
    .sample:nth-child(2) { background: #a86653; }
    .sample:nth-child(3) { background: #647f87; }
    .sample:nth-child(4) { background: #727b5d; }
    .sample-index { font-size: 12px; color: rgba(255,255,255,.75); }
    .sample strong { font-size: 18px; }
    .sample small { color: rgba(255,255,255,.76); font-size: 12px; }
    .section-dark .section-kicker { color: var(--lime); }
    .steps { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid #64756a; }
    .step { padding: 22px 18px 0 0; }
    .step-no { color: var(--lime); font-size: 13px; font-weight: 800; }
    .step h3 { margin: 8px 0 6px; font-size: 17px; color: #fff; }
    .step p { margin: 0; color: #c6d0c7; font-size: 13px; }
    .editorial-grid { display: grid; grid-template-columns: 1.2fr .8fr .8fr; gap: 14px; }
    .editorial-item { min-height: 230px; padding: 20px; display: flex; flex-direction: column; justify-content: space-between; border: 1px solid var(--line); background: var(--surface); }
    .editorial-item:first-child { min-height: 285px; background: var(--soft-green); }
    .editorial-art {
      min-height: 105px;
      margin: -20px -20px 16px;
      background: repeating-linear-gradient(135deg, #c4d2c3 0 16px, #d9e1d6 16px 32px);
      border-bottom: 1px solid rgba(32,37,34,.08);
    }
    .editorial-item:nth-child(2) .editorial-art { background: repeating-linear-gradient(135deg, #dfc7b9 0 16px, #eadbd1 16px 32px); }
    .editorial-item:nth-child(3) .editorial-art { background: repeating-linear-gradient(135deg, #c2d0d2 0 16px, #dce5e4 16px 32px); }
    .editorial-item h3 { margin: 0 0 8px; font-size: 18px; }
    .editorial-item p { margin: 0; color: var(--muted); font-size: 13px; }
    .editorial-item a { display: inline-block; margin-top: 13px; color: var(--green); font-size: 13px; font-weight: 800; }
    .sample-feature { display: grid; grid-template-columns: .9fr 1.1fr; gap: 36px; align-items: center; }
    .feature-visual {
      min-height: 250px;
      padding: 24px;
      background: #d9e2d6;
      border: 1px solid #c2d0c3;
      display: flex;
      align-items: end;
    }
    .visual-caption { width: 100%; padding: 16px; background: rgba(255,254,250,.92); border-left: 3px solid var(--coral); }
    .visual-caption strong { display: block; font-size: 16px; }
    .visual-caption span { color: var(--muted); font-size: 12px; }
    .sample-feature p { color: #4e5b52; }
    .info-rows { border-top: 1px solid var(--line); }
    .info-row { display: grid; grid-template-columns: 180px 1fr; gap: 20px; padding: 15px 0; border-bottom: 1px solid var(--line); }
    .info-row strong { color: var(--green-dark); font-size: 14px; }
    .info-row span { color: #59645d; font-size: 14px; }
    .field-wall { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: #ccd4ca; border: 1px solid #ccd4ca; }
    .field { min-height: 110px; padding: 18px; background: #f7f7f1; }
    .field small { display: block; color: var(--muted); font-size: 12px; }
    .field strong { display: block; margin-top: 11px; color: var(--green-dark); font-size: 16px; }
    .feedback-note { display: grid; grid-template-columns: 52px 1fr; gap: 17px; max-width: 760px; align-items: start; }
    .feedback-icon { width: 46px; height: 46px; display: grid; place-items: center; background: var(--soft-coral); color: #9f523e; font-weight: 900; }
    .feedback-note p { margin: 0; color: #46534a; }
    .category-entry { display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 22px 24px; border: 1px solid #c8d2c7; background: #e7eee5; }
    .category-entry h2 { margin: 0 0 5px; font-size: 22px; }
    .category-entry p { margin: 0; color: #536057; font-size: 14px; }
    .category-entry .button { flex: 0 0 auto; }
    .news-layout { display: grid; grid-template-columns: .95fr 1.05fr; gap: 44px; }
    .news-feature { padding: 24px; background: var(--soft-coral); border-left: 4px solid var(--coral); }
    .news-feature small, .news-item small { color: var(--muted); font-size: 12px; }
    .news-feature h3 { margin: 10px 0; font-size: 21px; line-height: 1.45; }
    .news-feature p { margin: 0; color: #59645d; font-size: 14px; }
    .news-list { border-top: 1px solid var(--line); }
    .news-item { display: grid; grid-template-columns: 1fr auto; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--line); }
    .news-item strong { display: block; font-size: 15px; }
    .news-item span { color: var(--coral); font-size: 12px; }
    .faq-list { border-top: 1px solid var(--line); }
    details { border-bottom: 1px solid var(--line); }
    summary { position: relative; padding: 17px 34px 17px 0; cursor: pointer; list-style: none; font-weight: 750; }
    summary::-webkit-details-marker { display: none; }
    summary::after { content: "+"; position: absolute; right: 2px; top: 13px; color: var(--green); font-size: 22px; }
    details[open] summary::after { content: "−"; }
    details p { max-width: 850px; margin: 0; padding: 0 0 17px; color: var(--muted); font-size: 14px; }
    .closing-band { padding: 40px 0; background: #dce5d9; }
    .closing-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
    .closing-inner h2 { margin: 0 0 5px; font-size: 24px; }
    .closing-inner p { margin: 0; color: #536057; }
    .site-footer { padding: 35px 0 22px; background: #202c25; color: #f4f3ec; }
    .footer-top { display: grid; grid-template-columns: 1.3fr .7fr .9fr; gap: 40px; padding-bottom: 28px; }
    .footer-brand { margin-bottom: 10px; font-size: 17px; font-weight: 800; }
    .footer-copy { max-width: 420px; margin: 0; color: #bdc8be; font-size: 13px; }
    .footer-title { margin: 0 0 10px; color: #d5dfd4; font-size: 13px; font-weight: 800; }
    .footer-links { display: grid; gap: 7px; }
    .footer-links a { color: #c2cdc3; font-size: 13px; }
    .footer-links a:hover { color: #fff; }
    .footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding-top: 15px; border-top: 1px solid #46534a; color: #aeb9b0; font-size: 12px; }
    .footer-bottom a { color: #d3ddd4; }
    .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

    @media (max-width: 1024px) {
      .hero-layout { gap: 26px; }
      .section { padding: 48px 0; }
      .editorial-grid { grid-template-columns: 1fr 1fr; }
      .editorial-item:first-child { grid-column: span 2; }
      .field-wall { grid-template-columns: repeat(2, 1fr); }
    }
    @media (max-width: 768px) {
      .site-container { width: min(100% - 34px, var(--content)); }
      .brand-row { min-height: 62px; }
      .brand { font-size: 16px; }
      .hero-band { padding: 32px 0 26px; }
      .hero-layout, .feature-band, .scene-layout, .sample-feature, .news-layout { grid-template-columns: 1fr; }
      .hero-art { max-width: 570px; min-height: 185px; }
      .hero-copy { font-size: 15px; }
      .section-heading { display: block; }
      .section-heading p { margin-top: 9px; }
      .entry-grid { grid-template-columns: 1fr 1fr; }
      .entry:first-child { grid-column: span 2; }
      .sample-strip { grid-template-columns: 1fr 1fr; }
      .steps { grid-template-columns: 1fr 1fr; row-gap: 23px; }
      .editorial-grid { grid-template-columns: 1fr 1fr; }
      .editorial-item:first-child { grid-column: span 2; }
      .info-row { grid-template-columns: 145px 1fr; }
      .footer-top { grid-template-columns: 1fr 1fr; }
      .footer-top > div:first-child { grid-column: span 2; }
    }
    @media (max-width: 520px) {
      .site-container { width: calc(100% - 28px); }
      .header-actions { gap: 6px; }
      .header-link { padding: 0 10px; min-height: 35px; font-size: 12px; }
      .brand { gap: 8px; font-size: 14px; }
      .brand-mark { width: 30px; height: 30px; }
      h1 { font-size: 32px; }
      .hero-layout { gap: 23px; }
      .hero-art { min-height: 155px; gap: 7px; }
      .art-tile { min-height: 70px; padding: 10px; }
      .art-tile strong { font-size: 15px; }
      .section { padding: 39px 0; }
      .section-heading h2 { font-size: 22px; }
      .entry-grid { grid-template-columns: 1fr; }
      .entry:first-child { grid-column: auto; }
      .entry { min-height: 118px; }
      .feature-row { grid-template-columns: 35px 1fr; gap: 10px; }
      .feature-tag { grid-column: 2; }
      .scene-layout { gap: 18px; }
      .sample-strip, .steps, .editorial-grid { grid-template-columns: 1fr; }
      .editorial-item:first-child { grid-column: auto; }
      .sample { min-height: 135px; }
      .info-row { grid-template-columns: 1fr; gap: 4px; }
      .field-wall { grid-template-columns: 1fr 1fr; }
      .category-entry, .closing-inner { align-items: flex-start; flex-direction: column; }
      .news-layout { gap: 22px; }
      .footer-top { grid-template-columns: 1fr 1fr; gap: 24px 16px; }
      .footer-top > div:first-child { grid-column: span 2; }
      .footer-bottom { flex-direction: column; gap: 6px; }
      .button-row .button { flex: 1 1 145px; }
    }
    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
    }

/* roulang page: category1 */
:root {
            --paper: #f4f2ec;
            --surface: #fffefa;
            --ink: #202522;
            --muted: #66706b;
            --line: #dcded6;
            --green: #35644f;
            --green-dark: #254b3b;
            --lime: #c9d87c;
            --coral: #d7785e;
            --blue: #7794a0;
            --soft-green: #e8eee6;
            --soft-coral: #f3e6df;
            --soft-blue: #e5ecec;
            --radius: 8px;
            --shadow: 0 10px 28px rgba(34, 47, 39, .07);
            --content: 1180px;
        }

        * { box-sizing: border-box; }
        html { scroll-behavior: smooth; scroll-padding-top: 122px; }
        body {
            margin: 0;
            background: var(--paper);
            color: var(--ink);
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
            font-size: 16px;
            line-height: 1.7;
            -webkit-font-smoothing: antialiased;
        }
        a { color: inherit; text-decoration: none; }
        a:hover { color: var(--green-dark); }
        a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible {
            outline: 3px solid rgba(215, 120, 94, .65);
            outline-offset: 3px;
        }
        img { display: block; max-width: 100%; }
        button, input, select { font: inherit; }
        button, a { -webkit-tap-highlight-color: transparent; }
        button:disabled { cursor: not-allowed; opacity: .55; }
        .site-container { width: min(var(--content), calc(100% - 48px)); margin-inline: auto; }

        .site-header {
            position: sticky;
            top: 0;
            z-index: 50;
            background: rgba(244, 242, 236, .97);
            border-bottom: 1px solid rgba(32, 37, 34, .11);
            backdrop-filter: blur(10px);
        }
        .brand-row {
            min-height: 68px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 20px;
        }
        .brand {
            display: inline-flex;
            align-items: center;
            gap: 11px;
            min-width: 0;
            color: var(--ink);
            font-size: 18px;
            font-weight: 800;
        }
        .brand-mark {
            width: 34px;
            height: 34px;
            display: grid;
            place-items: center;
            flex: 0 0 auto;
            border-radius: 10px 3px 10px 3px;
            background: var(--green);
            color: #fff;
            font-size: 16px;
            line-height: 1;
        }
        .brand-name { overflow-wrap: anywhere; }
        .header-actions { display: flex; align-items: center; gap: 10px; }
        .header-link {
            min-height: 38px;
            padding: 0 14px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border: 1px solid var(--line);
            border-radius: 5px;
            color: var(--ink);
            font-size: 14px;
            font-weight: 700;
            transition: background .18s ease, border-color .18s ease, color .18s ease;
        }
        .header-link:hover, .header-link[aria-current="page"] {
            color: var(--green-dark);
            border-color: var(--green);
            background: var(--soft-green);
        }
        .chip-nav { overflow: hidden; border-top: 1px solid rgba(32, 37, 34, .07); }
        .chip-track {
            display: flex;
            gap: 9px;
            overflow-x: auto;
            padding: 9px 0 11px;
            scrollbar-width: thin;
            scrollbar-color: #a8b0a6 transparent;
            white-space: nowrap;
        }
        .chip {
            min-height: 32px;
            padding: 4px 13px;
            display: inline-flex;
            align-items: center;
            flex: 0 0 auto;
            border: 1px solid #d3d8ce;
            border-radius: 4px;
            color: #4a554d;
            font-size: 13px;
            font-weight: 650;
            transition: color .18s ease, background .18s ease, border-color .18s ease;
        }
        .chip:hover { border-color: var(--green); background: #edf1e9; color: var(--green-dark); }
        .chip.is-current { border-color: var(--green); background: var(--green); color: #fff; }

        main { overflow: clip; }
        .crumb-band { padding: 16px 0 0; }
        .breadcrumbs {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 8px;
            margin: 0;
            color: var(--muted);
            font-size: 13px;
        }
        .breadcrumbs a { color: var(--green-dark); text-decoration: underline; text-decoration-color: #a8b9ad; text-underline-offset: 3px; }
        .breadcrumbs .separator { color: #9aa39c; }
        .category-intro {
            padding: 24px 0 29px;
            border-bottom: 1px solid rgba(32, 37, 34, .1);
        }
        .eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            margin: 0 0 9px;
            color: var(--green);
            font-size: 12px;
            font-weight: 800;
        }
        .eyebrow::before { width: 22px; height: 2px; background: var(--coral); content: ""; }
        h1, h2, h3, p { overflow-wrap: anywhere; }
        .category-intro h1 {
            max-width: 850px;
            margin: 0 0 10px;
            font-size: clamp(27px, 3vw, 38px);
            line-height: 1.28;
            font-weight: 850;
        }
        .category-intro p {
            max-width: 820px;
            margin: 0;
            color: #56615a;
            font-size: 15px;
            line-height: 1.85;
        }
        .section {
            padding: 45px 0;
            border-bottom: 1px solid rgba(32, 37, 34, .09);
        }
        .section-tint { background: #eeeee7; }
        .section-dark { background: #2b4035; color: #f8f7ef; }
        .section-heading {
            display: flex;
            align-items: end;
            justify-content: space-between;
            gap: 24px;
            margin-bottom: 22px;
        }
        .section-heading h2 { margin: 0; font-size: 25px; line-height: 1.32; font-weight: 820; }
        .section-heading p { max-width: 560px; margin: 0; color: var(--muted); font-size: 14px; }
        .section-dark .section-heading p { color: #c4cec5; }
        .section-kicker { display: block; margin-bottom: 6px; color: var(--coral); font-size: 12px; font-weight: 800; }

        .category-lead {
            display: grid;
            grid-template-columns: minmax(220px, .65fr) minmax(0, 1.35fr);
            gap: 36px;
            align-items: start;
        }
        .category-lead h2 { margin: 0; font-size: 21px; line-height: 1.45; }
        .category-lead p { margin: 0; color: #515d55; font-size: 15px; line-height: 1.9; }
        .scope-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
        .scope-tag {
            padding: 5px 10px;
            border: 1px solid #ccd4ca;
            border-radius: 4px;
            color: #4b5a50;
            background: rgba(255, 254, 250, .6);
            font-size: 12px;
            font-weight: 700;
        }

        .filter-bar {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: space-between;
            gap: 14px;
            margin-bottom: 20px;
            padding: 13px 15px;
            border: 1px solid var(--line);
            border-radius: var(--radius);
            background: var(--surface);
        }
        .filter-label { color: #58635c; font-size: 13px; font-weight: 750; }
        .filter-controls { display: flex; flex-wrap: wrap; gap: 8px; }
        .filter-button {
            min-height: 36px;
            padding: 0 12px;
            border: 1px solid #d1d7ce;
            border-radius: 4px;
            background: #fffefa;
            color: #425047;
            cursor: pointer;
            font-size: 13px;
            font-weight: 700;
            transition: background .18s ease, border-color .18s ease, color .18s ease;
        }
        .filter-button:hover { border-color: var(--green); color: var(--green-dark); }
        .filter-button[aria-pressed="true"] { border-color: var(--green); background: var(--soft-green); color: var(--green-dark); }
        .filter-button:active { background: #dfe8dc; }
        .results-count { color: var(--muted); font-size: 13px; }

        .content-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
        .content-item {
            min-width: 0;
            display: grid;
            grid-template-columns: 154px minmax(0, 1fr);
            gap: 17px;
            padding: 13px;
            border: 1px solid #e0e2db;
            border-radius: var(--radius);
            background: var(--surface);
            transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
        }
        .content-item:hover { transform: translateY(-2px); border-color: #b7c7b8; box-shadow: var(--shadow); }
        .content-cover {
            min-height: 150px;
            display: grid;
            place-items: center;
            position: relative;
            overflow: hidden;
            border-radius: 5px;
            color: #253a30;
            background: #dce5d7;
        }
        .content-cover::before, .content-cover::after {
            position: absolute;
            width: 90px;
            height: 90px;
            content: "";
            border: 1px solid rgba(32, 37, 34, .17);
            transform: rotate(32deg);
        }
        .content-cover::before { top: -35px; right: -20px; }
        .content-cover::after { bottom: -52px; left: -25px; width: 120px; height: 120px; }
        .content-cover span { position: relative; z-index: 1; font-size: 43px; font-weight: 850; }
        .tone-olive { background: #dfe4ce; color: #46543a; }
        .tone-rust { background: #ead8cd; color: #744b3e; }
        .tone-rose { background: #eadbd8; color: #754c4a; }
        .tone-sage { background: #dce7dd; color: #3f5e4c; }
        .tone-blue { background: #dbe5e6; color: #405a60; }
        .tone-plum { background: #e2dfe0; color: #5d4e58; }
        .content-meta { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 7px; }
        .meta-pill {
            padding: 2px 7px;
            border-radius: 3px;
            background: #eef0e9;
            color: #526056;
            font-size: 11px;
            font-weight: 750;
        }
        .content-item h3 { margin: 0 0 5px; font-size: 16px; line-height: 1.45; font-weight: 800; }
        .content-item p { margin: 0 0 9px; color: var(--muted); font-size: 13px; line-height: 1.65; }
        .item-link { display: inline-flex; align-items: center; gap: 7px; color: var(--green-dark); font-size: 13px; font-weight: 800; }
        .item-link::after { content: "→"; transition: transform .18s ease; }
        .item-link:hover::after { transform: translateX(3px); }
        .empty-state {
            display: none;
            grid-column: 1 / -1;
            padding: 24px;
            border: 1px dashed #bfc8bc;
            border-radius: var(--radius);
            color: var(--muted);
            background: rgba(255, 254, 250, .7);
            text-align: center;
        }

        .feature-list { border-top: 1px solid rgba(255, 255, 255, .2); }
        .feature-row {
            display: grid;
            grid-template-columns: 50px minmax(0, 1fr) auto;
            gap: 15px;
            align-items: center;
            padding: 15px 0;
            border-bottom: 1px solid rgba(255, 255, 255, .2);
        }
        .feature-number { color: var(--lime); font-size: 13px; font-weight: 850; }
        .feature-row strong { display: block; font-size: 15px; }
        .feature-row p { margin: 3px 0 0; color: #c4cec5; font-size: 13px; }
        .feature-tag { color: #d8dfbd; font-size: 12px; font-weight: 750; }

        .faq-list { border-top: 1px solid var(--line); }
        .faq-item { border-bottom: 1px solid var(--line); }
        .faq-item summary {
            position: relative;
            padding: 17px 36px 17px 0;
            color: var(--ink);
            cursor: pointer;
            list-style: none;
            font-size: 15px;
            font-weight: 780;
        }
        .faq-item summary::-webkit-details-marker { display: none; }
        .faq-item summary::after {
            position: absolute;
            top: 15px;
            right: 5px;
            color: var(--green);
            content: "+";
            font-size: 21px;
            line-height: 1;
        }
        .faq-item[open] summary::after { content: "−"; }
        .faq-answer { max-width: 860px; padding: 0 20px 17px 0; color: var(--muted); font-size: 14px; line-height: 1.8; }
        .faq-answer p { margin: 0; }

        .related-layout { display: grid; grid-template-columns: 1.1fr .9fr; gap: 36px; align-items: start; }
        .related-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
        .related-list li { border-bottom: 1px solid var(--line); }
        .related-list a {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 16px;
            padding: 13px 0;
            font-size: 14px;
            font-weight: 700;
        }
        .related-list a::after { color: var(--coral); content: "↗"; font-size: 16px; }
        .related-list a:hover { color: var(--green-dark); }
        .return-panel {
            padding: 21px;
            border-left: 3px solid var(--coral);
            background: #f0eee5;
        }
        .return-panel h3 { margin: 0 0 7px; font-size: 18px; }
        .return-panel p { margin: 0 0 14px; color: var(--muted); font-size: 14px; }
        .button {
            min-height: 42px;
            padding: 0 16px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border: 1px solid transparent;
            border-radius: 5px;
            font-size: 14px;
            font-weight: 750;
            transition: transform .18s ease, background .18s ease, border-color .18s ease, color .18s ease;
        }
        .button:hover { transform: translateY(-1px); }
        .button:active { transform: translateY(0); }
        .button-primary { background: var(--green); color: #fff; }
        .button-primary:hover { background: var(--green-dark); color: #fff; }
        .button-secondary { border-color: #aab5aa; background: transparent; color: var(--green-dark); }
        .button-secondary:hover { border-color: var(--green); background: #fffefa; }

        .site-footer { padding: 37px 0 18px; background: #e9e8df; }
        .footer-top { display: grid; grid-template-columns: 1.5fr .7fr .8fr; gap: 35px; padding-bottom: 27px; }
        .footer-brand { margin-bottom: 8px; font-size: 18px; font-weight: 850; }
        .footer-copy { max-width: 500px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.8; }
        .footer-title { margin: 0 0 10px; font-size: 13px; font-weight: 820; }
        .footer-links { display: grid; gap: 7px; }
        .footer-links a { width: fit-content; color: #526057; font-size: 13px; }
        .footer-links a:hover { color: var(--green-dark); text-decoration: underline; text-underline-offset: 3px; }
        .footer-bottom {
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;
            gap: 8px 20px;
            padding-top: 14px;
            border-top: 1px solid #d2d4cc;
            color: #687169;
            font-size: 12px;
        }
        .footer-bottom a { text-decoration: underline; text-underline-offset: 2px; }

        @media (max-width: 1024px) {
            .content-list { grid-template-columns: 1fr; }
            .content-item { grid-template-columns: 170px minmax(0, 1fr); }
        }
        @media (max-width: 768px) {
            .site-container { width: min(var(--content), calc(100% - 34px)); }
            .category-lead, .related-layout { grid-template-columns: 1fr; gap: 17px; }
            .section { padding: 37px 0; }
            .section-heading { align-items: start; flex-direction: column; gap: 8px; }
            .footer-top { grid-template-columns: 1fr 1fr; gap: 25px; }
            .footer-top > :first-child { grid-column: 1 / -1; }
            .feature-row { grid-template-columns: 40px minmax(0, 1fr); }
            .feature-tag { grid-column: 2; }
        }
        @media (max-width: 520px) {
            html { scroll-padding-top: 112px; }
            .site-container { width: calc(100% - 28px); }
            .brand-row { min-height: 60px; gap: 8px; }
            .brand { gap: 8px; font-size: 15px; }
            .brand-mark { width: 31px; height: 31px; }
            .header-actions { gap: 6px; }
            .header-link { min-height: 34px; padding: 0 9px; font-size: 12px; }
            .chip-track { gap: 7px; padding: 8px 0 9px; }
            .chip { min-height: 31px; padding: 4px 10px; font-size: 12px; }
            .crumb-band { padding-top: 12px; }
            .category-intro { padding: 18px 0 22px; }
            .category-intro h1 { font-size: 27px; }
            .category-intro p { font-size: 14px; }
            .section { padding: 31px 0; }
            .section-heading h2 { font-size: 21px; }
            .filter-bar { align-items: start; flex-direction: column; padding: 12px; }
            .filter-controls { width: 100%; }
            .filter-button { flex: 1 1 auto; }
            .content-item { grid-template-columns: 92px minmax(0, 1fr); gap: 12px; padding: 10px; }
            .content-cover { min-height: 124px; }
            .content-cover span { font-size: 32px; }
            .content-item h3 { font-size: 14px; }
            .content-item p { font-size: 12px; }
            .meta-pill { font-size: 10px; }
            .footer-top { grid-template-columns: 1fr; gap: 19px; }
            .footer-top > :first-child { grid-column: auto; }
            .footer-bottom { flex-direction: column; }
        }
        @media (prefers-reduced-motion: reduce) {
            *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
        }
