/*
 * Shared type scale for the five redesigned SEO pages.
 *
 * Keep all editorial type decisions here. Page-specific styles can still own
 * composition, but not the base hierarchy: display, section title, card title,
 * lead, body and supporting text always use these tokens.
 */
.seo-document {
    --kg-type-display: clamp(2.75rem, 4.45vw, 4.5rem);
    --kg-type-section: clamp(2rem, 3.15vw, 3.15rem);
    --kg-type-card-title: clamp(1.125rem, 1.42vw, 1.5rem);
    --kg-type-lead: clamp(1.0625rem, 1.26vw, 1.25rem);
    --kg-type-body: clamp(.9375rem, 1.05vw, 1.0625rem);
    --kg-type-small: .875rem;
    --kg-type-kicker: .75rem;

    --kg-leading-display: 1.02;
    --kg-leading-heading: 1.12;
    --kg-leading-body: 1.65;
    --kg-tracking-display: -.045em;
    --kg-tracking-heading: -.032em;
}

/* Page title: the one consistently dominant heading on every route. */
.seo-document h1 {
    font-size: var(--kg-type-display) !important;
    font-weight: 600 !important;
    line-height: var(--kg-leading-display) !important;
    letter-spacing: var(--kg-tracking-display) !important;
}

/* Section titles, including catalogue, FAQ, contact and category sections. */
.seo-document :is(
    .kg-section h2,
    .kg-category-head h2,
    .kg-catalog-head h2,
    .kg-catalog-note h2,
    .kg-faq-heading h2,
    .kg-cta h2,
    .kg-final h2
) {
    font-size: var(--kg-type-section) !important;
    font-weight: 600 !important;
    line-height: var(--kg-leading-heading) !important;
    letter-spacing: var(--kg-tracking-heading) !important;
}

/* Content-card titles share a distinct, smaller tier than section titles. */
.seo-document :is(
    .kg-section h3,
    .kg-card h3,
    .kg-trust-card h3,
    .kg-step h3,
    .kg-process-step h3,
    .kg-quality-checklist h3
) {
    font-size: var(--kg-type-card-title) !important;
    font-weight: 600 !important;
    line-height: 1.22 !important;
    letter-spacing: -.02em;
}

/* Voice names lead the card; filter headings keep the compact tier. */
.seo-document .kg-voice h3 {
    font-size: 1rem !important;
    line-height: 1.25 !important;
}

.seo-document .kg-sidebar h3 {
    font-size: var(--kg-type-small) !important;
    line-height: 1.25 !important;
}

.seo-document--diktory #catalog .kg-sidebar > h3 {
    font-size: 20px !important;
    line-height: 1.2 !important;
}

.seo-document .kg-kicker,
.seo-document .kg-dubbing-intro__label {
    font-size: var(--kg-type-kicker) !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: .12em !important;
}

.seo-document .kg-lead,
.seo-document .kg-intro {
    font-size: var(--kg-type-lead) !important;
    line-height: var(--kg-leading-body) !important;
}

.seo-document :is(
    .kg-section > .kg-wrap > p,
    .kg-section .kg-card p,
    .kg-section .kg-step p,
    .kg-section .kg-process-step p,
    .kg-section .kg-check,
    .kg-section .kg-list,
    .kg-dubbing-intro__text p
) {
    font-size: var(--kg-type-body) !important;
    line-height: var(--kg-leading-body) !important;
}

.seo-document .kg-source-seo-copy {
    max-width: 900px;
}

.seo-document .kg-source-seo-copy > :first-child {
    margin-top: 0;
}

.seo-document .kg-source-seo-copy > :last-child {
    margin-bottom: 0;
}

.seo-document .kg-source-seo-copy p,
.seo-document .kg-source-seo-copy li {
    font-size: var(--kg-type-body) !important;
    line-height: var(--kg-leading-body) !important;
    color: var(--seo-ink) !important;
}

.seo-document .kg-source-seo-copy {
    max-width: 76ch;
    margin: 0 0 38px;
}

.seo-document .kg-source-seo-copy p {
    margin: 0 0 18px;
}

.seo-document .kg-source-seo-copy__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 28px;
    margin: 24px 0 0;
    padding: 0;
}

.seo-document .kg-source-seo-copy__list li {
    position: relative;
    padding-left: 18px;
}

.seo-document .kg-source-seo-copy__list li::before {
    content: "";
    position: absolute;
    top: .7em;
    left: 0;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--seo-accent);
}

/* Text preparation is a reusable editorial stop: a short briefing on the
 * left, source copy on the right and three actionable notes below. */
.seo-document .kg-section--text-prep {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 96% 8%, rgb(193 73 46 / 9%), transparent 28rem),
        linear-gradient(120deg, #f5f6fb 0%, #fbfaf7 100%);
}

.seo-document .kg-text-prep-layout {
    display: grid;
    grid-template-columns: minmax(250px, .72fr) minmax(0, 1.5fr);
    gap: 0 clamp(42px, 7vw, 112px);
}

.seo-document .kg-text-prep-heading {
    align-self: start;
    padding-top: 6px;
}

.seo-document .kg-text-prep-heading h2 {
    max-width: 9.5ch;
    margin-bottom: 0;
    font-size: clamp(2.65rem, 4.35vw, 5.1rem);
    line-height: .96;
}

.seo-document .kg-text-prep-copy {
    position: relative;
    min-width: 0;
    padding: 6px 0 4px clamp(24px, 3vw, 42px);
}

