:root {
    --ag-imprint-paper: #f3f1eb;
    --ag-imprint-ink: #080808;
    --ag-imprint-muted: #4a4947;
    --ag-imprint-line: rgba(8, 8, 8, .22);
    --ag-imprint-accent: #ff5a36;
}

body.page-id-0:has(.ag-imprint),
body:has(.ag-imprint) {
    background: var(--ag-imprint-paper);
}

.ag-imprint {
    overflow: hidden;
    color: var(--ag-imprint-ink);
    background: var(--ag-imprint-paper);
    font-family: Arial, Helvetica, sans-serif;
}

.ag-imprint *, .ag-imprint *::before, .ag-imprint *::after { box-sizing: border-box; }
.ag-imprint p, .ag-imprint h1, .ag-imprint h2, .ag-imprint h3, .ag-imprint address { margin: 0; padding: 0; }
.ag-imprint a { color: inherit; text-decoration: none; }
.ag-imprint a:hover, .ag-imprint a:focus-visible { color: var(--ag-imprint-accent); }

.ag-imprint__frame {
    width: min(1180px, calc(100% - 80px));
    margin-inline: auto;
}

.ag-imprint__hero {
    position: relative;
    min-height: 520px;
    padding: clamp(72px, 9vw, 138px) 0 clamp(72px, 8vw, 118px);
    border-bottom: 1px solid var(--ag-imprint-line);
}

.ag-imprint__kicker,
.ag-imprint__section-head > p,
.ag-imprint__number,
.ag-imprint__basis {
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: .22em;
    text-transform: uppercase;
}

.ag-imprint__kicker { padding-bottom: 18px; border-bottom: 1px solid var(--ag-imprint-line); }

.ag-imprint__hero h1 {
    margin-top: clamp(54px, 8vw, 108px);
    font-size: clamp(80px, 14vw, 180px);
    font-weight: 700;
    line-height: .82;
    letter-spacing: -.075em;
    text-align: right;
}

.ag-imprint__claim {
    margin-top: 22px !important;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(36px, 6vw, 78px);
    font-style: italic;
    line-height: .92;
    letter-spacing: -.04em;
    text-align: right;
}

.ag-imprint__columns {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr);
    gap: clamp(54px, 8vw, 120px);
    padding-block: clamp(72px, 9vw, 128px);
}

.ag-imprint__primary,
.ag-imprint__facts section { border-top: 1px solid var(--ag-imprint-line); padding-top: 20px; }
.ag-imprint__facts section + section { margin-top: 54px; }
.ag-imprint__number { margin-bottom: 28px !important; }
.ag-imprint__primary h2,
.ag-imprint__facts h2 {
    margin-bottom: 32px;
    font-size: clamp(44px, 6vw, 74px);
    font-weight: 700;
    line-height: .92;
    letter-spacing: -.055em;
    text-align: right;
}

.ag-imprint address,
.ag-imprint__facts p,
.ag-imprint__legal-grid p {
    color: var(--ag-imprint-muted);
    font-size: clamp(17px, 1.7vw, 22px);
    font-style: normal;
    line-height: 1.48;
}
.ag-imprint address p + p, .ag-imprint__facts p + p { margin-top: 22px; }
.ag-imprint address strong { color: var(--ag-imprint-ink); }

.ag-imprint__legal {
    color: #fff;
    background: #000;
    padding-block: clamp(80px, 10vw, 142px);
}

.ag-imprint__section-head {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 34px;
    align-items: start;
    margin-bottom: clamp(64px, 8vw, 110px);
}

.ag-imprint__section-head h2 {
    font-size: clamp(54px, 8.2vw, 108px);
    font-weight: 700;
    line-height: .82;
    letter-spacing: -.06em;
    text-align: right;
}
.ag-imprint__section-head em {
    display: block;
    font-family: Georgia, 'Times New Roman', serif;
    font-weight: 400;
    font-style: italic;
    letter-spacing: -.05em;
}

.ag-imprint__legal-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid rgba(255,255,255,.28);
    border-bottom: 1px solid rgba(255,255,255,.28);
}
.ag-imprint__legal-grid article { padding: 26px 34px 38px; }
.ag-imprint__legal-grid article:first-child { padding-left: 0; }
.ag-imprint__legal-grid article + article { border-left: 1px solid rgba(255,255,255,.28); }
.ag-imprint__legal-grid .ag-imprint__number { color: #fff; }
.ag-imprint__legal-grid h3 {
    margin-bottom: 24px;
    font-size: clamp(28px, 3.2vw, 44px);
    font-weight: 700;
    line-height: .95;
    letter-spacing: -.045em;
}
.ag-imprint__legal-grid p { color: rgba(255,255,255,.75); font-size: 17px; }

.ag-imprint__basis {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    padding-block: 38px 54px;
}
.ag-imprint__basis a span { color: var(--ag-imprint-accent); }

.ag-privacy__intro {
    max-width: 880px;
    margin-left: auto;
    padding-block: clamp(68px, 8vw, 112px);
}

.ag-privacy__intro > p:not(.ag-imprint__number) {
    color: var(--ag-imprint-muted);
    font-size: clamp(20px, 2.2vw, 29px);
    line-height: 1.42;
}

.ag-privacy__topics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid rgba(255,255,255,.28);
    border-bottom: 1px solid rgba(255,255,255,.28);
}

