/*
Theme Name: GFGF V3
Theme URI: https://www.gfgf.org/
Author: GFGF
Description: Eigenes WordPress-Theme fuer gfgf.org V3.
Version: 0.17.11
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 8.1
Text Domain: gfgf-v3
*/

:root {
    --gfgf-background: #f8f9ff;
    --gfgf-surface: #ffffff;
    --gfgf-surface-low: #eff4ff;
    --gfgf-surface-high: #dee9fc;
    --gfgf-surface-dim: #d0dbed;
    --gfgf-text: #121c2a;
    --gfgf-text-muted: #424751;
    --gfgf-primary: #003f83;
    --gfgf-primary-container: #1a56a6;
    --gfgf-on-primary: #ffffff;
    --gfgf-tertiary: #653400;
    --gfgf-border: #c2c6d3;
    --gfgf-focus: #874700;
    --gfgf-max-width: 1280px;
    --gfgf-gutter: 24px;
    --gfgf-margin-desktop: 64px;
    --gfgf-margin-mobile: 20px;
}

* {
    box-sizing: border-box;
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    margin: 0;
    color: var(--gfgf-text);
    background: var(--gfgf-background);
    font-family: Inter, Arial, Helvetica, sans-serif;
    font-size: 18px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}

img,
svg,
video {
    max-width: 100%;
    height: auto;
}

iframe {
    max-width: 100%;
}

pre {
    max-width: 100%;
    overflow-x: auto;
}

a {
    color: var(--gfgf-primary);
    text-decoration-thickness: 1px;
    text-underline-offset: 0.18em;
}

a:focus-visible {
    outline: 2px solid var(--gfgf-primary);
    outline-offset: 2px;
}

button:focus-visible,
input:focus-visible {
    outline: 2px solid var(--gfgf-focus);
    outline-offset: 2px;
}

.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.skip-link {
    position: fixed;
    top: 12px;
    left: 12px;
    z-index: 1000;
    padding: 12px 16px;
    color: var(--gfgf-on-primary);
    background: var(--gfgf-primary);
    border-radius: 6px;
    font-weight: 700;
    transform: translateY(-160%);
}

.skip-link:focus {
    transform: translateY(0);
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 50;
    background: var(--gfgf-background);
    border-bottom: 1px solid rgba(194, 198, 211, 0.75);
    box-shadow: 0 1px 10px rgba(18, 28, 42, 0.06);
}

.site-header__inner,
.site-footer__inner {
    width: min(var(--gfgf-max-width), calc(100% - (var(--gfgf-margin-desktop) * 2)));
    margin: 0 auto;
}

.site-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 108px;
    gap: 20px;
}

.site-brand {
    display: inline-flex;
    align-items: center;
    color: var(--gfgf-primary);
    white-space: nowrap;
    min-height: 48px;
}

.site-logo,
.custom-logo-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 48px;
    text-decoration: none;
}

.site-logo__image,
.custom-logo {
    display: block;
    width: auto;
    max-width: none;
    height: 84px;
}

.site-navigation {
    flex: 0 1 auto;
    min-width: 0;
}

.site-navigation__list,
.site-navigation .menu {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    margin: 0;
    padding: 0;
    list-style: none;
    flex-wrap: nowrap;
}

.site-navigation a {
    display: inline-flex;
    align-items: center;
    min-height: 48px;
    color: var(--gfgf-text-muted);
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    border-bottom: 2px solid transparent;
    white-space: nowrap;
    transition: color 160ms ease, border-color 160ms ease;
}

.site-navigation a:hover,
.site-navigation .current-menu-item > a,
.site-navigation .current-menu-ancestor > a,
.site-navigation .current-page-ancestor > a,
.site-navigation .is-active-section > a,
.site-navigation a[aria-current="page"],
.site-navigation a[aria-current="location"] {
    color: var(--gfgf-primary);
    border-bottom-color: var(--gfgf-primary);
}

.site-header__actions {
    display: flex;
    align-items: center;
    gap: 16px;
    flex: 0 0 auto;
}

.site-search {
    display: flex;
    align-items: stretch;
    width: min(300px, 22vw);
    min-width: 220px;
}

.site-search__field {
    width: 100%;
    min-width: 0;
    min-height: 48px;
    padding: 0 14px;
    color: var(--gfgf-text);
    background: var(--gfgf-surface);
    border: 2px solid var(--gfgf-border);
    border-right: 0;
    border-radius: 8px 0 0 8px;
    font: inherit;
    font-size: 16px;
}

.site-search__field::placeholder {
    color: var(--gfgf-text-muted);
    opacity: 1;
}

.site-search__field:focus {
    position: relative;
    z-index: 1;
    border-color: var(--gfgf-focus);
}

.site-search__button {
    min-height: 48px;
    padding: 0 16px;
    color: var(--gfgf-on-primary);
    background: var(--gfgf-primary);
    border: 2px solid var(--gfgf-primary);
    border-radius: 0 8px 8px 0;
    font: inherit;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
}

.site-search__button:hover {
    background: var(--gfgf-primary-container);
    border-color: var(--gfgf-primary-container);
}

.button,
.icon-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
    border: 1px solid transparent;
}

.button--primary {
    padding: 0 28px;
    color: var(--gfgf-on-primary);
    background: var(--gfgf-primary);
    white-space: nowrap;
}

.button--primary:hover {
    background: var(--gfgf-primary-container);
}

.site-header__join {
    min-width: 178px;
}

.icon-button {
    width: 48px;
    color: var(--gfgf-text-muted);
    background: transparent;
    cursor: pointer;
}

.icon-button:hover {
    color: var(--gfgf-primary);
    background: var(--gfgf-surface-high);
}

.site-header__menu {
    display: none;
}

.site-header__menu-icon,
.site-header__menu-icon::before,
.site-header__menu-icon::after {
    display: block;
    width: 24px;
    height: 3px;
    background: currentColor;
    border-radius: 2px;
    transition: transform 180ms ease, background-color 180ms ease;
}

.site-header__menu-icon {
    position: relative;
}

.site-header__menu-icon::before,
.site-header__menu-icon::after {
    position: absolute;
    left: 0;
    content: '';
}

.site-header__menu-icon::before {
    top: -8px;
}

.site-header__menu-icon::after {
    top: 8px;
}

.site-header__menu[aria-expanded='true'] .site-header__menu-icon {
    background: transparent;
}

.site-header__menu[aria-expanded='true'] .site-header__menu-icon::before {
    top: 0;
    transform: rotate(45deg);
}

.site-header__menu[aria-expanded='true'] .site-header__menu-icon::after {
    top: 0;
    transform: rotate(-45deg);
}

.site-main {
    flex: 1 0 auto;
    background: var(--gfgf-background);
}

.content-area {
    width: min(var(--gfgf-max-width), calc(100% - (var(--gfgf-margin-desktop) * 2)));
    margin: 0 auto;
    padding: 48px 0 64px;
    overflow-wrap: break-word;
}

.search-page {
    padding-bottom: 72px;
}

.search-page__container {
    width: min(var(--gfgf-max-width), calc(100% - (var(--gfgf-margin-desktop) * 2)));
    margin: 0 auto;
}

.search-page__header {
    padding: 52px 0 48px;
    background: linear-gradient(125deg, var(--gfgf-surface-low) 0%, var(--gfgf-background) 72%);
    border-bottom: 1px solid rgba(194, 198, 211, 0.75);
}

.search-page__eyebrow,
.search-results__type {
    margin: 0;
    color: var(--gfgf-primary);
    font-size: 14px;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.search-page__header h1 {
    max-width: 880px;
    margin: 6px 0 0;
    color: var(--gfgf-primary);
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.16;
    letter-spacing: -0.02em;
}

.search-page__summary {
    margin: 12px 0 0;
    color: var(--gfgf-text-muted);
    font-size: 17px;
    font-weight: 600;
}

.search-page__body {
    padding-top: 40px;
}

.search-results__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.search-results__item {
    display: flex;
    min-width: 0;
    min-height: 280px;
    flex-direction: column;
    justify-content: space-between;
    gap: 28px;
    padding: 28px 30px;
    background: var(--gfgf-surface);
    border: 1px solid var(--gfgf-border);
    border-top: 4px solid var(--gfgf-primary);
    border-radius: 8px;
    box-shadow: 0 4px 14px rgba(18, 28, 42, 0.05);
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.search-results__item:hover {
    border-color: #90a8c6;
    border-top-color: var(--gfgf-primary);
    box-shadow: 0 9px 24px rgba(18, 28, 42, 0.1);
    transform: translateY(-2px);
}

.search-results__title {
    margin: 10px 0 0;
    color: var(--gfgf-primary);
    font-size: clamp(1.35rem, 2.3vw, 1.65rem);
    line-height: 1.25;
}

.search-results__title a {
    color: inherit;
    text-decoration: none;
}

.search-results__title a:hover {
    text-decoration: underline;
    text-decoration-thickness: 2px;
}

.search-results__excerpt {
    margin: 14px 0 0;
    color: var(--gfgf-text-muted);
    font-size: 17px;
    line-height: 1.65;
}

.search-results__link {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    min-height: 44px;
    gap: 8px;
    color: var(--gfgf-primary);
    font-size: 16px;
    font-weight: 800;
    text-decoration: none;
}

.search-results__link:hover {
    text-decoration: underline;
    text-decoration-thickness: 2px;
}

.search-pagination {
    margin-top: 40px;
}

.search-pagination .nav-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.search-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    padding: 6px 12px;
    color: var(--gfgf-primary);
    background: var(--gfgf-surface);
    border: 1px solid var(--gfgf-border);
    border-radius: 6px;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
}

.search-pagination .page-numbers:hover {
    background: var(--gfgf-surface-low);
    border-color: var(--gfgf-primary);
}

.search-pagination .page-numbers.current {
    color: var(--gfgf-on-primary);
    background: var(--gfgf-primary);
    border-color: var(--gfgf-primary);
}

.search-empty {
    max-width: 780px;
    padding: 32px;
    background: var(--gfgf-surface);
    border: 1px solid var(--gfgf-border);
    border-left: 4px solid var(--gfgf-primary);
    border-radius: 8px;
    box-shadow: 0 4px 14px rgba(18, 28, 42, 0.05);
}

.search-empty h2,
.search-empty p {
    margin-top: 0;
}

.search-empty h2 {
    margin-bottom: 10px;
    color: var(--gfgf-primary);
    font-size: 26px;
    line-height: 1.3;
}

.search-empty p {
    margin-bottom: 24px;
    color: var(--gfgf-text-muted);
}

.search-empty__form label {
    display: block;
    margin-bottom: 8px;
    font-size: 16px;
    font-weight: 700;
}

.search-empty__controls {
    display: flex;
    max-width: 620px;
}

.search-empty__controls input {
    width: 100%;
    min-width: 0;
    min-height: 50px;
    padding: 0 14px;
    color: var(--gfgf-text);
    background: var(--gfgf-surface);
    border: 2px solid var(--gfgf-border);
    border-right: 0;
    border-radius: 8px 0 0 8px;
    font: inherit;
}

.search-empty__controls input:focus {
    position: relative;
    z-index: 1;
    border-color: var(--gfgf-focus);
}

.search-empty__controls button {
    min-height: 50px;
    padding: 0 22px;
    color: var(--gfgf-on-primary);
    background: var(--gfgf-primary);
    border: 2px solid var(--gfgf-primary);
    border-radius: 0 8px 8px 0;
    font: inherit;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
}

.search-empty__controls button:hover {
    background: var(--gfgf-primary-container);
    border-color: var(--gfgf-primary-container);
}

.archive-landing {
    padding: 0 0 72px;
}

:where(.archive-landing__content, .archive-detail__content, .archive-sources__content) > *,
:where(.archive-landing, .archive-detail, .archive-sources) :where(.wp-block-group, .wp-block-image, .wp-block-buttons) {
    margin-block-start: 0;
    margin-block-end: 0;
}

.archive-landing .wp-block-group__inner-container,
.archive-detail .wp-block-group__inner-container,
.archive-sources .wp-block-group__inner-container {
    display: contents;
}

.archive-landing__container {
    width: min(var(--gfgf-max-width), calc(100% - (var(--gfgf-margin-desktop) * 2)));
    margin: 0 auto;
}

.archive-landing__intro {
    padding: 56px 0;
    background: linear-gradient(125deg, var(--gfgf-surface-low) 0%, var(--gfgf-background) 72%);
    border-bottom: 1px solid rgba(194, 198, 211, 0.75);
}

.archive-landing__intro-inner {
    margin-bottom: 0;
}

.archive-landing__hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.04fr) minmax(360px, 0.96fr);
    align-items: center;
    gap: clamp(40px, 6vw, 76px);
}