.seo-document .kg-text-prep-copy::before {
    position: absolute;
    top: 8px;
    bottom: 8px;
    left: 0;
    width: 3px;
    content: "";
    border-radius: 99px;
    background: linear-gradient(#c1492e, rgb(193 73 46 / 12%));
}

.seo-document .kg-text-prep-copy .kg-source-seo-copy,
.seo-document .kg-text-prep-copy .kg-intro {
    max-width: 68ch;
    margin: 0 !important;
}

.seo-document .kg-text-prep-copy .kg-source-seo-copy__list {
    gap: 14px 34px;
    margin-top: 28px;
}

.seo-document .kg-text-prep-cards {
    grid-column: 1 / -1;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: clamp(42px, 5vw, 72px);
}

.seo-document .kg-text-prep-cards .kg-card {
    min-height: 214px;
    border: 1px solid rgb(59 65 115 / 13%);
    border-top: 2px solid rgb(193 73 46 / 66%);
    border-radius: 16px;
    padding: clamp(22px, 2.5vw, 32px);
    background: rgb(255 255 255 / 78%);
    box-shadow: inset 0 1px 0 rgb(255 255 255 / 88%);
}

.seo-document .kg-text-prep-card__number {
    display: block;
    margin-bottom: 30px;
    color: var(--seo-accent);
    letter-spacing: .08em;
    font-size: 13px;
    font-weight: 800;
}

.seo-document .kg-text-prep-cards .kg-card h3 {
    margin-bottom: 12px;
    font-size: clamp(1.12rem, 1.4vw, 1.35rem);
}

.seo-document .kg-text-prep-cards .kg-card p {
    margin: 0;
}

/* Compact version: preparation is an at-a-glance checklist. The preserved
 * long-form source copy stays available on demand instead of dominating page. */
.seo-document .kg-section--text-prep {
    padding: clamp(38px, 4.8vw, 64px) 0;
    background: #fff;
}

.seo-document .kg-text-prep-brief {
    display: grid;
    grid-template-columns: minmax(210px, .62fr) minmax(0, 1.9fr);
    align-items: center;
    gap: clamp(28px, 5vw, 76px);
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.seo-document .kg-text-prep-heading {
    padding: 0;
}

.seo-document .kg-text-prep-heading .kg-kicker {
    margin-bottom: 12px;
}

.seo-document .kg-text-prep-heading h2 {
    max-width: 11ch;
    margin: 0;
    font-size: clamp(1.9rem, 2.75vw, 3.05rem);
    line-height: .98;
}

.seo-document .kg-text-prep-topic {
    max-width: 28ch;
    margin: 16px 0 0;
    color: #737c9f;
    font-size: 14px;
    line-height: 1.55;
}

.seo-document .kg-text-prep-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.seo-document .kg-text-prep-list > li {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    align-content: start;
    min-width: 0;
    min-height: 128px;
    padding: 6px clamp(16px, 2vw, 28px) 8px 0;
    border-top: 1px solid rgb(59 65 115 / 16%);
}

.seo-document .kg-text-prep-list > li + li {
    padding-left: clamp(16px, 2vw, 28px);
    border-left: 1px solid rgb(59 65 115 / 16%);
}

.seo-document .kg-text-prep-list .kg-text-prep-card__number {
    display: grid;
    width: 27px;
    height: 27px;
    margin: 1px 0 0;
    color: #fff;
    border-radius: 50%;
    background: var(--seo-accent);
    place-items: center;
    letter-spacing: 0;
    font-size: 10px;
}

.seo-document .kg-text-prep-primary h3 {
    margin: 0 0 7px;
    font-size: 17px;
}

.seo-document .kg-text-prep-primary p {
    margin: 0;
    font-size: 13px;
    line-height: 1.55;
}

.seo-document .kg-text-prep-details {
    max-width: none;
    margin: 28px 0 0;
    border-bottom: 1px solid rgb(59 65 115 / 18%);
}

.seo-document .kg-text-prep-details > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 0;
    color: var(--seo-ink);
    cursor: pointer;
    font-size: 13px;
    font-weight: 700;
    list-style: none;
}

.seo-document .kg-text-prep-details > summary::-webkit-details-marker {
    display: none;
}

.seo-document .kg-text-prep-details > summary::after {
    content: "+";
    color: var(--seo-accent);
    font-size: 24px;
    font-weight: 400;
}

.seo-document .kg-text-prep-details[open] > summary::after {
    content: "−";
}

.seo-document .kg-text-prep-details .kg-text-prep-copy {
    padding: 8px 0 28px;
}

.seo-document .kg-text-prep-details .kg-text-prep-copy::before {
    display: none;
}

.seo-document .kg-text-prep-more {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 24px;
}

.seo-document .kg-text-prep-detail {
    min-width: 0;
    border: 1px solid rgb(59 65 115 / 13%);
    border-radius: 10px;
    background: #fbfbfd;
}

.seo-document .kg-text-prep-detail > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 52px;
    padding: 12px 16px;
    color: var(--seo-ink);
    cursor: pointer;
    font-size: 14px;
    font-weight: 700;
    list-style: none;
}

.seo-document .kg-text-prep-detail > summary::-webkit-details-marker {
    display: none;
}

.seo-document .kg-text-prep-detail > summary::after {
    flex: none;
    content: "+";
    color: var(--seo-accent);
    font-size: 21px;
    font-weight: 400;
}

.seo-document .kg-text-prep-detail[open] > summary::after {
    content: "−";
}

.seo-document .kg-text-prep-detail > :is(p, ul) {
    margin: 0;
    padding: 0 16px 16px;
    color: #687193;
    max-width: 68ch !important;
    font-size: 13px !important;
    line-height: 1.58 !important;
}

.seo-document .kg-text-prep-detail > ul {
    display: grid;
    gap: 8px;
    padding-left: 31px;
}

.seo-document .kg-text-prep-detail > ul li::marker {
    color: var(--seo-accent);
}

/* Final compact composition: one heading row, three equal checklist cards
 * and secondary source notes below. */
.seo-document .kg-section--text-prep {
    background:
        radial-gradient(circle at 92% 0, rgb(193 73 46 / 7%), transparent 25rem),
        #f7f7fa;
}

