@charset "UTF-8";

/**
 * K-Growth content hub
 *
 * Direction: a restrained B2B journal — clear hierarchy, generous white space,
 * an asymmetric front-page edit, and amber used as an editorial mark rather
 * than decoration. The stylesheet intentionally builds on the tokens declared
 * in the child theme's main stylesheet.
 */

/* --------------------------------------------------------------------------
   Shared content-hub tokens
   -------------------------------------------------------------------------- */

:where(
    .kg-content-hub,
    .kg-latest,
    .kg-blog-latest,
    .kg-voices,
    .kg-newsletter,
    .kg-article-cta,
    .kg-empty-state,
    .kg-blog-empty,
    .kg-newsletter-confirmation
),
#body_wrap.blog,
#body_wrap.archive,
#body_wrap.single-post,
#body_wrap[class*="page-newsletter-"] {
    --kg-ch-navy: var(--kg-navy, #1b2d4f);
    --kg-ch-navy-deep: var(--kg-navy-deep, #0f1d35);
    --kg-ch-navy-mid: var(--kg-navy-mid, #2a4068);
    --kg-ch-amber: var(--kg-amber, #d4762c);
    --kg-ch-amber-dark: var(--kg-amber-dark, #b55e1a);
    --kg-ch-amber-pale: var(--kg-amber-pale, #fef7f0);
    --kg-ch-paper: var(--kg-white, #fff);
    --kg-ch-paper-warm: var(--kg-bg-warm, #fffbf7);
    --kg-ch-canvas: var(--kg-bg-alt, #f3f4f6);
    --kg-ch-ink: var(--kg-ink, #111827);
    --kg-ch-body: var(--kg-ink-body, #1f2937);
    --kg-ch-sub: var(--kg-ink-sub, #4b5563);
    --kg-ch-muted: var(--kg-ink-muted, #6b7280);
    --kg-ch-border: var(--kg-border-lt, #e5e7eb);
    --kg-ch-display: var(--kg-ff-disp, "Shippori Mincho B1", Georgia, serif);
    --kg-ch-sans: var(--kg-ff-body, "Noto Sans JP", "Hiragino Sans", sans-serif);
    --kg-ch-shadow: 0 18px 50px rgba(15, 29, 53, 0.08);
    --kg-ch-shadow-hover: 0 24px 64px rgba(15, 29, 53, 0.14);
    color: var(--kg-ch-body);
    font-family: var(--kg-ch-sans);
}

:where(.kg-content-hub, .kg-latest, .kg-blog-latest, .kg-voices, .kg-newsletter) {
    position: relative;
}

:where(.kg-content-hub, .kg-latest, .kg-blog-latest, .kg-voices, .kg-newsletter) *,
:where(.kg-content-hub, .kg-latest, .kg-blog-latest, .kg-voices, .kg-newsletter) *::before,
:where(.kg-content-hub, .kg-latest, .kg-blog-latest, .kg-voices, .kg-newsletter) *::after {
    box-sizing: border-box;
}

/* --------------------------------------------------------------------------
   Front-page latest posts — asymmetric editorial lead
   -------------------------------------------------------------------------- */

:where(.kg-content-hub, .kg-latest, .kg-blog-latest) {
    overflow: hidden;
    padding-block: clamp(72px, 8vw, 120px);
    background:
        linear-gradient(90deg, transparent 0, transparent calc(50% - 1px), rgba(27, 45, 79, 0.045) 50%, transparent calc(50% + 1px)),
        var(--kg-ch-paper);
}

:where(.kg-content-hub, .kg-latest, .kg-blog-latest)::before {
    position: absolute;
    top: 0;
    left: max(28px, calc((100% - 1120px) / 2 + 28px));
    width: 1px;
    height: 52px;
    background: var(--kg-ch-amber);
    content: "";
}

:where(.kg-content-hub__head, .kg-latest__head, .kg-blog-latest__head),
.kg-latest__header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 0.52fr);
    gap: clamp(28px, 5vw, 76px);
    align-items: end;
    margin-bottom: clamp(36px, 5vw, 64px);
}

:where(.kg-content-hub__head, .kg-latest__head, .kg-blog-latest__head) .kg-tag {
    grid-column: 1 / -1;
    margin-bottom: -12px;
}

.kg-latest__intro {
    max-width: 760px;
    padding: 0;
    border: 0;
}

.kg-latest__intro .kg-tag {
    margin-bottom: 14px;
}

:where(.kg-content-hub__head, .kg-latest__head, .kg-blog-latest__head) .kg-ttl,
:where(.kg-content-hub__title, .kg-latest__title, .kg-blog-latest__title) {
    max-width: 13em;
    margin: 0 !important;
    font-family: var(--kg-ch-display) !important;
    font-size: clamp(2rem, 4.1vw, 3.5rem) !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    letter-spacing: -0.025em !important;
    color: var(--kg-ch-ink) !important;
}

.kg-latest .kg-latest__title.kg-ttl {
    max-width: 13em;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--kg-ch-ink) !important;
    font-family: var(--kg-ch-display) !important;
    font-size: clamp(2rem, 4.1vw, 3.5rem) !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    letter-spacing: -0.025em !important;
}

.kg-latest .kg-latest__title.kg-ttl::before {
    content: none !important;
}

:where(.kg-content-hub__intro, .kg-blog-latest__intro),
.kg-latest__lead {
    max-width: 34em;
    margin: 0;
    padding-left: 22px;
    border-left: 1px solid var(--kg-ch-border);
    color: var(--kg-ch-sub);
    font-size: 0.95rem;
    line-height: 2;
}

:where(.kg-content-hub__grid, .kg-latest__grid, .kg-latest-grid, .kg-blog-latest__grid) {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-auto-flow: dense;
    gap: 22px;
    align-items: stretch;
}

/* The journal preview is a deliberate three-up rhythm: equal cards keep
   thumbnail crops and reading starts on the same horizontal line. */
.kg-latest__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.kg-latest__grid > .kg-post-card {
    grid-column: auto;
    grid-row: auto;
    height: 100%;
}

.kg-latest__grid > .kg-post-card .kg-post-card__link {
    display: flex;
    min-height: 100%;
    flex-direction: column;
}

.kg-latest__grid > .kg-post-card .kg-post-card__media {
    flex: 0 0 auto;
    min-height: 0;
    aspect-ratio: 3 / 2;
}

.kg-latest__grid > .kg-post-card .kg-post-card__body {
    flex: 1 1 auto;
}

.kg-latest__grid > .kg-post-card--lead {
    grid-column: span 7;
    grid-row: 1;
}

.kg-latest__rail {
    display: grid;
    grid-column: span 5;
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: 22px;
    min-width: 0;
}

.kg-latest__rail > .kg-post-card {
    grid-column: auto;
    grid-row: auto;
}

:where(.kg-post-card, .kg-latest-card, .kg-blog-card) {
    position: relative;
    grid-column: span 5;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--kg-ch-border);
    border-radius: 2px;
    background: var(--kg-ch-paper);
    box-shadow: 0 10px 28px rgba(15, 29, 53, 0.055);
    transition: border-color 240ms ease, box-shadow 240ms ease, transform 240ms ease;
    margin: 0;
}

:where(.kg-post-card--lead, .kg-latest-card--lead, .kg-blog-card--lead) {
    grid-column: span 7;
    grid-row: span 2;
}

:where(.kg-post-card, .kg-latest-card, .kg-blog-card)::before {
    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;
    width: 0;
    height: 3px;
    background: var(--kg-ch-amber);
    content: "";
    transition: width 320ms cubic-bezier(0.22, 1, 0.36, 1);
}

:where(.kg-post-card, .kg-latest-card, .kg-blog-card):hover,
:where(.kg-post-card, .kg-latest-card, .kg-blog-card):focus-within {
    border-color: rgba(27, 45, 79, 0.28);
    box-shadow: var(--kg-ch-shadow-hover);
    transform: translateY(-4px);
}

:where(.kg-post-card, .kg-latest-card, .kg-blog-card):hover::before,
:where(.kg-post-card, .kg-latest-card, .kg-blog-card):focus-within::before {
    width: 100%;
}

:where(.kg-post-card__link, .kg-latest-card__link, .kg-blog-card__link) {
    display: grid;
    grid-template-columns: minmax(150px, 42%) minmax(0, 1fr);
    min-height: 100%;
    color: inherit;
    text-decoration: none;
}

:where(.kg-post-card--lead, .kg-latest-card--lead, .kg-blog-card--lead)
    :where(.kg-post-card__link, .kg-latest-card__link, .kg-blog-card__link) {
    grid-template-columns: 1fr;
}

:where(.kg-post-card__media, .kg-latest-card__media, .kg-blog-card__media) {
    position: relative;
    min-height: 180px;
    overflow: hidden;
    background:
        linear-gradient(135deg, rgba(15, 29, 53, 0.96), rgba(42, 64, 104, 0.9)),
        var(--kg-ch-navy-deep);
    margin: 0;
}

:where(.kg-post-card--lead, .kg-latest-card--lead, .kg-blog-card--lead)
    :where(.kg-post-card__media, .kg-latest-card__media, .kg-blog-card__media) {
    min-height: clamp(310px, 34vw, 470px);
}

:where(.kg-post-card__media, .kg-latest-card__media, .kg-blog-card__media)::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 52%, rgba(15, 29, 53, 0.28));
    content: "";
    pointer-events: none;
}

:where(.kg-post-card__media, .kg-latest-card__media, .kg-blog-card__media) img,
:where(.kg-post-card__image, .kg-latest-card__image, .kg-blog-card__image) {
    width: 100%;
    height: 100%;
    min-height: inherit;
    object-fit: cover;
    transition: transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
}

.kg-post-card__placeholder {
    position: relative;
    display: grid;
    width: 100%;
    height: 100%;
    min-height: inherit;
    place-items: end start;
    padding: 22px;
    background:
        linear-gradient(135deg, transparent 0 58%, rgba(212, 118, 44, 0.18) 58% 59%, transparent 59%),
        var(--kg-ch-navy-deep);
    color: rgba(255, 255, 255, 0.88);
    font-family: var(--kg-ch-display);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.13em;
}

.kg-post-card__placeholder::before {
    content: "K-GROWTH / INSIGHT";
}

:where(.kg-post-card, .kg-latest-card, .kg-blog-card):hover
    :where(.kg-post-card__media, .kg-latest-card__media, .kg-blog-card__media) img,
:where(.kg-post-card, .kg-latest-card, .kg-blog-card):focus-within
    :where(.kg-post-card__media, .kg-latest-card__media, .kg-blog-card__media) img {
    transform: scale(1.035);
}

:where(.kg-post-card__body, .kg-latest-card__body, .kg-blog-card__body) {
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding: clamp(20px, 2.6vw, 32px);
}

:where(.kg-post-card--lead, .kg-latest-card--lead, .kg-blog-card--lead)
    :where(.kg-post-card__body, .kg-latest-card__body, .kg-blog-card__body) {
    padding: clamp(26px, 3.4vw, 42px);
}

:where(.kg-post-card__meta, .kg-latest-card__meta, .kg-blog-card__meta) {
    display: flex;
    flex-wrap: wrap;
    gap: 9px 14px;
    align-items: center;
    margin-bottom: 14px;
    color: var(--kg-ch-muted);
    font-size: 0.74rem;
    font-weight: 600;
    letter-spacing: 0.04em;
}

:where(.kg-post-card__category, .kg-latest-card__category, .kg-blog-card__category) {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding-inline: 10px;
    background: var(--kg-ch-navy);
    color: #fff;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.08em;
}

:where(.kg-post-card__date, .kg-latest-card__date, .kg-blog-card__date) {
    font-variant-numeric: tabular-nums;
}

:where(.kg-post-card__title, .kg-latest-card__title, .kg-blog-card__title) {
    margin: 0 0 12px;
    color: var(--kg-ch-ink);
    font-family: var(--kg-ch-display);
    font-size: clamp(1.05rem, 1.65vw, 1.34rem);
    font-weight: 700;
    line-height: 1.65;
    letter-spacing: -0.015em;
    transition: color 180ms ease;
}

:where(.kg-post-card--lead, .kg-latest-card--lead, .kg-blog-card--lead)
    :where(.kg-post-card__title, .kg-latest-card__title, .kg-blog-card__title) {
    max-width: 18em;
    font-size: clamp(1.45rem, 2.6vw, 2.15rem);
    line-height: 1.55;
}

:where(.kg-post-card, .kg-latest-card, .kg-blog-card):hover
    :where(.kg-post-card__title, .kg-latest-card__title, .kg-blog-card__title),
:where(.kg-post-card, .kg-latest-card, .kg-blog-card):focus-within
    :where(.kg-post-card__title, .kg-latest-card__title, .kg-blog-card__title) {
    color: var(--kg-ch-amber-dark);
}

:where(.kg-post-card__excerpt, .kg-latest-card__excerpt, .kg-blog-card__excerpt) {
    display: -webkit-box;
    overflow: hidden;
    margin: 0 0 20px;
    color: var(--kg-ch-sub);
    font-size: 0.86rem;
    line-height: 1.9;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.post_content .kg-latest__lead,
.post_content .kg-post-card__excerpt {
    margin-top: 0;
}

.post_content .kg-latest__lead {
    margin-bottom: 0;
}

.post_content .kg-post-card__excerpt {
    margin-bottom: 20px;
}

.kg-post-card--compact .kg-post-card__body {
    padding: 20px 22px;
}

.kg-post-card--compact .kg-post-card__title {
    font-size: clamp(1rem, 1.35vw, 1.18rem);
}

.kg-post-card--compact .kg-post-card__excerpt {
    margin-bottom: 14px;
    -webkit-line-clamp: 2;
}

.post_content h3.kg-post-card__title,
.post_content h3.kg-voice-card__title {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.post_content h3.kg-post-card__title::before,
.post_content h3.kg-voice-card__title::before {
    content: none !important;
}

:where(.kg-post-card__more, .kg-latest-card__more, .kg-blog-card__more, .kg-post-card__read) {
    display: inline-flex;
    gap: 10px;
    align-items: center;
    margin-top: auto;
    color: var(--kg-ch-navy);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

:where(.kg-post-card__more, .kg-latest-card__more, .kg-blog-card__more, .kg-post-card__read)::after {
    width: 28px;
    height: 1px;
    background: var(--kg-ch-amber);
    content: "";
    transition: width 180ms ease;
}

:where(.kg-post-card, .kg-latest-card, .kg-blog-card):hover
    :where(.kg-post-card__more, .kg-latest-card__more, .kg-blog-card__more, .kg-post-card__read)::after {
    width: 42px;
}

:where(.kg-content-hub__footer, .kg-latest__footer, .kg-blog-latest__footer) {
    display: flex;
    justify-content: flex-end;
    margin-top: 34px;
}

:where(.kg-content-hub__all, .kg-latest__all, .kg-blog-latest__all) {
    display: inline-flex;
    min-height: 48px;
    gap: 12px;
    align-items: center;
    justify-content: center;
    padding: 12px 22px;
    border-bottom: 1px solid var(--kg-ch-navy);
    color: var(--kg-ch-navy);
    font-size: 0.86rem;
    font-weight: 700;
    text-decoration: none;
    transition: color 180ms ease, border-color 180ms ease;
}

.kg-latest__header > .kg-latest__all {
    align-self: end;
    justify-self: end;
}

:where(.kg-content-hub__all, .kg-latest__all, .kg-blog-latest__all):hover {
    border-color: var(--kg-ch-amber);
    color: var(--kg-ch-amber-dark);
}

/* --------------------------------------------------------------------------
   Customer voices — human proof, not a generic testimonial carousel
   -------------------------------------------------------------------------- */

.kg-voices {
    overflow: hidden;
    padding-block: clamp(72px, 8vw, 112px);
    border-block: 1px solid var(--kg-ch-border);
    background:
        radial-gradient(circle at 92% 8%, rgba(212, 118, 44, 0.08), transparent 23%),
        var(--kg-ch-paper-warm);
}

.kg-voices__head {
    max-width: 760px;
    margin-bottom: clamp(40px, 5vw, 68px);
}

.kg-voices__head .kg-ttl {
    margin-bottom: 14px !important;
    font-size: clamp(1.8rem, 3.6vw, 2.8rem) !important;
}

.kg-voice-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    align-items: stretch;
}

.kg-voice-card {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 100%;
    height: 100%;
    flex-direction: column;
    padding: clamp(28px, 3vw, 38px);
    overflow: hidden;
    border: 1px solid var(--kg-ch-border);
    border-top: 3px solid var(--kg-ch-navy);
    border-radius: 2px;
    background: var(--kg-ch-paper);
    box-shadow: 0 12px 34px rgba(15, 29, 53, 0.055);
    transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}

.kg-voice-card::before {
    position: absolute;
    top: -30px;
    right: 18px;
    color: rgba(27, 45, 79, 0.055);
    content: "“";
    font-family: var(--kg-ch-display);
    font-size: 9rem;
    font-weight: 700;
    line-height: 1;
    pointer-events: none;
}

.kg-voice-card:hover,
.kg-voice-card:focus-within {
    border-top-color: var(--kg-ch-amber);
    box-shadow: var(--kg-ch-shadow);
    transform: translateY(-4px);
}

.kg-voice-card__quote {
    position: relative;
    z-index: 1;
    display: block;
    margin: 0 0 18px;
    color: var(--kg-ch-amber-dark);
    font-family: var(--kg-ch-display);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
}

.kg-voice-card__title {
    position: relative;
    z-index: 1;
    margin: 0 0 18px;
    color: var(--kg-ch-ink);
    font-family: var(--kg-ch-display);
    font-size: clamp(1.18rem, 1.65vw, 1.48rem);
    font-weight: 700;
    line-height: 1.65;
    letter-spacing: -0.015em;
}

.kg-voice-card__body {
    position: relative;
    z-index: 1;
    margin: 0 0 28px;
    color: var(--kg-ch-sub);
    font-size: 0.9rem;
    line-height: 2;
}

.kg-voice-card__body > :last-child {
    margin-bottom: 0;
}

.kg-voice-card__footer {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    margin-top: auto;
    padding-top: 20px;
    border-top: 1px solid var(--kg-ch-border);
}

.kg-voice-card__photo {
    display: grid;
    width: 58px;
    height: 58px;
    place-items: center;
    overflow: hidden;
    border: 1px solid var(--kg-ch-border);
    border-radius: 50%;
    background: var(--kg-ch-canvas);
}

.kg-voice-card__photo.is-placeholder {
    color: var(--kg-ch-navy);
    font-family: var(--kg-ch-display);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
}

.kg-voice-card__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(0.82) contrast(1.03);
}

.kg-voice-card__attribution {
    min-width: 0;
    font-style: normal;
}

.kg-voice-card__company,
.kg-voice-card__person,
.kg-voice-card__industry {
    display: block;
}

.kg-voice-card__company {
    overflow: hidden;
    color: var(--kg-ch-ink);
    font-size: 0.84rem;
    font-weight: 700;
    line-height: 1.55;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.kg-voice-card__person {
    margin-top: 2px;
    color: var(--kg-ch-sub);
    font-size: 0.78rem;
}

.kg-voice-card__industry {
    margin-top: 5px;
    color: var(--kg-ch-muted);
    font-size: 0.68rem;
    letter-spacing: 0.04em;
}

/* --------------------------------------------------------------------------
   Newsletter — strong editorial insert around the provider iframe
   -------------------------------------------------------------------------- */

.kg-newsletter {
    z-index: 0;
    overflow: hidden;
    background: var(--kg-ch-navy-deep);
    color: #fff;
    isolation: isolate;
}

.kg-newsletter::before {
    position: absolute;
    z-index: -2;
    inset: 0;
    background:
        radial-gradient(circle at 8% 12%, rgba(212, 118, 44, 0.18), transparent 28%),
        linear-gradient(112deg, rgba(42, 64, 104, 0.34), transparent 48%);
    content: "";
}

.kg-newsletter::after {
    position: absolute;
    z-index: -1;
    top: -35%;
    right: -7%;
    width: min(42vw, 600px);
    aspect-ratio: 1;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 50%;
    box-shadow:
        0 0 0 48px rgba(255, 255, 255, 0.025),
        0 0 0 96px rgba(255, 255, 255, 0.018);
    content: "";
}

.kg-newsletter__inner {
    display: grid;
    grid-template-columns: minmax(260px, 0.78fr) minmax(420px, 1.22fr);
    gap: clamp(36px, 6vw, 88px);
    align-items: center;
}

.kg-newsletter__header {
    align-self: center;
}

.kg-newsletter__eyebrow.kg-tag {
    margin-bottom: 18px;
    color: #f2a05f;
}

.kg-newsletter__eyebrow.kg-tag::before {
    background: #f2a05f;
}

.kg-newsletter h2.kg-newsletter__title.kg-ttl {
    max-width: 12em;
    margin: 0 0 20px !important;
    color: #fff !important;
    font-family: var(--kg-ch-display) !important;
    font-size: clamp(1.9rem, 3.7vw, 3rem) !important;
    line-height: 1.5 !important;
    letter-spacing: -0.02em !important;
}

.kg-newsletter__description.kg-sub {
    max-width: 35em;
    margin: 0;
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.94rem;
    line-height: 2;
}

.kg-newsletter__embed {
    position: relative;
    min-width: 0;
    padding: clamp(8px, 1.3vw, 14px);
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 4px;
    background: #fff;
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.24);
}

.kg-newsletter__embed::before {
    display: block;
    height: 3px;
    margin: calc(clamp(8px, 1.3vw, 14px) * -1) calc(clamp(8px, 1.3vw, 14px) * -1) clamp(8px, 1.3vw, 14px);
    background: linear-gradient(90deg, var(--kg-ch-amber), var(--kg-ch-amber) 22%, var(--kg-ch-navy) 22%);
    content: "";
}

.kg-newsletter__iframe {
    display: block;
    width: 100%;
    max-width: 100%;
    min-height: 520px;
    border: 0;
    background: #fff;
    color-scheme: light;
}

.kg-newsletter__assurance {
    grid-column: 2;
    margin: -20px 0 0;
    color: rgba(255, 255, 255, 0.68);
    font-size: 0.73rem;
    line-height: 1.8;
}

.kg-newsletter__privacy-link {
    color: #fff;
    text-decoration: underline;
    text-decoration-color: rgba(212, 118, 44, 0.8);
    text-underline-offset: 3px;
}

.kg-newsletter__privacy-link:hover {
    color: #f5b37f;
}

.kg-newsletter__admin-notice {
    grid-column: 2;
    padding: 22px 24px;
    border: 1px dashed rgba(255, 255, 255, 0.42);
    background: var(--kg-navy-deep, #0f1d35);
    color: #fff;
    font-size: 0.86rem;
    line-height: 1.8;
}

.kg-newsletter .kg-newsletter__admin-notice {
    background: rgba(255, 255, 255, 0.08);
}

.kg-newsletter__admin-notice p {
    margin: 0 0 12px;
}

.kg-newsletter__admin-link {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    padding: 8px 16px;
    border: 1px solid rgba(255, 255, 255, 0.62);
    color: #fff;
    font-weight: 700;
    text-decoration: none;
}

.kg-newsletter--context-article,
.kg-newsletter--context-inline,
.kg-newsletter--context-sidebar,
.kg-newsletter--context-footer {
    border-radius: 4px;
}

.kg-newsletter--context-inline .kg-newsletter__inner,
.kg-newsletter--context-sidebar .kg-newsletter__inner,
.kg-newsletter--context-footer .kg-newsletter__inner {
    display: block;
    padding: clamp(28px, 4vw, 48px);
}

.kg-newsletter--context-inline .kg-newsletter__header,
.kg-newsletter--context-sidebar .kg-newsletter__header,
.kg-newsletter--context-footer .kg-newsletter__header {
    margin-bottom: 26px;
}

.kg-newsletter--context-inline .kg-newsletter__assurance,
.kg-newsletter--context-sidebar .kg-newsletter__assurance,
.kg-newsletter--context-footer .kg-newsletter__assurance {
    margin-top: 14px;
}

.post_content .kg-newsletter__eyebrow.kg-tag {
    margin: 0 0 18px;
}

.post_content .kg-newsletter__description.kg-sub {
    margin: 0;
}

.post_content .kg-newsletter__assurance {
    margin: -20px 0 0;
}

.post_content .kg-newsletter--context-inline .kg-newsletter__assurance,
.post_content .kg-newsletter--context-sidebar .kg-newsletter__assurance,
.post_content .kg-newsletter--context-footer .kg-newsletter__assurance {
    margin-top: 14px;
}

/* --------------------------------------------------------------------------
   WordPress / SWELL blog archive
   -------------------------------------------------------------------------- */

#body_wrap.blog,
#body_wrap.archive {
    background: var(--kg-ch-paper);
}

#body_wrap.blog #content.l-content,
#body_wrap.archive #content.l-content {
    max-width: 1200px;
    padding-top: clamp(48px, 6vw, 88px);
}

#body_wrap.blog #main_content,
#body_wrap.archive #main_content {
    width: 100% !important;
    max-width: none;
}

#body_wrap.blog #sidebar,
#body_wrap.archive #sidebar {
    display: none;
}

#body_wrap.blog .c-pageTitle,
#body_wrap.archive .c-pageTitle {
    position: relative;
    margin-bottom: clamp(42px, 6vw, 76px);
    padding: 22px 0 24px 28px;
    border: 0 !important;
    border-left: 3px solid var(--kg-ch-amber) !important;
    color: var(--kg-ch-ink);
    font-family: var(--kg-ch-display);
    font-size: clamp(2rem, 4.8vw, 3.8rem);
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -0.035em;
}

#body_wrap.blog .c-pageTitle::before,
#body_wrap.archive .c-pageTitle::before {
    display: block;
    margin-bottom: 10px;
    color: var(--kg-ch-amber-dark);
    content: "K-GROWTH JOURNAL";
    font-family: var(--kg-ch-sans);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.18em;
}

#body_wrap.blog .c-pageTitle__subTitle,
#body_wrap.archive .c-pageTitle__subTitle {
    display: inline-block;
    margin-left: 14px;
    color: var(--kg-ch-muted);
    font-family: var(--kg-ch-sans);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

#body_wrap.blog :where(.p-homeContent, .p-archiveContent, .p-termContent),
#body_wrap.archive :where(.p-homeContent, .p-archiveContent, .p-termContent) {
    margin-top: 0 !important;
}

#body_wrap.blog .p-postList.-type-card,
#body_wrap.archive .p-postList.-type-card {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(24px, 3vw, 38px) 24px;
    margin: 0;
}

#body_wrap.blog .p-postList.-type-card .p-postList__item,
#body_wrap.archive .p-postList.-type-card .p-postList__item {
    width: auto !important;
    min-width: 0;
    height: 100%;
    margin: 0 !important;
    padding: 0 !important;
}

