/*
 * Editorial refinement, approved October 2026.
 * Presentation only: no content, template, image, or navigation mutations.
 * Load after the theme, appearance palette, and optional homepage metrics.
 */

:root {
    --gf-line: #dce0e6;
    --gf-soft: #f6f7f9;
}
@media screen {
    :root[data-gf-appearance="dark"] {
        --gf-line: #3b424d;
        --gf-soft: #222833;
    }
}
@media screen and (prefers-color-scheme: dark) {
    :root:not([data-gf-appearance="light"]):not([data-gf-appearance="dark"]) {
        --gf-line: #3b424d;
        --gf-soft: #222833;
    }
}

/* A small, consistent set of reading and display sizes. */
body {
    font-family: var(--gf-sans);
    font-size: 1.0625rem;
    line-height: 1.7;
}
.gf-shell :is(h1, h2, h3, h4) {
    font-family: var(--gf-serif);
    font-weight: 400;
    text-wrap: balance;
}
.gf-shell h1 {
    font-size: clamp(1.875rem, 3.25vw, 2.5rem);
    line-height: 1.17;
    letter-spacing: -.027em;
    margin-block: 0 .65em;
}
.gf-shell h2 {
    font-size: clamp(1.5rem, 2.6vw, 1.875rem);
    line-height: 1.25;
    letter-spacing: -.02em;
    margin-block: 1.65em .7em;
}
.gf-shell h3 {
    font-size: clamp(1.375rem, 2.2vw, 1.5625rem);
    line-height: 1.28;
    letter-spacing: -.02em;
    margin-block: 1.5em .65em;
}
.gf-shell h4 {
    font-size: 1.25rem;
    line-height: 1.35;
    letter-spacing: -.01em;
}
.gf-shell p { line-height: 1.7; }
.gf-shell :is(.gf-lede, .gf-invitation) {
    font-size: 1.125rem;
    line-height: 1.7;
}
.gf-shell :is(.gf-kicker, .gf-work-period, .gf-work-meta) {
    font-family: var(--gf-sans);
    font-size: .8125rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: .025em;
    color: var(--gf-muted) !important;
}
.gf-shell :is(.gf-brand-role, .gf-disclosure, figcaption) {
    font-size: .875rem;
    line-height: 1.6;
}
.gf-shell .gf-standfirst {
    font-size: .9375rem;
    line-height: 1.65;
}

/* Retain the existing shell, content order, and responsive header/footer. */
.gf-header { padding-block: 28px; }
.gf-header .gf-brand-name {
    font-size: 1.625rem;
    line-height: 1.15;
    letter-spacing: -.025em;
}
.gf-header .gf-brand-role { font-size: .8125rem; }
.gf-header :is(.gf-nav, .wp-block-navigation__container) {
    font-size: .875rem;
    gap: 28px;
}
.gf-home-hero { padding-block: 56px; gap: 58px; }
.gf-home-hero .gf-hero-title { max-width: 23ch; }
.gf-hero-main p:not(.gf-kicker) { max-width: 62ch; }
.gf-hero-main .gf-lede { font-size: 1.0625rem; line-height: 1.72; }
.gf-hero-main > p:not(.gf-kicker):not(.gf-lede) {
    font-size: 1rem;
    line-height: 1.72;
    margin-top: 20px;
}
.gf-hero-index {
    border-top: 1px solid var(--gf-line);
    padding-top: 18px;
    margin-top: 40px;
}
.gf-hero-index h2 { font-size: 1.4375rem; line-height: 1.3; margin: 0 0 15px; }
.gf-hero-index p { font-size: .875rem; line-height: 1.65; }
.gf-hero-index .gf-kicker { margin-bottom: 14px; }

