/*
Theme Name: Durant Foundation (Kadence)
Template: kadence
Description: Child theme of Kadence for the Durant Motors Automobile Museum Foundation. Kadence stays unmodified so it keeps receiving updates; this theme sets the foundation design (logo colors, brass and cream, Playfair Display headings, header with Donate button, dark footer) and the full-width page sections.
Version: 1.0.0
Text Domain: dmf-kadence
*/

/* Fonts (self-hosted, SIL Open Font License): Playfair Display for headings, Source Sans 3 for text */
@font-face { font-family: 'Playfair Display'; font-style: normal; font-weight: 600; font-display: swap; src: url('fonts/playfair-display-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'Playfair Display'; font-style: italic; font-weight: 600; font-display: swap; src: url('fonts/playfair-display-latin-600-italic.woff2') format('woff2'); }
@font-face { font-family: 'Playfair Display'; font-style: normal; font-weight: 700; font-display: swap; src: url('fonts/playfair-display-latin-700-normal.woff2') format('woff2'); }
@font-face { font-family: 'Source Sans 3'; font-style: normal; font-weight: 400; font-display: swap; src: url('fonts/source-sans-3-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'Source Sans 3'; font-style: italic; font-weight: 400; font-display: swap; src: url('fonts/source-sans-3-latin-400-italic.woff2') format('woff2'); }
@font-face { font-family: 'Source Sans 3'; font-style: normal; font-weight: 600; font-display: swap; src: url('fonts/source-sans-3-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'Source Sans 3'; font-style: normal; font-weight: 700; font-display: swap; src: url('fonts/source-sans-3-latin-700-normal.woff2') format('woff2'); }

:root {
	--ink: #14213d;
	--ink-deep: #0d1628;
	--red: #b3202a;
	--red-dark: #8c1820;
	--brass: #b8893b;
	--brass-light: #e2c48a;
	--brass-panel: #efe6d4;
	--blue: #1f4fa0;
	--text: #2b2f38;
	--muted: #646a77;
	--line: #e6dfd1;
	--cream: #f8f4ec;
	--white: #ffffff;
	--radius: 14px;
	--shadow: 0 1px 2px rgba(13, 22, 40, .06), 0 10px 30px rgba(13, 22, 40, .09);
	--shadow-lift: 0 2px 4px rgba(13, 22, 40, .08), 0 18px 40px rgba(13, 22, 40, .16);
	--wrap: 1200px;
	--gutter: 24px;
	--head: 'Playfair Display', Georgia, serif;
	--body: 'Source Sans 3', system-ui, sans-serif;
}

/* ---------- Header brand ---------- */
.dmf-brand { display: flex; flex-direction: column; line-height: 1.1; text-decoration: none; margin-left: 12px; }
.dmf-brand__name { font-family: var(--head); font-weight: 700; font-size: 1.3rem; color: var(--ink); }
.dmf-brand__sub { font-family: var(--body); font-weight: 600; font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; color: var(--red); margin-top: 3px; }
@media (max-width: 1100px) and (min-width: 1025px) { .site-header .dmf-brand__sub { font-size: .68rem; } .site-header .dmf-brand__name { font-size: 1.1rem; } }
@media (max-width: 420px) { .dmf-brand__name { font-size: 1.08rem; } .dmf-brand__sub { font-size: .64rem; letter-spacing: .08em; } }
.site-header .custom-logo { border-radius: 6px; }

/* ---------- Buttons ---------- */
.wp-block-button .wp-block-button__link, .dmf-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .45em;
	font-family: var(--body); font-weight: 600; font-size: 1rem; line-height: 1.1;
	padding: .95em 1.6em; border-radius: 999px; border: 2px solid transparent;
	background: var(--ink); color: var(--white); text-decoration: none; white-space: nowrap;
	transition: background-color .15s, color .15s, border-color .15s, transform .15s;
}
.wp-block-button .wp-block-button__link:hover, .wp-block-button .wp-block-button__link:focus { background: var(--ink-deep); color: var(--white); transform: translateY(-1px); }
.wp-block-button.is-style-dmf-red .wp-block-button__link { background: var(--red); color: var(--white); }
.wp-block-button.is-style-dmf-red .wp-block-button__link:hover, .wp-block-button.is-style-dmf-red .wp-block-button__link:focus { background: var(--red-dark); color: var(--white); }
.wp-block-button.is-style-dmf-outline .wp-block-button__link { background: transparent; border-color: var(--ink); color: var(--ink); }
.wp-block-button.is-style-dmf-outline .wp-block-button__link:hover, .wp-block-button.is-style-dmf-outline .wp-block-button__link:focus { background: var(--ink); color: var(--white); }
.wp-block-button.is-style-dmf-ghost .wp-block-button__link { background: transparent; border-color: rgba(255, 255, 255, .75); color: var(--white); }
.wp-block-button.is-style-dmf-ghost .wp-block-button__link:hover, .wp-block-button.is-style-dmf-ghost .wp-block-button__link:focus { background: var(--white); color: var(--ink); }
.wp-block-buttons { gap: 12px; }

/* ---------- Page sections (pages whose blocks use the dmf-section classes) ---------- */
.dmf-sections .entry-content { overflow-x: clip; margin: 0; }
.dmf-sections .entry-content .wp-block-group, .dmf-sections .entry-content .wp-block-columns, .dmf-sections .entry-content .wp-block-column { margin-top: 0; margin-bottom: 0; }
.dmf-sections .entry-content .wp-block-group__inner-container { display: contents; }
.dmf-sections .entry-content > .dmf-section { margin: 0; }
.dmf-sections .entry-content .dmf-inner { max-width: var(--wrap); margin: 0 auto; padding: 0 var(--gutter); }
.dmf-sections .entry-content .dmf-inner--narrow { max-width: 820px; }
.dmf-sections .entry-content .dmf-section { padding: clamp(64px, 8vw, 112px) 0; }
.dmf-sections .entry-content .dmf-section--tight { padding: clamp(40px, 5vw, 64px) 0; }
.dmf-sections .entry-content .dmf-section--cream { background: var(--cream); }
.dmf-sections .entry-content .dmf-section--panel { background: var(--brass-panel); }
.dmf-sections .entry-content .dmf-section--ink { background: var(--ink); color: rgba(255, 255, 255, .82); }
.dmf-sections .entry-content .dmf-section--ink h2, .dmf-sections .entry-content .dmf-section--ink h3 { color: var(--white); }
.dmf-sections .entry-content .dmf-section--ink a:not(.wp-block-button__link) { color: var(--brass-light); }
.dmf-sections .entry-content h2 { margin-top: 0; margin-bottom: .5em; font-size: clamp(2rem, 1.4rem + 1.8vw, 2.75rem); }
.dmf-sections .entry-content .dmf-eyebrow { font-family: var(--body); font-weight: 700; font-size: .82rem; letter-spacing: .18em; text-transform: uppercase; color: var(--red); margin: 0 0 1em; display: flex; align-items: center; gap: 12px; }
.dmf-sections .entry-content .dmf-eyebrow::before { content: ""; width: 32px; height: 2px; background: var(--brass); flex: none; }
.dmf-sections .entry-content .dmf-center { text-align: center; }
.dmf-sections .entry-content .dmf-center .dmf-eyebrow { justify-content: center; }
.dmf-sections .entry-content .dmf-head { max-width: 46rem; margin: 0 auto clamp(36px, 5vw, 56px) !important; text-align: center; }
.dmf-sections .entry-content .dmf-head .dmf-eyebrow { justify-content: center; }
.dmf-sections .entry-content .dmf-head p:last-child { margin-bottom: 0; color: var(--muted); font-size: 1.1rem; }
.dmf-sections .entry-content .dmf-section--ink .dmf-eyebrow, .dmf-sections .entry-content .dmf-hero .dmf-eyebrow, .dmf-sections .entry-content .dmf-pagehead .dmf-eyebrow { color: var(--brass-light); }
.dmf-sections .entry-content .dmf-section--ink .dmf-head p:last-child { color: rgba(255, 255, 255, .72); }
.dmf-sections .entry-content .dmf-lead { font-size: clamp(1.1rem, 1rem + .4vw, 1.3rem); line-height: 1.6; }

/* Hero: full-width photo, darkened on the left for the text */
.dmf-sections .entry-content .dmf-hero, .dmf-sections .entry-content .dmf-pagehead { position: relative; isolation: isolate; background: var(--ink-deep); color: rgba(255, 255, 255, .88); overflow: hidden; }
.dmf-sections .entry-content .dmf-hero { min-height: min(86vh, 760px); display: flex; align-items: center; }
.dmf-sections .entry-content .dmf-hero .dmf-bg, .dmf-sections .entry-content .dmf-pagehead .dmf-bg { position: absolute; inset: 0; margin: 0; z-index: -2; }
.dmf-sections .entry-content .dmf-hero .dmf-bg img, .dmf-sections .entry-content .dmf-pagehead .dmf-bg img { width: 100%; height: 100%; object-fit: cover; object-position: var(--focus, 70% 30%); filter: grayscale(.15) contrast(1.05); }
.dmf-sections .entry-content .dmf-hero::after, .dmf-sections .entry-content .dmf-pagehead::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(13, 22, 40, .94) 0%, rgba(13, 22, 40, .82) 38%, rgba(13, 22, 40, .35) 72%, rgba(13, 22, 40, .15) 100%); }
.dmf-sections .entry-content .dmf-hero .dmf-inner, .dmf-sections .entry-content .dmf-pagehead .dmf-inner { width: 100%; }
.dmf-sections .entry-content .dmf-hero__text { max-width: 640px; padding: 80px 0 96px; }
.dmf-sections .entry-content .dmf-hero h1 { color: var(--white); font-size: clamp(2.5rem, 1.5rem + 3.6vw, 4.4rem); line-height: 1.06; margin: 0 0 .45em; }
.dmf-sections .entry-content .dmf-hero h1 em, .dmf-sections .entry-content .dmf-pagehead h1 em { font-style: italic; color: var(--brass-light); }
.dmf-sections .entry-content .dmf-hero .dmf-lead { color: rgba(255, 255, 255, .86); margin-bottom: 2em; }
.dmf-sections .entry-content .dmf-trust { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 2.2em 0 0; padding: 0; list-style: none; font-size: .95rem; color: rgba(255, 255, 255, .75); }
.dmf-sections .entry-content .dmf-trust li { display: flex; align-items: center; gap: 8px; margin: 0; }
.dmf-sections .entry-content .dmf-trust li::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--brass); }
.dmf-sections .entry-content .dmf-photo-credit { position: absolute; right: 16px; bottom: 14px; margin: 0; font-size: .8rem; color: rgba(255, 255, 255, .7); background: rgba(13, 22, 40, .55); padding: 4px 12px; border-radius: 999px; }

/* Inner page title section */
.dmf-sections .entry-content .dmf-pagehead { padding: clamp(72px, 9vw, 128px) 0 clamp(56px, 7vw, 96px); }
.dmf-sections .entry-content .dmf-pagehead h1 { color: var(--white); font-size: clamp(2.3rem, 1.6rem + 2.6vw, 3.6rem); line-height: 1.08; margin: 0 0 .4em; max-width: 16ch; }
.dmf-sections .entry-content .dmf-pagehead .dmf-lead { max-width: 38rem; color: rgba(255, 255, 255, .85); margin: 0; }
.dmf-sections .entry-content .dmf-pagehead .wp-block-buttons { margin-top: 1.8em; }

/* Marques strip: the radiator emblems */
.dmf-sections .entry-content .dmf-marques-band { background: var(--white); border-bottom: 1px solid var(--line); }
.dmf-sections .entry-content .dmf-marques-band .dmf-eyebrow { justify-content: center; margin-bottom: 22px; color: var(--muted); }
.dmf-sections .entry-content .dmf-marques { display: grid !important; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 14px !important; align-items: stretch; }
.dmf-sections .entry-content .dmf-marque { margin: 0; display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; }
.dmf-sections .entry-content .dmf-marque .wp-block-image { margin: 0; height: 84px; display: flex; align-items: center; justify-content: center; }
.dmf-sections .entry-content .dmf-marque img { max-height: 84px; max-width: 100%; width: auto; object-fit: contain; mix-blend-mode: multiply; filter: saturate(.9); transition: transform .2s; }
.dmf-sections .entry-content .dmf-marque:hover img { transform: scale(1.06); }
.dmf-sections .entry-content .dmf-marque p { margin: 0; font-size: .82rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--ink); }