.archive-landing__intro-copy {
    max-width: 680px;
}

.archive-landing__intro h1 {
    margin: 0 0 16px;
    color: var(--gfgf-primary);
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.16;
    letter-spacing: -0.02em;
}

.archive-landing__intro p {
    max-width: 650px;
    margin: 0;
    color: var(--gfgf-text-muted);
    font-size: 19px;
    line-height: 1.65;
}

.archive-landing__hero-media {
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: var(--gfgf-surface-high);
    border: 1px solid var(--gfgf-border);
    border-radius: 8px;
    box-shadow: 0 12px 30px rgba(18, 28, 42, 0.13);
}

.archive-landing__hero-media img,
.archive-teaser__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.archive-landing__body {
    padding-top: 48px;
}

.archive-teasers {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: var(--gfgf-gutter);
}

.archive-teaser {
    display: flex;
    min-width: 0;
    min-height: 100%;
    flex-direction: column;
    padding: 0;
    overflow: hidden;
    background: var(--gfgf-surface);
    border: 1px solid var(--gfgf-border);
    border-radius: 8px;
    box-shadow: 0 5px 18px rgba(18, 28, 42, 0.07);
    transition: border-color 160ms ease, box-shadow 160ms ease;
}

.archive-teaser:hover,
.archive-teaser:focus-within {
    border-color: rgba(0, 63, 131, 0.55);
    box-shadow: 0 8px 24px rgba(18, 28, 42, 0.1);
}

.archive-teaser__content {
    flex: 1 1 auto;
    padding: 26px 28px 0;
}

.archive-teaser__media {
    width: 100%;
    height: 168px;
    flex: 0 0 auto;
    overflow: hidden;
    background: var(--gfgf-surface-high);
    border-bottom: 1px solid var(--gfgf-border);
}

.archive-teaser:first-child .archive-teaser__media img {
    object-position: 50% 61%;
}

.archive-teaser h2,
.archive-offer h2 {
    margin: 0;
    color: var(--gfgf-primary);
    font-size: 25px;
    line-height: 1.28;
    letter-spacing: -0.01em;
}

.archive-teaser p {
    margin: 14px 0 0;
    color: var(--gfgf-text-muted);
    font-size: 17px;
    line-height: 1.65;
}

.archive-teaser__button {
    align-self: flex-start;
}

.archive-teaser > .wp-block-group__inner-container > .wp-block-buttons {
    margin-top: auto;
    padding: 24px 28px 28px;
}

.archive-offer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    margin-top: 40px;
    padding: 28px 30px;
    background: linear-gradient(110deg, #edf4ff 0%, #fffaf3 100%);
    border: 1px solid var(--gfgf-border);
    border-left: 4px solid var(--gfgf-tertiary);
    border-radius: 8px;
    box-shadow: 0 4px 14px rgba(18, 28, 42, 0.05);
}

.archive-offer__content {
    max-width: 920px;
}

.archive-offer h2 {
    font-size: 23px;
}

.archive-offer p {
    margin: 8px 0 0;
    color: var(--gfgf-text-muted);
    font-size: 16px;
    line-height: 1.6;
}

.archive-offer__button {
    flex: 0 0 auto;
}

.archive-offer > .wp-block-group__inner-container > .wp-block-buttons {
    flex: 0 0 auto;
}

.archive-teaser__button .wp-block-button__link,
.archive-offer__button .wp-block-button__link,
.archive-detail__hero-button .wp-block-button__link,
.archive-tour__button .wp-block-button__link,
.archive-visit__button .wp-block-button__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 28px;
    color: var(--gfgf-on-primary);
    background: var(--gfgf-primary);
    border: 1px solid var(--gfgf-primary);
    border-radius: 8px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
    text-decoration: none;
    white-space: nowrap;
}

.archive-teaser__button .wp-block-button__link:hover,
.archive-offer__button .wp-block-button__link:hover,
.archive-detail__hero-button .wp-block-button__link:hover,
.archive-tour__button .wp-block-button__link:hover,
.archive-visit__button .wp-block-button__link:hover {
    color: var(--gfgf-on-primary);
    background: var(--gfgf-primary-container);
    border-color: var(--gfgf-primary-container);
}

.archive-detail {
    overflow-wrap: break-word;
}

.archive-detail__container {
    width: min(var(--gfgf-max-width), calc(100% - (var(--gfgf-margin-desktop) * 2)));
    margin: 0 auto;
}

.archive-detail__hero {
    padding: 64px 0;
    background: var(--gfgf-surface-low);
    border-bottom: 1px solid var(--gfgf-border);
}

.archive-detail__hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
    align-items: center;
    gap: clamp(40px, 6vw, 80px);
}

.archive-detail__hero-copy h1 {
    margin: 0;
    color: var(--gfgf-primary);
    font-size: clamp(2.25rem, 4.2vw, 3.35rem);
    line-height: 1.12;
    letter-spacing: -0.025em;
}

.archive-detail__tagline {
    margin: 20px 0 0;
    color: var(--gfgf-primary-container);
    font-size: clamp(1.2rem, 2vw, 1.5rem);
    font-weight: 700;
    line-height: 1.4;
}

.archive-detail__hero-copy > .wp-block-group__inner-container > p:not(.archive-detail__tagline) {
    max-width: 720px;
    margin: 20px 0 28px;
    color: var(--gfgf-text-muted);
    font-size: 18px;
    line-height: 1.7;
}

.archive-detail__hero-media,
.archive-tour__media,
.archive-history__portrait {
    margin: 0;
    overflow: hidden;
    background: var(--gfgf-surface-high);
    border: 1px solid var(--gfgf-border);
    border-radius: 8px;
}

.archive-detail__hero-media {
    aspect-ratio: 1.08;
    box-shadow: 0 12px 32px rgba(18, 28, 42, 0.14);
}

.archive-detail__hero-media img,
.archive-tour__media img,
.archive-history__portrait img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.archive-detail__section {
    padding: 72px 0;
}

.archive-detail__section--compact {
    padding: 32px 0 72px;
}

.archive-detail__section-heading {
    max-width: 850px;
    margin-bottom: 32px;
}

.archive-detail__section-heading--compact {
    margin-bottom: 20px;
}

.archive-detail__section-heading h2,
.archive-tour__content h2,
.archive-visit__content h2 {
    margin: 0;
    color: var(--gfgf-primary);
    font-size: clamp(1.8rem, 3vw, 2.35rem);
    line-height: 1.2;
    letter-spacing: -0.015em;
}

.archive-detail__section-heading p {
    margin: 12px 0 0;
    color: var(--gfgf-text-muted);
    font-size: 18px;
}

.archive-detail__lead {
    color: var(--gfgf-text);
    font-size: 20px;
    line-height: 1.55;
}

.archive-detail__stats-section {
    padding-bottom: 56px;
}

.archive-stats {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin: 0;
    padding: 0;
    overflow: hidden;
    background: var(--gfgf-surface);
    border: 1px solid var(--gfgf-border);
    border-radius: 8px;
}

.archive-stat {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 4px;
    padding: 22px 20px;
    border-left: 1px solid var(--gfgf-border);
}

.archive-stat:first-child {
    border-left: 0;
}

.archive-stat__label {
    margin: 0;
    color: var(--gfgf-text-muted);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.35;
}

.archive-stat__value {
    order: -1;
    margin: 0;
    color: var(--gfgf-primary);
    font-size: clamp(1.45rem, 2.6vw, 2rem);
    font-weight: 800;
    line-height: 1.2;
}

.archive-tour {
    background: var(--gfgf-surface-high);
    border-top: 1px solid var(--gfgf-border);
    border-bottom: 1px solid var(--gfgf-border);
}

.archive-tour__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(340px, 0.9fr);
    align-items: center;
    gap: clamp(36px, 6vw, 72px);
}

.archive-tour__media {
    position: relative;
    aspect-ratio: 16 / 10;
    box-shadow: 0 8px 24px rgba(18, 28, 42, 0.1);
}

.archive-tour__media .wp-block-image {
    width: 100%;
    height: 100%;
    margin: 0;
}

.archive-tour__badge {
    position: absolute;
    top: 18px;
    left: 18px;
    margin: 0;
    padding: 8px 12px;
    color: var(--gfgf-on-primary);
    background: rgba(0, 63, 131, 0.92);
    border: 1px solid rgba(255, 255, 255, 0.72);
    border-radius: 999px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.02em;
}

.archive-tour__content > .wp-block-group__inner-container > p {
    margin: 16px 0 0;
    color: var(--gfgf-text-muted);
}

.archive-tour__content > .wp-block-group__inner-container > .wp-block-buttons {
    margin-top: 24px;
}

.archive-tour__privacy {
    max-width: 560px;
    font-size: 14px;
    line-height: 1.5;
}

.archive-collections {
    display: grid;
    gap: 32px;
}

.archive-collections__row {
    display: grid;
    grid-template-columns: minmax(280px, 0.82fr) minmax(0, 1.18fr);
    align-items: stretch;
    gap: var(--gfgf-gutter);
}

.archive-collections__row--reverse {
    grid-template-columns: minmax(0, 1.18fr) minmax(280px, 0.82fr);
}

.archive-collections__row--reverse .archive-collections__media {
    order: 2;
}

.archive-collections__media {
    min-height: 360px;
    margin: 0;
    overflow: hidden;
    background: var(--gfgf-surface-high);
    border: 1px solid var(--gfgf-border);
    border-radius: 8px;
}