.ag-privacy__topics article {
    min-height: 310px;
    padding: 34px 42px 46px;
}

.ag-privacy__topics article:nth-child(even) { border-left: 1px solid rgba(255,255,255,.28); }
.ag-privacy__topics article:nth-child(n+3) { border-top: 1px solid rgba(255,255,255,.28); }
.ag-privacy__topics h3 {
    margin-bottom: 24px;
    font-size: clamp(31px, 4vw, 52px);
    font-weight: 700;
    line-height: .95;
    letter-spacing: -.045em;
}
.ag-privacy__topics p,
.ag-privacy__topics li {
    color: rgba(255,255,255,.76);
    font-size: 17px;
    line-height: 1.55;
}
.ag-privacy__topics p + p { margin-top: 18px; }
.ag-privacy__topics a { text-decoration: underline; text-underline-offset: 3px; }

.ag-privacy__rights {
    padding-block: clamp(78px, 9vw, 126px);
}
.ag-privacy__rights-grid {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    gap: clamp(52px, 8vw, 110px);
    align-items: start;
}
.ag-privacy__rights h2 {
    font-size: clamp(52px, 8vw, 104px);
    font-weight: 700;
    line-height: .84;
    letter-spacing: -.06em;
    text-align: right;
}
.ag-privacy__rights h2 em {
    display: block;
    font-family: Georgia, 'Times New Roman', serif;
    font-weight: 400;
    font-style: italic;
}
.ag-privacy__rights-copy { border-top: 1px solid var(--ag-imprint-line); padding-top: 24px; }
.ag-privacy__rights-copy p {
    color: var(--ag-imprint-muted);
    font-size: clamp(17px, 1.7vw, 21px);
    line-height: 1.5;
}
.ag-privacy__rights-copy p + p { margin-top: 22px; }
.ag-privacy__rights-copy strong { color: var(--ag-imprint-ink); }

@media (max-width: 900px) {
    .ag-imprint__frame { width: min(100% - 48px, 760px); }
    .ag-imprint__hero { min-height: 430px; }
    .ag-imprint__columns { grid-template-columns: 1fr; gap: 68px; }
    .ag-imprint__facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }
    .ag-imprint__facts section + section { margin-top: 0; }
    .ag-imprint__section-head { grid-template-columns: 150px 1fr; }
    .ag-imprint__legal-grid { grid-template-columns: 1fr 1fr; }
    .ag-imprint__legal-grid article:first-child { padding-left: 34px; }
    .ag-imprint__legal-grid article:nth-child(3) { grid-column: 1 / -1; border-left: 0; border-top: 1px solid rgba(255,255,255,.28); }
    .ag-privacy__rights-grid { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
    .ag-imprint__frame { width: calc(100% - 40px); }
    .ag-imprint__hero { min-height: 0; padding-block: 64px 72px; }
    .ag-imprint__hero h1 {
        max-width: 100%;
        margin-top: 46px;
        font-size: clamp(48px, 14vw, 60px);
        line-height: .88;
        letter-spacing: -.07em;
        overflow-wrap: anywhere;
    }
    .ag-imprint__claim {
        max-width: 100%;
        margin-top: 18px !important;
        font-size: clamp(34px, 10.5vw, 46px);
        line-height: .96;
    }
    .ag-imprint__columns { padding-block: 66px 78px; gap: 58px; }
    .ag-imprint__facts { grid-template-columns: 1fr; gap: 48px; }
    .ag-imprint__primary h2, .ag-imprint__facts h2 { font-size: 48px; margin-bottom: 26px; }
    .ag-imprint__section-head { display: block; margin-bottom: 58px; }
    .ag-imprint__section-head > p { margin-bottom: 38px; }
    .ag-imprint__section-head h2 { font-size: clamp(48px, 15vw, 64px); }
    .ag-imprint__legal-grid { display: block; }
    .ag-imprint__legal-grid article,
    .ag-imprint__legal-grid article:first-child { padding: 28px 0 36px; }
    .ag-imprint__legal-grid article + article { border-left: 0; border-top: 1px solid rgba(255,255,255,.28); }
    .ag-imprint__basis { display: block; padding-block: 32px 42px; }
    .ag-imprint__basis a { display: inline-block; margin-top: 20px; }
    .ag-privacy__intro { padding-block: 48px 62px; }
    .ag-privacy__intro > p:not(.ag-imprint__number) {
        font-size: 20px;
        line-height: 1.48;
    }
    .ag-privacy__topics { display: block; }
    .ag-privacy__topics article { min-height: 0; padding: 30px 0 38px; }
    .ag-privacy__topics article:nth-child(even) { border-left: 0; }
    .ag-privacy__topics article + article { border-top: 1px solid rgba(255,255,255,.28); }
    .ag-privacy__rights h2 { font-size: clamp(50px, 15vw, 66px); }
}