.dmf-sections [id] { scroll-margin-top: 110px; }

/* Two-column sections */
.dmf-sections .entry-content .dmf-split { display: grid !important; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(36px, 6vw, 88px) !important; align-items: center; }
.dmf-sections .entry-content .dmf-split--flip > :first-child { order: 2; }
.dmf-sections .entry-content .dmf-split .wp-block-image { margin: 0; }
.dmf-sections .entry-content .dmf-split .wp-block-image img { border-radius: var(--radius); box-shadow: var(--shadow-lift); width: 100%; height: auto; display: block; }
.dmf-sections .entry-content .dmf-framed img { border: 10px solid var(--white); }
.dmf-sections .entry-content .wp-block-image figcaption { font-size: .88rem; color: var(--muted); text-align: left; margin-top: .8em; }
.dmf-sections .entry-content .dmf-section--ink .wp-block-image figcaption { color: rgba(255, 255, 255, .6); }
.dmf-sections .entry-content .dmf-split p { margin-bottom: 1.1em; }
.dmf-sections .entry-content .dmf-split .wp-block-buttons { margin-top: 1.6em; }

/* Quote */
.dmf-sections .entry-content .dmf-quote { margin: 1.6em 0 !important; padding: 4px 0 4px 24px; border-left: 3px solid var(--brass); }
.dmf-sections .entry-content .dmf-quote p { font-family: var(--head); font-style: italic; font-size: clamp(1.25rem, 1.05rem + .7vw, 1.55rem); line-height: 1.45; color: var(--ink); margin: 0; }
.dmf-sections .entry-content .dmf-section--ink .dmf-quote p { color: var(--white); }