#body_wrap.blog .p-postList.-type-card .p-postList__link,
#body_wrap.archive .p-postList.-type-card .p-postList__link {
    position: relative;
    display: flex;
    height: 100%;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--kg-ch-border);
    border-radius: 2px;
    background: var(--kg-ch-paper);
    color: inherit;
    text-decoration: none;
    box-shadow: 0 9px 26px rgba(15, 29, 53, 0.05);
    transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}

#body_wrap.blog .p-postList.-type-card .p-postList__link::after,
#body_wrap.archive .p-postList.-type-card .p-postList__link::after {
    position: absolute;
    right: 22px;
    bottom: 22px;
    width: 26px;
    height: 1px;
    background: var(--kg-ch-amber);
    content: "";
    transition: width 180ms ease;
}

#body_wrap.blog .p-postList.-type-card .p-postList__link:hover,
#body_wrap.blog .p-postList.-type-card .p-postList__link:focus-visible,
#body_wrap.archive .p-postList.-type-card .p-postList__link:hover,
#body_wrap.archive .p-postList.-type-card .p-postList__link:focus-visible {
    border-color: rgba(27, 45, 79, 0.3);
    box-shadow: var(--kg-ch-shadow-hover);
    opacity: 1;
    transform: translateY(-5px);
}