.seo-document .kg-text-prep-brief {
    display: block;
}

.seo-document .kg-text-prep-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, .72fr);
    align-items: end;
    gap: 18px 48px;
}

.seo-document .kg-text-prep-heading .kg-kicker {
    grid-column: 1 / -1;
    margin: 0;
}

.seo-document .kg-text-prep-heading h2 {
    max-width: none;
    font-size: clamp(2.35rem, 3.5vw, 4rem);
    line-height: .94;
}

.seo-document .kg-text-prep-topic {
    max-width: 42ch;
    margin: 0 0 2px;
    font-size: 15px;
    line-height: 1.62;
}

.seo-document .kg-text-prep-list {
    gap: 12px;
    margin-top: 30px;
}

.seo-document .kg-text-prep-list > li,
.seo-document .kg-text-prep-list > li + li {
    display: block;
    min-height: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.seo-document .kg-text-prep-primary {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    height: 100%;
    min-height: 220px;
    padding: 22px;
    border: 1px solid rgb(59 65 115 / 12%);
    border-top: 3px solid rgb(193 73 46 / 72%);
    border-radius: 12px;
    background: rgb(255 255 255 / 86%);
    box-shadow: 0 10px 28px rgb(59 65 115 / 5%);
}

.seo-document .kg-text-prep-column:nth-child(2) .kg-text-prep-primary {
    background: rgb(244 246 252 / 92%);
}

.seo-document .kg-text-prep-column:nth-child(3) .kg-text-prep-primary {
    background: rgb(255 248 245 / 88%);
}

.seo-document .kg-text-prep-primary h3 {
    font-size: 18px;
}

.seo-document .kg-text-prep-primary p {
    max-width: 31ch;
    color: #687193;
    font-size: 14px;
}

.seo-document .kg-text-prep-more {
    display: block;
    grid-template-columns: none;
    gap: 0;
    margin-top: 12px;
    overflow: hidden;
    border: 1px solid rgb(59 65 115 / 12%);
    border-radius: 12px;
    background: rgb(255 255 255 / 78%);
    box-shadow: 0 10px 28px rgb(59 65 115 / 4%);
}

.seo-document .kg-text-prep-more > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    min-height: 84px;
    padding: 16px 20px 16px 24px;
    color: var(--seo-ink);
    cursor: pointer;
    list-style: none;
}

.seo-document .kg-text-prep-more > summary::-webkit-details-marker {
    display: none;
}

.seo-document .kg-text-prep-more > summary b,
.seo-document .kg-text-prep-more > summary small {
    display: block;
}

.seo-document .kg-text-prep-more > summary b {
    margin-bottom: 4px;
    font-size: 16px;
}

.seo-document .kg-text-prep-more > summary small {
    color: #737c9f;
    font-size: 13px;
    font-weight: 400;
}

.seo-document .kg-text-prep-more__button {
    flex: none;
    min-width: 126px;
    padding: 11px 18px;
    border-radius: 999px;
    color: #fff;
    background: var(--seo-accent);
    text-align: center;
    font-size: 13px;
    font-weight: 800;
}

.seo-document .kg-text-prep-more__button-close {
    display: none;
}

.seo-document .kg-text-prep-more[open] .kg-text-prep-more__button-open {
    display: none;
}

.seo-document .kg-text-prep-more[open] .kg-text-prep-more__button-close {
    display: inline;
}

.seo-document .kg-text-prep-more__content {
    display: block;
    padding: 24px;
    border-top: 1px solid rgb(59 65 115 / 10%);
}

.seo-document .kg-text-prep-more__content section {
    min-width: 0;
}

.seo-document .kg-text-prep-more__content section + section {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid rgb(59 65 115 / 9%);
}

.seo-document .kg-text-prep-more__content h3,
.seo-document .kg-text-prep-more__heading {
    margin: 0 0 8px;
    font-size: 15px;
}

.seo-document .kg-text-prep-more__content :is(p, ul) {
    margin: 0;
    color: #687193;
    font-size: 13px;
    line-height: 1.65;
}

.seo-document .kg-text-prep-more__content ul {
    padding-left: 20px;
}

.seo-document .kg-text-prep-more__intro {
    margin-bottom: 18px !important;
}

.seo-document .kg-text-prep-more__steps {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: text-prep-step;
}

.seo-document .kg-text-prep-more__steps > li {
    position: relative;
    min-width: 0;
    padding: 0 0 20px 46px;
    counter-increment: text-prep-step;
}

.seo-document .kg-text-prep-more__steps > li + li {
    padding-top: 20px;
    border-top: 1px solid rgb(59 65 115 / 9%);
}

.seo-document .kg-text-prep-more__steps > li::before {
    position: absolute;
    top: 50%;
    left: 0;
    display: grid;
    width: 28px;
    height: 28px;
    content: counter(text-prep-step, decimal-leading-zero);
    border-radius: 50%;
    color: #fff;
    background: var(--seo-accent);
    place-items: center;
    font-size: 10px;
    font-weight: 800;
    transform: translateY(-50%);
}

.seo-document .kg-text-prep-more__steps b {
    display: block;
    margin-bottom: 5px;
    color: var(--seo-ink);
    font-size: 14px;
}