/* Ordinary reading columns stay comfortable; visual assets keep their layout. */
.gf-page, .gf-account { padding-block: 52px 64px; }
.gf-account .wp-block-post-content { max-width: 68ch; }
.gf-page .wp-block-post-content > p,
.gf-page .gf-reading,
.gf-section p,
.gf-supporting details p { max-width: 65ch; }
.gf-page .wp-block-post-content > h2 { max-width: 32ch; }
.gf-account .wp-block-post-content > h2 { margin-top: 1.7em; }
.gf-account .wp-block-post-content > p + p { margin-top: 1.2em; }
.gf-invitation { max-width: 62ch; padding-block: 30px 56px; }
.gf-invitation p + p { margin-top: 18px; }

/* Rules mark major boundaries. Whitespace separates ordinary entries. */
.gf-section { padding-block: 38px 46px; border-top-width: 1px; }
.gf-section > h2 { margin-top: 0; margin-bottom: 34px; }
.gf-work-row {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    gap: 44px;
    padding-block: 30px;
    border-top: 0;
}
.gf-work-row + .gf-work-row { margin-top: 12px; }
.gf-work-row > .gf-work-number { display: none; }
.gf-work-row h3 { margin: 0 0 14px; max-width: 28ch; }
.gf-work-row .gf-work-description { grid-column: auto; font-size: 1rem; }
.gf-work-row .gf-work-description p { line-height: 1.7; }
.gf-work-row .gf-work-description a { font-size: .875rem; }
.gf-current { border-left: 0; padding-left: 0; }
.gf-current h2 { margin-top: 0; }
.gf-index-entry { border-top: 0; padding-block: 1rem; }
.gf-index-entry + .gf-index-entry { margin-top: .5rem; }

/* Supporting evidence has a quiet surface rather than an accent stripe. */
.gf-question {
    border-left: 0;
    background: var(--gf-soft);
    padding: 28px 32px;
    margin-top: 32px;
}
.gf-question h2 {
    font: 400 .8125rem/1.5 var(--gf-sans);
    letter-spacing: .025em;
    color: var(--gf-muted) !important;
    margin: 0 0 14px;
}
.gf-question p { font: 400 1.5rem/1.35 var(--gf-serif); }
.gf-evidence { border-top: 1px solid var(--gf-line); padding-top: 24px; margin-top: 40px; }
.gf-evidence h2 { margin-top: 0; }
.gf-supporting { border-top: 1px solid var(--gf-line); padding-top: 28px; }
.gf-supporting summary { font-size: 1.4375rem; line-height: 1.35; }
.gf-perspective { padding: 36px; }
.gf-perspective h2 { margin-top: 0; }
.wp-block-table table { font-size: .9375rem; line-height: 1.65; }
.wp-block-table :is(td, th) { border-bottom-color: var(--gf-line); }

/* Preserve the paired actions, with quieter resting borders in both themes. */
.gf-shell .gf-actions { align-items: center; gap: 20px; margin-top: 28px; }
.gf-shell .gf-actions > p { margin: 0 !important; }
.gf-shell .gf-actions a {
    border: 1px solid var(--gf-line);
    border-radius: 9px;
    padding: 10px 13px;
    font-size: .875rem;
    font-weight: 500;
    line-height: 1.5;
    color: var(--gf-ink);
    background: transparent;
    text-decoration: none;
}
.gf-shell .gf-actions a:is(:hover, :active) {
    border-color: var(--gf-blue);
    background-color: var(--gf-soft) !important;
    color: var(--gf-ink) !important;
}