#body_wrap.blog .p-postList.-type-card .p-postList__link:hover::after,
#body_wrap.archive .p-postList.-type-card .p-postList__link:hover::after {
    width: 42px;
}

#body_wrap.blog .p-postList.-type-card .p-postList__thumb,
#body_wrap.archive .p-postList.-type-card .p-postList__thumb {
    position: relative;
    overflow: hidden;
    box-shadow: none;
}

#body_wrap.blog .p-postList.-type-card .c-postThumb__figure,
#body_wrap.archive .p-postList.-type-card .c-postThumb__figure {
    aspect-ratio: 3 / 2;
    overflow: hidden;
    background: var(--kg-ch-navy-deep);
}

#body_wrap.blog .p-postList.-type-card .c-postThumb__img,
#body_wrap.archive .p-postList.-type-card .c-postThumb__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 650ms cubic-bezier(0.22, 1, 0.36, 1);
}

#body_wrap.blog .p-postList.-type-card .p-postList__link:hover .c-postThumb__img,
#body_wrap.archive .p-postList.-type-card .p-postList__link:hover .c-postThumb__img {
    transform: scale(1.035);
}

#body_wrap.blog .p-postList.-type-card .c-postThumb.noimg_,
#body_wrap.archive .p-postList.-type-card .c-postThumb.noimg_ {
    background:
        linear-gradient(135deg, transparent 0 58%, rgba(212, 118, 44, 0.12) 58% 59%, transparent 59%),
        var(--kg-ch-navy-deep);
}