@media (max-width: 680px) {
    .seo-document .kg-source-seo-copy__list {
        grid-template-columns: 1fr;
    }

    .seo-document .kg-text-prep-layout {
        display: block;
    }

    .seo-document .kg-text-prep-brief {
        display: block;
        padding: 0;
    }

    .seo-document .kg-text-prep-heading {
        display: block;
    }

    .seo-document .kg-text-prep-heading h2 {
        max-width: 12ch;
    }

    .seo-document .kg-text-prep-copy {
        margin-top: 32px;
        padding-left: 20px;
    }

    .seo-document .kg-text-prep-list {
        grid-template-columns: 1fr;
        gap: 18px;
        margin-top: 26px;
    }

    .seo-document .kg-text-prep-list > li,
    .seo-document .kg-text-prep-list > li + li {
        min-height: 0;
        padding: 0;
    }

    .seo-document .kg-text-prep-primary {
        height: auto;
        min-height: 0;
        padding: 20px;
    }

    .seo-document .kg-text-prep-more > summary {
        align-items: flex-start;
        gap: 16px;
        min-height: 0;
        padding: 18px;
    }

    .seo-document .kg-text-prep-more > summary small {
        display: none;
    }

    .seo-document .kg-text-prep-more__button {
        min-width: 104px;
        padding: 10px 14px;
    }

    .seo-document .kg-text-prep-more__content {
        padding: 20px 18px;
    }

    .seo-document .kg-text-prep-topic {
        max-width: 38ch;
        margin-top: 16px;
    }

    .seo-document .kg-text-prep-details {
        margin-top: 12px;
    }

    .seo-document .kg-text-prep-details .kg-text-prep-copy {
        margin-top: 0;
        padding-left: 0;
    }

    .seo-document .kg-text-prep-more {
        grid-template-columns: 1fr;
    }

    .seo-document .kg-text-prep-cards {
        grid-template-columns: 1fr;
        margin-top: 36px;
    }

    .seo-document .kg-text-prep-cards .kg-card {
        min-height: 0;
    }
}

.seo-document :is(.kg-note, .kg-mini, .kg-checkline, .kg-table, .kg-faq-list details p) {
    font-size: var(--kg-type-small) !important;
    line-height: 1.55 !important;
}

/* Famous voices editorial. Isolated from the legacy collage selectors.
   Brand-preserving section overhaul: variance 6 / motion 2 / density 4.
   Real portrait photography is required here; synthetic identities are unsuitable. */
.seo-document #who.kg-voice-editorial {
    padding: clamp(44px, 5vw, 76px) 0;
    background: #f7f7fa;
    color: #25283a;
    scroll-margin-top: 110px;
}
.seo-document #who.kg-voice-editorial h2 {
    max-width: 960px;
    margin: 0 0 38px;
    color: #353b68 !important;
    font-size: clamp(30px, 3.4vw, 48px) !important;
    font-weight: 700 !important;
    line-height: 1.13 !important;
    letter-spacing: -.035em;
    text-wrap: balance;
    opacity: 1;
}
.seo-document #who .kg-voice-editorial__layout {
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) minmax(0, 1fr);
    gap: clamp(32px, 4.5vw, 70px);
    align-items: start;
}
.seo-document #who .kg-voice-editorial__portraits {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}
.seo-document #who .kg-voice-editorial__portraits figure {
    min-width: 0;
    margin: 0;
}
.seo-document #who .kg-voice-editorial__portraits img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 2 / 3;
    object-fit: cover;
    object-position: center;
    border-radius: 12px;
    background: #e2e2e7;
}
.seo-document #who .kg-voice-editorial__portraits figcaption {
    display: grid;
    gap: 5px;
    padding-top: 16px;
    color: #25283a;
}
.seo-document #who .kg-voice-editorial__portraits strong {
    font-size: clamp(18px, 1.6vw, 22px);
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: -.025em;
}
.seo-document #who .kg-voice-editorial__portraits span {
    color: #505365;
    font-size: 14px;
    line-height: 1.4;
}
.seo-document #who .kg-voice-editorial__copy { padding-top: 2px; }
.seo-document #who .kg-voice-editorial__definition + .kg-voice-editorial__definition {
    margin-top: 28px;
    padding-top: 28px;
    border-top: 1px solid #d9dae3;
}
.seo-document #who.kg-voice-editorial h3 {
    margin: 0 0 12px;
    color: #353b68 !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    letter-spacing: -.02em;
}
.seo-document #who .kg-voice-editorial__definition h3 {
    color: var(--seo-accent) !important;
}
.seo-document #who.kg-voice-editorial p {
    margin: 0;
    color: var(--seo-ink) !important;
    font-size: 17px !important;
    font-weight: 400 !important;
    line-height: 1.65 !important;
}
.seo-document #who .kg-voice-editorial__takeaway {
    margin-top: 30px;
    padding: 22px 24px;
    border-radius: 12px;
    background: #eeeef4;
}
.seo-document #who .kg-voice-editorial__takeaway h3 { color: var(--seo-accent) !important; }
.seo-document #who .kg-voice-editorial__details {
    width: 100%;
    margin-top: 44px;
}
.seo-document #who .kg-voice-editorial__details h3 {
    margin-bottom: 20px;
    color: var(--seo-accent) !important;
    font-size: clamp(24px, 2.4vw, 30px) !important;
    line-height: 1.25 !important;
}
.seo-document #who .kg-voice-editorial__extended {
    display: grid;
    gap: 20px;
    width: 100%;
    max-width: none;
}
@media (max-width: 1023px) {
    .seo-document #who .kg-voice-editorial__layout { gap: 32px; }
    .seo-document #who .kg-voice-editorial__portraits { gap: 14px; }
    .seo-document #who.kg-voice-editorial p { font-size: 16px !important; }
}
@media (max-width: 767px) {
    .seo-document #who.kg-voice-editorial { padding: 38px 0; scroll-margin-top: 92px; }
    .seo-document #who.kg-voice-editorial h2 { margin-bottom: 26px; font-size: 30px !important; }
    .seo-document #who .kg-voice-editorial__layout { grid-template-columns: 1fr; gap: 30px; }
    .seo-document #who .kg-voice-editorial__portraits { gap: 12px; }
    .seo-document #who .kg-voice-editorial__portraits figcaption { padding-top: 12px; }
    .seo-document #who .kg-voice-editorial__portraits strong { font-size: 17px; }
    .seo-document #who .kg-voice-editorial__portraits span { font-size: 13px; }
    .seo-document #who .kg-voice-editorial__definition + .kg-voice-editorial__definition { margin-top: 22px; padding-top: 22px; }
    .seo-document #who.kg-voice-editorial h3 { font-size: 21px !important; }
    .seo-document #who .kg-voice-editorial__takeaway { padding: 20px; margin-top: 24px; }
    .seo-document #who .kg-voice-editorial__details { margin-top: 26px; }
    .seo-document #who .kg-voice-editorial__details h3 { font-size: 24px !important; }
}

