
    .agg-page,
    .agg-page * {
        box-sizing: border-box;
    }

    .agg-page {
        --ink: #162422;
        --muted: #5f6d6a;
        --line: #dbe9e5;
        --paper: #f8fcfb;
        --soft: #eef8f4;
        --accent: #14796f;
        --accent-dark: #0d4d48;
        --warm: #e9823a;
        color: var(--ink);
        background: #fff;
        font-family: Arial, Helvetica, sans-serif;
        line-height: 1.6;
        letter-spacing: 0;
        overflow-x: hidden;
    }

    .agg-page a {
        color: inherit;
    }

    .agg-page img {
        display: block;
        max-width: 100%;
        height: auto;
    }

    .agg-shell {
        width: min(1180px, calc(100% - 32px));
    }

    .agg-section {
        padding: 0 0 66px;
    }

    .agg-section--soft {
        background: var(--paper);
    }

    .agg-banner {
        position: relative;
        min-height: 540px;
        overflow: hidden;
        border: 1px solid var(--line);
        background: #fbfffd;
        display: grid;
        align-items: stretch;
    }

    .agg-banner__media {
        position: absolute;
        inset: 0;
        z-index: 0;
        display: grid;
        justify-items: end;
        overflow: hidden;
        background: linear-gradient(135deg, #f7fffc, #edf8f4 62%, #fff8f1);
    }

    .agg-page .agg-banner__media img {
        width: min(64%, 760px);
        height: 100%;
        object-fit: contain;
        object-position: right center;
        padding: 26px 34px 26px 34%;
    }

    .agg-banner__media:after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, .96) 35%, rgba(255, 255, 255, .62) 57%, rgba(255, 255, 255, .08) 88%);
    }

    .agg-banner__copy {
        position: relative;
        z-index: 1;
        width: min(590px, 54%);
        padding: 64px 48px;
        align-self: center;
    }

    .agg-kicker {
        margin: 0 0 14px;
        color: var(--accent-dark);
        font-size: 12px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: .08em;
    }

    .agg-page h1,
    .agg-page h2,
    .agg-page h3,
    .agg-page p {
        margin-top: 0;
    }

    .agg-page h1 {
        margin-bottom: 18px;
        font-size: clamp(34px, 5vw, 60px);
        line-height: 1.03;
        letter-spacing: 0;
    }

    .agg-page h2 {
        margin-bottom: 14px;
        font-size: clamp(25px, 3vw, 38px);
        line-height: 1.16;
        letter-spacing: 0;
    }

    .agg-page h3 {
        margin-bottom: 9px;
        font-size: 18px;
        line-height: 1.25;
        letter-spacing: 0;
    }

    .agg-page p {
        margin-bottom: 16px;
        color: var(--muted);
        font-size: 16px;
    }

    .agg-banner__copy p {
        font-size: 17px;
        color: #3e504d;
    }

    .agg-banner__copy strong a {
        color: var(--accent-dark);
        text-decoration: underline;
        text-decoration-thickness: 1px;
        text-underline-offset: 3px;
    }

    .agg-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
        margin-top: 26px;
    }

    .agg-button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 44px;
        padding: 11px 18px;
        border: 1px solid var(--accent);
        background: var(--accent);
        color: #fff;
        font-size: 14px;
        font-weight: 700;
        text-decoration: none;
    }

    .agg-button--ghost {
        background: rgba(255, 255, 255, .8);
        color: var(--accent-dark);
    }

    .agg-section__head {
        max-width: 790px;
        margin-bottom: 26px;
    }

    .agg-grid {
        display: grid;
        gap: 18px;
    }

    .agg-grid--3 {
        grid: auto / repeat(3, minmax(0, 1fr));
    }

    .agg-grid--4 {
        grid: auto / repeat(4, minmax(0, 1fr));
    }

    .agg-grid--2 {
        grid: auto / 1fr 1fr;
        align-items: start;
    }

    .agg-card {
        min-width: 0;
        border: 1px solid var(--line);
        background: #fff;
        padding: 22px;
        border-radius: 6px;
    }

    .agg-card p:last-child {
        margin-bottom: 0;
    }

    .agg-chip {
        display: inline-grid;
        place-items: center;
        width: 34px;
        height: 34px;
        margin-bottom: 14px;
        border: 1px solid var(--line);
        background: var(--soft);
        color: var(--accent-dark);
        font-weight: 700;
        font-size: 13px;
    }

    .agg-media-card {
        border: 1px solid var(--line);
        background: #fff;
        padding: 18px;
        border-radius: 6px;
    }

    .agg-media-frame {
        aspect-ratio: 4 / 3;
        display: grid;
        place-items: center;
        overflow: hidden;
        background: #f7fbfa;
        border-radius: 4px;
    }

    .agg-page .agg-media-frame img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        padding: 12px;
    }

    .agg-table {
        width: 100%;
        border-collapse: collapse;
        background: #fff;
        border: 1px solid var(--line);
        font-size: 15px;
    }

    .agg-table th,
    .agg-table td {
        padding: 13px 14px;
        border-bottom: 1px solid var(--line);
        text-align: left;
        vertical-align: top;
    }

    .agg-table th {
        width: 38%;
        color: var(--accent-dark);
        background: var(--soft);
        font-weight: 700;
    }

    .agg-checklist {
        display: grid;
        gap: 12px;
    }

    .agg-check {
        display: grid;
        grid: auto / 34px 1fr auto;
        gap: 14px;
        align-items: center;
        padding: 16px;
        border: 1px solid var(--line);
        background: #fff;
        border-radius: 6px;
    }

    .agg-check b {
        color: var(--accent-dark);
    }

    .agg-check span {
        color: var(--muted);
    }

    .agg-check a {
        color: var(--accent-dark);
        font-weight: 700;
        text-decoration: underline;
        text-underline-offset: 3px;
        white-space: nowrap;
    }

    .agg-product-card,
    .agg-article-card {
        display: flex;
        min-width: 0;
        flex-direction: column;
        border: 1px solid var(--line);
        background: #fff;
        border-radius: 6px;
        overflow: hidden;
    }

    .agg-product-card__media,
    .agg-article-card__media {
        aspect-ratio: 1 / 1;
        display: grid;
        place-items: center;
        overflow: hidden;
        background: #f7fbfa;
    }

    .agg-page .agg-product-card__media img,
    .agg-page .agg-article-card__media img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        padding: 12px;
    }

    .agg-product-card__body,
    .agg-article-card__body {
        display: flex;
        flex: 1;
        flex-direction: column;
        padding: 18px;
    }

    .agg-product-card__body a,
    .agg-article-card__body a {
        margin-top: auto;
        color: var(--accent-dark);
        font-weight: 700;
        text-decoration: underline;
        text-underline-offset: 3px;
    }

    .agg-note {
        border-left: 4px solid var(--warm);
        background: #fff8f1;
        padding: 16px 18px;
        color: #57463a;
        font-size: 15px;
    }

    .agg-faq {
        display: grid;
        gap: 12px;
    }

    .agg-faq details {
        border: 1px solid var(--line);
        background: #fff;
        padding: 16px 18px;
        border-radius: 6px;
    }

    .agg-faq summary {
        cursor: pointer;
        color: var(--ink);
        font-weight: 700;
        font-size: 16px;
    }

    .agg-faq p {
        margin: 12px 0 0;
    }

    .agg-footer {
        border-top: 1px solid var(--line);
        padding: 26px 0;
        background: #fff;
        color: var(--muted);
        font-size: 14px;
        text-align: center;
    }

    @media (max-width: 860px) {
        .agg-shell {
            width: min(100% - 24px, 1180px);
        }

        .agg-section {
            padding: 0 0 44px;
        }

        .agg-banner {
            min-height: auto;
        }

        .agg-banner__media {
            position: relative;
            min-height: 300px;
        }

        .agg-page .agg-banner__media img {
            width: 100%;
            max-width: 760px;
            padding: 18px;
            object-position: center;
        }

        .agg-banner__media:after {
            background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .76) 70%, rgba(255, 255, 255, 1) 100%);
        }

        .agg-banner__copy {
            width: 100%;
            padding: 26px 22px 32px;
        }

        .agg-grid--3,
        .agg-grid--4,
        .agg-grid--2 {
            grid: auto / 1fr;
        }

        .agg-check {
            grid: auto / 28px 1fr;
        }

        .agg-check a {
            grid-column: 2;
            white-space: normal;
        }
    }

    @media (max-width: 430px) {
        .agg-page h1 {
            font-size: 33px;
        }

        .agg-page h2 {
            font-size: 25px;
        }

        .agg-page p,
        .agg-banner__copy p {
            font-size: 15px;
        }

        .agg-actions {
            flex-direction: column;
        }

        .agg-button {
            width: 100%;
        }

        .agg-table th,
        .agg-table td {
            display: block;
            width: 100%;
        }

        .agg-table th {
            border-bottom: 0;
            padding-bottom: 4px;
        }

        .agg-table td {
            padding-top: 4px;
        }

        .agg-card,
        .agg-product-card__body,
        .agg-article-card__body {
            padding: 16px;
        }
    }