#body_wrap.blog .p-postList.-type-card .c-postThumb.noimg_::before,
#body_wrap.archive .p-postList.-type-card .c-postThumb.noimg_::before {
    position: absolute;
    z-index: 1;
    bottom: 22px;
    left: 22px;
    max-width: 13em;
    color: rgba(255, 255, 255, 0.86);
    content: "K-GROWTH / INSIGHT";
    font-family: var(--kg-ch-display);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.12em;
}

#body_wrap.blog .p-postList.-type-card .c-postThumb.noimg_ .c-postThumb__img,
#body_wrap.archive .p-postList.-type-card .c-postThumb.noimg_ .c-postThumb__img {
    opacity: 0;
}

#body_wrap.blog .p-postList.-type-card .c-postThumb__cat,
#body_wrap.archive .p-postList.-type-card .c-postThumb__cat {
    top: auto;
    right: auto;
    bottom: 0;
    left: 0;
    padding: 8px 12px;
    background: var(--kg-ch-navy);
    color: #fff;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.06em;
}

#body_wrap.blog .p-postList.-type-card .p-postList__body,
#body_wrap.archive .p-postList.-type-card .p-postList__body {
    display: flex;
    min-height: 224px;
    flex: 1;
    flex-direction: column;
    padding: 24px 24px 30px;
}

#body_wrap.blog .p-postList.-type-card .p-postList__title,
#body_wrap.archive .p-postList.-type-card .p-postList__title {
    display: -webkit-box;
    overflow: hidden;
    margin: 0 0 12px;
    color: var(--kg-ch-ink);
    font-family: var(--kg-ch-display);
    font-size: clamp(1.08rem, 1.5vw, 1.28rem);
    font-weight: 700;
    line-height: 1.65;
    letter-spacing: -0.015em;
    transition: color 180ms ease;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