.archive-collections__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.archive-collections__list {
    display: grid;
    min-width: 0;
    grid-template-rows: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.archive-collection {
    display: flex;
    min-width: 0;
    justify-content: center;
    flex-direction: column;
    padding: 20px 24px;
    background: var(--gfgf-surface-low);
    border-left: 4px solid var(--gfgf-primary);
    border-radius: 0 8px 8px 0;
}

.archive-collection h3,
.archive-visit__address h3,
.archive-timeline h3,
.archive-download-group h3 {
    margin: 0;
    color: var(--gfgf-primary);
    font-size: 21px;
    line-height: 1.35;
}

.archive-collection p {
    margin: 12px 0 0;
    color: var(--gfgf-text-muted);
    font-size: 16px;
    line-height: 1.6;
}

.archive-collection__action {
    margin-top: 12px;
    border-top: 1px solid rgba(194, 198, 211, 0.8);
}

.archive-collection__more .wp-block-button__link {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 7px 0;
    color: var(--gfgf-primary);
    background: transparent;
    border: 0;
    font-size: 15px;
    font-weight: 700;
    font-family: inherit;
    line-height: 1.4;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    cursor: pointer;
}

.archive-collection__more .wp-block-button__link:hover {
    color: var(--gfgf-primary-container);
}

.archive-collection__more .wp-block-button__link:focus-visible {
    outline: 3px solid var(--gfgf-primary);
    outline-offset: 3px;
    border-radius: 2px;
}

.archive-detail .archive-collection__dialog-source {
    display: none;
}

.archive-collection-dialog {
    width: min(680px, calc(100% - 40px));
    max-width: none;
    max-height: calc(100dvh - 40px);
    padding: 0;
    color: var(--gfgf-text);
    background: transparent;
    border: 0;
    border-radius: 10px;
    overflow: visible;
}

.archive-collection-dialog::backdrop {
    background: rgba(12, 27, 45, 0.58);
}

.archive-collection-dialog__surface {
    position: relative;
    max-height: calc(100dvh - 40px);
    padding: clamp(32px, 5vw, 48px);
    overflow-y: auto;
    overscroll-behavior: contain;
    background: var(--gfgf-surface);
    border: 1px solid var(--gfgf-border);
    border-radius: 10px;
    box-shadow: 0 20px 60px rgba(12, 27, 45, 0.28);
}

.archive-collection-dialog__surface h2 {
    margin: 0;
    padding-right: 52px;
    color: var(--gfgf-primary);
    font-size: clamp(1.55rem, 4vw, 2rem);
    line-height: 1.25;
}

.archive-collection-dialog__surface > p {
    margin: 20px 0 0;
    color: var(--gfgf-text);
    font-size: 17px;
    line-height: 1.7;
}

.archive-collection-dialog__close {
    position: absolute;
    top: 14px;
    right: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    color: var(--gfgf-primary);
    background: var(--gfgf-surface-high);
    border: 1px solid var(--gfgf-border);
    border-radius: 50%;
    font: inherit;
    font-size: 30px;
    line-height: 1;
    cursor: pointer;
}

.archive-collection-dialog__close:hover {
    color: var(--gfgf-on-primary);
    background: var(--gfgf-primary);
}

.archive-collection-dialog__download {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    margin-top: 24px;
    color: var(--gfgf-primary);
    font-weight: 700;
}

.archive-collection-dialog__download[hidden] {
    display: none;
}

.archive-visit {
    scroll-margin-top: 160px;
    padding-top: 32px;
}

.archive-visit__panel {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.65fr);
    gap: clamp(32px, 6vw, 72px);
    padding: 48px;
    background: var(--gfgf-surface-high);
    border: 1px solid var(--gfgf-border);
    border-radius: 8px;
}

.archive-visit__content p {
    max-width: 760px;
    margin: 16px 0 0;
    color: var(--gfgf-text-muted);
}

.archive-visit__content > .wp-block-group__inner-container > .wp-block-buttons {
    margin-top: 24px;
}

.archive-visit__address {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    flex-direction: column;
    padding: 28px;
    background: var(--gfgf-surface);
    border: 1px solid var(--gfgf-border);
    border-radius: 8px;
}

.archive-visit__address-lines {
    margin: 16px 0 10px;
    color: var(--gfgf-text);
    line-height: 1.65;
}

.archive-visit__map {
    margin: 0;
}

.archive-visit__address a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    font-size: 16px;
    font-weight: 600;
}

.archive-history {
    background: var(--gfgf-surface);
    border-top: 1px solid rgba(194, 198, 211, 0.7);
    border-bottom: 1px solid rgba(194, 198, 211, 0.7);
}

.archive-history__grid {
    display: grid;
    grid-template-columns: minmax(220px, 0.34fr) minmax(0, 1fr);
    align-items: start;
    gap: clamp(36px, 6vw, 72px);
}

.archive-history__portrait {
    background: var(--gfgf-surface-low);
}

.archive-history__portrait img {
    aspect-ratio: 1;
}

.archive-history__portrait figcaption {
    margin: 0;
    padding: 12px 16px;
    color: var(--gfgf-text-muted);
    font-size: 15px;
    font-weight: 600;
    text-align: center;
}

.archive-timeline {
    margin: 0;
    padding: 0 0 0 30px;
    list-style: none;
    border-left: 2px solid var(--gfgf-border);
}

.archive-timeline__item {
    position: relative;
    padding: 0 0 32px 12px;
}

.archive-timeline__item:last-child {
    padding-bottom: 0;
}

.archive-timeline__item::before {
    position: absolute;
    top: 7px;
    left: -39px;
    width: 14px;
    height: 14px;
    content: '';
    background: var(--gfgf-primary);
    border: 3px solid var(--gfgf-surface);
    border-radius: 50%;
    box-shadow: 0 0 0 1px var(--gfgf-primary);
}

.archive-timeline .archive-timeline__date {
    display: block;
    margin: 0 0 5px;
    color: var(--gfgf-tertiary);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.archive-timeline p {
    margin: 8px 0 0;
    color: var(--gfgf-text-muted);
    font-size: 16px;
    line-height: 1.65;
}

.archive-detail__donation.archive-offer {
    margin-top: 0;
}

.archive-downloads {
    padding-top: 48px;
}

.archive-downloads__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: start;
    gap: var(--gfgf-gutter);
}

.archive-download-group {
    min-width: 0;
    padding: 28px;
    background: var(--gfgf-surface);
    border: 1px solid var(--gfgf-border);
    border-radius: 8px;
}

.archive-download-group ul {
    margin: 20px 0 0;
    padding: 0;
    list-style: none;
}

.archive-download-group li + li {
    border-top: 1px solid rgba(194, 198, 211, 0.7);
}

.archive-download-group a {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    min-height: 56px;
    flex-direction: column;
    padding: 10px 0;
    color: var(--gfgf-primary);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
    text-decoration: none;
}

.archive-download-group a:hover {
    text-decoration: underline;
}

.archive-download-group small {
    margin-top: 3px;
    color: var(--gfgf-text-muted);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.archive-sources {
    overflow-wrap: break-word;
}

.archive-sources__container {
    width: min(var(--gfgf-max-width), calc(100% - (var(--gfgf-margin-desktop) * 2)));
    margin: 0 auto;
}

.archive-sources__hero {
    padding: 56px 0;
    background: linear-gradient(125deg, var(--gfgf-surface-low) 0%, var(--gfgf-background) 72%);
    border-bottom: 1px solid rgba(194, 198, 211, 0.75);
}

.archive-sources__hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.04fr) minmax(360px, 0.96fr);
    align-items: center;
    gap: clamp(40px, 6vw, 76px);
}

.archive-sources__hero-copy {
    max-width: 720px;
}

.archive-sources__hero h1 {
    margin: 0 0 18px;
    color: var(--gfgf-primary);
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.16;
    letter-spacing: -0.02em;
}

.archive-sources__hero p {
    margin: 0;
    color: var(--gfgf-text-muted);
    font-size: 19px;
    line-height: 1.65;
}

.archive-sources__hero-media {
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: var(--gfgf-surface-high);
    border: 1px solid var(--gfgf-border);
    border-radius: 8px;
    box-shadow: 0 12px 30px rgba(18, 28, 42, 0.13);
}

.archive-sources__hero-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.archive-sources__section {
    padding: 72px 0;
}

.archive-sources__section--tint {
    background: var(--gfgf-surface-low);
    border-top: 1px solid rgba(194, 198, 211, 0.55);
    border-bottom: 1px solid rgba(194, 198, 211, 0.55);
}

.archive-sources__section-heading {
    max-width: 820px;
    margin-bottom: 32px;
}

.archive-sources__section-heading h2,
.archive-sources__external-note h2 {
    margin: 0;
    color: var(--gfgf-primary);
    font-size: clamp(1.65rem, 3vw, 2.15rem);
    line-height: 1.2;
    letter-spacing: -0.015em;
}

.archive-sources__section-heading p,
.archive-sources__external-note p {
    margin: 12px 0 0;
    color: var(--gfgf-text-muted);
    line-height: 1.65;
}

.archive-source-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: var(--gfgf-gutter);
}

.archive-source-card {
    display: flex;
    min-width: 0;
    min-height: 100%;
    flex-direction: column;
    padding: 28px;
    background: var(--gfgf-surface);
    border: 1px solid var(--gfgf-border);
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(18, 28, 42, 0.055);
}

.archive-source-card--featured {
    grid-column: 1 / -1;
    padding: 30px;
    background: linear-gradient(110deg, #edf4ff 0%, var(--gfgf-surface) 100%);
    border-left: 4px solid var(--gfgf-primary);
}

.archive-source-card--featured .archive-source-card__meta {
    color: var(--gfgf-primary);
}

.archive-source-card--featured h3 {
    font-size: 24px;
}

.archive-source-card--featured > p:not(.archive-source-card__meta) {
    max-width: 920px;
}

.archive-source-card__meta {
    margin: 0 0 7px;
    color: var(--gfgf-tertiary);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.045em;
    line-height: 1.4;
    text-transform: uppercase;
}

.archive-source-card h3 {
    margin: 0;
    color: var(--gfgf-primary);
    font-size: 22px;
    line-height: 1.3;
}

.archive-source-card > p:not(.archive-source-card__meta) {
    margin: 12px 0 0;
    color: var(--gfgf-text-muted);
    font-size: 16px;
    line-height: 1.65;
}

.archive-source-card > .wp-block-group__inner-container > .wp-block-buttons,
.archive-source-card > .wp-block-buttons {
    margin-top: auto;
    padding-top: 22px;
}

.archive-source-card__button .wp-block-button__link,
.archive-sources__report-button .wp-block-button__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 22px;
    color: var(--gfgf-primary);
    background: transparent;
    border: 1px solid var(--gfgf-primary);
    border-radius: 8px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
    text-decoration: none;
}

.archive-source-card__button .wp-block-button__link:hover,
.archive-sources__report-button .wp-block-button__link:hover {
    color: var(--gfgf-on-primary);
    background: var(--gfgf-primary);
}

.archive-museum-finder {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    margin-bottom: 28px;
    padding: 28px 30px;
    background: var(--gfgf-surface);
    border: 1px solid var(--gfgf-border);
    border-left: 4px solid var(--gfgf-primary);
    border-radius: 8px;
    box-shadow: 0 5px 18px rgba(18, 28, 42, 0.06);
}

.archive-museum-finder__content {
    max-width: 820px;
}

.archive-museum-finder h3 {
    margin: 0;
    color: var(--gfgf-primary);
    font-size: 24px;
    line-height: 1.3;
}

.archive-museum-finder p {
    margin: 8px 0 0;
    color: var(--gfgf-text-muted);
    font-size: 16px;
}

.archive-museum-finder > .wp-block-group__inner-container > .wp-block-buttons,
.archive-museum-finder > .wp-block-buttons {
    flex: 0 0 auto;
}

.archive-museum-finder__button .wp-block-button__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 26px;
    color: var(--gfgf-on-primary);
    background: var(--gfgf-primary);
    border: 1px solid var(--gfgf-primary);
    border-radius: 8px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
    text-decoration: none;
    white-space: nowrap;
}

.archive-museum-finder__button .wp-block-button__link:hover {
    background: var(--gfgf-primary-container);
    border-color: var(--gfgf-primary-container);
}

.archive-sources__visit-note {
    margin: 24px 0 0;
    color: var(--gfgf-text-muted);
    font-size: 15px;
    font-style: italic;
}

.archive-sources__external-note {
    padding: 40px 0 72px;
}

.archive-sources__external-note-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    padding: 28px 30px;
    background: linear-gradient(110deg, #edf4ff 0%, #fffaf3 100%);
    border: 1px solid var(--gfgf-border);
    border-left: 4px solid var(--gfgf-tertiary);
    border-radius: 8px;
    box-shadow: 0 4px 14px rgba(18, 28, 42, 0.05);
}

.archive-sources__external-note-content {
    max-width: 920px;
}

.archive-sources__external-note h2 {
    font-size: 23px;
}

.archive-sources__external-note p {
    margin-top: 8px;
    font-size: 16px;
}

.site-footer {
    color: var(--gfgf-text);
    background: var(--gfgf-surface-dim);
    border-top: 1px solid var(--gfgf-border);
}

.site-footer__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--gfgf-gutter);
    padding: 32px 0;
}

.site-footer__brand {
    display: flex;
    flex: 1 1 280px;
    flex-direction: column;
    gap: 8px;
    font-size: 15px;
    color: #40484e;
}

