/* Shared fluid type scale. Page-specific layouts and colors remain in their own stylesheets. */
:root {
	--dg11-type-body: clamp(1.0625rem, 1rem + 0.25vw, 1.2rem);
	--dg11-type-lead: clamp(1.125rem, 1.05rem + 0.35vw, 1.3rem);
	--dg11-type-small: clamp(0.95rem, 0.92rem + 0.15vw, 1.05rem);
	--dg11-type-card: clamp(1rem, 0.97rem + 0.2vw, 1.125rem);
	--dg11-type-nav: clamp(1rem, 0.97rem + 0.15vw, 1.075rem);
	--dg11-type-h1: clamp(2rem, 1.6rem + 2vw, 3.4rem);
	--dg11-type-h2: clamp(1.6rem, 1.35rem + 1.2vw, 2.4rem);
	--dg11-type-h3: clamp(1.3rem, 1.15rem + 0.7vw, 1.8rem);
}

body { font-size: var(--dg11-type-body); line-height: 1.6; }
.dg11-page-main > .wp-block-post-content { max-width: min(100%, 75ch); }
.dg11-page-main :is(p, li), .dg11-history-story :is(p, li), .dg11-ke :is(p, li) { line-height: 1.6; }
.dg11-page-main :is(h2, .wp-block-heading), .dg11-group-section > h2 { text-wrap: balance; }
.dg11-hero h1, .dg11-internal-hero h1 { font-size: var(--dg11-type-h1); }
.dg11-kitchen-theme .dg11-internal-hero h1 { font-size: var(--dg11-type-h1); }
.dg11-hero .dg11-lead { font-size: var(--dg11-type-lead); line-height: 1.55; }
.dg11-section h2, .dg11-page-main h2, .dg11-group-section > h2 { font-size: var(--dg11-type-h2); }
.dg11-page-main h3, .dg11-group-card h2, .dg11-person-card h3, .dg11-highlight-card h3, .dg11-staff-body h3 { font-size: var(--dg11-type-h3); }
.wp-block-button__link, .dg11-weekly-cta, .dg11-group-link { font-size: var(--dg11-type-nav); }

/* Navigation stays compact within the existing header and mobile drawer. */
body .dg11-desktop-nav, body .dg11-mobile-nav,
.dg11-mobile-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content,
.dg11-mobile-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle { font-size: var(--dg11-type-nav); }
.dg11-desktop-nav .wp-block-navigation-item__content { white-space: nowrap; }

/* Homepage cards, lead copy, captions and action links. */
.dg11-home-redesign .dg11-home { font-size: var(--dg11-type-body); line-height: 1.6; }
.dg11-home-welcome-copy { --dg11-hero-heading-size: var(--dg11-type-h1); }
.dg11-home-welcome .dg11-home-eyebrow, .dg11-home-intro { font-size: var(--dg11-type-lead); line-height: 1.55; }
.dg11-home-eyebrow { font-size: var(--dg11-type-small); }
.dg11-home-cta { font-size: var(--dg11-type-nav); }
.dg11-home-redesign .dg11-section-heading h2, .dg11-home-section h2 { font-size: var(--dg11-type-h2); }
.dg11-home-redesign .dg11-text-link { font-size: var(--dg11-type-nav); }
.dg11-home-redesign .dg11-news-card h3,
.dg11-home-redesign .dg11-weekly-post-copy .wp-block-post-title { font-size: var(--dg11-type-h3); }
.dg11-home-redesign .dg11-news-card .wp-block-post-excerpt,
.dg11-home-redesign .dg11-weekly-post-copy .wp-block-post-excerpt { font-size: var(--dg11-type-card); line-height: 1.55; }
.dg11-home-redesign .dg11-news-card .wp-block-post-date,
.dg11-news-card-body .wp-block-post-date { font-size: var(--dg11-type-small); }
.dg11-home-photo-card figcaption { font-size: var(--dg11-type-small); }
.dg11-home-section-intro > p:last-child, .dg11-home-history-copy > p:last-child { max-width: 70ch; font-size: var(--dg11-type-body); line-height: 1.6; }