#body_wrap.blog .p-postList.-type-card .p-postList__link:hover .p-postList__title,
#body_wrap.archive .p-postList.-type-card .p-postList__link:hover .p-postList__title {
    color: var(--kg-ch-amber-dark);
}

#body_wrap.blog .p-postList.-type-card .p-postList__excerpt,
#body_wrap.archive .p-postList.-type-card .p-postList__excerpt {
    display: -webkit-box;
    overflow: hidden;
    margin: 0 0 22px;
    color: var(--kg-ch-sub);
    font-size: 0.84rem;
    line-height: 1.9;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

#body_wrap.blog .p-postList.-type-card .p-postList__meta,
#body_wrap.archive .p-postList.-type-card .p-postList__meta {
    margin-top: auto;
    padding-right: 48px;
    color: var(--kg-ch-muted);
    font-size: 0.72rem;
    font-variant-numeric: tabular-nums;
}

#body_wrap.blog .c-pagination,
#body_wrap.archive .c-pagination {
    gap: 8px;
    margin-top: clamp(44px, 6vw, 72px);
}

#body_wrap.blog .c-pagination .page-numbers,
#body_wrap.archive .c-pagination .page-numbers {
    display: inline-flex;
    min-width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    margin: 0;
    border: 1px solid var(--kg-ch-border);
    border-radius: 0;
    background: var(--kg-ch-paper);
    color: var(--kg-ch-navy);
    box-shadow: none;
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1;
}

#body_wrap.blog .c-pagination .page-numbers.current,
#body_wrap.blog .c-pagination a.page-numbers:hover,
#body_wrap.archive .c-pagination .page-numbers.current,
#body_wrap.archive .c-pagination a.page-numbers:hover {
    border-color: var(--kg-ch-navy);
    background: var(--kg-ch-navy);
    color: #fff;
}

.kg-empty-state,
.kg-blog-empty,
#body_wrap.blog .p-postListTabBody > p:only-child,
#body_wrap.archive .p-postListTabBody > p:only-child {
    max-width: 760px;
    margin: 0 auto;
    padding: clamp(42px, 7vw, 76px);
    border: 1px solid var(--kg-ch-border);
    border-top: 3px solid var(--kg-ch-amber);
    background: var(--kg-ch-paper-warm);
    color: var(--kg-ch-sub);
    text-align: center;
    line-height: 2;
}

.kg-blog-empty__mark {
    display: grid;
    width: 62px;
    height: 62px;
    place-items: center;
    margin: 0 auto 22px;
    border: 1px solid var(--kg-ch-navy);
    border-radius: 50%;
    color: var(--kg-ch-navy);
    font-family: var(--kg-ch-display);
    font-size: 1.15rem;
    font-weight: 700;
}

.kg-blog-empty__mark::before {
    content: "KG";
}

.kg-blog-empty__eyebrow {
    margin: 0 0 10px;
    color: var(--kg-ch-amber-dark);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.kg-empty-state__title,
.kg-blog-empty__title {
    margin: 0 0 12px;
    color: var(--kg-ch-ink);
    font-family: var(--kg-ch-display);
    font-size: clamp(1.35rem, 3vw, 2rem);
    line-height: 1.55;
}

.kg-blog-empty__copy {
    max-width: 38em;
    margin: 0 auto;
}

.kg-empty-state__action,
.kg-blog-empty__link {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    margin-top: 22px;
    padding: 12px 24px;
    background: var(--kg-ch-navy);
    color: #fff;
    font-weight: 700;
    text-decoration: none;
}

.kg-blog-empty__link:hover {
    background: var(--kg-ch-amber-dark);
    color: #fff;
}

/* --------------------------------------------------------------------------
   Single article — calm reading column and deliberate hierarchy
   -------------------------------------------------------------------------- */

#body_wrap.single-post {
    background: var(--kg-ch-paper);
}

#body_wrap.single-post #content.l-content {
    max-width: 1120px;
    padding-top: clamp(42px, 6vw, 82px);
}

#body_wrap.single-post #sidebar {
    display: none;
}

#body_wrap.single-post #main_content {
    width: 100% !important;
    max-width: none;
}

#body_wrap.single-post #main_content > .l-mainContent__inner {
    width: min(100%, 820px);
    margin-inline: auto;
}

#body_wrap.single-post .p-articleHead {
    position: relative;
    display: grid;
    grid-template-columns: 78px minmax(0, 1fr);
    gap: 24px;
    align-items: start;
    margin-bottom: 20px;
    padding: 0 0 30px;
    border-bottom: 1px solid var(--kg-ch-border);
}

#body_wrap.single-post .p-articleHead::before {
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 78px;
    height: 3px;
    background: var(--kg-ch-amber);
    content: "";
}

#body_wrap.single-post .c-postTitle__ttl {
    grid-column: 2;
    margin: 0;
    color: var(--kg-ch-ink);
    font-family: var(--kg-ch-display);
    font-size: clamp(2rem, 4.4vw, 3.35rem);
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: -0.035em;
}

#body_wrap.single-post .c-postTitle__date {
    grid-column: 1;
    grid-row: 1;
    color: var(--kg-ch-navy);
    font-family: var(--kg-ch-display);
    font-variant-numeric: tabular-nums;
}

#body_wrap.single-post .p-articleMetas.-top {
    margin: 0 0 32px;
    color: var(--kg-ch-muted);
    font-size: 0.76rem;
}

#body_wrap.single-post .c-categoryList__link {
    border-radius: 0;
    background: var(--kg-ch-navy);
    color: #fff;
}

#body_wrap.single-post .p-articleThumb {
    margin-block: 0 clamp(40px, 6vw, 68px);
}

#body_wrap.single-post .p-articleThumb__img {
    width: 100%;
    max-height: 520px;
    border-radius: 2px;
    box-shadow: var(--kg-ch-shadow);
    object-fit: cover;
}

#body_wrap.single-post .post_content {
    color: var(--kg-ch-body);
    font-family: var(--kg-ch-sans);
    font-size: clamp(1rem, 1.15vw, 1.06rem);
    line-height: 2.08;
}

#body_wrap.single-post .post_content > p:first-child {
    color: var(--kg-ch-ink);
    font-size: 1.08em;
    line-height: 2.12;
}

#body_wrap.single-post .post_content p {
    margin-bottom: 1.75em;
}

#body_wrap.single-post .post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
    margin: clamp(64px, 8vw, 92px) 0 30px !important;
    padding: 22px 0 18px !important;
    border: 0 !important;
    border-top: 1px solid var(--kg-ch-navy) !important;
    border-bottom: 1px solid var(--kg-ch-border) !important;
    background: transparent !important;
    color: var(--kg-ch-navy) !important;
    font-family: var(--kg-ch-display) !important;
    font-size: clamp(1.55rem, 3vw, 2.15rem) !important;
    font-weight: 700 !important;
    line-height: 1.6 !important;
    letter-spacing: -0.02em !important;
}

#body_wrap.single-post .post_content h2::before {
    content: none !important;
}

#body_wrap.single-post .post_content h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
    margin: 50px 0 24px;
    padding: 2px 0 2px 18px !important;
    border: 0 !important;
    border-left: 3px solid var(--kg-ch-amber) !important;
    color: var(--kg-ch-ink);
    font-family: var(--kg-ch-display);
    font-size: clamp(1.25rem, 2.3vw, 1.65rem);
    font-weight: 700;
    line-height: 1.65;
}

#body_wrap.single-post .post_content h3::before {
    content: none !important;
}

#body_wrap.single-post .post_content h4 {
    margin: 38px 0 18px;
    padding-left: 14px;
    border-left-color: var(--kg-ch-navy);
    color: var(--kg-ch-ink);
    font-size: 1.08rem;
    line-height: 1.7;
}

#body_wrap.single-post .post_content a:not(.kg-btn):not(.wp-block-button__link) {
    color: var(--kg-ch-navy);
    text-decoration: underline;
    text-decoration-color: rgba(212, 118, 44, 0.72);
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
}