.site-footer__brand strong {
    color: var(--gfgf-text);
    font-size: 17px;
}

.site-footer__nav {
    flex: 0 1 auto;
    min-width: 0;
    margin-left: auto;
}

.site-footer__list,
.site-footer .menu {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: var(--gfgf-gutter);
    margin: 0;
    padding: 0;
    list-style: none;
}

.site-footer a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 2px;
    color: #40484e;
    font-size: 16px;
    text-decoration: none;
}

.site-footer a:hover {
    color: var(--gfgf-primary);
    text-decoration: underline;
}

/* Keep five navigation items readable at compact desktop widths. */
@media (min-width: 1152px) and (max-width: 1280px) {
    .site-header__inner { gap: 8px; }
    .site-navigation__list, .site-navigation .menu { gap: 10px; }
    .site-header__actions { gap: 10px; }
    .site-search { width: 220px; }
    .site-header__join { padding-left: 16px; padding-right: 16px; }
}

/* Below 1152px, keep enough room for readable navigation and search controls. */
@media (min-width: 721px) and (width < 1152px) {
    .site-header__inner {
        display: grid;
        grid-template-columns: auto minmax(220px, 1fr) auto;
        column-gap: 24px;
        row-gap: 2px;
        min-height: 0;
        padding: 12px 0 8px;
    }

    .site-brand {
        grid-column: 1;
        grid-row: 1;
        justify-self: start;
    }

    .site-logo__image,
    .custom-logo {
        height: 76px;
    }

    .site-header__actions {
        display: contents;
    }

    .site-search {
        grid-column: 2;
        grid-row: 1;
        justify-self: end;
        width: min(100%, 360px);
        min-width: 220px;
    }

    .site-header__join {
        grid-column: 3;
        grid-row: 1;
    }

    .site-navigation {
        grid-column: 1 / -1;
        grid-row: 2;
        width: 100%;
        padding-top: 4px;
        border-top: 1px solid rgba(194, 198, 211, 0.65);
    }

    .site-navigation__list,
    .site-navigation .menu {
        justify-content: space-between;
        gap: 12px;
    }
}

@media (max-width: 980px) {
    .site-header__inner,
    .site-footer__inner,
    .content-area,
    .archive-landing__container,
    .search-page__container,
    .archive-detail__container,
    .archive-sources__container {
        width: min(100% - (var(--gfgf-margin-mobile) * 2), var(--gfgf-max-width));
    }

    .archive-landing {
        padding: 0 0 64px;
    }

    .archive-landing__intro {
        padding: 48px 0;
    }

    .archive-landing__hero-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 32px;
    }

    .archive-landing__hero-media {
        width: min(100%, 720px);
        aspect-ratio: 16 / 9;
    }

    .archive-landing__body {
        padding-top: 40px;
    }

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

    .archive-teaser:last-child {
        grid-column: 1 / -1;
    }

    .archive-sources__hero-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 32px;
    }

    .archive-sources__hero-media {
        width: min(100%, 720px);
        aspect-ratio: 16 / 9;
    }

    .archive-detail__hero-grid,
    .archive-tour__grid,
    .archive-visit__panel {
        grid-template-columns: minmax(0, 1fr);
    }

    .archive-detail__hero-media {
        width: min(100%, 720px);
        aspect-ratio: 16 / 10;
    }

    .archive-stats {
        grid-template-columns: repeat(6, minmax(0, 1fr));
        gap: 1px;
        background: var(--gfgf-border);
    }

    .archive-stat,
    .archive-stat:first-child {
        grid-column: span 2;
        background: var(--gfgf-surface);
        border-left: 0;
    }

    .archive-stat:nth-last-child(-n + 2) {
        grid-column: span 3;
    }

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

    .archive-collections__row,
    .archive-collections__row--reverse {
        grid-template-columns: minmax(0, 1fr);
    }

    .archive-collections__row--reverse .archive-collections__media {
        order: 0;
    }

    .archive-collections__media {
        min-height: 0;
        aspect-ratio: 16 / 9;
    }

    .archive-download-group:last-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 720px) {
    .site-header__inner {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 48px;
        column-gap: 12px;
        row-gap: 0;
        align-items: center;
        min-height: 0;
        padding: 12px 0;
    }

    .site-header__join {
        display: none;
    }

    .site-brand {
        grid-column: 1;
        grid-row: 1;
        justify-self: start;
    }

    .site-logo__image,
    .custom-logo {
        height: 60px;
    }

    .site-header__actions {
        display: contents;
    }

    .site-search {
        grid-column: 1 / -1;
        grid-row: 2;
        width: 100%;
        min-width: 0;
        margin-top: 12px;
    }

    .site-header__menu {
        display: inline-flex;
        grid-column: 2;
        grid-row: 1;
        justify-self: end;
    }

    .site-search__field,
    .site-search__button {
        min-height: 52px;
        font-size: 17px;
    }

    .site-navigation {
        display: block;
        grid-column: 1 / -1;
        grid-row: 3;
        width: 100%;
        max-height: 0;
        margin-top: 0;
        padding-top: 0;
        overflow: hidden;
        visibility: hidden;
        pointer-events: none;
        border-top: 0 solid transparent;
        transition: max-height 180ms ease, margin 180ms ease, padding 180ms ease;
    }

    .site-navigation.is-open {
        max-height: min(420px, calc(100dvh - 162px));
        margin-top: 12px;
        padding-top: 8px;
        overflow-y: auto;
        visibility: visible;
        pointer-events: auto;
        border-top-width: 1px;
        border-top-color: var(--gfgf-border);
    }

    .site-navigation__list,
    .site-navigation .menu {
        align-items: stretch;
        flex-direction: column;
        justify-content: flex-start;
        gap: 4px;
    }

    .site-navigation a {
        min-height: 52px;
        padding: 0 8px;
        border-bottom: 0;
        border-left: 4px solid transparent;
    }

    .site-navigation a:hover,
    .site-navigation .current-menu-item > a,
    .site-navigation .current-menu-ancestor > a,
    .site-navigation .current-page-ancestor > a,
    .site-navigation .is-active-section > a,
    .site-navigation a[aria-current="page"],
    .site-navigation a[aria-current="location"] {
        background: var(--gfgf-surface-high);
        border-left-color: var(--gfgf-primary);
    }

    .content-area {
        padding: 36px 0 48px;
    }

    .search-page {
        padding-bottom: 48px;
    }

    .search-page__header {
        padding: 36px 0 40px;
    }

    .search-page__body {
        padding-top: 28px;
    }

    .search-results__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 18px;
    }

    .search-results__item {
        min-height: 0;
        gap: 22px;
        padding: 24px 22px;
    }

    .search-results__excerpt {
        font-size: 16px;
    }

    .search-empty {
        padding: 24px 22px;
    }

    .archive-landing {
        padding: 0 0 48px;
    }

    .archive-landing__intro {
        padding: 36px 0 40px;
    }

    .archive-landing__hero-grid {
        gap: 28px;
    }

    .archive-landing__hero-media {
        aspect-ratio: 16 / 10;
    }

    .archive-landing__body {
        padding-top: 32px;
    }

    .archive-landing__intro p {
        font-size: 18px;
    }

    .archive-sources__hero {
        padding: 36px 0 40px;
    }

    .archive-sources__hero-grid {
        gap: 28px;
    }

    .archive-sources__hero p {
        font-size: 18px;
    }

    .archive-sources__hero-media {
        aspect-ratio: 16 / 10;
    }

    .archive-sources__section {
        padding: 48px 0;
    }

    .archive-sources__section-heading {
        margin-bottom: 24px;
    }

    .archive-source-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 18px;
    }

    .archive-source-card {
        padding: 24px 22px;
    }

    .archive-source-card--featured {
        padding-left: 20px;
    }

    .archive-source-card__button,
    .archive-source-card__button .wp-block-button__link {
        width: 100%;
    }

    .archive-museum-finder,
    .archive-sources__external-note-inner {
        align-items: flex-start;
        flex-direction: column;
        gap: 20px;
        padding: 24px 22px;
    }

    .archive-museum-finder > .wp-block-group__inner-container > .wp-block-buttons,
    .archive-museum-finder > .wp-block-buttons,
    .archive-museum-finder__button,
    .archive-museum-finder__button .wp-block-button__link,
    .archive-sources__external-note-inner > .wp-block-group__inner-container > .wp-block-buttons,
    .archive-sources__external-note-inner > .wp-block-buttons,
    .archive-sources__report-button,
    .archive-sources__report-button .wp-block-button__link {
        width: 100%;
    }

    .archive-sources__external-note {
        padding: 32px 0 48px;
    }

    .archive-teasers {
        grid-template-columns: minmax(0, 1fr);
    }

    .archive-teaser:last-child {
        grid-column: auto;
    }

    .archive-teaser {
        padding: 0;
    }

    .archive-teaser__media {
        height: 160px;
    }

    .archive-teaser__content {
        padding: 24px 22px 0;
    }

    .archive-teaser > .wp-block-group__inner-container > .wp-block-buttons {
        padding: 20px 22px 24px;
    }

    .archive-teaser h2 {
        font-size: 23px;
    }

    .archive-offer {
        align-items: flex-start;
        flex-direction: column;
        gap: 20px;
        margin-top: 28px;
        padding: 22px 20px;
    }

    .archive-detail__hero {
        padding: 40px 0 48px;
    }

    .archive-detail__hero-grid {
        gap: 32px;
    }

    .archive-detail__hero-copy h1 {
        font-size: clamp(2rem, 10vw, 2.7rem);
    }

    .archive-detail__section {
        padding: 48px 0;
    }

    .archive-detail__section--compact {
        padding: 20px 0 48px;
    }

    .archive-detail__stats-section {
        padding-bottom: 40px;
    }

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

    .archive-stat,
    .archive-stat:first-child {
        grid-column: auto;
        padding: 18px;
    }

    .archive-stat:nth-last-child(-n + 2) {
        grid-column: auto;
    }

    .archive-stat:last-child {
        grid-column: 1 / -1;
    }

    .archive-downloads__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .archive-download-group:last-child {
        grid-column: auto;
    }

    .archive-collection,
    .archive-download-group {
        padding: 24px;
    }

    .archive-collection-dialog {
        width: calc(100% - 24px);
        max-height: calc(100dvh - 24px);
    }

    .archive-collection-dialog__surface {
        max-height: calc(100dvh - 24px);
        padding: 32px 24px;
    }

    .archive-collection-dialog__surface h2 {
        padding-right: 44px;
    }

    .archive-collection-dialog__close {
        top: 8px;
        right: 8px;
    }

    .archive-visit {
        padding-top: 12px;
        scroll-margin-top: 150px;
    }

    .archive-visit__panel {
        gap: 28px;
        padding: 28px 24px;
    }

    .archive-visit__address {
        padding: 22px;
    }

    .archive-history__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 32px;
    }

    .archive-history__portrait {
        width: min(100%, 300px);
    }

    .archive-timeline {
        padding-left: 25px;
    }

    .archive-timeline__item {
        padding-left: 8px;
    }

    .archive-timeline__item::before {
        left: -34px;
    }
}

@media (max-width: 840px) {
    .site-footer__inner {
        align-items: flex-start;
        flex-direction: column;
        gap: 16px;
        padding: 28px 0;
    }

    .site-footer__brand {
        flex: 0 1 auto;
    }

    .site-footer__nav {
        width: 100%;
        align-self: stretch;
    }

    .site-footer__list,
    .site-footer .menu {
        justify-content: flex-end;
        gap: 16px 24px;
    }
}