/* Cards (Inside the museum) */
.dmf-sections .entry-content .dmf-cards { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px !important; }
.dmf-sections .entry-content .dmf-card { background: var(--white); border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); display: flex; flex-direction: column; transition: transform .2s, box-shadow .2s; }
.dmf-sections .entry-content .dmf-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lift); }
.dmf-sections .entry-content .dmf-card .wp-block-image { margin: 0; }
.dmf-sections .entry-content .dmf-card .wp-block-image img { aspect-ratio: 4 / 3; object-fit: cover; object-position: var(--focus, 50% 40%); width: 100%; display: block; border-radius: 0; }
.dmf-sections .entry-content .dmf-card h3 { margin: 0; padding: 24px 26px 8px; font-size: 1.5rem; }
.dmf-sections .entry-content .dmf-card p { margin: 0; padding: 0 26px 28px; color: var(--muted); font-size: 1.02rem; line-height: 1.6; }

/* Donor levels */
.dmf-sections .entry-content .dmf-levels { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px !important; }
.dmf-sections .entry-content .dmf-level { position: relative; background: var(--white); color: var(--text); border-radius: var(--radius); padding: 26px 24px 24px; border-top: 4px solid var(--brass); box-shadow: var(--shadow); display: flex; flex-direction: column; }
.dmf-sections .entry-content .dmf-section--ink .dmf-level { background: rgba(255, 255, 255, .05); color: rgba(255, 255, 255, .8); box-shadow: none; border: 1px solid rgba(255, 255, 255, .12); border-top: 4px solid var(--brass); }
.dmf-sections .entry-content .dmf-level h3 { font-size: 1.3rem; margin: 0 0 .2em; }
.dmf-sections .entry-content .dmf-level .dmf-amount { font-family: var(--head); font-weight: 700; font-size: 1.9rem; line-height: 1.1; color: var(--red); margin: 0 0 .5em; }
.dmf-sections .entry-content .dmf-section--ink .dmf-level .dmf-amount { color: var(--brass-light); }
.dmf-sections .entry-content .dmf-amount small { font-family: var(--body); font-size: .9rem; font-weight: 400; color: var(--muted); }
.dmf-sections .entry-content .dmf-section--ink .dmf-amount small { color: rgba(255, 255, 255, .6); }
.dmf-sections .entry-content .dmf-level p:last-child { margin: 0; font-size: .98rem; line-height: 1.5; }
.dmf-sections .entry-content .dmf-level--top { background: linear-gradient(160deg, var(--ink) 0%, #1f2f55 100%); color: rgba(255, 255, 255, .85); border-top-color: var(--red); }
.dmf-sections .entry-content .dmf-level--top h3 { color: var(--white); }
.dmf-sections .entry-content .dmf-level--top .dmf-amount { color: var(--brass-light); }
.dmf-sections .entry-content .dmf-level--top .dmf-amount small { color: rgba(255, 255, 255, .6); }
.dmf-sections .entry-content .dmf-section--ink .dmf-level--top { background: var(--brass); border-color: var(--brass); color: var(--ink-deep); }
.dmf-sections .entry-content .dmf-section--ink .dmf-level--top h3, .dmf-sections .entry-content .dmf-section--ink .dmf-level--top .dmf-amount { color: var(--ink-deep); }
.dmf-sections .entry-content .dmf-section--ink .dmf-level--top .dmf-amount small { color: rgba(13, 22, 40, .7); }
.dmf-sections .entry-content .dmf-levels-cta { margin-top: clamp(36px, 5vw, 52px) !important; justify-content: center; }
.dmf-sections .entry-content .dmf-note { font-size: .95rem; color: var(--muted); }
.dmf-sections .entry-content .dmf-section--ink .dmf-note { color: rgba(255, 255, 255, .62); }

/* Timeline */
.dmf-sections .entry-content .dmf-timeline { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0; position: relative; }
.dmf-sections .entry-content .dmf-timeline::before { content: ""; position: absolute; left: 0; right: 0; top: 19px; height: 2px; background: var(--brass); opacity: .55; }
.dmf-sections .entry-content .dmf-timeline li { position: relative; margin: 0; padding: 46px 16px 0 0; font-size: .98rem; line-height: 1.45; }
.dmf-sections .entry-content .dmf-timeline li::before { content: ""; position: absolute; left: 0; top: 12px; width: 16px; height: 16px; border-radius: 50%; background: var(--cream); border: 3px solid var(--red); }
.dmf-sections .entry-content .dmf-timeline strong { display: block; font-family: var(--head); font-size: 1.7rem; font-weight: 700; color: var(--ink); line-height: 1.1; margin-bottom: .25em; }

/* Call to action band with photo */
.dmf-sections .entry-content .dmf-cta { position: relative; isolation: isolate; overflow: hidden; background: var(--ink-deep); color: rgba(255, 255, 255, .86); text-align: center; }
.dmf-sections .entry-content .dmf-cta .dmf-bg { position: absolute; inset: 0; margin: 0; z-index: -2; }
.dmf-sections .entry-content .dmf-cta .dmf-bg img { width: 100%; height: 100%; object-fit: cover; object-position: var(--focus, 50% 40%); }
.dmf-sections .entry-content .dmf-cta::after { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(13, 22, 40, .8); }
.dmf-sections .entry-content .dmf-cta h2 { color: var(--white); font-size: clamp(2.1rem, 1.4rem + 2.4vw, 3.3rem); }
.dmf-sections .entry-content .dmf-cta .dmf-lead { max-width: 40rem; margin: 0 auto 2em; }
.dmf-sections .entry-content .dmf-cta .dmf-eyebrow { justify-content: center; color: var(--brass-light); }
.dmf-sections .entry-content .dmf-cta .wp-block-buttons { justify-content: center; }

/* Prose (History page) */
.dmf-sections .entry-content .dmf-prose p { font-size: 1.12rem; line-height: 1.75; margin-bottom: 1.25em; }
.dmf-sections .entry-content .dmf-prose > p:first-of-type::first-letter { float: left; font-family: var(--head); font-weight: 700; font-size: 4.2em; line-height: .82; padding: .06em .1em 0 0; color: var(--red); }
.dmf-sections .entry-content .dmf-portrait { float: right; width: min(42%, 340px); margin: .3em 0 1.2em 2.2em !important; }
.dmf-sections .entry-content .dmf-portrait img { border-radius: var(--radius); box-shadow: var(--shadow-lift); }
.dmf-sections .entry-content .dmf-video { margin: 0; }
.dmf-sections .entry-content .dmf-video iframe { border-radius: var(--radius); box-shadow: var(--shadow-lift); }
.dmf-sections .entry-content .dmf-prose--plain > p:first-of-type::first-letter { float: none; font: inherit; color: inherit; padding: 0; }

/* Full timeline (History page): one column down a brass rule, year beside the text */
.dmf-sections .entry-content .dmf-timeline.dmf-timeline--full { display: block; max-width: 46rem; margin: 0 auto; padding: 0 0 0 30px; border-left: 2px solid var(--brass); }
.dmf-sections .entry-content .dmf-timeline.dmf-timeline--full::before { display: none; }
.dmf-sections .entry-content .dmf-timeline--full li { display: grid; grid-template-columns: 5.2rem minmax(0, 1fr); column-gap: 18px; padding: 0 0 26px; font-size: 1.05rem; line-height: 1.55; }
.dmf-sections .entry-content .dmf-timeline--full li:last-child { padding-bottom: 0; }
.dmf-sections .entry-content .dmf-timeline--full li::before { left: -40px; top: 7px; }
.dmf-sections .entry-content .dmf-timeline--full strong { grid-row: span 2; font-size: 1.55rem; margin: 0; }
.dmf-sections .entry-content .dmf-timeline__note { display: block; grid-column: 2; margin-top: .25em; font-size: .9rem; font-style: italic; color: var(--muted); }

/* Further reading (History page) */
.dmf-sections .entry-content .dmf-reading { margin: 0; padding-left: 1.2em; }
.dmf-sections .entry-content .dmf-reading li { margin-bottom: .6em; line-height: 1.55; }

/* Ways to give (Donate page) */
.dmf-sections .entry-content .dmf-give { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px !important; }
.dmf-sections .entry-content .dmf-give > .wp-block-column { background: var(--white); border-radius: var(--radius); box-shadow: var(--shadow); padding: clamp(28px, 4vw, 44px); border-top: 4px solid var(--red); }
.dmf-sections .entry-content .dmf-give h3 { font-size: 1.6rem; margin: 0 0 .5em; }
.dmf-sections .entry-content .dmf-give p { margin-bottom: 1em; }
.dmf-sections .entry-content .dmf-address { font-style: normal; font-size: 1.12rem; line-height: 1.55; background: var(--cream); border-radius: 10px; padding: 18px 22px; margin: 0 0 1em; color: var(--ink); }
.dmf-sections .entry-content .dmf-paypal form { margin: .4em 0 1em; }
.dmf-sections .entry-content .dmf-paypal input[type="image"] { max-width: 100%; height: auto; }
.dmf-sections .entry-content .dmf-check { list-style: none; margin: 0 0 1em; padding: 0; }
.dmf-sections .entry-content .dmf-check li { position: relative; padding-left: 28px; margin: 0 0 .5em; }
.dmf-sections .entry-content .dmf-check li::before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--brass); font-weight: 700; }