#body_wrap.single-post .post_content blockquote {
    position: relative;
    margin: clamp(40px, 6vw, 64px) 0;
    padding: clamp(28px, 4vw, 42px) clamp(26px, 5vw, 52px);
    border: 0;
    border-left: 4px solid var(--kg-ch-amber);
    background: var(--kg-ch-paper-warm);
    color: var(--kg-ch-body);
    font-family: var(--kg-ch-display);
    font-size: 1.04em;
    line-height: 2;
}

#body_wrap.single-post .post_content blockquote::before {
    position: absolute;
    top: -18px;
    right: 24px;
    width: auto;
    height: auto;
    border: 0;
    color: rgba(27, 45, 79, 0.09);
    content: "“";
    font-family: var(--kg-ch-display);
    font-size: 6rem;
    line-height: 1;
}

#body_wrap.single-post .post_content :where(ul, ol) {
    margin-block: 28px;
}

#body_wrap.single-post .post_content li {
    margin-block: 0.7em;
    line-height: 1.9;
}

#body_wrap.single-post .post_content :where(img, figure) {
    border-radius: 2px;
}

#body_wrap.single-post .post_content figcaption {
    margin-top: 10px;
    color: var(--kg-ch-muted);
    font-size: 0.75rem;
    line-height: 1.7;
    text-align: left;
}

#body_wrap.single-post .post_content table {
    border-color: var(--kg-ch-border);
    font-size: 0.9rem;
}

#body_wrap.single-post .post_content th {
    background: var(--kg-ch-navy);
    color: #fff;
}

#body_wrap.single-post .post_content td {
    background: #fff;
}

#body_wrap.single-post :where(.p-shareBtns, .c-shareBtns) {
    opacity: 0.78;
}

#body_wrap.single-post .p-authorBox {
    border: 1px solid var(--kg-ch-border);
    border-radius: 2px;
    background: var(--kg-ch-paper-warm);
    box-shadow: none;
}

#body_wrap.single-post .l-articleBottom__section {
    margin-top: clamp(52px, 7vw, 82px);
}

/* --------------------------------------------------------------------------
   Article conversion panel
   -------------------------------------------------------------------------- */

.kg-article-cta {
    position: relative;
    margin-block: clamp(56px, 8vw, 88px);
    padding: clamp(32px, 5vw, 54px);
    overflow: hidden;
    border: 1px solid var(--kg-ch-border);
    border-top: 3px solid var(--kg-ch-amber);
    border-radius: 2px;
    background:
        linear-gradient(90deg, rgba(212, 118, 44, 0.045), transparent 42%),
        var(--kg-ch-paper-warm);
}

.kg-article-cta__inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
        "eyebrow actions"
        "title actions"
        "copy actions";
    gap: 10px clamp(26px, 5vw, 60px);
    align-items: center;
}

.kg-article-cta::after {
    position: absolute;
    right: -24px;
    bottom: -52px;
    color: rgba(27, 45, 79, 0.045);
    content: "NEXT";
    font-family: var(--kg-ch-display);
    font-size: clamp(5rem, 13vw, 9rem);
    font-weight: 700;
    line-height: 1;
    pointer-events: none;
}

.kg-article-cta__actions {
    position: relative;
    z-index: 1;
    grid-area: actions;
}

.kg-article-cta__eyebrow {
    grid-area: eyebrow;
    margin: 0 0 12px;
    color: var(--kg-ch-amber-dark);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.kg-article-cta__title {
    grid-area: title;
    margin: 0 0 12px;
    color: var(--kg-ch-navy);
    font-family: var(--kg-ch-display);
    font-size: clamp(1.35rem, 3vw, 2rem);
    font-weight: 700;
    line-height: 1.6;
}

#body_wrap.single-post .post_content .kg-article-cta h2.kg-article-cta__title {
    margin: 0 0 12px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--kg-ch-navy) !important;
    font-family: var(--kg-ch-display) !important;
    font-size: clamp(1.35rem, 3vw, 2rem) !important;
    font-weight: 700 !important;
    line-height: 1.6 !important;
}

#body_wrap.single-post .post_content .kg-article-cta h2.kg-article-cta__title::before {
    content: none !important;
}

#body_wrap.single-post .post_content .kg-newsletter h2.kg-newsletter__title.kg-ttl {
    max-width: 12em;
    margin: 0 0 20px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #fff !important;
    font-family: var(--kg-ch-display) !important;
    font-size: clamp(1.9rem, 3.7vw, 3rem) !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
    letter-spacing: -0.02em !important;
}

#body_wrap.single-post .post_content .kg-newsletter h2.kg-newsletter__title.kg-ttl::before {
    content: none !important;
}

.kg-article-cta__text,
.kg-article-cta__description,
.kg-article-cta__copy {
    grid-area: copy;
    max-width: 42em;
    margin: 0;
    color: var(--kg-ch-sub);
    font-size: 0.88rem;
    line-height: 1.95;
}

#body_wrap.single-post .post_content .kg-article-cta__eyebrow {
    margin: 0 0 2px;
}

#body_wrap.single-post .post_content .kg-article-cta__copy {
    margin: 0;
}

.kg-article-cta__actions {
    display: flex;
    min-width: min(100%, 220px);
    flex-direction: column;
    gap: 10px;
}

.kg-article-cta__button,
.kg-article-cta .kg-btn {
    display: inline-flex;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    padding: 13px 24px;
    border: 1px solid var(--kg-ch-amber);
    border-radius: 2px;
    background: var(--kg-ch-amber);
    color: #fff;
    font-size: 0.86rem;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.kg-article-cta__button--secondary {
    border-color: var(--kg-ch-navy);
    background: transparent;
    color: var(--kg-ch-navy);
}

.kg-article-cta__button:hover,
.kg-article-cta .kg-btn:hover {
    border-color: var(--kg-ch-amber-dark);
    background: var(--kg-ch-amber-dark);
    color: #fff;
    transform: translateY(-2px);
}

.kg-article-conversion {
    margin-block: clamp(56px, 8vw, 88px);
}

.kg-article-conversion > .kg-article-cta {
    margin-block: 0;
}

.kg-article-newsletter {
    margin-top: clamp(36px, 6vw, 64px);
}

.kg-article-newsletter .kg-newsletter {
    padding-block: clamp(44px, 6vw, 64px);
}

/* --------------------------------------------------------------------------
   Newsletter confirmation / thank-you pages
   -------------------------------------------------------------------------- */

#body_wrap.page-newsletter-confirmation,
#body_wrap.page-newsletter-check-email,
#body_wrap.page-newsletter-thanks {
    background:
        linear-gradient(180deg, rgba(15, 29, 53, 0.035), transparent 420px),
        var(--kg-ch-paper-warm);
}

#body_wrap.page-newsletter-confirmation #content.l-content,
#body_wrap.page-newsletter-check-email #content.l-content,
#body_wrap.page-newsletter-thanks #content.l-content {
    max-width: 900px;
    padding-top: clamp(56px, 8vw, 104px);
}

#body_wrap.page-newsletter-confirmation #main_content,
#body_wrap.page-newsletter-check-email #main_content,
#body_wrap.page-newsletter-thanks #main_content {
    width: 100% !important;
    max-width: none;
}

#body_wrap.page-newsletter-confirmation #sidebar,
#body_wrap.page-newsletter-check-email #sidebar,
#body_wrap.page-newsletter-thanks #sidebar {
    display: none;
}

#body_wrap.page-newsletter-confirmation .c-pageTitle,
#body_wrap.page-newsletter-check-email .c-pageTitle,
#body_wrap.page-newsletter-thanks .c-pageTitle {
    margin: 0 0 26px;
    padding: 0;
    border: 0 !important;
    color: var(--kg-ch-navy);
    font-family: var(--kg-ch-display);
    font-size: clamp(1.8rem, 4vw, 2.8rem);
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
}

