
      :root {
        color-scheme: light dark;
        --bg: #f6f4ee;
        --surface: #ffffff;
        --surface-2: #efeadf;
        --ink: #182429;
        --ink-soft: #45565f;
        --line: #d9d2c2;
        --accent: #0b6b57;
        --accent-strong: #084f40;
        --accent-ink: #ffffff;
        --accent-soft: #e0efe9;
        --warn-bg: #fdf3e0;
        --warn-line: #e3c07a;
        --warn-ink: #6b4e08;
        --focus: #c2410c;
        --shadow: 0 1px 2px rgba(24, 36, 41, 0.06), 0 8px 24px rgba(24, 36, 41, 0.07);
      }
      @media (prefers-color-scheme: dark) {
        :root {
          --bg: #0d1417;
          --surface: #162126;
          --surface-2: #1d2c33;
          --ink: #edf4f1;
          --ink-soft: #b7c7c2;
          --line: #31454e;
          --accent: #4cc2a8;
          --accent-strong: #7fd8c3;
          --accent-ink: #05231b;
          --accent-soft: #11362e;
          --warn-bg: #3a2f14;
          --warn-line: #8a6d2f;
          --warn-ink: #f2d492;
          --focus: #ffa25e;
          --shadow: 0 1px 2px rgba(0, 0, 0, 0.4), 0 8px 24px rgba(0, 0, 0, 0.35);
        }
      }
      * { box-sizing: border-box; }
      html { -webkit-text-size-adjust: 100%; }
      body {
        margin: 0;
        background: var(--bg);
        color: var(--ink);
        font-family: "Atkinson Hyperlegible", -apple-system, "Segoe UI", Roboto, sans-serif;
        font-size: 1.125rem;
        line-height: 1.6;
      }
      h1, h2, h3 { font-family: "Source Serif 4", Georgia, "Times New Roman", serif; line-height: 1.15; margin: 0 0 0.5em; }
      h1 { font-size: 2.55rem; font-weight: 700; letter-spacing: -0.01em; }
      h2 { font-size: 1.85rem; font-weight: 700; }
      h3 { font-size: 1.3rem; font-weight: 600; }
      p { margin: 0 0 1em; }
      a { color: var(--accent-strong); text-decoration: underline; text-underline-offset: 0.16em; }
      @media (prefers-color-scheme: dark) { a { color: var(--accent-strong); } }
      a:hover { text-decoration-thickness: 2px; }
      :focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; border-radius: 4px; }
      .wrap { max-width: 66rem; margin: 0 auto; padding: 0 1.25rem; }

      .skip-link {
        position: absolute; left: 1rem; top: -4rem; z-index: 50;
        background: var(--accent); color: var(--accent-ink);
        padding: 0.75rem 1.25rem; border-radius: 0 0 10px 10px;
        font-weight: 700; text-decoration: none;
        transition: top 0.15s ease;
      }
      .skip-link:focus { top: 0; color: var(--accent-ink); }

      /* ---------- Header / tab bar ---------- */
      .site-head {
        position: sticky; top: 0; z-index: 40;
        background: var(--bg);
        border-bottom: 1px solid var(--line);
      }
      .head-inner { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.35rem 1rem; padding-top: 0.9rem; }
      .wordmark { display: inline-flex; align-items: center; gap: 0.55rem; font-family: "Source Serif 4", Georgia, serif; font-size: 1.55rem; font-weight: 700; color: var(--ink); text-decoration: none; }
      .wordmark:hover { text-decoration: underline; }
      .wordmark-mark { width: 2.35rem; height: 2.35rem; flex: 0 0 auto; }
      .wordmark-mark path { fill: none; stroke: var(--accent); stroke-width: 6; stroke-linecap: round; }
      nav.tabs { margin-top: 0.55rem; }
      .nav-list { display: flex; flex-wrap: wrap; gap: 0.25rem 0.4rem; }
      .nav-link {
        appearance: none; border: 1px solid transparent; background: transparent;
        font: inherit; font-weight: 700; font-size: 1.02rem; color: var(--ink-soft);
        padding: 0.65rem 0.95rem; border-radius: 10px 10px 0 0; cursor: pointer;
        border-bottom: 3px solid transparent; min-height: 3rem;
      }
      .nav-link:hover { color: var(--ink); background: var(--surface-2); }
      .nav-link[aria-current="page"] { color: var(--accent-strong); border-bottom-color: var(--accent); background: var(--surface); }
      @media (prefers-color-scheme: dark) { .nav-link[aria-current="page"] { color: var(--accent); } }
      @media (max-width: 640px) {
        .site-head .wrap { padding: 0 0.75rem; }
        .head-inner { flex-wrap: nowrap; gap: 0.35rem 0.6rem; padding-top: 0.55rem; }
        .wordmark { font-size: 1.28rem; white-space: nowrap; }
        .wordmark-mark { width: 1.95rem; height: 1.95rem; }
        nav.tabs { margin-top: 0.3rem; }
        .nav-list {
          flex-wrap: nowrap; overflow-x: auto; overflow-y: hidden;
          padding: 0.1rem 0.1rem 0.3rem; scrollbar-width: none;
          -webkit-overflow-scrolling: touch;
        }
        .nav-list::-webkit-scrollbar { display: none; }
        .nav-link { flex: 0 0 auto; font-size: 0.92rem; padding: 0.5rem 0.65rem; min-height: 2.75rem; }
      }

      main { padding: 2.2rem 0 3.5rem; }
      .panel { animation: none; }
      .panel[hidden] { display: none; }
      .lede { font-size: 1.28rem; color: var(--ink-soft); max-width: 42rem; }
      .section-intro { max-width: 44rem; }

      /* ---------- Triage ---------- */
      .triage { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 1.8rem 0 0.5rem; }
      @media (max-width: 640px) { .triage { grid-template-columns: 1fr; } h1 { font-size: 2.1rem; } }
      .triage-btn {
        appearance: none; text-align: left; cursor: pointer; font: inherit;
        background: var(--surface); color: var(--ink);
        border: 2px solid var(--accent); border-radius: 16px;
        padding: 1.4rem 1.5rem; box-shadow: var(--shadow); min-height: 4.5rem;
      }
      .triage-btn:hover { background: var(--accent-soft); }
      .triage-btn .triage-title { display: block; font-family: "Source Serif 4", Georgia, serif; font-size: 1.5rem; font-weight: 700; margin-bottom: 0.3rem; }
      .triage-btn .triage-sub { display: block; color: var(--ink-soft); font-size: 1.02rem; }
      .triage-btn[aria-expanded="true"] { background: var(--accent); color: var(--accent-ink); }
      .triage-btn[aria-expanded="true"] .triage-sub { color: var(--accent-ink); opacity: 0.92; }
      .path {
        background: var(--surface); border: 1px solid var(--line); border-radius: 16px;
        padding: 1.6rem 1.6rem 0.8rem; margin: 1rem 0 1.5rem; box-shadow: var(--shadow);
      }
      .path[hidden] { display: none; }
      .path ol, .path ul { padding-left: 1.4rem; margin: 0 0 1rem; }
      .path li { margin-bottom: 0.7rem; }
      .path li strong { display: block; font-size: 1.08rem; }

      /* ---------- Cards & lists ---------- */
      .doors { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1.2rem; }
      @media (max-width: 640px) { .doors { grid-template-columns: 1fr; } }
      .door {
        appearance: none; text-align: left; cursor: pointer; font: inherit;
        background: var(--surface); color: var(--ink); border: 1px solid var(--line);
        border-radius: 14px; padding: 1.15rem 1.25rem; box-shadow: var(--shadow); min-height: 3.5rem;
      }
      .door:hover { border-color: var(--accent); }
      .door .door-title { display: block; font-weight: 700; font-size: 1.15rem; margin-bottom: 0.2rem; }
      .door .door-sub { display: block; color: var(--ink-soft); font-size: 0.99rem; }
      .door .door-go { display: block; margin-top: 0.55rem; font-weight: 700; color: var(--accent-strong); }
      @media (prefers-color-scheme: dark) { .door .door-go { color: var(--accent); } }

      .card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(19rem, 100%), 1fr)); gap: 1rem; margin: 1.2rem 0; }
      .card {
        background: var(--surface); border: 1px solid var(--line); border-radius: 14px;
        padding: 1.25rem 1.35rem; box-shadow: var(--shadow);
      }
      .card h3 { margin-bottom: 0.35rem; }
      .card h4 { font-family: "Source Serif 4", Georgia, serif; font-size: 1.22rem; font-weight: 600; line-height: 1.2; margin: 0 0 0.35rem; }
      .apps-cat { margin-top: 2rem; }
      .card p { color: var(--ink-soft); margin-bottom: 0.6rem; overflow-wrap: break-word; }
      .card p:last-child { margin-bottom: 0; }
      .tag {
        display: inline-block; font-size: 0.8rem; font-weight: 700; letter-spacing: 0.03em;
        background: var(--accent-soft); color: var(--accent-strong);
        border-radius: 999px; padding: 0.14rem 0.6rem; margin-bottom: 0.6rem;
      }
      @media (prefers-color-scheme: dark) { .tag { color: var(--accent); } }

      .trust-row { display: flex; flex-wrap: wrap; gap: 0.6rem 2rem; margin: 2rem 0 0; padding: 0; list-style: none; }
      .trust-row li { font-weight: 700; }
      .trust-row li::before { content: "✓ "; color: var(--accent); font-weight: 700; }
      @media (prefers-color-scheme: dark) { .trust-row li::before { color: var(--accent); } }

      .stat-row { display: flex; flex-wrap: wrap; gap: 1rem; margin: 1.4rem 0; }
      .stat { background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: 1rem 1.3rem; min-width: 10.5rem; box-shadow: var(--shadow); }
      .stat .num { display: block; font-family: "Source Serif 4", Georgia, serif; font-size: 2rem; font-weight: 700; line-height: 1.1; }
      .stat .lbl { display: block; color: var(--ink-soft); font-size: 0.98rem; }

      .btn {
        display: inline-block; appearance: none; cursor: pointer; font: inherit; font-weight: 700;
        background: var(--accent); color: var(--accent-ink); border: 2px solid var(--accent);
        border-radius: 12px; padding: 0.8rem 1.4rem; text-decoration: none; min-height: 3.2rem;
      }
      .btn:hover { background: var(--accent-strong); border-color: var(--accent-strong); color: var(--accent-ink); }
      @media (prefers-color-scheme: dark) { .btn:hover { color: var(--accent-ink); } }
      .btn.secondary { background: transparent; color: var(--accent-strong); }
      .btn.secondary:hover { background: var(--accent-soft); color: var(--accent-strong); }
      @media (prefers-color-scheme: dark) { .btn.secondary { color: var(--accent); } .btn.secondary:hover { color: var(--accent); } }

      .note {
        background: var(--warn-bg); border: 1px solid var(--warn-line); color: var(--warn-ink);
        border-radius: 12px; padding: 1rem 1.25rem; margin: 1.2rem 0;
      }
      .note strong { display: block; margin-bottom: 0.2rem; }
      .note p { margin: 0; }

      .criteria { list-style: none; padding: 0; margin: 1rem 0; display: grid; gap: 0.7rem; }
      .criteria li { background: var(--surface); border: 1px solid var(--line); border-radius: 12px; padding: 0.9rem 1.15rem; }
      .criteria li strong { display: block; }

      .review-sample { border: 1px solid var(--line); background: var(--surface); border-radius: 14px; padding: 1.3rem 1.4rem; margin: 1.2rem 0; box-shadow: var(--shadow); }
      .review-sample table { width: 100%; border-collapse: collapse; margin-top: 0.6rem; }
      .review-sample th, .review-sample td { text-align: left; padding: 0.45rem 0.4rem; border-bottom: 1px solid var(--line); vertical-align: top; }
      .review-sample th { width: 46%; font-weight: 700; }
      @media (max-width: 560px) {
        .review-sample th, .review-sample td { display: block; width: 100%; border-bottom: none; padding: 0.15rem 0; }
        .review-sample tr { display: block; border-bottom: 1px solid var(--line); padding: 0.4rem 0; }
      }

      /* ---------- Shopping: catalog + product pages ---------- */
      .shop-filters { display:flex; flex-wrap:wrap; gap:0.5rem; margin:1rem 0 0.4rem; }
      .shop-filters button { appearance:none; font:inherit; font-weight:700; cursor:pointer; background:var(--surface); color:var(--ink); border:1.5px solid var(--line); border-radius:999px; padding:0.55rem 1rem; min-height:3rem; }
      .shop-filters button[aria-pressed="true"] { background:var(--accent); color:var(--accent-ink); border-color:var(--accent); }
      .product-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(19rem,100%),1fr)); gap:1rem; margin:1.2rem 0; }
      .product-open { appearance:none; text-align:left; cursor:pointer; font:inherit; background:var(--surface); color:var(--ink); border:1px solid var(--line); border-radius:14px; padding:1.2rem 1.3rem; box-shadow:var(--shadow); width:100%; }
      .product-open:hover { border-color:var(--accent); }
      .product-open .p-thumb { display:block; width:100%; height:10.5rem; object-fit:contain; background:#fff; border:1px solid var(--line); border-radius:10px; margin-bottom:0.9rem; }
      .product-open .p-name { display:block; font-family:"Source Serif 4",Georgia,serif; font-size:1.28rem; font-weight:700; line-height:1.2; margin-bottom:0.3rem; }
      .product-open .p-meta { display:block; font-weight:700; color:var(--accent-strong); margin-bottom:0.35rem; }
      @media (prefers-color-scheme:dark){ .product-open .p-meta{ color:var(--accent);} }
      .product-open .p-desc { display:block; color:var(--ink-soft); }
      .product-open .p-go { display:block; margin-top:0.6rem; font-weight:700; color:var(--accent-strong); }
      @media (prefers-color-scheme:dark){ .product-open .p-go{ color:var(--accent);} }
      .product-open[hidden]{display:none;}
      .product-grid[hidden]{display:none;}
      .product-detail { background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:1.6rem; box-shadow:var(--shadow); margin:1.2rem 0; }
      .product-detail[hidden]{display:none;}
      .product-detail h2{margin-top:0.4rem;}
      .product-photo { margin:1.1rem 0 1.25rem; }
      .product-photo img { display:block; width:100%; max-width:32rem; height:auto; border:1px solid var(--line); border-radius:12px; background:#fff; }
      .product-photo figcaption { margin-top:0.5rem; font-size:0.94rem; color:var(--ink-soft); max-width:36rem; }
      .product-photo.small img { max-width:15rem; }
      .fact-box { background:var(--surface-2); border-radius:12px; padding:1rem 1.2rem; margin:1rem 0; }
      .fact-box dl{margin:0; display:grid; gap:0.45rem;}
      .fact-box div{display:flex; flex-wrap:wrap; gap:0.3rem 0.7rem;}
      .fact-box dt{font-weight:700; min-width:7.5rem;}
      .fact-box dd{margin:0;}
      .blind-table{width:100%; border-collapse:collapse; margin:0.6rem 0 1rem;}
      .blind-table th,.blind-table td{text-align:left; padding:0.5rem 0.4rem; border-bottom:1px solid var(--line); vertical-align:top;}
      .blind-table th{width:38%; font-weight:700;}
      @media (max-width:560px){ .blind-table th,.blind-table td{display:block;width:100%;border-bottom:none;padding:0.15rem 0;} .blind-table tr{display:block;border-bottom:1px solid var(--line);padding:0.4rem 0;} }
      .model-table{width:100%; border-collapse:collapse; margin:0.6rem 0 1.2rem;}
      .model-table th,.model-table td{text-align:left; padding:0.5rem 0.45rem; border-bottom:1px solid var(--line); vertical-align:top;}
      .model-table thead th{font-weight:700; border-bottom:2px solid var(--line);}
      .model-table td:first-child{font-weight:700;}
      @media (max-width:640px){
        .model-table thead{display:none;}
        .model-table tr{display:block; border-bottom:1px solid var(--line); padding:0.45rem 0;}
        .model-table th,.model-table td{display:block; width:100%; border-bottom:none; padding:0.12rem 0;}
      }
      .buy-box{border-top:2px solid var(--accent); margin-top:1.4rem; padding-top:1.1rem;}
      .back-btn{margin-bottom:0.6rem;}
      .status-tag{display:inline-block;font-size:0.82rem;font-weight:700;background:var(--warn-bg);color:var(--warn-ink);border:1px solid var(--warn-line);border-radius:999px;padding:0.16rem 0.65rem;margin-bottom:0.6rem;}

      /* ---------- Make your home accessible (guide) ---------- */
      .home-section { margin-top: 2.6rem; }
      .guide-item { background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: 1.3rem 1.4rem; box-shadow: var(--shadow); margin: 1rem 0; }
      .guide-item h3 { margin-bottom: 0.3rem; }
      .guide-item p { color: var(--ink-soft); }
      .guide-item p strong { color: var(--ink); }
      .guide-item .use-list { margin: 0.2rem 0 0.9rem; padding-left: 1.3rem; color: var(--ink-soft); }
      .guide-item .use-list li { margin-bottom: 0.3rem; }
      .guide-item p:last-child { margin-bottom: 0; }
      .jump-link { font: inherit; font-weight: 700; color: var(--accent-strong); background: none; border: none; padding: 0; text-decoration: underline; text-underline-offset: 0.16em; cursor: pointer; text-align: left; }
      .jump-link.quiet { color: inherit; }
      .room-head { margin-top: 1.6rem; }
      @media (prefers-color-scheme: dark) { .jump-link { color: var(--accent); } }
      .inline-link { font: inherit; font-weight: 700; color: inherit; background: none; border: none; padding: 0; text-decoration: underline; text-underline-offset: 0.16em; cursor: pointer; text-align: left; }
      .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
      #compare-form select { width: 100%; }
      .blind-table.compare-table th { width: auto; }
      .blind-table.compare-table th:first-child { width: 15%; }


      /* ---------- Earning guide ---------- */
      .guide-notice { background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:1.5rem 1.6rem; box-shadow:var(--shadow); margin:1.4rem 0; }
      .guide-notice > :first-child { margin-top:0; }
      .guide-notice > :last-child { margin-bottom:0; }
      .earn-list { display:grid; gap:0.6rem; margin:1rem 0 1.8rem; }
      .entry-open { appearance:none; text-align:left; cursor:pointer; font:inherit; background:var(--surface); color:var(--ink); border:1px solid var(--line); border-radius:12px; padding:0.85rem 1.1rem; box-shadow:var(--shadow); width:100%; min-height:3rem; }
      .entry-open:hover { border-color:var(--accent); }
      .entry-open .e-name { display:block; font-weight:700; font-size:1.08rem; }
      .entry-open .e-meta { display:block; color:var(--ink-soft); font-size:0.95rem; margin-top:0.15rem; }
      .entry-open[hidden] { display:none; }
      [data-earn-catgroup][hidden] { display:none; }
      .earn-detail { background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:1.6rem; box-shadow:var(--shadow); margin:1.2rem 0; }
      .earn-detail[hidden] { display:none; }
      .earn-detail .hustle-meta, .earn-detail .job-meta { color:var(--ink-soft); font-size:0.92rem; font-weight:700; letter-spacing:0.05em; text-transform:uppercase; margin:0 0 0.4rem; }
      .earn-detail ul.facts { list-style:none; margin:1rem 0 1.2rem; padding:0.4rem 1.2rem; background:var(--surface-2); border-radius:12px; }
      .earn-detail ul.facts li { padding:0.55rem 0; border-bottom:1px solid var(--line); }
      .earn-detail ul.facts li:last-child { border-bottom:none; }
      .earn-detail .etsy-option { border-top:1px solid var(--line); margin-top:2rem; padding-top:1.5rem; }
      .earn-pager { display:flex; flex-wrap:wrap; gap:0.7rem; margin-top:1.8rem; border-top:1px solid var(--line); padding-top:1.2rem; }

      /* ---------- State checker ---------- */
      .checker {
        background: var(--surface); border: 1px solid var(--line); border-radius: 16px;
        padding: 1.5rem 1.6rem; box-shadow: var(--shadow); margin: 1.4rem 0;
      }
      .checker label { display: block; font-weight: 700; margin-bottom: 0.45rem; font-size: 1.1rem; }
      .checker-row { display: flex; flex-wrap: wrap; gap: 0.7rem; align-items: stretch; }
      .checker select {
        font: inherit; color: var(--ink); background: var(--bg);
        border: 2px solid var(--ink-soft); border-radius: 12px; padding: 0.7rem 0.9rem;
        flex: 1 1 16rem; min-height: 3.2rem;
      }
      .checker-result { margin-top: 1.3rem; border-top: 1px solid var(--line); padding-top: 1.2rem; }
      .checker-result[hidden] { display: none; }
      .checker-result h3 { margin-bottom: 0.3rem; }
      .checker-result .verdict { font-weight: 700; font-size: 1.12rem; }
      .fineprint { color: var(--ink-soft); font-size: 0.95rem; }

      .resource-group { margin-top: 2rem; }
      .resource-group:first-of-type { margin-top: 1.2rem; }

      /* ---------- Hero & site search ---------- */
      .hero {
        display: grid; grid-template-columns: 1.12fr 0.88fr; gap: 2rem; align-items: center;
        background: var(--surface); border: 1px solid var(--line); border-radius: 20px;
        padding: 2.2rem; box-shadow: var(--shadow); margin-bottom: 2.6rem;
      }
      .hero h1 { font-size: 2.9rem; margin-bottom: 0.45em; }
      .hero-sub { font-size: 1.3rem; color: var(--ink-soft); max-width: 34rem; margin: 0 0 1.6rem; }
      .hero-photos { margin: 0; display: grid; gap: 0.9rem; }
      .hero-photos img { display: block; width: 100%; height: auto; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
      .hero-photos figcaption { font-size: 0.94rem; color: var(--ink-soft); }
      @media (max-width: 860px) {
        .hero { grid-template-columns: 1fr; padding: 1.6rem 1.4rem; gap: 1.4rem; }
        .hero h1 { font-size: 2.3rem; }
        .hero-photos { grid-template-columns: 1fr 1fr; align-items: start; }
        .hero-photos figcaption { grid-column: 1 / -1; }
      }
      .site-search label { display: block; font-weight: 700; font-size: 1.08rem; margin-bottom: 0.45rem; }
      .search-row { display: flex; flex-wrap: wrap; gap: 0.6rem; }
      .search-row input {
        font: inherit; color: var(--ink); background: var(--bg);
        border: 2px solid var(--ink-soft); border-radius: 12px; padding: 0.7rem 0.9rem;
        flex: 1 1 15rem; min-height: 3.2rem;
      }
      .search-status { margin: 0.7rem 0 0; color: var(--ink-soft); font-size: 0.98rem; min-height: 1.5em; }
      .search-results { list-style: none; margin: 0.6rem 0 0; padding: 0; display: grid; gap: 0.5rem; }
      .search-results[hidden] { display: none; }
      .search-result {
        appearance: none; text-align: left; cursor: pointer; font: inherit; width: 100%;
        background: var(--bg); color: var(--ink); border: 1px solid var(--line);
        border-radius: 12px; padding: 0.75rem 1rem; min-height: 3rem;
      }
      .search-result:hover { border-color: var(--accent); }
      .search-result .sr-name { display: block; font-weight: 700; }
      .search-result .sr-cat { display: block; color: var(--ink-soft); font-size: 0.92rem; }

      /* ---------- Pull quotes & stat band ---------- */
      .pull-quote { margin: 3rem auto; max-width: 44rem; text-align: center; }
      .pull-quote blockquote { margin: 0; }
      .pull-quote blockquote p {
        font-family: "Source Serif 4", Georgia, serif; font-size: 2.15rem; font-weight: 600;
        line-height: 1.28; margin: 0;
      }
      .pull-quote figcaption { margin-top: 0.8rem; color: var(--ink-soft); font-size: 1rem; }
      @media (max-width: 640px) {
        .pull-quote { margin: 2.2rem auto; }
        .pull-quote blockquote p { font-size: 1.7rem; }
      }
      .stat-band { margin: 2.8rem 0 0.4rem; }
      .stat-band .stat-row { margin: 0; }

      /* ---------- Notify-me signup (Kit) ---------- */
      .signup {
        background: var(--surface); border: 1px solid var(--line); border-radius: 16px;
        padding: 1.8rem 1.9rem; box-shadow: var(--shadow); margin-bottom: 2.8rem;
      }
      .signup h2 { margin-bottom: 0.35rem; }
      .signup .signup-lede { color: var(--ink-soft); max-width: 40rem; margin-bottom: 1.2rem; }
      .kit-signup label { display: block; font-weight: 700; margin-bottom: 0.45rem; font-size: 1.05rem; }
      .signup-row { display: flex; flex-wrap: wrap; gap: 0.6rem; }
      .signup-row input {
        font: inherit; color: var(--ink); background: var(--bg);
        border: 2px solid var(--ink-soft); border-radius: 12px; padding: 0.7rem 0.9rem;
        flex: 1 1 16rem; min-height: 3.2rem;
      }
      .signup-status { margin: 0.8rem 0 0; min-height: 1.5em; font-weight: 700; }
      @media (max-width: 640px) { .signup { padding: 1.4rem 1.25rem; } }

      .footer-signup { border-top: 1px solid var(--line); margin-top: 1.6rem; padding-top: 1.4rem; max-width: 34rem; }
      .footer-signup .fs-title { font-weight: 700; font-size: 1.08rem; color: var(--ink); margin-bottom: 0.25rem; }
      .footer-signup .fs-sub { margin-bottom: 0.9rem; }
      .footer-signup .signup-status { color: var(--ink-soft); }

      footer {
        border-top: 1px solid var(--line); padding: 1.8rem 0 2.4rem; color: var(--ink-soft);
      }
      footer p { max-width: 44rem; }
      @media (prefers-reduced-motion: reduce) {
        * { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
      }

      /* ---------- Multi-page navigation & site map ---------- */
      .nav-list { list-style: none; margin: 0; padding: 0; }
      .nav-list li { display: contents; }
      .nav-link { display: inline-block; text-decoration: none; }
      a.product-open, a.entry-open, a.door { text-decoration: none; }
      a.entry-open { display: block; }
      .site-map { border-top: 1px solid var(--line); margin-top: 1.8rem; padding-top: 1.5rem; }
      .site-map h2 { font-size: 1.35rem; margin-bottom: 0.8rem; }
      .map-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(15rem, 100%), 1fr)); gap: 0.5rem 2.5rem; }
      .site-map .map-group { font-weight: 700; color: var(--ink); margin: 0 0 0.45rem; }
      .site-map ul { list-style: none; padding: 0; margin: 0 0 1.2rem; }
      .site-map li { margin-bottom: 0.4rem; }

      /* ---------- Guide sub-headings, on-this-page TOC, affiliate badges ---------- */
      .guide-item h4 { font-family: "Source Serif 4", Georgia, serif; font-size: 1.16rem; font-weight: 600; line-height: 1.25; margin: 0 0 0.3rem; }
      .page-toc { background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: 1.1rem 1.4rem; margin: 1.2rem 0; box-shadow: var(--shadow); }
      .page-toc .toc-title { font-weight: 700; font-size: 1.05rem; margin: 0 0 0.5rem; }
      .page-toc ul { margin: 0; padding-left: 1.3rem; }
      .page-toc li { margin-bottom: 0.35rem; }
      .page-toc li:last-child { margin-bottom: 0; }
      .affiliate-badge {
        display: inline-block; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.02em;
        background: var(--surface-2); color: var(--ink-soft); border: 1px solid var(--line);
        border-radius: 999px; padding: 0.12rem 0.6rem; margin-left: 0.55rem;
        vertical-align: middle; white-space: nowrap;
      }

      /* ---------- Community reviews: form, product display, moderation queue ---------- */
      .community-reviews { border-top: 2px solid var(--accent); margin-top: 1.6rem; padding-top: 1.1rem; }
      .community-reviews > h3 { margin-bottom: 0.3rem; }
      .community-review { border: 1px solid var(--line); background: var(--bg); border-radius: 14px; padding: 1.2rem 1.3rem; margin: 1rem 0; }
      .queue-item { background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: 1.25rem 1.35rem; box-shadow: var(--shadow); margin: 1rem 0; }
      .review-head { display: flex; flex-wrap: wrap; gap: 0.35rem 0.7rem; align-items: center; margin-bottom: 0.15rem; }
      .review-head .reviewer { font-weight: 700; font-size: 1.08rem; }
      .review-head .review-product { font-weight: 700; }
      .badge-verified { display: inline-block; font-size: 0.8rem; font-weight: 700; background: var(--accent); color: var(--accent-ink); border-radius: 999px; padding: 0.14rem 0.6rem; }
      .badge-flagged { display: inline-block; font-size: 0.8rem; font-weight: 700; background: var(--warn-bg); color: var(--warn-ink); border: 1px solid var(--warn-line); border-radius: 999px; padding: 0.14rem 0.6rem; }
      .review-stars { color: var(--accent-strong); font-size: 1.15rem; letter-spacing: 0.12em; margin: 0 0 0.3rem; }
      @media (prefers-color-scheme: dark) { .review-stars { color: var(--accent); } }
      .review-meta { color: var(--ink-soft); font-size: 0.95rem; margin: 0 0 0.4rem; }
      .review-photo { margin: 0.8rem 0; }
      .review-photo img { display: block; width: 100%; max-width: 16rem; height: auto; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
      .review-photo figcaption { font-size: 0.92rem; color: var(--ink-soft); margin-top: 0.35rem; }
      .reviews-status { min-height: 1.5em; font-weight: 700; }
      .review-form .field { margin-bottom: 1.15rem; }
      .review-form label, .review-form legend { font-weight: 700; }
      .review-form .hint { display: block; color: var(--ink-soft); font-size: 0.96rem; font-weight: 400; margin-top: 0.25rem; }
      .review-form fieldset .hint { margin: 0 0 0.4rem; }
      .review-form input[type="text"], .review-form textarea, .review-form select,
      .queue-item input[type="text"], .queue-item textarea, .queue-item select {
        font: inherit; color: var(--ink); background: var(--bg);
        border: 2px solid var(--ink-soft); border-radius: 12px; padding: 0.65rem 0.9rem;
        width: 100%; min-height: 3.1rem;
      }
      .review-form textarea, .queue-item textarea { min-height: 0; }
      .review-form input[type="file"] { font: inherit; color: var(--ink); padding: 0.4rem 0; }
      .review-form fieldset { border: 1px solid var(--line); border-radius: 14px; padding: 1rem 1.2rem 1.1rem; margin: 0 0 1.2rem; background: var(--surface); }
      .review-form legend { padding: 0 0.4rem; font-size: 1.05rem; }
      .radio-row { display: flex; gap: 0.6rem; align-items: flex-start; padding: 0.38rem 0; }
      .radio-row input { width: 1.35rem; height: 1.35rem; margin-top: 0.28rem; flex: 0 0 auto; accent-color: var(--accent); }
      .radio-row label { font-weight: 400; }
      .form-status { font-weight: 700; min-height: 1.5em; }
      .queue-actions { display: flex; flex-wrap: wrap; gap: 0.6rem; align-items: center; margin-top: 1rem; border-top: 1px solid var(--line); padding-top: 1rem; }
      .queue-actions .reason-label { font-weight: 700; }
      .queue-actions select { width: auto; flex: 1 1 13rem; }
      .queue-edit .field { margin-bottom: 0.9rem; }
      .queue-edit label { font-weight: 700; display: block; margin-bottom: 0.3rem; }
      .decided-list { margin: 0.6rem 0 1rem; padding-left: 1.3rem; }
      .decided-list li { margin-bottom: 0.45rem; }
    
/* multi-page additions */
.breadcrumbs{font-size:.85rem;color:var(--ink-soft);margin:1rem 0 0.4rem;}
.breadcrumbs a{color:var(--accent-strong);}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--accent);color:#fff;padding:.6rem 1rem;z-index:100;border-radius:0 0 8px 0;}
.skip-link:focus{left:0;}
.affiliate-badge{display:inline-block;font-size:.72rem;font-weight:700;background:#fff7e6;color:#7a5b00;border:1px solid #e3c07a;border-radius:999px;padding:.1rem .55rem;margin-left:.5rem;vertical-align:middle;}
.toc{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:1rem 1.3rem;margin:1.2rem 0;}
.toc h2{font-size:1rem;margin:0 0 .5rem;}
.toc ol{margin:0;padding-left:1.3rem;}
.toc li{margin:.25rem 0;}
.search-hero{margin:1.6rem 0;}
.search-hero input[type=search]{width:100%;max-width:34rem;font-size:1.05rem;padding:.7rem 1rem;border:2px solid var(--line);border-radius:12px;}
.search-results{list-style:none;padding:0;margin:1rem 0;}
.search-results li{margin:.6rem 0;}
.dept-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:1rem;margin:1.2rem 0;}
.noscript-notice{background:var(--warn-bg);border:1px solid var(--warn-line);color:var(--warn-ink);border-radius:12px;padding:1rem 1.2rem;margin:1rem 0;}