/* The optional metrics add-on keeps all existing native blocks and behavior. */
.gf-home-metrics {
    padding-block: 34px 40px;
    border-top: 1px solid var(--gf-line);
    border-bottom: 0 !important;
}
.gf-home-metrics > h2 { font-size: 1.5625rem; line-height: 1.25; margin: 0 0 28px; }
.gf-home-metrics .gf-home-metrics-grid { gap: 24px; }
.gf-home-metrics .gf-home-metric:nth-child(n) {
    border: 0;
    padding: 0;
    gap: 14px;
    min-height: 190px;
}
.gf-home-metrics .gf-home-metric-number {
    font-size: clamp(2.25rem, 4vw, 2.75rem);
    line-height: 1.1;
    letter-spacing: -.035em;
}
.gf-home-metrics .gf-home-metric-label { font-size: .875rem; font-weight: 500; line-height: 1.5; }
.gf-home-metrics .gf-home-metric-context { font-size: .8125rem; line-height: 1.6; max-width: 24ch; }
.gf-home-metrics .gf-home-metric-proof {
    border-left: 0;
    padding: 24px 28px;
    margin-top: 28px;
    background: var(--gf-soft);
}
.gf-home-metrics .gf-home-metric-proof h3 { font-size: 1.5rem; line-height: 1.25; margin: 0 0 12px; }
.gf-home-metrics .gf-home-metric-proof p { font-size: 1rem; line-height: 1.7; max-width: 65ch; }
.gf-home-metrics .gf-home-metric-proof > a,
.gf-home-metrics .gf-home-metric-proof > p:last-child a { font-size: .875rem; }

/* Footer structure and selector caret retain the 1.0.2 alignment fixes. */
.gf-footer { font-size: .8125rem; line-height: 1.6; padding-block: 26px 30px; }
.gf-footer p { line-height: 1.6; }
.gf-appearance-control { font-size: .8125rem; }
.gf-appearance-control select { border-color: var(--gf-line); }

@media (max-width: 900px) {
    .gf-home-hero { gap: 30px; padding-block: 38px; }
    .gf-hero-index { margin-top: 0; }
    .gf-work-row { gap: 28px; }
    .gf-home-metrics .gf-home-metrics-grid { gap: 28px; }
    .gf-home-metrics .gf-home-metric:nth-child(n) { min-height: 180px; }
    .gf-home-metrics .gf-home-metric:nth-child(4),
    .gf-home-metrics .gf-home-metric:nth-child(5) { min-height: 150px; }
}
@media (max-width: 600px) {
    .gf-header { padding-block: 24px 22px; }
    .gf-header .gf-brand-name { font-size: 1.5rem; }
    .gf-header .gf-brand-role { font-size: .75rem; }
    .gf-header :is(.gf-nav, .wp-block-navigation__container) { gap: 26px; }
    .gf-shell h1 { font-size: 1.875rem; }
    .gf-page, .gf-account { padding-block: 36px 48px; }
    .gf-section { padding-block: 30px 36px; }
    .gf-work-row { grid-template-columns: minmax(0, 1fr); gap: 18px; padding-block: 24px; }
    .gf-work-row + .gf-work-row { margin-top: 20px; }
    .gf-work-row .gf-work-description { grid-column: 1; }
    .gf-question { padding: 24px 22px; }
    .gf-question p { font-size: 1.375rem; }
    .gf-perspective { padding: 26px 22px; }
    .gf-home-metrics { padding-block: 30px; }
    .gf-home-metrics .gf-home-metric:nth-child(n) {
        grid-template-columns: 106px minmax(0, 1fr);
        gap: 6px 18px;
        padding-block: 22px;
        min-height: 112px;
        border: 0;
    }
    .gf-home-metrics .gf-home-metric + .gf-home-metric { margin-top: 4px; }
    .gf-home-metrics .gf-home-metric-number { font-size: 2.5rem; }
    .gf-home-metrics .gf-home-metric-label { font-size: .9375rem; max-width: none; }
    .gf-home-metrics .gf-home-metric-context { max-width: none; }
    .gf-home-metrics .gf-home-metric-proof { padding: 22px; }
    .gf-appearance-control select { font-size: 1rem; }
    /* Keep the existing labeled-row table layout and whole-word wrapping. */
    .wp-block-table tbody td { font-size: 1rem; }
}
@media print {
    .gf-work-row { display: block; break-inside: avoid; }
    .gf-home-metrics .gf-home-metric:nth-child(n) { min-height: 0; padding-block: 10px; }
}