#body_wrap.page-newsletter-confirmation .post_content,
#body_wrap.page-newsletter-check-email .post_content,
#body_wrap.page-newsletter-thanks .post_content,
.kg-newsletter-confirmation {
    position: relative;
    max-width: 760px;
    margin-inline: auto;
    padding: clamp(36px, 7vw, 72px);
    overflow: hidden;
    border: 1px solid var(--kg-ch-border);
    border-top: 3px solid var(--kg-ch-amber);
    border-radius: 2px;
    background: var(--kg-ch-paper);
    box-shadow: var(--kg-ch-shadow);
    color: var(--kg-ch-body);
    font-family: var(--kg-ch-sans);
    line-height: 2;
    text-align: center;
}

#body_wrap.page-newsletter-check-email .post_content::before,
.kg-newsletter-confirmation--check::before {
    display: block;
    margin-bottom: 22px;
    color: var(--kg-ch-amber-dark);
    content: "01 / CHECK";
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.18em;
}

#body_wrap.page-newsletter-thanks .post_content::before,
.kg-newsletter-confirmation--thanks::before {
    display: grid;
    width: 58px;
    height: 58px;
    place-items: center;
    margin: 0 auto 24px;
    border: 1px solid var(--kg-ch-amber);
    border-radius: 50%;
    color: var(--kg-ch-amber-dark);
    content: "✓";
    font-family: var(--kg-ch-sans);
    font-size: 1.4rem;
    font-weight: 700;
}

#body_wrap[class*="page-newsletter-"] .post_content h2,
.kg-newsletter-confirmation__title {
    margin: 0 0 18px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--kg-ch-navy) !important;
    font-family: var(--kg-ch-display) !important;
    font-size: clamp(1.35rem, 3vw, 2rem) !important;
    line-height: 1.6 !important;
}

#body_wrap[class*="page-newsletter-"] .post_content h2::before {
    content: none !important;
}

#body_wrap[class*="page-newsletter-"] .post_content p:last-child {
    margin-bottom: 0;
}

#body_wrap[class*="page-newsletter-"] .wp-block-button__link,
.kg-newsletter-confirmation__button {
    display: inline-flex;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    padding: 13px 26px;
    border: 1px solid var(--kg-ch-navy);
    border-radius: 2px;
    background: var(--kg-ch-navy);
    color: #fff;
    font-size: 0.88rem;
    font-weight: 700;
    text-decoration: none;
}

#body_wrap[class*="page-newsletter-"] .wp-block-button__link:hover,
.kg-newsletter-confirmation__button:hover {
    border-color: var(--kg-ch-amber-dark);
    background: var(--kg-ch-amber-dark);
    color: #fff;
}

/* --------------------------------------------------------------------------
   Focus, target size, and resilient interaction states
   -------------------------------------------------------------------------- */