/* Follow-up after the selection table: a readable, self-contained next step. */
.seo-document #how-choose .kg-intro {
    color: #46527f !important;
    font-weight: 500;
}

.seo-document #how-choose .kg-selection-note {
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr);
    gap: 24px;
    align-items: start;
    max-width: none;
    margin: 18px 0 0;
    padding: 22px 26px;
    border: 1px solid rgb(59 65 115 / .14);
    border-left: 4px solid #c1492e;
    border-radius: 12px;
    background: #f5f7fc;
}

.seo-document #how-choose .kg-selection-note__label {
    color: #3b4173;
    font-size: .8125rem;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.seo-document #how-choose .kg-selection-note p {
    max-width: 72ch;
    margin: 0 !important;
    color: #46527f !important;
    font-size: var(--kg-type-body) !important;
    font-weight: 500;
    line-height: 1.65 !important;
}

@media (max-width: 680px) {
    .seo-document #how-choose .kg-selection-note {
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 18px 20px;
    }
}

/* A dense definition block is easier to scan as three distinct concepts. */
.seo-document .kg-section.kg-term-comparison {
    background: linear-gradient(135deg, #eef1f7 0%, #f7f8fb 100%);
    padding-block: clamp(48px, 5vw, 72px);
}

.seo-document .kg-term-comparison .kg-wrap {
    max-width: 1120px;
}

.seo-document .kg-term-comparison__heading {
    max-width: 760px;
}

.seo-document .kg-term-comparison__heading h2 {
    max-width: 22ch;
    margin-bottom: 16px;
    font-size: clamp(2.25rem, 3vw, 3.2rem) !important;
}

.seo-document .kg-term-comparison__heading > p {
    color: #5f6788 !important;
    margin: 0 !important;
    font-size: var(--kg-type-lead) !important;
    line-height: 1.6 !important;
}

.seo-document .kg-term-comparison__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 28px;
}

.seo-document .kg-term-comparison__card {
    min-height: 190px;
    padding: 20px 22px 22px;
    border: 1px solid rgb(59 65 115 / .12);
    border-radius: 18px;
    background: rgb(255 255 255 / .88);
    box-shadow: 0 14px 32px rgb(59 65 115 / .07);
}

.seo-document .kg-term-comparison__card > span {
    display: block;
    margin-bottom: 24px;
    color: #c1492e;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .14em;
}

.seo-document .kg-term-comparison__card h3 {
    margin: 0 0 8px;
    color: #3b4173;
}

.seo-document .kg-term-comparison__card p {
    margin: 0 !important;
    color: #59627f !important;
    font-size: .9375rem !important;
    line-height: 1.6 !important;
}

.seo-document .kg-term-comparison__note {
    max-width: none !important;
    margin: 12px 0 0 !important;
    padding: 16px 20px 16px 22px;
    border-left: 3px solid #f95f3a;
    border-radius: 0 12px 12px 0;
    background: rgb(255 255 255 / .7);
    color: #4f5877 !important;
    font-size: var(--kg-type-body) !important;
    line-height: 1.65 !important;
}

.seo-document .kg-term-comparison__note strong {
    color: #3b4173;
}

@media (max-width: 820px) {
    .seo-document .kg-term-comparison__grid {
        grid-template-columns: 1fr;
    }

    .seo-document .kg-term-comparison__card {
        min-height: 0;
    }

    .seo-document .kg-term-comparison__card > span {
        margin-bottom: 24px;
    }
}

@media (max-width: 680px) {
    .seo-document {
        --kg-type-display: clamp(2.45rem, 10.8vw, 3rem);
        --kg-type-section: clamp(1.9rem, 8.8vw, 2.45rem);
        --kg-type-card-title: 1.25rem;
        --kg-type-lead: 1rem;
        --kg-type-body: .9375rem;
        --kg-type-small: .8125rem;
        --kg-type-kicker: .6875rem;
    }
}

/* Keep the "use cases" cards concise and readable at desktop widths. */
.seo-document #where .kg-intro,
.seo-document #where .kg-card p {
    color: #56607e !important;
}

.seo-document--diktory.seo-document--famous #where .kg-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 30px;
}

.seo-document #where {
    padding-block: clamp(58px, 6vw, 82px);
    background-color: #edf0f7;
}

.seo-document--diktory.seo-document--famous #where .kg-card {
    min-height: 0;
    padding: 22px;
    border: 1px solid rgb(59 65 115 / .12);
    border-top: 3px solid #c1492e;
    border-radius: 18px;
    background-color: #fff;
    background-image: linear-gradient(rgb(255 255 255 / .86), rgb(255 255 255 / .94)), url('/redesign/five-pages/assets/famous-use-cases-wave.png');
    background-position: center;
    background-size: cover;
    box-shadow: 0 12px 30px rgb(59 65 115 / .06);
}

.seo-document--diktory.seo-document--famous #where .kg-card:first-child {
    grid-row: auto;
    grid-column: auto;
    min-height: 0;
}

.seo-document--diktory.seo-document--famous #where .kg-card::before {
    margin-bottom: 14px;
}

.seo-document #where .kg-card:nth-child(2) {
    background-color: #fff8f4;
    background-image: linear-gradient(rgb(255 248 244 / .84), rgb(255 248 244 / .94)), url('/redesign/five-pages/assets/famous-use-cases-wave.png');
    background-position: 58% center;
    background-size: cover;
}