/* Shared cards, profiles, galleries and footer. */
.dg11-weekly-post-copy .wp-block-post-title, .dg11-news-card-body .wp-block-post-title { font-size: var(--dg11-type-h3); }
.dg11-weekly-post-copy .wp-block-post-excerpt, .dg11-news-card-body .wp-block-post-excerpt,
.dg11-group-card-body p, .dg11-staff-body p, .dg11-highlight-body p { font-size: var(--dg11-type-card); line-height: 1.55; }
.dg11-group-card-staff, .dg11-group-card-pending, .dg11-staff-experience,
.dg11-highlight-body time, .dg11-activity-slide figcaption, .dg11-activity-status,
.dg11-group-gallery figcaption, .dg11-weekly-document-fallback { font-size: var(--dg11-type-small); }
.post-type-archive-grupi .dg11-group-card h2 { font-size: var(--dg11-type-h3); }
.post-type-archive-grupi .dg11-group-card-label, .dg11-file-type { font-size: var(--dg11-type-small); }
.dg11-activity-card .dg11-highlight-body h3 { font-size: var(--dg11-type-h3); }
.dg11-activity-controls button { font-size: var(--dg11-type-small); }
.dg11-footer-inner h2 { font-size: clamp(1.2rem, 1.12rem + 0.35vw, 1.4rem); }
.dg11-footer-inner h3 { font-size: clamp(1.05rem, 1rem + 0.25vw, 1.2rem); }
.dg11-footer-contact p, .dg11-footer-links p { font-size: var(--dg11-type-small); line-height: 1.55; }

/* Editorial pages. Long-form columns retain their existing widths. */
.dg11-history-story h2, .dg11-ke h2, .dg11-mv h2 { font-size: var(--dg11-type-h2); }
.dg11-history-story h3 { font-size: var(--dg11-type-h3); }
.dg11-history-story .dg11-history-opening .dg11-history-copy > p:nth-child(2),
.dg11-contact-intro { font-size: var(--dg11-type-lead); line-height: 1.55; }
.dg11-history-story .dg11-history-eyebrow, .dg11-history-story .dg11-history-photo figcaption,
.dg11-mv .dg11-mv-kicker, .dg11-news-gallery figcaption { font-size: var(--dg11-type-small); }
.dg11-ke p, .dg11-mv p { font-size: var(--dg11-type-body); line-height: 1.6; }
.dg11-mv .dg11-mv-values-list li { font-size: var(--dg11-type-card); }

/* News, weekly menus and document cards. */
.dg11-news-archive .dg11-news-card h2 { font-size: var(--dg11-type-h3); }
.dg11-news-archive .dg11-news-card .wp-block-post-date,
.dg11-menu-period, .dg11-document-info time { font-size: var(--dg11-type-small); }
.dg11-news-archive .dg11-news-card .wp-block-post-excerpt__excerpt { font-size: var(--dg11-type-card); }
.dg11-news-archive .dg11-news-read-more, .dg11-home-redesign .dg11-weekly-cta { font-size: var(--dg11-type-nav); }
.dg11-menu-panel h2 { font-size: var(--dg11-type-h2); }
.dg11-document-heading { font-size: clamp(1.4rem, 1.2rem + 0.8vw, 1.85rem); }
.dg11-document-subsection .dg11-document-heading { font-size: clamp(1.2rem, 1.05rem + 0.6vw, 1.5rem); }
.dg11-document-info :is(h3, h4) { font-size: var(--dg11-type-card); }
.dg11-documents-empty { font-size: var(--dg11-type-small); }
.dg11-document-card { height: auto; min-height: 144px; }

/* Contact details and form: controls remain at least 16px on phones. */
.dg11-contacts h2 { font-size: var(--dg11-type-h2); }
.dg11-contact-form-card h2 { font-size: clamp(1.5rem, 1.3rem + 0.9vw, 2.1rem); }
.dg11-contact-info-item h3 { font-size: var(--dg11-type-h3); }
.dg11-contact-info-item p, .dg11-contact-hours p { font-size: var(--dg11-type-card); }
.dg11-contact-form-lead { font-size: var(--dg11-type-lead); line-height: 1.55; }
.dg11-contact-field label, .dg11-contact-form-card button { font-size: var(--dg11-type-nav); }
.dg11-contact-field input, .dg11-contact-field textarea { font-size: max(1rem, var(--dg11-type-body)); }
.dg11-contact-field-error, .dg11-contact-privacy { font-size: var(--dg11-type-small); }
.dg11-contact-status { font-size: var(--dg11-type-card); }
.dg11-contacts-main { overflow-x: clip; }

@media (max-width: 56.25rem) {
	.dg11-document-card { flex-wrap: wrap; }
	.dg11-document-info { flex-basis: calc(100% - 65px); }
}
@media (max-width: 47.99rem) {
	.dg11-home-redesign .dg11-news-card h3,
	.dg11-home-redesign .dg11-weekly-post-copy .wp-block-post-title { font-size: clamp(1.2rem, 1.1rem + 0.55vw, 1.4rem); }
}
