
    .agg-page, .agg-page * { box-sizing: border-box; }
    .article_content_box:has(.agg-page) > h1.article_title.themes_box_title,
    .article_content_box:has(.agg-page) > h1.main_title.themes_box_title {
      display: none !important;
    }
    .agg-page {
      margin: 0;
      background: #f5f4ee;
      color: #202623;
      font-family: Arial, Helvetica, sans-serif;
      line-height: 1.55;
    }
    .agg-page a { color: inherit; text-decoration: none; }
    .agg-page img { display: block; width: 100%; height: auto; }
    .agg-shell {
      width: min(1160px, calc(100% - 32px));
      margin: 0 auto;
    }
    .agg-topbar {
      padding: 18px 0 0;
    }
    .agg-toprow {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      padding-bottom: 10px;
      border-bottom: 1px solid rgba(32,38,35,.12);
      font-size: 13px;
    }
    .agg-brand {
      font-size: 14px;
      font-weight: 700;
      color: #243026;
    }
    .agg-nav {
      display: flex;
      flex-wrap: wrap;
      gap: 14px;
      color: #5a6459;
    }
    .agg-hero {
      padding: 42px 0 60px;
      background: linear-gradient(180deg, #faf8f2 0%, #eef0e7 100%);
    }
    .agg-hero-grid {
      display: grid;
      grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
      gap: 52px;
      align-items: center;
    }
    .agg-page h1,
    .agg-page h2,
    .agg-page h3,
    .agg-page p,
    .agg-page ul,
    .agg-page ol {
      margin: 0;
    }
    .agg-kicker {
      display: inline-flex;
      align-items: center;
      min-height: 30px;
      padding: 0 10px;
      border-radius: 999px;
      background: #dfe8d0;
      color: #334030;
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 0;
      margin-bottom: 14px;
    }
    .agg-hero h1 {
      font-size: 48px;
      line-height: 1.06;
      letter-spacing: 0;
      color: #18211a;
      max-width: 14ch;
    }
    .agg-lede {
      margin-top: 18px;
      font-size: 18px;
      color: #3a4439;
      max-width: 59ch;
    }
    .agg-keyword {
      font-weight: 700;
      text-decoration: underline;
      text-underline-offset: 3px;
    }
    .agg-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 24px;
    }
    .agg-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 44px;
      padding: 0 18px;
      border: 1px solid #253226;
      border-radius: 8px;
      font-size: 14px;
      font-weight: 700;
      line-height: 1;
      letter-spacing: 0;
      transition: transform .18s ease, opacity .18s ease, background-color .18s ease, color .18s ease;
    }
    .agg-page .agg-btn-primary {
      background: #253226;
      color: #fff;
    }
    .agg-page .agg-btn-primary:hover { color: #fff; }
    .agg-page .agg-btn-secondary {
      background: transparent;
      color: #253226;
    }
    .agg-page .agg-btn-secondary:hover { color: #253226; }
    .agg-btn:hover { transform: translateY(-1px); }
    .agg-facts {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px;
      margin-top: 24px;
    }
    .agg-fact {
      padding: 16px 14px;
      border: 1px solid rgba(32,38,35,.12);
      border-radius: 8px;
      background: rgba(255,255,255,.84);
    }
    .agg-fact strong {
      display: block;
      font-size: 18px;
      color: #18211a;
    }
    .agg-fact span {
      display: block;
      margin-top: 4px;
      font-size: 13px;
      color: #5a6459;
    }
    .agg-media {
      position: relative;
      padding: 14px;
      background: #fff;
      border: 1px solid rgba(32,38,35,.12);
      border-radius: 8px;
      box-shadow: 0 18px 44px rgba(31,39,34,.10);
    }
    .agg-media::after {
      content: "";
      position: absolute;
      inset: auto 10px 10px auto;
      width: 28%;
      height: 28%;
      border-right: 6px solid #96b45f;
      border-bottom: 6px solid #96b45f;
      pointer-events: none;
    }
    .agg-media img {
      width: 100%;
      height: auto;
      aspect-ratio: auto;
      object-fit: contain;
      background: #fff;
      border-radius: 6px;
    }
    .agg-section {
      padding: 62px 0;
    }
    .agg-section-soft {
      background: #ebefe6;
    }
    .agg-head {
      max-width: 760px;
      margin-bottom: 24px;
    }
    .agg-head h2 {
      font-size: 32px;
      line-height: 1.14;
      color: #18211a;
    }
    .agg-head p {
      margin-top: 10px;
      color: #5a6459;
      font-size: 17px;
      max-width: 72ch;
    }
    .agg-grid-3 {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 16px;
    }
    .agg-card {
      border: 1px solid rgba(32,38,35,.12);
      border-radius: 8px;
      background: #fff;
      padding: 22px;
    }
    .agg-card h3 {
      font-size: 18px;
      line-height: 1.2;
      color: #18211a;
      margin-bottom: 10px;
    }
    .agg-card p,
    .agg-card li {
      font-size: 15px;
      color: #5a6459;
    }
    .agg-card ul {
      padding-left: 18px;
      margin-top: 10px;
    }
    .agg-table-wrap {
      overflow-x: auto;
      border: 1px solid rgba(32,38,35,.12);
      border-radius: 8px;
      background: #fff;
    }
    .agg-table {
      width: 100%;
      min-width: 760px;
      border-collapse: collapse;
      text-align: left;
    }
    .agg-table th,
    .agg-table td {
      padding: 14px 16px;
      border-bottom: 1px solid rgba(32,38,35,.10);
      border-right: 1px solid rgba(32,38,35,.10);
      vertical-align: top;
    }
    .agg-table th {
      width: 28%;
      background: #f4f5ef;
      color: #18211a;
      font-size: 14px;
    }
    .agg-table td {
      color: #4d574d;
      font-size: 14px;
    }
    .agg-table tr:last-child th,
    .agg-table tr:last-child td {
      border-bottom: 0;
    }
    .agg-table tr th:last-child,
    .agg-table tr td:last-child {
      border-right: 0;
    }
    .agg-checklist {
      display: grid;
      grid-template-columns: minmax(0, .98fr) minmax(0, 1.02fr);
      gap: 18px;
      align-items: start;
    }
    .agg-bullets {
      display: grid;
      gap: 12px;
    }
    .agg-bullet {
      padding: 14px 16px;
      border-radius: 8px;
      border: 1px solid rgba(32,38,35,.10);
      background: #f8f9f4;
    }
    .agg-bullet strong {
      display: block;
      margin-bottom: 4px;
      color: #18211a;
      font-size: 15px;
    }
    .agg-bullet span {
      color: #4d574d;
      font-size: 14px;
    }
    .agg-product-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 16px;
    }
    .agg-product-card {
      display: flex;
      flex-direction: column;
      min-height: 100%;
      border: 1px solid rgba(32,38,35,.12);
      border-radius: 8px;
      background: #fff;
      overflow: hidden;
    }
    .agg-product-card img {
      width: 100%;
      height: auto;
      aspect-ratio: auto;
      object-fit: contain;
      background: #fff;
      border-bottom: 1px solid rgba(32,38,35,.10);
    }
    .agg-card-body {
      display: flex;
      flex: 1;
      flex-direction: column;
      padding: 20px;
    }
    .agg-card-body h3 {
      font-size: 19px;
      line-height: 1.18;
      color: #18211a;
    }
    .agg-card-body p {
      margin-top: 10px;
      flex: 1;
      color: #5a6459;
      font-size: 15px;
    }
    .agg-link {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      margin-top: 18px;
      color: #253226;
      font-size: 14px;
      font-weight: 700;
    }
    .agg-link::after {
      content: "→";
      font-weight: 700;
    }
    .agg-reading-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 16px;
    }
    .agg-reading-card {
      display: flex;
      flex-direction: column;
      min-height: 100%;
      border: 1px solid rgba(32,38,35,.12);
      border-radius: 8px;
      background: #fff;
      overflow: hidden;
    }
    .agg-reading-copy {
      display: flex;
      flex: 1;
      flex-direction: column;
      padding: 20px;
    }
    .agg-reading-copy h3 {
      font-size: 18px;
      line-height: 1.22;
      color: #18211a;
    }
    .agg-reading-copy p {
      margin-top: 10px;
      flex: 1;
      color: #5a6459;
      font-size: 15px;
    }
    .agg-reading-copy .agg-link { margin-top: 16px; }
    .agg-faq-list {
      display: grid;
      gap: 12px;
    }
    .agg-faq-item {
      padding: 18px 20px;
      border: 1px solid rgba(32,38,35,.12);
      border-radius: 8px;
      background: #fff;
    }
    .agg-faq-item h3 {
      font-size: 18px;
      line-height: 1.24;
      color: #18211a;
      margin-bottom: 8px;
    }
    .agg-faq-item p {
      color: #5a6459;
      font-size: 15px;
    }
    .agg-close {
      padding: 36px 0 56px;
    }
    .agg-close-box {
      padding: 22px 24px;
      border: 1px solid rgba(32,38,35,.12);
      border-radius: 8px;
      background: #eef2e7;
      color: #253226;
    }
    .agg-close-box p {
      color: #334030;
      font-size: 16px;
    }
    .agg-footer {
      padding: 18px 0 36px;
      border-top: 1px solid rgba(32,38,35,.10);
      color: #667166;
      font-size: 13px;
    }
    .agg-footer a {
      color: #253226;
      font-weight: 700;
    }
    @media (max-width: 980px) {
      .agg-hero-grid,
      .agg-checklist {
        grid-template-columns: 1fr;
      }
      .agg-hero h1 { max-width: none; }
      .agg-grid-3,
      .agg-product-grid,
      .agg-reading-grid,
      .agg-facts {
        grid-template-columns: 1fr;
      }
    }
    @media (max-width: 640px) {
      .agg-toprow {
        flex-direction: column;
        align-items: flex-start;
      }
      .agg-hero {
        padding: 30px 0 50px;
      }
      .agg-hero h1 {
        font-size: 34px;
      }
      .agg-lede {
        font-size: 16px;
      }
      .agg-section {
        padding: 48px 0;
      }
      .agg-head h2 {
        font-size: 27px;
      }
      .agg-card,
      .agg-card-body,
      .agg-reading-copy,
      .agg-faq-item,
      .agg-close-box {
        padding-left: 16px;
        padding-right: 16px;
      }
      .agg-table { min-width: 640px; }
    }
  