.seo-document #where .kg-card:nth-child(3) {
    background-color: #f2f4fa;
    background-image: linear-gradient(rgb(242 244 250 / .84), rgb(242 244 250 / .94)), url('/redesign/five-pages/assets/famous-use-cases-wave.png');
    background-position: 42% center;
    background-size: cover;
}

.seo-document #where .kg-card h3 {
    margin-bottom: 14px;
}

.seo-document #where .kg-card p {
    font-size: .9375rem !important;
    line-height: 1.62 !important;
}

@media (max-width: 820px) {
    .seo-document--diktory.seo-document--famous #where .kg-grid {
        grid-template-columns: 1fr;
    }
}

@media (min-width: 821px) and (max-width: 980px) {
    .seo-document--diktory.seo-document--famous #where .kg-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/*
 * Dubbing introduction
 *
 * This is a compact editorial comparison, rather than a gallery. It makes the
 * distinction between dubbing and ordinary voice-over immediately scannable.
 */
.seo-document--diktory .kg-dubbing-intro {
    padding-block: clamp(40px, 3.6vw, 56px);
}

.seo-document--diktory .kg-dubbing-intro__layout {
    grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
    align-items: start;
    gap: clamp(32px, 4vw, 68px);
}

.seo-document--diktory .kg-dubbing-intro__copy {
    display: flex;
    flex-direction: column;
    padding-top: 10px;
}

.seo-document--diktory .kg-dubbing-intro h2 {
    max-width: 12ch;
    font-size: clamp(2.35rem, 3.25vw, 3.35rem) !important;
}

.seo-document--diktory .kg-dubbing-intro__comparison {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.seo-document--diktory .kg-dubbing-intro__point {
    display: grid;
    grid-template-rows: auto auto 1fr;
    min-height: 318px;
    padding: 28px;
    border: 1px solid rgb(59 65 115 / .12);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 16px 36px rgb(59 65 115 / .06);
}

.seo-document--diktory .kg-dubbing-intro__point--1 {
    border-color: #3b4173;
    background: #3b4173;
    color: #fff;
}

.seo-document--diktory .kg-dubbing-intro__number {
    margin-bottom: 40px;
    color: var(--dubbing-accent, #c1492e);
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .13em;
}

.seo-document--diktory .kg-dubbing-intro__point h3 {
    margin: 0;
    color: inherit;
    font-size: clamp(1.25rem, 1.6vw, 1.55rem) !important;
}

.seo-document--diktory .kg-dubbing-intro__point p {
    margin: 18px 0 0;
    color: inherit;
    font-size: var(--kg-type-body) !important;
    line-height: 1.58 !important;
}

.seo-document--diktory .kg-dubbing-intro__point--2 {
    background: #fff8f5;
}

@media (max-width: 1120px) {
    .seo-document--diktory .kg-dubbing-intro__layout {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .seo-document--diktory .kg-dubbing-intro__comparison {
        max-width: 760px;
    }
}

@media (max-width: 680px) {
    .seo-document--diktory .kg-dubbing-intro {
        padding-block: 40px;
    }

    .seo-document--diktory .kg-dubbing-intro__copy {
        padding-block: 0;
    }

    .seo-document--diktory .kg-dubbing-intro h2 {
        max-width: none;
    }

    .seo-document--diktory .kg-dubbing-intro__comparison {
        grid-template-columns: 1fr;
        width: 100%;
    }

    .seo-document--diktory .kg-dubbing-intro__point {
        min-height: 0;
        padding: 24px;
    }

    .seo-document--diktory .kg-dubbing-intro__number {
        margin-bottom: 26px;
    }
}

/* Whole-page canvas for the five SEO pages; component fills stay independent. */
body.redesign-seo-page,
body.redesign-seo-page .seo-document {
    background-color: #fff;
}

/* On these pages, section-level colour bands yield to the page canvas.
 * Nested cards, panels and controls retain their own backgrounds. */
body.redesign-seo-page .seo-document :is(.kg-section, .kg-voice-editorial) {
    background: transparent !important;
}

/* Voice descriptions beneath the price stay in the brand-blue text colour
 * across all catalogue cards, including their expanded/hover state. */
.seo-document--diktory .kg-voice .kg-desc {
    color: #3b4173 !important;
}

/* All voice catalogues use the production /diktory search toolbar, including its
 * two-row rhythm, blue form fields and simple orange outline shortcuts. */
.seo-document--diktory .kg-searchbar--live {
    background: #fff;
    padding: 30px 0 38px;
}

.seo-document--diktory .kg-searchbar--live > .kg-wrap {
    width: min(100% - 30px, 1276px);
    margin-inline: auto;
}

.seo-document--diktory .kg-searchbar--live .kg-search {
    display: flex;
    position: relative;
    width: min(100%, 480px);
    height: 40px;
    gap: 0;
    margin: 0 0 30px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.seo-document--diktory .kg-searchbar--live .kg-search .kg-field {
    width: 100%;
    height: 40px;
    min-height: 40px;
    padding: 10px 172px 10px 12px;
    border: 1px solid #3b4173;
    border-radius: 8px;
    color: #3b4173;
    background: #fff;
    box-shadow: none;
    font: 400 15px/20px Roboto, Arial, sans-serif;
}

.seo-document--diktory .kg-searchbar--live .kg-search .kg-field::placeholder {
    color: #bcbfd7;
    opacity: 1;
}

.seo-document--diktory .kg-searchbar--live .kg-search .kg-field:is(:hover, :focus-visible) {
    border-color: #3b4173;
    outline: none;
    box-shadow: 0 0 0 2px rgb(59 65 115 / .1);
}

.seo-document--diktory .kg-searchbar--live .kg-search > button {
    position: absolute;
    top: 0;
    right: 0;
    width: 160px;
    height: 40px;
    min-height: 40px;
    padding: 10px 20px;
    border: 1px solid #3b4173;
    border-radius: 8px;
    color: #fff;
    background: #3b4173;
    box-shadow: none;
    font: 500 15px/20px Roboto, Arial, sans-serif;
}

.seo-document--diktory .kg-searchbar--live .kg-search > button:is(:hover, :focus-visible) {
    border-color: #4a5188;
    background: #4a5188;
    box-shadow: none;
}

.seo-document--diktory .kg-searchbar--live__row,
.seo-document--diktory .kg-searchbar--live__selects {
    display: flex;
    align-items: center;
}

.seo-document--diktory .kg-searchbar--live__row {
    gap: 10px;
}

.seo-document--diktory .kg-searchbar--live__selects {
    flex: 0 0 480px;
    gap: 15px;
}

.seo-document--diktory .kg-searchbar--live__selects .kg-field {
    flex: 1 1 0;
    min-width: 0;
    width: 0;
    height: 40px;
    min-height: 40px;
    padding: 9px 34px 9px 12px;
    border: 1px solid #3b4173;
    border-radius: 8px;
    color: #3b4173;
    background: #fff;
    box-shadow: none;
    font: 400 15px/20px Roboto, Arial, sans-serif;
}

.seo-document--diktory .kg-searchbar--live__selects .kg-field:disabled {
    border-color: #bcbfd7;
    color: #bcbfd7;
    opacity: 1;
}

.seo-document--diktory .kg-searchbar--live__selects .kg-field:focus-visible {
    outline: none;
    box-shadow: 0 0 0 2px rgb(59 65 115 / .1);
}

.seo-document--diktory .kg-searchbar--live .kg-catalog-quick-links {
    display: flex;
    flex-wrap: nowrap;
    flex: 0 0 auto;
    width: auto;
    gap: 8px;
    margin: 0;
}

.seo-document--diktory .kg-searchbar--live .kg-catalog-quick-links :is(a, a + a) {
    display: inline-block;
    min-height: 42px;
    padding: 11px 12px;
    border: 1px solid #c1492e;
    border-radius: 100px;
    color: #c1492e;
    background: #fff;
    box-shadow: none;
    font: 500 15px/18px Roboto, Arial, sans-serif;
    white-space: nowrap;
    transform: none;
}

.seo-document--diktory .kg-searchbar--live .kg-catalog-quick-links a::after {
    content: none;
}

.seo-document--diktory .kg-searchbar--live .kg-catalog-quick-links :is(a, a + a):is(:hover, :focus-visible) {
    color: #fff;
    background: #c1492e;
    box-shadow: none;
    transform: none;
}

.seo-document--diktory .kg-searchbar--live .kg-sort {
    margin-left: auto;
    color: #777;
    font: 400 15px/28px Roboto, Arial, sans-serif;
    white-space: nowrap;
}

.seo-document--diktory .kg-searchbar--live .kg-sort a {
    margin-left: 10px;
    color: #3b4173;
    text-decoration: none;
}

/* The catalogue controls share the same restrained, flag-bearing menu as
   the production voice selector while retaining their native selects as data. */
.seo-document--diktory .kg-searchbar--live .kg-select {
    position: relative;
    min-width: 0;
}

.seo-document--diktory .kg-searchbar--live__selects .kg-select {
    flex: 1 1 0;
}

.seo-document--diktory .kg-searchbar--live .kg-select-native {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    pointer-events: none;
}

.seo-document--diktory .kg-searchbar--live .kg-select-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 40px;
    padding: 9px 12px;
    border: 1px solid #3b4173;
    border-radius: 8px;
    color: #3b4173;
    background: #fff;
    cursor: pointer;
    text-align: left;
    font: 400 15px/20px Roboto, Arial, sans-serif;
    white-space: nowrap;
}

.seo-document--diktory .kg-searchbar--live .kg-select-trigger::after {
    content: "";
    flex: 0 0 8px;
    width: 8px;
    height: 8px;
    margin: -4px 2px 0 12px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg);
}

.seo-document--diktory .kg-searchbar--live .kg-select.is-open .kg-select-trigger::after {
    margin: 4px 2px 0 12px;
    transform: rotate(225deg);
}

.seo-document--diktory .kg-searchbar--live .kg-select-trigger:is(:hover, :focus-visible, [aria-expanded="true"]) {
    outline: none;
    box-shadow: 0 0 0 3px rgb(59 65 115 / .12);
}

.seo-document--diktory .kg-searchbar--live .kg-select-trigger:disabled {
    border-color: #bcbfd7;
    color: #bcbfd7;
    cursor: default;
    box-shadow: none;
}

.seo-document--diktory .kg-searchbar--live .kg-select-menu {
    position: absolute;
    z-index: 30;
    top: calc(100% + 7px);
    left: 0;
    width: 100%;
    max-height: 350px;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 8px;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 7px 14px rgb(29 35 80 / .18);
}

.seo-document--diktory .kg-searchbar--live .kg-select-menu[hidden] {
    display: none;
}

.seo-document--diktory .kg-searchbar--live .kg-select-option {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-height: 46px;
    padding: 8px 9px;
    border: 0;
    border-bottom: 1px solid #e2e3e9;
    color: #3b4173;
    background: #fff;
    cursor: pointer;
    text-align: left;
    font: 400 15px/22px Roboto, Arial, sans-serif;
    white-space: nowrap;
}

.seo-document--diktory .kg-searchbar--live .kg-select-option:last-child {
    border-bottom: 0;
}

.seo-document--diktory .kg-searchbar--live .kg-select-option img {
    flex: 0 0 24px;
    width: 24px;
    height: 18px;
    object-fit: cover;
}

.seo-document--diktory .kg-searchbar--live .kg-select-option:is(:hover, :focus-visible) {
    outline: none;
    color: #c1492e;
    background: rgb(193 73 46 / .07);
}

.seo-document--diktory .kg-searchbar--live .kg-select-option[aria-selected="true"] {
    font-weight: 700;
}

.seo-document--diktory .kg-searchbar--live .kg-sort {
    display: flex;
    align-items: center;
    gap: 8px;
}

.seo-document--diktory .kg-searchbar--live .kg-select--sort {
    min-width: 145px;
}

.seo-document--diktory .kg-searchbar--live .kg-select--sort .kg-select-trigger {
    min-height: 42px;
    padding: 9px 10px;
}

.seo-document--diktory .kg-searchbar--live .kg-select--sort .kg-select-menu {
    left: auto;
    right: 0;
    min-width: 185px;
}

@media (max-width: 1180px) {
    .seo-document--diktory .kg-searchbar--live__row { flex-wrap: wrap; }
    .seo-document--diktory .kg-searchbar--live__selects { flex: 0 1 480px; }
}

@media (max-width: 680px) {
    .seo-document--diktory .kg-searchbar--live { padding-block: 24px 30px; }
    .seo-document--diktory .kg-searchbar--live .kg-search { margin-bottom: 20px; }
    .seo-document--diktory .kg-searchbar--live__selects { flex: 1 1 100%; gap: 10px; }
    .seo-document--diktory .kg-searchbar--live .kg-catalog-quick-links { flex-wrap: wrap; }
    .seo-document--diktory .kg-searchbar--live .kg-sort { margin: 10px 0 0; }
}

@media (max-width: 480px) {
    .seo-document--diktory .kg-searchbar--live__selects { flex-wrap: wrap; }
    .seo-document--diktory .kg-searchbar--live__selects .kg-select { flex: 1 1 100%; }
}

/* Brand-blue supporting copy on the speakers and women's catalogue pages. */
#start.seo-document--diktory:not(.seo-document--famous, .seo-document--dubbing) {
    --seo-muted: var(--seo-ink);
}

/* Keep the opening screen's existing muted supporting text. */
#start.seo-document--diktory:not(.seo-document--famous, .seo-document--dubbing) .kg-hero {
    --seo-muted: #b7b7b7;
}

#start.seo-document--diktory:not(.seo-document--famous, .seo-document--dubbing) .kg-section :is(
    p:not(.kg-live-results):not(.kg-cta p):not(.kg-final p):not(.kg-contact-strip p),
    .kg-check,
    .kg-list,
    .kg-note,
    .kg-mini,
    .kg-speciality,
    figcaption,
    .kg-table td,
    .kg-compare td,
    .kg-quality-rule summary span:not(.kg-quality-rule__number)
) {
    color: var(--seo-ink) !important;
}

