
    :root {
      --bg: #f5f7f3;
      --surface: #ffffff;
      --ink: #12202b;
      --muted: #5b6770;
      --line: #d9e0dc;
      --brand: #17324a;
      --brand-2: #1b6d5b;
      --accent: #e48b23;
      --soft: #eef4ef;
      --shadow: 0 18px 40px rgba(18, 32, 43, 0.08);
      --radius: 8px;
    }
    * { box-sizing: border-box; letter-spacing: 0; }
    body { margin: 0; background: var(--bg); color: var(--ink); font-family: Arial, Helvetica, sans-serif; line-height: 1.55; }
    a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 3px; }
    img { display: block; max-width: 100%; }
    .agg-page { width: 100%; overflow: hidden; }
    .agg-shell { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }
    .agg-topbar { padding: 18px 0 0; }
    .agg-brand-row { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 8px 0 22px; }
    .agg-brand { font-size: 17px; font-weight: 800; letter-spacing: 0.02em; text-decoration: none; color: var(--brand); }
    .agg-links { display: flex; flex-wrap: wrap; gap: 16px; font-size: 14px; color: var(--muted); }
    .agg-links a { text-decoration: none; }
    .agg-hero { padding: 30px 0 46px; }
    .agg-hero-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr); gap: 34px; align-items: center; }
    .agg-eyebrow { margin: 0 0 14px; color: var(--accent); font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; }
    .agg-h1 { margin: 0 0 16px; font-size: 46px; line-height: 1.08; color: var(--brand); }
    .agg-lede { margin: 0; max-width: 690px; font-size: 18px; color: var(--muted); }
    .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: 46px; padding: 11px 18px; border-radius: 6px; border: 1px solid transparent; font-size: 15px; font-weight: 700; text-decoration: none; }
    .agg-btn-primary { color: #fff; background: var(--brand); }
    .agg-btn-secondary { color: var(--brand); background: #fff; border-color: var(--line); }
    .agg-hero-media { position: relative; padding: 20px; background: linear-gradient(180deg, #fff 0%, #fbfcfb 100%); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
    .agg-hero-media figure { margin: 0; }
    .agg-hero-media .frame { width: 100%; aspect-ratio: 4 / 5; display: flex; align-items: center; justify-content: center; background: #fff; border-radius: 6px; }
    .agg-hero-media img { width: 100%; height: 100%; object-fit: contain; }
    .agg-hero-note { margin-top: 12px; font-size: 13px; color: var(--muted); }
    .agg-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 26px; }
    .agg-fact { padding: 14px 16px; background: rgba(255,255,255,0.72); border: 1px solid var(--line); border-radius: 8px; }
    .agg-fact strong { display: block; margin-bottom: 4px; font-size: 15px; color: var(--brand); }
    .agg-fact span { display: block; font-size: 13px; color: var(--muted); }
    .agg-section { padding: 24px 0 10px; }
    .agg-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
    .agg-snapshot { padding: 22px; }
    .agg-snapshot-grid { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); gap: 24px; align-items: start; }
    .agg-snapshot-media { padding: 16px; background: #fafcfa; border: 1px solid var(--line); border-radius: var(--radius); }
    .agg-snapshot-media .frame { aspect-ratio: 4 / 5; display: flex; align-items: center; justify-content: center; background: #fff; border-radius: 6px; }
    .agg-snapshot-media img { width: 100%; height: 100%; object-fit: contain; }
    .agg-snapshot-copy h2, .agg-plan h2, .agg-products h2, .agg-reading h2, .agg-faq h2 { margin: 0 0 14px; font-size: 30px; line-height: 1.1; color: var(--brand); }
    .agg-snapshot-copy p, .agg-plan-copy p, .agg-reading-copy p { margin: 0 0 14px; color: var(--muted); }
    .agg-specs { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 14px; }
    .agg-specs th, .agg-specs td { padding: 12px 13px; border: 1px solid var(--line); text-align: left; vertical-align: top; }
    .agg-specs th { width: 34%; background: #f7f9f6; color: var(--brand); }
    .agg-specs td { color: var(--ink); }
    .agg-list { margin: 18px 0 0; padding: 0; list-style: none; display: grid; gap: 10px; }
    .agg-list li { padding: 12px 14px; border: 1px solid var(--line); border-radius: 6px; background: #fbfcfb; }
    .agg-list strong { display: block; margin-bottom: 4px; color: var(--brand); }
    .agg-plan { padding: 22px; }
    .agg-plan-grid { display: grid; grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr); gap: 24px; align-items: start; }
    .agg-plan-media { position: relative; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #f6faf8; }
    .agg-plan-media .frame { aspect-ratio: 4 / 3; display: flex; align-items: center; justify-content: center; background: #fff; }
    .agg-plan-media img { width: 100%; height: 100%; object-fit: cover; }
    .agg-caps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 16px; }
    .agg-cap { padding: 14px 15px; border-radius: 8px; border: 1px solid var(--line); background: var(--soft); }
    .agg-cap strong { display: block; margin-bottom: 5px; color: var(--brand); }
    .agg-cap span { display: block; font-size: 13px; color: var(--muted); }
    .agg-plan-copy .agg-callout { margin-top: 14px; padding: 14px 16px; border-left: 4px solid var(--accent); background: #fffaf3; border-radius: 6px; color: var(--brand); }
    .agg-grid-3 { 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 var(--line); border-radius: var(--radius); overflow: hidden; background: #fff; }
    .agg-product-card .media { aspect-ratio: 4 / 5; display: flex; align-items: center; justify-content: center; background: #f8faf8; border-bottom: 1px solid var(--line); }
    .agg-product-card img { width: 100%; height: 100%; object-fit: contain; }
    .agg-product-body { display: flex; flex: 1; flex-direction: column; padding: 16px; }
    .agg-product-body h3 { margin: 0 0 8px; font-size: 18px; line-height: 1.2; color: var(--brand); }
    .agg-product-body p { margin: 0 0 14px; color: var(--muted); font-size: 14px; }
    .agg-text-link { margin-top: auto; font-weight: 700; color: var(--brand-2); text-decoration-thickness: 1px; text-underline-offset: 3px; }
    .agg-reading { padding: 22px; }
    .agg-reading-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
    .agg-reading-card { min-height: 100%; display: flex; flex-direction: column; padding: 18px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
    .agg-reading-card h3 { margin: 0 0 10px; font-size: 18px; line-height: 1.25; color: var(--brand); }
    .agg-reading-card p { margin: 0 0 12px; color: var(--muted); font-size: 14px; }
    .agg-reading-card a { margin-top: auto; font-weight: 700; color: var(--accent); }
    .agg-faq { padding: 22px; }
    .agg-faq-list { display: grid; gap: 14px; }
    .agg-faq-item { padding: 16px 16px 18px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
    .agg-faq-item h3 { margin: 0 0 8px; font-size: 17px; line-height: 1.25; color: var(--brand); }
    .agg-faq-item p { margin: 0; color: var(--muted); }
    .agg-footer { padding: 22px 0 30px; color: var(--muted); }
    .agg-footer-inner { padding-top: 16px; border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: 12px 18px; align-items: center; justify-content: space-between; }
    .agg-footer a { color: var(--brand-2); }
    @media (max-width: 960px) {
      .agg-hero-grid, .agg-snapshot-grid, .agg-plan-grid { grid-template-columns: 1fr; }
      .agg-grid-3, .agg-reading-list { grid-template-columns: 1fr; }
      .agg-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    }
    @media (max-width: 640px) {
      .agg-shell { width: min(100% - 28px, 1180px); }
      .agg-brand-row { flex-direction: column; align-items: flex-start; gap: 8px; }
      .agg-h1 { font-size: 34px; }
      .agg-lede { font-size: 16px; }
      .agg-facts, .agg-caps { grid-template-columns: 1fr; }
      .agg-snapshot, .agg-plan, .agg-reading, .agg-faq { padding: 18px; }
      .agg-snapshot-copy h2, .agg-plan h2, .agg-products h2, .agg-reading h2, .agg-faq h2 { font-size: 26px; }
    }
  