:where(
    .kg-content-hub,
    .kg-latest,
    .kg-blog-latest,
    .kg-voices,
    .kg-newsletter,
    .kg-article-cta,
    .kg-empty-state,
    .kg-blog-empty,
    .blog,
    .archive,
    .single-post,
    [class*="page-newsletter-"]
) :focus-visible {
    outline: 3px solid var(--kg-ch-amber, #d4762c) !important;
    outline-offset: 3px !important;
}

:where(.kg-post-card__link, .kg-latest-card__link, .kg-blog-card__link):focus-visible,
#body_wrap.blog .p-postList.-type-card .p-postList__link:focus-visible,
#body_wrap.archive .p-postList.-type-card .p-postList__link:focus-visible,
.kg-newsletter__iframe:focus-visible {
    outline-offset: -5px !important;
}

:where(
    .kg-content-hub,
    .kg-latest,
    .kg-blog-latest,
    .kg-voices,
    .kg-newsletter,
    .kg-article-cta,
    .blog,
    .archive,
    .single-post,
    [class*="page-newsletter-"]
) :where(button, input[type="button"], input[type="submit"], input[type="reset"], select) {
    min-height: 44px;
}

:where(.kg-newsletter, .kg-article-cta, [class*="page-newsletter-"]) :where(input, select, textarea) {
    font-family: var(--kg-ch-sans);
}

:where(.kg-newsletter, .kg-article-cta, [class*="page-newsletter-"]) :where(input, select, textarea):focus-visible {
    border-color: var(--kg-ch-navy);
    box-shadow: 0 0 0 4px rgba(27, 45, 79, 0.12);
}

#body_wrap.blog ::selection,
#body_wrap.archive ::selection,
#body_wrap.single-post ::selection,
#body_wrap[class*="page-newsletter-"] ::selection,
.kg-content-hub ::selection,
.kg-voices ::selection,
.kg-newsletter ::selection {
    background: rgba(212, 118, 44, 0.28);
    color: var(--kg-ch-ink, #111827);
}

/* --------------------------------------------------------------------------
   Tablet — 768px target
   -------------------------------------------------------------------------- */

@media (max-width: 959px) {
    :where(.kg-content-hub__head, .kg-latest__head, .kg-blog-latest__head),
    .kg-latest__header {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    :where(.kg-content-hub__intro, .kg-blog-latest__intro),
    .kg-latest__lead {
        max-width: 44em;
    }

    .kg-latest__header > .kg-latest__all {
        justify-self: start;
    }

    :where(.kg-content-hub__grid, .kg-latest__grid, .kg-latest-grid, .kg-blog-latest__grid) {
        grid-template-columns: 1fr;
    }

    .kg-latest__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    :where(.kg-post-card, .kg-latest-card, .kg-blog-card),
    :where(.kg-post-card--lead, .kg-latest-card--lead, .kg-blog-card--lead) {
        grid-column: span 1;
        grid-row: auto;
    }

    .kg-latest__grid > .kg-post-card--lead,
    .kg-latest__rail {
        grid-column: 1;
    }

    .kg-latest__rail {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: none;
    }

    :where(.kg-post-card__link, .kg-latest-card__link, .kg-blog-card__link) {
        grid-template-columns: 1fr;
    }

    :where(.kg-post-card__media, .kg-latest-card__media, .kg-blog-card__media) {
        min-height: 0;
        aspect-ratio: 3 / 2;
    }

    :where(.kg-post-card--lead, .kg-latest-card--lead, .kg-blog-card--lead)
        :where(.kg-post-card__media, .kg-latest-card__media, .kg-blog-card__media) {
        min-height: 0;
        aspect-ratio: 16 / 9;
    }

    .kg-voice-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .kg-voice-card:last-child:nth-child(odd) {
        grid-column: 1 / -1;
    }

    .kg-newsletter__inner {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .kg-newsletter__header,
    .kg-newsletter__embed,
    .kg-newsletter__assurance,
    .kg-newsletter__admin-notice {
        grid-column: 1;
    }

    .kg-newsletter h2.kg-newsletter__title.kg-ttl {
        max-width: 16em;
    }

    .kg-newsletter__assurance {
        margin-top: -16px;
    }

    .post_content .kg-newsletter__assurance {
        margin-top: -16px;
    }

    #body_wrap.blog .p-postList.-type-card,
    #body_wrap.archive .p-postList.-type-card {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #body_wrap.single-post .p-articleHead {
        grid-template-columns: 66px minmax(0, 1fr);
        gap: 20px;
    }

    .kg-article-cta__inner {
        grid-template-columns: 1fr;
        grid-template-areas:
            "eyebrow"
            "title"
            "copy"
            "actions";
        row-gap: 10px;
    }

    .kg-article-cta__actions {
        width: min(100%, 360px);
    }
}

/* --------------------------------------------------------------------------
   Small mobile — 375px target
   -------------------------------------------------------------------------- */

@media (max-width: 599px) {
    :where(.kg-content-hub, .kg-latest, .kg-blog-latest, .kg-voices) {
        padding-block: 64px;
    }

    :where(.kg-latest, .kg-voices, .kg-newsletter) > .kg-w,
    .kg-newsletter > .kg-newsletter__inner {
        padding-inline: 20px;
    }

    :where(.kg-content-hub, .kg-latest, .kg-blog-latest)::before {
        left: 20px;
        height: 38px;
    }

    :where(.kg-content-hub__head, .kg-latest__head, .kg-blog-latest__head),
    .kg-latest__header {
        margin-bottom: 32px;
    }

    :where(.kg-content-hub__title, .kg-latest__title, .kg-blog-latest__title),
    :where(.kg-content-hub__head, .kg-latest__head, .kg-blog-latest__head) .kg-ttl {
        font-size: clamp(1.75rem, 9vw, 2.35rem) !important;
        line-height: 1.45 !important;
    }

    :where(.kg-content-hub__intro, .kg-blog-latest__intro),
    .kg-latest__lead {
        padding-left: 16px;
        font-size: 0.88rem;
    }

    :where(.kg-content-hub__grid, .kg-latest__grid, .kg-latest-grid, .kg-blog-latest__grid) {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    :where(.kg-post-card, .kg-latest-card, .kg-blog-card),
    :where(.kg-post-card--lead, .kg-latest-card--lead, .kg-blog-card--lead) {
        grid-column: 1;
    }

    .kg-latest__rail {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .kg-latest__grid {
        grid-template-columns: 1fr;
    }

    :where(.kg-post-card, .kg-latest-card, .kg-blog-card):hover,
    :where(.kg-post-card, .kg-latest-card, .kg-blog-card):focus-within,
    .kg-voice-card:hover,
    .kg-voice-card:focus-within {
        transform: none;
    }

    :where(.kg-post-card--lead, .kg-latest-card--lead, .kg-blog-card--lead)
        :where(.kg-post-card__media, .kg-latest-card__media, .kg-blog-card__media) {
        aspect-ratio: 4 / 3;
    }

    :where(.kg-post-card__body, .kg-latest-card__body, .kg-blog-card__body) {
        padding: 22px 20px 24px;
    }

    :where(.kg-content-hub__footer, .kg-latest__footer, .kg-blog-latest__footer) {
        justify-content: stretch;
    }

    :where(.kg-content-hub__all, .kg-latest__all, .kg-blog-latest__all) {
        width: 100%;
    }

    .kg-voice-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .kg-voice-card:last-child:nth-child(odd) {
        grid-column: auto;
    }

    .kg-voice-card {
        padding: 28px 22px;
    }

    .kg-newsletter::after {
        top: -9%;
        right: -42%;
        width: 100vw;
    }

    .kg-newsletter__inner {
        gap: 26px;
    }

    .kg-newsletter h2.kg-newsletter__title.kg-ttl {
        font-size: clamp(1.65rem, 8vw, 2.15rem) !important;
    }

    .kg-newsletter__embed {
        padding: 6px;
    }

    .kg-newsletter__embed::before {
        margin: -6px -6px 6px;
    }

    .kg-newsletter__iframe {
        min-height: 600px;
    }

    .kg-newsletter--context-inline .kg-newsletter__inner,
    .kg-newsletter--context-sidebar .kg-newsletter__inner,
    .kg-newsletter--context-footer .kg-newsletter__inner {
        padding: 28px 20px;
    }

    #body_wrap.blog #content.l-content,
    #body_wrap.archive #content.l-content,
    #body_wrap.single-post #content.l-content,
    #body_wrap[class*="page-newsletter-"] #content.l-content {
        padding-inline: 20px;
    }

    #body_wrap.blog .c-pageTitle,
    #body_wrap.archive .c-pageTitle {
        margin-bottom: 34px;
        padding: 14px 0 18px 18px;
        font-size: clamp(1.75rem, 10vw, 2.5rem);
    }

    #body_wrap.blog .c-pageTitle__subTitle,
    #body_wrap.archive .c-pageTitle__subTitle {
        display: block;
        margin: 8px 0 0;
    }

    #body_wrap.blog .p-postList.-type-card,
    #body_wrap.archive .p-postList.-type-card {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    #body_wrap.blog .p-postList.-type-card .p-postList__body,
    #body_wrap.archive .p-postList.-type-card .p-postList__body {
        min-height: 0;
        padding: 22px 20px 28px;
    }

    #body_wrap.blog .p-postList.-type-card .p-postList__link:hover,
    #body_wrap.archive .p-postList.-type-card .p-postList__link:hover {
        transform: none;
    }

    .kg-empty-state,
    .kg-blog-empty,
    #body_wrap.blog .p-postListTabBody > p:only-child,
    #body_wrap.archive .p-postListTabBody > p:only-child {
        padding: 38px 22px;
    }

    #body_wrap.single-post .p-articleHead {
        display: block;
        padding-bottom: 24px;
    }

    #body_wrap.single-post .p-articleHead::before {
        width: 54px;
    }

    #body_wrap.single-post .c-postTitle__ttl {
        margin-top: 14px;
        font-size: clamp(1.75rem, 9.5vw, 2.5rem);
        line-height: 1.5;
    }

    #body_wrap.single-post .c-postTitle__date {
        display: inline-flex;
        gap: 4px;
        align-items: baseline;
    }

    #body_wrap.single-post .post_content {
        font-size: 1rem;
        line-height: 2;
    }

    #body_wrap.single-post .post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
        margin-top: 58px !important;
        padding-block: 18px 15px !important;
        font-size: 1.55rem !important;
    }

    #body_wrap.single-post .post_content h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
        margin-top: 42px;
        font-size: 1.28rem;
    }

    #body_wrap.single-post .post_content blockquote {
        padding: 26px 22px;
    }

    .kg-article-cta {
        gap: 24px;
        padding: 30px 22px;
    }

    .kg-article-cta__actions {
        width: 100%;
        min-width: 0;
    }

    #body_wrap.page-newsletter-confirmation .post_content,
    #body_wrap.page-newsletter-check-email .post_content,
    #body_wrap.page-newsletter-thanks .post_content,
    .kg-newsletter-confirmation {
        padding: 36px 22px;
    }
}

/* --------------------------------------------------------------------------
   Motion preferences and forced-colour resilience
   -------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
    :where(
        .kg-content-hub,
        .kg-latest,
        .kg-blog-latest,
        .kg-voices,
        .kg-newsletter,
        .kg-article-cta,
        .kg-empty-state,
        .kg-blog-empty,
        .blog,
        .archive,
        .single-post,
        [class*="page-newsletter-"]
    ) *,
    :where(
        .kg-content-hub,
        .kg-latest,
        .kg-blog-latest,
        .kg-voices,
        .kg-newsletter,
        .kg-article-cta,
        .kg-empty-state,
        .kg-blog-empty,
        .blog,
        .archive,
        .single-post,
        [class*="page-newsletter-"]
    ) *::before,
    :where(
        .kg-content-hub,
        .kg-latest,
        .kg-blog-latest,
        .kg-voices,
        .kg-newsletter,
        .kg-article-cta,
        .kg-empty-state,
        .kg-blog-empty,
        .blog,
        .archive,
        .single-post,
        [class*="page-newsletter-"]
    ) *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }

    :where(.kg-content-hub, .kg-latest, .kg-blog-latest, .kg-voices, .kg-newsletter) .rv {
        opacity: 1 !important;
        transform: none !important;
    }

    :where(.kg-content-hub, .kg-latest, .kg-blog-latest, .kg-voices, .kg-newsletter).rv,
    :where(.kg-post-card, .kg-latest-card, .kg-blog-card, .kg-voice-card, .kg-article-cta):hover {
        opacity: 1 !important;
        transform: none !important;
    }
}

@media (forced-colors: active) {
    :where(.kg-post-card, .kg-latest-card, .kg-blog-card, .kg-voice-card, .kg-article-cta, .kg-empty-state, .kg-blog-empty),
    #body_wrap.blog .p-postList.-type-card .p-postList__link,
    #body_wrap.archive .p-postList.-type-card .p-postList__link,
    .kg-newsletter__embed {
        border: 1px solid CanvasText;
        box-shadow: none;
    }

    :where(.kg-post-card__category, .kg-latest-card__category, .kg-blog-card__category),
    #body_wrap.blog .c-postThumb__cat,
    #body_wrap.archive .c-postThumb__cat {
        border: 1px solid CanvasText;
    }
}