/* Contact page */
.dmf-sections .entry-content .dmf-contact { display: grid !important; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 64px) !important; align-items: start; }
.dmf-sections .entry-content .dmf-formcard { background: var(--white); border-radius: var(--radius); box-shadow: var(--shadow); padding: clamp(28px, 4vw, 44px); }
.dmf-sections .entry-content .dmf-formcard h2 { font-size: 1.9rem; }
.dmf-sections .entry-content .dmf-info { background: var(--ink); color: rgba(255, 255, 255, .82); border-radius: var(--radius); padding: clamp(28px, 4vw, 40px); }
.dmf-sections .entry-content .dmf-info h3 { color: var(--white); font-size: 1.15rem; margin: 0 0 .3em; font-family: var(--body); font-weight: 700; letter-spacing: .04em; }
.dmf-sections .entry-content .dmf-info p { margin: 0 0 1.4em; }
.dmf-sections .entry-content .dmf-info p:last-child { margin-bottom: 0; }
.dmf-sections .entry-content .dmf-info a { color: var(--brass-light); }
.dmf-sections .entry-content .dmf-info a:hover { color: var(--white); }

/* WPForms on the brand */
.dmf-sections .wpforms-container .wpforms-form .wpforms-field-label { font-family: var(--body); font-weight: 600; color: var(--ink); font-size: 1rem; }
.dmf-sections .wpforms-container .wpforms-form input[type="text"], .dmf-sections .wpforms-container .wpforms-form input[type="email"], .dmf-sections .wpforms-container .wpforms-form textarea {
	border: 1px solid var(--line) !important; border-radius: 10px !important; background: var(--cream) !important; color: var(--text) !important; font-family: var(--body); font-size: 1rem; padding: 12px 14px !important; max-width: 100% !important; box-shadow: none !important; height: auto;
}
.dmf-sections .wpforms-container .wpforms-form input:focus, .dmf-sections .wpforms-container .wpforms-form textarea:focus { border-color: var(--brass) !important; outline: 2px solid rgba(184, 137, 59, .25); background: var(--white) !important; }
.dmf-sections .wpforms-container .wpforms-form button[type="submit"] { background: var(--red) !important; color: var(--white) !important; border: 0 !important; border-radius: 999px !important; padding: 14px 30px !important; font-family: var(--body); font-weight: 600; font-size: 1rem; height: auto !important; }
.dmf-sections .wpforms-container .wpforms-form button[type="submit"]:hover { background: var(--red-dark) !important; }