#start.seo-document--diktory:not(.seo-document--famous, .seo-document--dubbing) :is(
    .kg-sort,
    .kg-review-date,
    .kg-review-sources,
    .kg-tag,
    #order .kg-step:not(:nth-child(4))::before
) {
    color: var(--seo-ink) !important;
}
/* Generated catalogue landings are flex columns. Legacy page ordering must
   not move their production heading below the cards. */
.seo-document--diktory-showcase > .catalog-production-head { order:0; }
.seo-document--diktory-showcase > .kg-category-nav { order:1; }
.seo-document--diktory-showcase > :is(.kg-searchbar,.kg-filter) { order:2; }
.seo-document--diktory-showcase > #catalog { order:3; }

/* Opening screen for the 14 new services and 6 new catalogue pages. */
#start.seo-document--twenty-hero .kg-hero-grid {
    display: flex;
    min-height: 0;
    justify-content: center;
}

#start.seo-document--twenty-hero .kg-hero-grid > :first-child {
    display: flex;
    width: min(100%, 900px);
    margin-inline: auto;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

#start.seo-document--twenty-hero .kg-hero h1 {
    max-width: 18ch;
    margin-inline: auto;
}

#start.seo-document--twenty-hero .kg-hero .kg-lead {
    max-width: 760px;
    margin-inline: auto;
    text-align: center;
}