@media (max-width: 360px) {
    :root {
        --gfgf-margin-mobile: 16px;
    }

    .search-empty__controls {
        flex-direction: column;
        gap: 10px;
    }

    .search-empty__controls input {
        border: 2px solid var(--gfgf-border);
    }

    .search-empty__controls input,
    .search-empty__controls button {
        border-radius: 8px;
    }

    .site-search__field {
        padding: 0 12px;
    }

    .site-search__button {
        padding: 0 12px;
    }
}

@media (max-width: 480px) {
    .archive-tour__button,
    .archive-tour__button .wp-block-button__link {
        width: 100%;
    }

    .archive-tour__button .wp-block-button__link {
        padding-right: 16px;
        padding-left: 16px;
        text-align: center;
        white-space: normal;
    }

    .archive-stats {
        grid-template-columns: minmax(0, 1fr);
    }

    .archive-stat {
        grid-column: auto;
        flex-direction: row;
        align-items: baseline;
        justify-content: space-between;
        gap: 8px;
        padding: 14px 12px;
    }

    .archive-stat__value {
        order: 0;
        flex: 0 0 auto;
        font-size: 1.5rem;
    }

    .archive-stat__label {
        order: -1;
        min-width: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}

body.admin-bar .site-header {
    top: 32px;
}

@media (max-width: 782px) {
    body.admin-bar .site-header {
        top: 46px;
    }
}


/* Issue #97: real historic Wayback link list. Gutenberg core groups only. */
.gfgf-online-archive-page { color: #153c59; background: #f8fbfe; }
.gfgf-online-archive__hero {
    padding: clamp(48px, 5vw, 78px) 0;
    background: linear-gradient(110deg, #e7f5ff 0%, #f6faff 55%, #d9eefa 100%);
    border-bottom: 1px solid #d4e4f0;
}
.gfgf-online-archive__hero-inner {
    display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(230px, .65fr);
    align-items: center; gap: clamp(28px, 5vw, 78px);
}
.gfgf-online-archive__eyebrow,
.gfgf-archive-online-promo__eyebrow {
    margin: 0 0 13px; font-size: 12px; font-weight: 800;
    letter-spacing: .105em; text-transform: uppercase; color: #00558c;
}
.gfgf-online-archive__hero h1 {
    color: #004781; font-size: clamp(38px, 4.3vw, 60px);
    line-height: 1.13; max-width: 780px; letter-spacing: -.035em;
    margin: 0 0 22px;
}
.gfgf-online-archive__lead {
    font-size: clamp(17px, 1.5vw, 20px); line-height: 1.58;
    max-width: 760px; color: #375b75; margin: 0;
}
.gfgf-online-archive__hero-art {
    min-height: 220px; display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    background: linear-gradient(145deg, #d5eafd, #b9ddf4);
    border: 1px solid #a9cce5; border-radius: 14px;
    box-shadow: 0 16px 30px rgba(8,60,100,.11);
    transform: rotate(2deg);
}
.gfgf-online-archive__hero-icon {
    font-size: clamp(80px, 8vw, 130px); line-height: 1; color: #0d649c; margin: 0;
}
.gfgf-online-archive__hero-art-label {
    font-size: 14px; font-weight: 700; color: #235d83; margin: 15px 20px 0; text-align: center;
}
.gfgf-online-archive__notice {
    margin-top: 34px; padding: 21px 25px;
    background: #fff5e7; border: 1px solid #e9d8bd;
    border-left: 4px solid #b57618; border-radius: 8px;
    color: #63491e; font-size: 16px; line-height: 1.55;
}
.gfgf-online-archive__notice p { margin: 0; }
.gfgf-online-archive__listing { padding-top: clamp(42px, 5vw, 65px); padding-bottom: 45px; }
.gfgf-online-archive__listing > h2 {
    color: #004781; font-size: clamp(27px, 2.8vw, 37px); margin: 0 0 26px;
}
.gfgf-online-archive__grid {
    display: grid; grid-template-columns: repeat(2,minmax(0,1fr));
    gap: clamp(15px, 1.7vw, 23px);
}
.gfgf-online-archive__card {
    display: flex; flex-direction: column;
    min-width: 0; padding: clamp(22px, 2.5vw, 31px);
    background: #fff; border: 1px solid #dbe6f0;
    border-radius: 10px; box-shadow: 0 5px 18px rgba(6,52,85,.06);
}
.gfgf-online-archive__card:nth-child(4n+2),
.gfgf-online-archive__card:nth-child(4n+3) {
    background: linear-gradient(145deg, #fff 65%, #eff8fc 100%);
}
.gfgf-online-archive__card:nth-child(5) { grid-column: 1 / -1; }
.gfgf-online-archive__card-kind {
    color: #8a5d16; font-weight: 800; font-size: 12px;
    letter-spacing: .08em; margin: 0 0 10px;
}
.gfgf-online-archive__card h3 {
    color: #004781; font-size: clamp(21px, 1.9vw, 26px);
    margin: 0 0 13px; line-height: 1.25; overflow-wrap: anywhere;
}
.gfgf-online-archive__card-description { color: #3a5770; margin: 0 0 12px; }
.gfgf-online-archive__card-date {
    margin: 0 0 23px; color: #536b7d; font-size: 14px;
}
.gfgf-online-archive__card .wp-block-buttons { margin-top: auto; }
.gfgf-online-archive__card .wp-block-button__link,
.archive-landing .gfgf-archive-online-promo .wp-block-button__link {
    display: inline-flex; align-items: center; justify-content: center;
    background: #004781; color: #fff; border-radius: 7px;
    font-weight: 700; font-size: 15px; text-decoration: none;
    padding: 12px 18px; min-height: 44px; transition: background .16s ease;
}
.gfgf-online-archive__card .wp-block-button__link:hover,
.archive-landing .gfgf-archive-online-promo .wp-block-button__link:hover { background: #006298; }
.gfgf-archive-online-outer {
    padding-top: clamp(10px, 2vw, 22px); padding-bottom: 20px;
}
.archive-landing .gfgf-archive-online-promo {
    display: grid; grid-template-columns: 80px minmax(0,1fr) auto;
    align-items: center; gap: clamp(18px, 2.5vw, 34px);
    background: linear-gradient(105deg, #d5eeff, #d5eafa 70%, #b9dff6);
    border: 1px solid #bddcef; border-radius: 12px;
    padding: clamp(22px, 3vw, 38px);
    box-shadow: 0 5px 16px rgba(13,67,98,.075);
}
.gfgf-archive-online-promo__icon {
    display: grid; place-items: center; align-self: center;
    width: 76px; height: 76px; border-radius: 18px;
    background: #f0f9ff; border: 1px solid #b8d9ee;
    color: #00629b; font-size: 54px; line-height: 1;
}
.gfgf-archive-online-promo__icon p { margin: 0; }
.gfgf-archive-online-promo__copy h2 {
    font-size: clamp(25px, 2.4vw, 32px); line-height: 1.2;
    margin: 0 0 11px; color: #004781;
}
.gfgf-archive-online-promo__copy p:last-child {
    font-size: 15px; line-height: 1.55; color: #395a71; margin: 0;
}
.gfgf-archive-online-promo__button { min-width: 0; }
.gfgf-webarchive-page a:focus-visible,
.gfgf-archive-online-promo a:focus-visible { outline: 3px solid #ae6d12; outline-offset: 3px; }
@media (max-width: 820px) {
    .gfgf-online-archive__hero-inner { grid-template-columns: 1fr; }
    .gfgf-online-archive__hero-art { display: none; }
    .archive-landing .gfgf-archive-online-promo { grid-template-columns: 58px minmax(0,1fr); }
    .gfgf-archive-online-promo__icon { width: 58px; height: 58px; font-size: 39px; }
    .gfgf-archive-online-promo__button { grid-column: 2; justify-self: start; }
}
@media (max-width: 620px) {
    .gfgf-online-archive__grid { grid-template-columns: 1fr; }
    .gfgf-online-archive__card:nth-child(5) { grid-column: auto; }
    .archive-landing .gfgf-archive-online-promo { grid-template-columns: 1fr; }
    .gfgf-archive-online-promo__icon { display: none; }
    .gfgf-archive-online-promo__button { grid-column: auto; }
}

/* Three original preserved-site screenshots, native editable Gutenberg images. */
.gfgf-online-archive__hero-art--collage {
    position: relative; overflow: visible; transform: none;
    display: block; min-height: 330px; background: transparent;
    border: 0; box-shadow: none;
}
.gfgf-online-archive__hero-art--collage .wp-block-image {
    position: absolute; margin: 0; width: 55%; max-width: 200px;
    aspect-ratio: 0.81; overflow: hidden; border: 5px solid white;
    border-radius: 8px; background: white;
    box-shadow: 0 16px 28px rgba(0,48,83,.22);
    transform-origin: 50% 85%;
}
.gfgf-online-archive__hero-art--collage .wp-block-image img {
    display: block; width: 100%; height: 100%; object-fit: cover;
    object-position: center top;
}
.gfgf-online-archive__hero-art--collage .wp-block-image:nth-child(1) {
    left: 5%; top: 40px; z-index: 1; transform: rotate(-13deg);
}
.gfgf-online-archive__hero-art--collage .wp-block-image:nth-child(2) {
    left: 25%; top: 13px; z-index: 3; transform: rotate(0deg);
}
.gfgf-online-archive__hero-art--collage .wp-block-image:nth-child(3) {
    left: 47%; top: 35px; z-index: 2; transform: rotate(13deg);
}
@media (max-width:820px) {
    .gfgf-online-archive__hero-art--collage { display: block; min-height: 270px; max-width: 430px; width: 100%; margin: 0 auto; }
    .gfgf-online-archive__hero-art--collage .wp-block-image { max-width: 170px; }
}
@media (max-width:450px) {
    .gfgf-online-archive__hero-art--collage { min-height: 225px; }
    .gfgf-online-archive__hero-art--collage .wp-block-image { max-width: 130px; border-width: 3px; }
}

/* Live HTML Sitemap, scoped to its page template. */
.gfgf-sitemap {background:#f7faff;min-height:65vh;color:#183e58}
.gfgf-sitemap__container {max-width:1100px;margin:0 auto;padding-left:clamp(18px,4vw,48px);padding-right:clamp(18px,4vw,48px)}
.gfgf-sitemap__hero {background:linear-gradient(115deg,#e7f4fc,#cfe9fa);padding:clamp(40px,5vw,75px) 0;border-bottom:1px solid #ccdfed}
.gfgf-sitemap__eyebrow {text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-weight:800;color:#006396;margin:0 0 12px}
.gfgf-sitemap__hero h1 {font-size:clamp(32px,4vw,54px);color:#004781;line-height:1.15;margin:0 0 12px}
.gfgf-sitemap__hero p:last-child {font-size:17px;line-height:1.55;max-width:660px;margin:0}
.gfgf-sitemap__content {padding-top:38px;padding-bottom:65px}
.gfgf-sitemap__intro {margin-bottom:24px}
.gfgf-sitemap__panel {background:#fff;border:1px solid #dce8f1;border-radius:12px;padding:clamp(22px,3vw,36px);box-shadow:0 8px 24px rgba(0,46,78,.05)}
.gfgf-sitemap__tree {list-style:none;padding:0;margin:0}
.gfgf-sitemap__tree .gfgf-sitemap__tree {border-left:2px solid #c4dff0;margin:10px 0 6px 12px;padding-left:clamp(14px,2vw,26px)}
.gfgf-sitemap__tree li {position:relative;padding:7px 0}
.gfgf-sitemap__tree .gfgf-sitemap__tree li:before {content:"";position:absolute;width:12px;left:calc(-1 * clamp(14px,2vw,26px));top:19px;border-top:2px solid #c4dff0}
.gfgf-sitemap__tree a {display:inline-block;color:#004781;text-decoration:none;font-weight:650;padding:5px 8px;border-radius:5px}
.gfgf-sitemap__tree a:hover,.gfgf-sitemap__tree a:focus-visible {background:#e6f5fc;text-decoration:underline}
.gfgf-sitemap__additional {margin-top:30px;padding:24px;background:#e7f4fc;border-radius:10px}
.gfgf-sitemap__additional h2 {color:#004781;margin:0 0 12px}
.gfgf-sitemap__additional a {color:#004781;font-weight:700}
@media(max-width:520px){.gfgf-sitemap__panel {padding:16px 12px}.gfgf-sitemap__tree .gfgf-sitemap__tree {padding-left:13px;margin-left:7px}.gfgf-sitemap__tree a{overflow-wrap:anywhere}}


/* Issue 106 – Native Gutenberg museum guide. No CPT or runtime front-end JS. */
.gfgf-museums { color:#173e5c;background:#f7faff;padding-bottom:60px }
.gfgf-museums__container { max-width:1170px;padding:0 clamp(17px,3.5vw,48px);margin:0 auto }
.gfgf-museums__hero { background:linear-gradient(115deg,#e5f4ff 0%,#f5fbff 68%,#c8e6f6);padding:clamp(42px,6vw,75px) 0;border-bottom:1px solid #d5e5f0 }
.gfgf-museums__eyebrow { color:#006295;font-size:12px;font-weight:800;letter-spacing:.13em;margin:0 0 12px }
.gfgf-museums__hero h1 { color:#004781;font-size:clamp(36px,4.2vw,56px);letter-spacing:-.035em;line-height:1.12;margin:0 0 23px }
.gfgf-museums__lead { max-width:770px;font-size:clamp(17px,1.6vw,20px);color:#375a71;line-height:1.55 }
.gfgf-museums__notice { margin:32px 0 28px;background:#fff7e9;border:1px solid #eadcc7;border-left:5px solid #d89d4b;border-radius:9px;padding:22px 25px }
.gfgf-museums__notice h3 { margin:0 0 12px;color:#5d441b;font-size:21px }
.gfgf-museums__notice p {margin:0;color:#5d5140}
.gfgf-museums__section { padding:24px 0 35px }
.gfgf-museums__section > h2 { color:#004781;font-size:clamp(25px,2.7vw,34px);margin:0 0 11px }
.gfgf-museums__section > p { color:#48667b;max-width:850px;line-height:1.65;margin:0 0 24px }
.gfgf-museums__cards { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch }
.gfgf-museum-card { min-width:0;display:flex;flex-direction:column;padding:clamp(19px,2vw,25px);border:1px solid #dbe7f0;border-radius:11px;background:linear-gradient(145deg,#fff 60%,#f0f8fd);box-shadow:0 5px 15px rgba(11,57,87,.05) }
.gfgf-museum-card:nth-child(3n+2) { background:linear-gradient(145deg,#fff 55%,#eef8f6) }
.gfgf-museum-card:nth-child(3n+3) { background:linear-gradient(145deg,#fff 55%,#f8f5ea) }
.gfgf-museum-card__tag {font-size:11px;letter-spacing:.065em;color:#005c8f;font-weight:800;margin:0 0 14px}
.gfgf-museum-card h3 {color:#004781;font-size:20px;line-height:1.25;margin:0 0 10px;overflow-wrap:anywhere}
.gfgf-museum-card__location {font-weight:650;color:#345b73;margin:0 0 13px;font-size:14px}
.gfgf-museum-card__summary {font-size:14px;line-height:1.55;color:#465c6c;margin:0 0 19px}
.gfgf-museum-card > p:last-child {margin:auto 0 0;padding-top:12px;font-size:14px}
.gfgf-museum-card a {color:#004e8c;text-decoration:underline;text-underline-offset:3px;font-weight:700;overflow-wrap:anywhere}
.gfgf-museum-card a:hover {color:#006fa5}
.gfgf-museum-card--review {border-color:#e7e5db;background:linear-gradient(135deg,#fff,#fcf9f2)}
.gfgf-museum-card--review .gfgf-museum-card__tag {color:#89601b}
.gfgf-museum-card--closed {background:#f1f3f5;border-color:#dde3e7;box-shadow:none}
.gfgf-museum-card--closed .gfgf-museum-card__tag {color:#58636b}
.gfgf-museums__footer { margin-top:15px;padding:28px 30px;border-radius:11px;background:linear-gradient(110deg,#deeffa,#c9e5f4)}
.gfgf-museums__footer h2 {color:#004781;margin:0 0 10px}
.gfgf-museums__footer p {margin:0 0 10px;max-width:750px}
@media(max-width:1000px){.gfgf-museums__cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.gfgf-museums__cards{grid-template-columns:minmax(0,1fr)}.gfgf-museums__hero{padding:36px 0}.gfgf-museums__notice{padding:18px}}

/* Issue 107 – Shared Gutenberg-only editorial legal pages (staging). */
.gfgf-legal-shell {background:#f8fbfe;min-height:65vh}
.gfgf-legal-page {color:#1a425c;padding-bottom:60px}
.gfgf-legal__hero {padding:clamp(32px,4vw,58px) max(22px,calc((100% - 1060px)/2));background:linear-gradient(110deg,#e7f4fd,#d3eaf9);border-bottom:1px solid #d3e4f0}
.gfgf-legal__eyebrow {color:#005b92;font-size:12px;font-weight:800;letter-spacing:.11em;margin:0 0 12px}
.gfgf-legal__hero h1 {color:#004781;font-size:clamp(36px,4vw,52px);margin:0 0 12px}
.gfgf-legal__hero p:last-child {color:#38586f;line-height:1.6;max-width:850px}
.gfgf-legal__content {max-width:1050px;padding:35px clamp(20px,3.5vw,48px);margin:0 auto}
.gfgf-legal__content > h2 {color:#004781;margin:35px 0 20px;font-size:28px}
.gfgf-legal__item {background:#fff;border:1px solid #dce7ee;border-radius:8px;padding:18px 22px;margin:0 0 12px}
.gfgf-legal__item h3 {color:#004781;font-size:18px;margin:0 0 10px}
.gfgf-legal__item p {line-height:1.55;margin:0 0 7px}
.gfgf-legal__item p:last-child {margin-bottom:0}
.gfgf-legal__content > p {line-height:1.65;margin:0 0 16px}
.gfgf-legal__review,.gfgf-legal__warning {border-left:4px solid #aa7a2b;background:#fff5e4;border-radius:8px;padding:18px 24px;margin:30px 0}
.gfgf-legal__warning h2 {color:#765219;font-size:24px;margin:0 0 12px}
.gfgf-legal__warning p,.gfgf-legal__review p {margin:0;line-height:1.65}
.gfgf-legal--privacy .gfgf-legal__content > h2 {margin-top:32px;font-size:23px}


/* Issue 111 – Discover site hierarchy and 6-core-category navigation */
.site-navigation__has-submenu {position:relative;display:flex;align-items:center}
.site-navigation__submenu-toggle {
    display:inline-flex;align-items:center;justify-content:center;min-width:28px;
    min-height:44px;border:0;background:transparent;color:#135c8b;
    font:inherit;font-size:22px;cursor:pointer;padding:0 5px;
}
.site-navigation__submenu-toggle:hover,
.site-navigation__submenu-toggle:focus-visible {color:#00558b;outline:2px solid #8ebed9;outline-offset:1px;border-radius:5px}
.site-navigation__sub-menu,.site-navigation .sub-menu {
    display:none;position:absolute;z-index:200;top:calc(100% - 2px);left:0;
    min-width:235px;max-width:min(330px,90vw);list-style:none;padding:10px;margin:0;
    border:1px solid #ccdfeb;border-radius:8px;background:#fff;
    box-shadow:0 12px 25px rgba(10,52,80,.16);
}
.site-navigation__has-submenu:hover > .site-navigation__sub-menu,
.site-navigation__has-submenu:focus-within > .site-navigation__sub-menu,
.site-navigation__has-submenu.is-submenu-open > .site-navigation__sub-menu,
.site-navigation .menu-item-has-children:hover > .sub-menu,
.site-navigation .menu-item-has-children:focus-within > .sub-menu {display:block}
.site-navigation__sub-menu li,.site-navigation .sub-menu li {display:block}
.site-navigation__sub-menu a,.site-navigation .sub-menu a {
    display:flex;min-height:43px;align-items:center;padding:10px 13px;
    font-size:15px;white-space:normal;line-height:1.3;border:0;border-radius:5px;
}
.site-navigation__sub-menu a:hover,.site-navigation__sub-menu a:focus-visible,
.site-navigation .sub-menu a:hover {background:#ecf6fb}
.site-navigation__has-submenu > a {margin-right:0}
@media (min-width:721px) and (max-width:1160px) {
  .site-header__inner {flex-wrap:wrap;position:relative;gap:12px;padding:12px 0}
  .site-header__actions {margin-left:auto}
  .site-header__menu {display:inline-flex}
  .site-header__join {display:none}
  .site-navigation {
      order:3;flex:1 0 100%;width:100%;max-height:0;overflow:hidden;
      visibility:hidden;pointer-events:none;margin:0;padding:0;transition:max-height .18s ease
  }
  .site-navigation.is-open {
      max-height:min(70vh,640px);overflow-y:auto;visibility:visible;pointer-events:auto;
      border-top:1px solid #dde8f0;padding:9px 0;
  }
  .site-navigation__list,.site-navigation .menu {flex-direction:column;align-items:stretch;gap:2px}
  .site-navigation__list > li,.site-navigation .menu > li {width:100%}
  .site-navigation a {padding:8px 14px;min-height:42px}
  .site-navigation__has-submenu {flex-wrap:wrap}
}
@media (max-width:1160px) {
 .site-navigation__has-submenu {display:flex;flex-wrap:wrap;align-items:center}
 .site-navigation__has-submenu > a {flex:1 1 auto}
 .site-navigation__submenu-toggle {flex:0 0 46px;border-left:1px solid #dce8f0}
 .site-navigation__sub-menu,.site-navigation .sub-menu {
   position:static;display:none!important;max-width:none;width:100%;min-width:0;
   margin:0 0 8px 14px;padding:4px 0 4px 9px;
   border:0;border-left:2px solid #c8e3f2;border-radius:0;box-shadow:none;
 }
 .site-navigation__has-submenu.is-submenu-open > .site-navigation__sub-menu,
 .site-navigation .menu-item-has-children.is-submenu-open > .sub-menu {
   display:block!important;
 }
 .site-navigation__sub-menu a,.site-navigation .sub-menu a {font-size:15px;min-height:42px}
 .site-navigation.is-open {max-height:min(72vh,740px)}
}
@media (min-width:1161px) and (max-width:1370px) {
 .site-header__inner {gap:13px}
 .site-navigation__list,.site-navigation .menu {gap:11px}
 .site-navigation > ul > li > a {font-size:14px}
 .site-search {min-width:170px;width:185px}
 .site-header__actions {gap:11px}
}
@media (max-width:720px) {
 .site-navigation__has-submenu > a {min-height:49px}
 .site-navigation__sub-menu {margin-left:20px}
}

/* Discover hub – four editorial Gutenberg pages, responsive galleries and cards */
.gfgf-discover-shell {background:#f8fbfd}
.gfgf-discover {color:#173e5a;padding-bottom:1px}
.gfgf-discover__container {width:min(1180px,calc(100% - 44px));margin:0 auto}
.gfgf-discover__hero {overflow:hidden;background:linear-gradient(114deg,#e4f4fd,#f6fbff 55%,#d2e9f8);padding:clamp(48px,6vw,84px) 0;border-bottom:1px solid #d0e3f1}
.gfgf-discover__hero--onsite {background:linear-gradient(116deg,#eaf8f4,#f7fbff 58%,#dcecf5)}
.gfgf-discover__hero--time {background:linear-gradient(116deg,#f5f0e6,#fafdff 55%,#deedf7)}
.gfgf-discover__hero--books {background:linear-gradient(120deg,#eef2fd,#f8fbff 59%,#dceaf6)}
.gfgf-discover__hero-grid {display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:center;gap:clamp(25px,4vw,65px)}
.gfgf-discover__eyebrow,.gfgf-discover__kicker {
  font-size:12px;letter-spacing:.115em;font-weight:800;color:#8f5912;
  margin:0 0 13px;text-transform:uppercase
}
.gfgf-discover__hero-copy h1 {color:#004781;font-size:clamp(40px,4.4vw,62px);line-height:1.1;letter-spacing:-.035em;margin:0 0 25px;max-width:730px}
.gfgf-discover__lead {font-size:clamp(17px,1.45vw,20px);color:#37596f;line-height:1.65;max-width:690px;margin:0 0 27px}
.gfgf-discover__hero-copy .wp-block-button__link,
.gfgf-discover__cta .wp-block-button__link {
    display:inline-flex;justify-content:center;align-items:center;padding:13px 23px;
    color:#fff;background:#004781;border-radius:7px;font-size:15px;font-weight:750;
    min-height:48px;text-decoration:none
}
.gfgf-discover__hero-copy .wp-block-button__link:hover,
.gfgf-discover__cta .wp-block-button__link:hover {background:#006399;color:#fff}
.gfgf-discover__visual {position:relative;height:340px;min-width:0}
.gfgf-discover__visual .wp-block-image {
 position:absolute;width:52%;max-width:240px;aspect-ratio:3/4;overflow:hidden;margin:0;
 border:5px solid #fff;border-radius:9px;box-shadow:0 17px 30px rgba(0,45,75,.2);
 transform-origin:50% 88%;background:#e9f5fd
}
.gfgf-discover__visual .wp-block-image img {width:100%;height:100%;object-fit:cover;display:block}
.gfgf-discover__visual .wp-block-image:nth-child(1) {left:4%;top:35px;transform:rotate(-12deg);z-index:1}
.gfgf-discover__visual .wp-block-image:nth-child(2) {left:27%;top:8px;transform:rotate(1deg);z-index:3}
.gfgf-discover__visual .wp-block-image:nth-child(3) {left:50%;top:32px;transform:rotate(13deg);z-index:2}
.gfgf-discover__section {padding:clamp(40px,5vw,72px) 0}
.gfgf-discover__section h2 {color:#004781;font-size:clamp(27px,2.8vw,37px);margin:0 0 14px;line-height:1.22}
.gfgf-discover__section-lead {max-width:800px;font-size:17px;line-height:1.65;color:#4a657a;margin:0 0 28px}
.gfgf-discover__facts {display:flex;gap:15px;margin-bottom:44px;flex-wrap:wrap}
.gfgf-discover__facts p {
 flex:1 1 245px;padding:18px 20px;background:#e7f2fa;
 color:#125b86;border-radius:7px;font-size:15px;font-weight:700;margin:0
}
.gfgf-discover__cards {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.gfgf-discover__cards--two {grid-template-columns:repeat(2,minmax(0,1fr))}
.gfgf-discover__card {
 min-width:0;display:flex;flex-direction:column;overflow:hidden;background:#fff;
 border:1px solid #d9e6ef;border-radius:12px;box-shadow:0 7px 21px rgba(14,64,96,.07);
 transition:transform .18s ease,box-shadow .18s ease
}
.gfgf-discover__card:hover {transform:translateY(-3px);box-shadow:0 13px 26px rgba(14,64,96,.12)}
.gfgf-discover__card .gfgf-discover__card-photo {height:205px;overflow:hidden;margin:0;background:#e7f2f6}
.gfgf-discover__card-photo img {display:block;width:100%;height:100%;object-fit:cover}
.gfgf-discover__card-body {display:flex;flex-direction:column;flex:1;padding:24px}
.gfgf-discover__card h3 {font-size:clamp(21px,2vw,26px);color:#004781;line-height:1.25;margin:0 0 13px}
.gfgf-discover__card-text {color:#455f73;font-size:15px;line-height:1.6;margin:0 0 22px}
.gfgf-discover__card .wp-block-buttons {margin-top:auto}
.gfgf-discover__card .wp-block-button__link {display:inline-block;padding:11px 17px;border-radius:6px;background:#004781;color:#fff;font-size:14px;font-weight:700}
.gfgf-discover__card .wp-block-button__link:hover {background:#006298;color:#fff}
.gfgf-discover__soon {margin-top:auto;font-size:13px;color:#7a5c32}
.gfgf-discover__cta {background:linear-gradient(120deg,#d5eafd,#b7dcf4);padding:clamp(34px,4vw,54px) 0;margin-bottom:32px}
.gfgf-discover__cta h2 {color:#004781;font-size:clamp(27px,2.7vw,38px);margin:0 0 12px}
.gfgf-discover__cta p {max-width:770px;color:#315872;font-size:17px;line-height:1.6;margin:0 0 21px}
.gfgf-discover--books .gfgf-discover__card-photo {height:260px;background:#f2f5f7;padding:8px}
.gfgf-discover--books .gfgf-discover__card-photo img {object-fit:contain}
@media(max-width:1000px) {
 .gfgf-discover__hero-grid {grid-template-columns:1fr;gap:15px}
 .gfgf-discover__visual {height:280px;width:min(490px,100%);margin:0 auto}
 .gfgf-discover__visual .wp-block-image {max-width:185px}
 .gfgf-discover__cards {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px) {
 .gfgf-discover__container {width:calc(100% - 32px)}
 .gfgf-discover__hero {padding:38px 0}
 .gfgf-discover__hero-copy h1 {font-size:37px}
 .gfgf-discover__visual {height:225px}
 .gfgf-discover__visual .wp-block-image {max-width:139px;border-width:3px}
 .gfgf-discover__cards,.gfgf-discover__cards--two {grid-template-columns:1fr}
 .gfgf-discover__section {padding:35px 0}
}


/* Issue 117: restrained sitemap shortcut, independent of the configured WP menu. */
.site-footer__nav {
    display: flex;
    align-items: center;
    gap: 12px;
}
.site-footer__nav .site-footer__sitemap {
    display: inline-flex;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    min-height: 44px;
    justify-content: center;
    align-items: center;
    padding: 0;
    border-radius: 8px;
    color: #345c78;
    text-decoration: none;
}
.site-footer__sitemap-icon {
    display: block;
    width: 21px;
    height: 21px;
}
.site-footer__nav .site-footer__sitemap:hover,
.site-footer__nav .site-footer__sitemap:focus-visible {
    color: var(--gfgf-primary);
    background: rgba(0, 63, 131, .09);
}
@media (max-width: 840px) {
    .site-footer__nav {
        justify-content: flex-end;
    }
}

/* Issue 117: real circular dropdown affordance, vertically centred with Entdecken. */
.site-navigation__has-submenu {
    align-items: center;
}
.site-navigation__submenu-toggle {
    display: inline-flex;
    flex: 0 0 40px;
    width: 40px;
    height: 48px;
    min-width: 40px;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    background: transparent;
    color: #fff;
    cursor: pointer;
}
.site-navigation__submenu-icon {
    display: inline-flex;
    width: 26px;
    height: 26px;
    flex: 0 0 26px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--gfgf-primary);
    color: #fff;
}
.site-navigation__submenu-icon svg {
    display: block;
    width: 15px;
    height: 15px;
    transition: transform .18s ease;
}
.site-navigation__submenu-toggle[aria-expanded="true"] .site-navigation__submenu-icon svg {
    transform: rotate(180deg);
}
.site-navigation__submenu-toggle:hover,
.site-navigation__submenu-toggle:focus-visible {
    color: #fff;
    background: transparent;
    outline-offset: -1px;
    border-radius: 8px;
}
.site-navigation__submenu-toggle:hover .site-navigation__submenu-icon,
.site-navigation__submenu-toggle:focus-visible .site-navigation__submenu-icon {
    background: #135eaa;
}
@media (max-width: 1160px) {
    .site-navigation__submenu-toggle {
        flex: 0 0 48px;
        width: 48px;
        border-left: 0;
    }
}
@media (prefers-reduced-motion: reduce) {
    .site-navigation__submenu-icon svg { transition: none; }
}

/* Issue 119: visitor-oriented sitemap mirrors the six navigation sections. */
.gfgf-sitemap__tree--root > li {
    padding: 12px 0;
}
.gfgf-sitemap__tree--root > li + li {
    border-top: 1px solid #edf2f7;
}
.gfgf-sitemap__tree--root > li > a {
    font-size: clamp(18px, 1.7vw, 21px);
    font-weight: 800;
    color: #003e70;
}
.gfgf-sitemap__tree--root .gfgf-sitemap__tree a {
    font-size: 15px;
    font-weight: 600;
}
.gfgf-sitemap__note {
    display: inline-block;
    color: #537184;
    font-size: 12px;
    font-weight: 400;
    margin-left: 6px;
}
.gfgf-sitemap__legal {
    margin-top: 32px;
    padding: 20px 24px;
    background: #f1f7fb;
    border: 1px solid #d9e8f2;
    border-radius: 9px;
}
.gfgf-sitemap__legal h2 {
    margin: 0 0 5px;
    font-size: 18px;
    color: #285775;
}
.gfgf-sitemap__legal .gfgf-sitemap__tree {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 20px;
}
@media (max-width: 600px) {
    .gfgf-sitemap__note {
        display: block;
        margin: 0 0 0 8px;
    }
    .gfgf-sitemap__legal {
        padding: 16px;
    }
}


/* Issue 144 – presentation-ready, Gutenberg-editable migration report BELOW the
   dynamic sitemap. Scoped to avoid introducing new card styles elsewhere. */
.gfgf-sitemap__upcoming {display:inline-block;padding:5px 8px;color:#52687a;font-weight:650}
.gfgf-sitemap__migration {padding:clamp(30px,5vw,66px) 0 80px;border-top:1px solid #d3e4ee;background:#fff}
.gfgf-sitemap__migration-content {max-width:1220px}
.gfgf-sitemap__migration h2 {margin:0 0 14px;color:#003f83;font-size:clamp(28px,3vw,38px);line-height:1.19;letter-spacing:-.025em}
.gfgf-sitemap__migration h2 + p {max-width:850px;margin:0 0 16px;font-size:16px;line-height:1.65;color:#3b5870}
.gfgf-sitemap__migration .gfgf-migration__meta {
    margin:0 0 24px;font-size:13px;font-weight:600;letter-spacing:.025em;color:#557086
}
.gfgf-sitemap__migration .gfgf-migration__stats {
    display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;
    margin:18px 0 30px;padding:18px 0;
    border-top:1px solid #dae5ee;border-bottom:1px solid #dae5ee
}
.gfgf-sitemap__migration .gfgf-migration__stats > .wp-block-column {
    min-width:0;padding:0 clamp(14px,2.2vw,28px);margin:0;
}
.gfgf-sitemap__migration .gfgf-migration__stats > .wp-block-column:first-child {padding-left:0}
.gfgf-sitemap__migration .gfgf-migration__stats > .wp-block-column + .wp-block-column {
    border-left:1px solid #dae5ee
}
.gfgf-sitemap__migration .gfgf-migration__stats p {margin:0;color:#4e6678;font-size:13px;line-height:1.45}
.gfgf-sitemap__migration .gfgf-migration__stats p:first-child {
    font-size:clamp(26px,3.5vw,38px);line-height:1.15;font-weight:800;
    letter-spacing:-.03em;color:#003f83;margin:0 0 6px
}
.gfgf-sitemap__migration .gfgf-migration__table {
    width:100%;max-width:100%;margin:0 0 18px;overflow-x:auto;
    background:#fff;border:1px solid #dce7f0;border-radius:12px;
    box-shadow:0 5px 18px rgba(4,52,85,.055);
    scrollbar-color:#95b8d0 #eef4f8
}
.gfgf-sitemap__migration .gfgf-migration__table table {
    width:100%;min-width:965px;border-collapse:separate;border-spacing:0;
    border:0;table-layout:auto;font-size:14px;line-height:1.48
}
.gfgf-sitemap__migration .gfgf-migration__table thead th {
    padding:15px 16px;background:#003f83;color:#fff;border:0;
    font-size:12px;text-align:left;letter-spacing:.035em;font-weight:800;
    text-transform:uppercase;white-space:nowrap;vertical-align:middle
}
.gfgf-sitemap__migration .gfgf-migration__table thead th:first-child {border-top-left-radius:11px}
.gfgf-sitemap__migration .gfgf-migration__table thead th:last-child {border-top-right-radius:11px}
.gfgf-sitemap__migration .gfgf-migration__table tbody td {
    padding:15px 16px;border:0;border-bottom:1px solid #e3edf4;
    vertical-align:top;color:#304b62;background:#fff
}
.gfgf-sitemap__migration .gfgf-migration__table tbody tr:nth-child(even) td {background:#f4f8fc}
.gfgf-sitemap__migration .gfgf-migration__table tbody tr:hover td {background:#eaf4fb}
.gfgf-sitemap__migration .gfgf-migration__table tbody tr:last-child td {border-bottom:0}
.gfgf-sitemap__migration .gfgf-migration__table th:nth-child(1) {width:17%}
.gfgf-sitemap__migration .gfgf-migration__table th:nth-child(2) {width:20%}
.gfgf-sitemap__migration .gfgf-migration__table th:nth-child(3) {width:14%}
.gfgf-sitemap__migration .gfgf-migration__table th:nth-child(4) {width:11%}
.gfgf-sitemap__migration .gfgf-migration__table th:nth-child(5) {width:38%}
.gfgf-sitemap__migration .gfgf-migration__table tbody td:first-child {font-weight:750;color:#173b59}
.gfgf-sitemap__migration .gfgf-migration__table tbody td:nth-child(3) {font-weight:650;color:#375c75}
.gfgf-sitemap__migration .gfgf-migration__table tbody td:nth-child(4) {
    color:#004781;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:15px
}
.gfgf-sitemap__migration .gfgf-migration__table a {
    color:#005990;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;
    overflow-wrap:anywhere;font-weight:650
}
.gfgf-sitemap__migration .gfgf-migration__table a:hover {color:#003f83;text-decoration-thickness:2px}
.gfgf-sitemap__migration .gfgf-migration__table a:focus-visible {outline:2px solid #003f83;outline-offset:3px}
.gfgf-sitemap__migration .gfgf-migration__table figcaption {
    padding:12px 16px;margin:0;background:#edf5fa;color:#3b576a;
    font-size:12px;line-height:1.5;text-align:left;border-top:1px solid #dce7f0
}
.gfgf-sitemap__migration .gfgf-migration__note {
    margin:17px 0 0;max-width:980px;font-size:13px;line-height:1.65;color:#516b7f
}
@media (max-width:700px) {
    .gfgf-sitemap__migration {padding-top:34px}
    .gfgf-sitemap__migration .gfgf-migration__stats {grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
    .gfgf-sitemap__migration .gfgf-migration__stats > .wp-block-column {padding-inline:12px}
    .gfgf-sitemap__migration .gfgf-migration__stats p:first-child {font-size:26px}
    .gfgf-sitemap__migration .gfgf-migration__table table {min-width:840px;font-size:13px}
    .gfgf-sitemap__migration .gfgf-migration__table tbody td {padding:12px 13px}
}
@media (max-width:440px) {
    .gfgf-sitemap__migration .gfgf-migration__stats {grid-template-columns:1fr;gap:10px}
    .gfgf-sitemap__migration .gfgf-migration__stats > .wp-block-column,
    .gfgf-sitemap__migration .gfgf-migration__stats > .wp-block-column:first-child {
        padding:0 0 9px;border-left:0
    }
    .gfgf-sitemap__migration .gfgf-migration__stats > .wp-block-column + .wp-block-column {
        padding-top:10px;border-top:1px solid #dae5ee
    }
}
@media print {
    .gfgf-sitemap__migration {background:#fff;padding:12pt 0}
    .gfgf-sitemap__migration .gfgf-migration__table {
        overflow:visible;box-shadow:none;border:1px solid #bcc9d3
    }
    .gfgf-sitemap__migration .gfgf-migration__table table {min-width:0;font-size:9pt;line-height:1.25}
    .gfgf-sitemap__migration .gfgf-migration__table th,
    .gfgf-sitemap__migration .gfgf-migration__table td {padding:6pt 7pt!important}
    .gfgf-sitemap__migration .gfgf-migration__table thead {display:table-header-group}
    .gfgf-sitemap__migration .gfgf-migration__table tbody tr {break-inside:avoid}
    .gfgf-sitemap__migration .gfgf-migration__table thead th {
        background:#003f83!important;color:white!important;print-color-adjust:exact
    }
}


/* Issue #228 – GFGF homepage: scoped, responsive, Gutenberg-editable blocks. */
.gfgf-home-page {
    width: min(100% - 40px, var(--gfgf-max-width));
    margin: 0 auto 72px;
}
.gfgf-home-v3 {
    display: grid;
    gap: 56px;
}
.gfgf-home-v3 .gfgf-home-hero {
    padding: clamp(24px, 4vw, 56px);
    border-radius: 20px;
    background: linear-gradient(135deg, #e8f1ff 0%, #f7fafe 65%);
    box-shadow: 0 12px 28px rgb(0 38 83 / 6%);
}
.gfgf-home-v3 .gfgf-home-hero .wp-block-columns {
    align-items: center;
    gap: clamp(20px, 3vw, 44px);
}
.gfgf-home-v3 .gfgf-home-hero h1 {
    color: #003f83;
    font-size: clamp(2rem, 4.3vw, 3.4rem);
    line-height: 1.11;
    margin: 14px 0 20px;
}
.gfgf-home-v3 .gfgf-home-kicker {
    color: #003f83;
    text-transform: uppercase;
    font-weight: 750;
    letter-spacing: .1em;
    font-size: .78rem;
}
.gfgf-home-v3 .gfgf-home-hero__intro {
    color: #334359;
    font-size: clamp(1.05rem, 1.6vw, 1.23rem);
}
.gfgf-home-v3 .gfgf-home-hero img {
    display: block;
    width: 100%;
    aspect-ratio: 5 / 4;
    object-fit: cover;
    border-radius: 16px;
}
.gfgf-home-v3 .gfgf-home-hero .wp-block-button__link {
    background: #003f83;
    color: white;
}
.gfgf-home-v3 .gfgf-home-tiles .wp-block-columns {
    gap: 18px;
    align-items: stretch;
}
.gfgf-home-v3 .gfgf-home-tiles .wp-block-column {
    border: 1px solid var(--gfgf-border);
    background: white;
    border-radius: 15px;
    padding: clamp(20px, 2.3vw, 30px);
    display: flex;
    flex-direction: column;
    min-width: 0;
}
.gfgf-home-v3 .gfgf-home-tiles .wp-block-column > .wp-block-group {
    flex: 1;
}
.gfgf-home-v3 h2 {
    color: #003f83;
    line-height: 1.25;
    margin: 0 0 12px;
}
.gfgf-home-v3 .gfgf-home-tiles h3 {
    margin: 12px 0;
    font-size: 1.28rem;
    color: #003f83;
}
.gfgf-home-v3 .gfgf-home-tiles .wp-block-button,
.gfgf-home-v3 .gfgf-home-tiles .wp-block-buttons {
    margin-top: auto;
}
.gfgf-home-v3 .gfgf-home-events,
.gfgf-home-v3 .gfgf-home-news {
    border-radius: 18px;
    padding: clamp(20px, 3vw, 40px);
    background: #fff;
    border: 1px solid #dbe4f1;
}
.gfgf-home-v3 .gfgf-home-events {
    background: #eaf2fe;
}
.gfgf-home-v3 .gfgf-home-news .wp-block-post-template {
    list-style: none;
    margin: 22px 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
.gfgf-home-v3 .gfgf-home-news .wp-block-post-template > li {
    border: 1px solid var(--gfgf-border);
    background: #fafcff;
    border-radius: 12px;
    padding: 22px;
    min-width: 0;
}
.gfgf-home-v3 .gfgf-home-news .wp-block-post-title {
    font-size: 1.15rem;
    margin: 10px 0 6px;
    line-height: 1.35;
}
.gfgf-home-v3 .gfgf-home-news .wp-block-post-date {
    color: #475b74;
    font-size: .83rem;
}
.gfgf-home-v3 .gfgf-home-news .wp-block-post-excerpt {
    font-size: .94rem;
}
.gfgf-home-v3 .gfgf-home-news .wp-block-post-excerpt__more-link {
    font-weight: 650;
}
@media (max-width: 800px) {
    .gfgf-home-page { width: min(100% - 28px, var(--gfgf-max-width)); margin-bottom: 42px; }
    .gfgf-home-v3 { gap: 30px; }
    .gfgf-home-v3 .gfgf-home-hero .wp-block-columns,
    .gfgf-home-v3 .gfgf-home-tiles .wp-block-columns { flex-wrap: wrap; }
    .gfgf-home-v3 .gfgf-home-hero .wp-block-column,
    .gfgf-home-v3 .gfgf-home-tiles .wp-block-column { flex-basis: 100% !important; }
    .gfgf-home-v3 .gfgf-home-news .wp-block-post-template { grid-template-columns: 1fr; }
}


/* Issue #231 – prominent About news feature, authentic archive-topic photographs. */
.gfgf-about-news-feature {
    width: min(100% - 48px, var(--gfgf-max-width));
    margin: 26px auto 54px;
    padding: clamp(22px, 3.5vw, 44px);
    background: linear-gradient(120deg, #e8f1ff 0%, #f8fbff 85%);
    border: 1px solid #cadaf0;
    border-radius: 20px;
    box-shadow: 0 10px 24px rgb(0 45 102 / 5%);
}
.gfgf-about-news-feature > .wp-block-columns {
    gap: clamp(22px, 4vw, 52px);
    align-items: center;
}
.gfgf-about-news-feature h2 {
    color: var(--gfgf-primary);
    font-size: clamp(1.5rem, 3vw, 2.15rem);
    margin: 8px 0 16px;
    line-height: 1.25;
}
.gfgf-about-news-feature__kicker {
    color: var(--gfgf-primary);
    font-size: .78rem;
    font-weight: 750;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.gfgf-about-news-feature .wp-block-button__link {
    background: #003f83;
    color: #fff;
    font-weight: 700;
}
.gfgf-about-news-feature__latest {
    padding: clamp(16px, 2.2vw, 26px);
    background: white;
    border: 1px solid #cfdaeb;
    border-radius: 13px;
}
.gfgf-about-news-feature__latest h3 {
    font-size: 1rem;
    margin: 0 0 12px;
    color: #284d7c;
}
.gfgf-about-news-query .wp-block-post-template {
    padding: 0;
    margin: 0;
    list-style: none;
}
.gfgf-about-news-query .wp-block-post {
    padding: 14px 0;
    border-top: 1px solid #e0e8f2;
}
.gfgf-about-news-query .wp-block-post-date {
    color: #51647c;
    font-size: .79rem;
}
.gfgf-about-news-query .wp-block-post-title {
    font-size: 1.05rem;
    line-height: 1.35;
    margin: 6px 0 0;
}
.gfgf-about-archive-card .gfgf-about-archive-photo {
    margin: 0 0 14px;
}
.gfgf-about-archive-card .gfgf-about-archive-photo img {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 9px;
}
@media (max-width: 780px) {
    .gfgf-about-news-feature { width: min(100% - 28px, var(--gfgf-max-width)); margin: 18px auto 32px; }
    .gfgf-about-news-feature > .wp-block-columns { flex-wrap: wrap; }
    .gfgf-about-news-feature > .wp-block-columns > .wp-block-column { flex-basis: 100% !important; }
}