/* ---------- Footer ---------- */
.dmf-footer-brand { display: flex; align-items: center; gap: 14px; margin-bottom: 1em; }
.dmf-footer-brand img { width: 64px; height: auto; border-radius: 8px; background: var(--white); padding: 4px; }
.dmf-footer-brand .dmf-brand { margin: 0; }
.dmf-footer-brand .dmf-brand__name { color: var(--white); }
.dmf-footer-brand .dmf-brand__sub { color: var(--brass-light); }
.site-footer .dmf-footer__head { font-family: var(--body); font-weight: 700; font-size: .8rem; letter-spacing: .16em; text-transform: uppercase; color: var(--brass-light); margin-bottom: .8em; }
.site-footer .wp-block-list { list-style: none; padding: 0; margin: 0; }
.site-footer .wp-block-list li { margin: 0 0 .45em; }
.site-footer .wp-block-buttons { margin-top: 1em; }
.site-footer-bottom-section-1 .footer-html-inner { display: flex; flex-wrap: wrap; gap: 6px 20px; }

/* ---------- Smaller screens ---------- */
@media (max-width: 1024px) {
	.dmf-sections .entry-content .dmf-marques { grid-template-columns: repeat(5, minmax(0, 1fr)); row-gap: 26px !important; }
	.dmf-sections .entry-content .dmf-levels { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dmf-sections .entry-content .dmf-timeline { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 28px; }
	.dmf-sections .entry-content .dmf-timeline::before { display: none; }
}
@media (max-width: 781px) {
	.dmf-sections .entry-content .dmf-hero { min-height: 0; }
	.dmf-sections .entry-content .dmf-hero::after, .dmf-sections .entry-content .dmf-pagehead::after { background: linear-gradient(180deg, rgba(13, 22, 40, .7) 0%, rgba(13, 22, 40, .9) 100%); }
	.dmf-sections .entry-content .dmf-hero__text { padding: 72px 0 88px; }
	.dmf-sections .entry-content .dmf-split, .dmf-sections .entry-content .dmf-cards, .dmf-sections .entry-content .dmf-give, .dmf-sections .entry-content .dmf-contact { grid-template-columns: minmax(0, 1fr); }
	.dmf-sections .entry-content .dmf-split--flip > :first-child { order: 0; }
	.dmf-sections .entry-content .dmf-marques { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px !important; }
	.dmf-sections .entry-content .dmf-marque p { font-size: .7rem; letter-spacing: .02em; }
	.dmf-sections .entry-content .dmf-marque .wp-block-image, .dmf-sections .entry-content .dmf-marque img { height: 64px; max-height: 64px; }
	.dmf-sections .entry-content .dmf-timeline { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dmf-sections .entry-content .dmf-portrait { float: none; width: 100%; max-width: 420px; margin: 0 0 1.5em !important; }
}
@media (max-width: 520px) {
	.dmf-sections .entry-content .dmf-levels { grid-template-columns: minmax(0, 1fr); }
	.dmf-sections .entry-content .dmf-timeline--full li { display: block; }
	.dmf-sections .entry-content .dmf-timeline--full strong { margin-bottom: .2em; }
	.dmf-sections .entry-content .wp-block-buttons .wp-block-button { flex: 1 1 100%; }
	.dmf-sections .entry-content .wp-block-buttons .wp-block-button__link { width: 100%; }
}

/* Lining figures for amounts and years (Playfair's default old-style figures look uneven there) */
.dmf-amount, .dmf-timeline strong, .dmf-sections h1, .dmf-sections h2, .dmf-sections h3 { font-variant-numeric: lining-nums; }