#start.seo-document--twenty-hero .kg-hero :is(.kg-actions, .kg-service-facts, .kg-facts) {
    justify-content: center;
}

/* Editorial copy on the twenty refreshed pages uses solid ink. Keep the
   existing brand colours for headings, links, controls and emphasis. The
   repeated ID outranks legacy catalogue rules that use !important. */
#start.seo-document--twenty-hero,
#start.seo-document--twenty-hero .kg-hero {
    --seo-muted: #000;
}

#start#start.seo-document--twenty-hero :is(
    .kg-hero .kg-lead,
    .kg-section p:not(.kg-cta p):not(.kg-final p):not(.kg-contact-strip p),
    .kg-section li,
    .kg-section .kg-check,
    .kg-section .kg-list,
    .kg-section .kg-note,
    .kg-section .kg-mini,
    .kg-section .kg-speciality,
    .kg-section .kg-table td,
    .kg-section .kg-content-table td,
    .kg-section .kg-compare td,
    .kg-section .kg-review-date,
    .kg-section .kg-review-sources,
    .kg-section .kg-text-prep-more small,
    .kg-category-head p,
    .kg-studio-trust__intro-card p,
    .kg-studio-trust__card p,
    .seo-contact__copy p:not(.seo-contact__kicker),
    .seo-contact__actions p,
    .kg-portfolio-showcase__card-copy p,
    .kg-breadcrumb-current
) {
    color: #000 !important;
}

#start.seo-document--twenty-hero .kg-breadcrumb-current {
    opacity: 1;
}

#start#start.seo-document--twenty-hero #reviews.kg-reviews--php :is(
    .kg-review p,
    .kg-review-date,
    .kg-review-sources,
    .kg-review-sources i
) {
    color: #000 !important;
}
