/*
Theme Name: Judah Temple of Deliverance
Theme URI: https://floulexweb.com/
Author: Floulex Web
Description: Block theme for Judah Temple Of Deliverance Ministries, Decatur, Georgia.
Version: 1.0
Requires at least: 6.6
Text Domain: jtd
License: GPLv2 or later
*/

/*
  ARCHITECTURE: board-hero (FORMULA.md section 12). The church's name set large in Fraunces beside a
  times board framed like the crest: a doubled gold hairline, the crest on top, the times below.
  HERO VARIANT: Name plus board. Size jump in the heading: "Judah Temple" heavy, "of Deliverance" in
  crimson italic, "Ministries" in letterspaced small capitals.
  TYPE: Fraunces (display, roman + italic, OFL) over Hanken Grotesk (body, OFL). Self-hosted, latin only.

  The signature: their own sentence, "God still saves, heals, restores, and sets people free.", is the one deep
  band of the home page. The four verbs stand stacked, each set large in Fraunces italic behind a short gold
  rule taken from the crest's ribbon edge; as the band comes into view the rules draw and the verbs light in
  the crest's gold one after another, once. It comes from the story of how the church began and is the meaning
  of the name on the door: a temple of deliverance. With no script or reduced motion all four are simply lit.
  The crest itself is shown whole and untouched on the board; nothing is drawn over it.
  The hero's one motion: "of Deliverance" writes in once from left to right (CSS clip, 1.3s); static under
  reduced motion.

  PALETTE: sampled from the crest (inputs/assets/logo-367e3df7.png) and from nothing else.
    --jtd-oxblood  #4a0f12  the crest's dark red border band (sampled #4d1310), at full depth.
                            ONE band per page at most, plus the footer.
    --jtd-crimson  #9a1b22  the EST. 2012 ribbon red (sampled #b01010 / #b34232), darkened to 7.56:1 on
                            paper. Buttons, links, the accent words of the heading, the current page.
    --jtd-gold     #e3b960  the crest's gold trim (sampled #eabe67). Only on oxblood, on the ribbon, and
                            as hairlines. Never text on light grounds.
    --jtd-gold-ink #7a5514  the crest's shadowed gold (sampled #7e6034), the gold that passes as small
                            text on paper (6.15:1) and wash (5.46:1).
    --jtd-line     #cdb27a  the gold trim softened, for hairline frames.
    paper / wash / ink are warm neutrals chosen to sit under the crest, not tinted with the red.
*/

:root {
	--jtd-paper: #f8f5ef;
	--jtd-wash: #efe7da;
	--jtd-card: #fffdf8;
	--jtd-ink: #1f1716;
	--jtd-muted: #5e514b;
	--jtd-crimson: #9a1b22;
	--jtd-crimson-dk: #7d141a;
	--jtd-oxblood: #4a0f12;
	--jtd-oxblood-dk: #350a0c;
	--jtd-gold: #e3b960;
	--jtd-gold-soft: #f1d08a;
	--jtd-gold-ink: #7a5514;
	--jtd-line: #cdb27a;
	--jtd-hair: rgba(31, 23, 22, .16);
	--jtd-on-deep: #f3e7dc;
	--jtd-on-deep-muted: #d9c3b7;
	--jtd-display: Fraunces, Georgia, serif;
	--jtd-body: "Hanken Grotesk", system-ui, sans-serif;
	--jtd-pad: clamp(1.25rem, 4vw, 3rem);
	--jtd-sec: clamp(3.4rem, 6vw, 5.4rem);
}

*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; overflow-x: clip; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img { max-width: 100%; height: auto; }
a { text-underline-offset: .18em; text-decoration-thickness: 1px; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--jtd-crimson); outline-offset: 3px; }
.jtd-main { display: block; }
.jtd-main > .wp-block-post-content > * { margin-block: 0; }

/* ---------- The wrap: one left edge on every page ---------- */
.jtd-wrap { width: 100%; max-width: calc(75rem + 2 * var(--jtd-pad)); margin-inline: auto; padding-inline: var(--jtd-pad); }
.jtd-wrap > * { margin-left: 0; }
.jtd-read { max-width: 42rem; }

/* ---------- Header ---------- */
.jtd-header { position: sticky; top: 0; z-index: 50; background: var(--jtd-paper); border-bottom: 1px solid var(--jtd-line); }
.jtd-header-in { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; min-height: 100px; position: relative; }
.jtd-brand { display: flex; align-items: center; gap: .9rem; color: var(--jtd-ink); text-decoration: none; flex: 0 1 auto; min-width: 0; }
.jtd-brand-mark { width: 78px; height: auto; flex: none; display: block; }
.jtd-brand-name { font-family: var(--jtd-display); font-weight: 600; font-size: 1.2rem; line-height: 1.12; max-width: 21ch; letter-spacing: -.005em; }
.jtd-nav ul { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: .3rem; }
.jtd-nav a { display: block; padding: .55rem .8rem; color: var(--jtd-ink); text-decoration: none; font-weight: 600; font-size: 1rem; border-bottom: 2px solid transparent; }
.jtd-nav a:hover { color: var(--jtd-crimson); }
.jtd-nav a[aria-current="page"] { color: var(--jtd-crimson); border-bottom-color: var(--jtd-crimson); }
.jtd-nav a.jtd-nav-cta { background: var(--jtd-crimson); color: #fff; border: 0; padding: .7rem 1.15rem; margin-left: .6rem; }
.jtd-nav a.jtd-nav-cta:hover { background: var(--jtd-crimson-dk); color: #fff; }
.jtd-nav a.jtd-nav-cta[aria-current="page"] { background: var(--jtd-oxblood); color: #fff; box-shadow: inset 0 -3px 0 var(--jtd-gold); }

.jtd-menu { display: none; }
.jtd-menu summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: .55rem; padding: .7rem .9rem; border: 1px solid var(--jtd-ink); font-weight: 700; font-size: 1rem; }
.jtd-menu summary::-webkit-details-marker { display: none; }
.jtd-menu-bars { width: 18px; height: 12px; border-top: 2px solid currentColor; border-bottom: 2px solid currentColor; position: relative; }
.jtd-menu-bars::after { content: ""; position: absolute; left: 0; right: 0; top: 3px; border-top: 2px solid currentColor; }
.jtd-menu[open] summary { background: var(--jtd-ink); color: var(--jtd-paper); }
.jtd-menu-panel { position: absolute; left: 0; right: 0; top: 100%; background: var(--jtd-paper); border-bottom: 3px solid var(--jtd-crimson); box-shadow: 0 18px 30px rgba(31, 23, 22, .14); padding: .5rem var(--jtd-pad) 1.5rem; }
.jtd-menu-panel ul { list-style: none; margin: 0; padding: 0; }
.jtd-menu-panel li { border-bottom: 1px solid var(--jtd-hair); }
.jtd-menu-panel a { display: block; padding: 1rem 0; color: var(--jtd-ink); text-decoration: none; font-family: var(--jtd-display); font-size: 1.45rem; font-weight: 600; }
.jtd-menu-panel a[aria-current="page"] { color: var(--jtd-crimson); }
.jtd-menu-panel li:last-child { border: 0; padding-top: 1rem; }
.jtd-menu-panel a.jtd-nav-cta { background: var(--jtd-crimson); color: #fff; text-align: center; font-family: var(--jtd-body); font-size: 1.1rem; padding: 1rem; }

@media (max-width: 1040px) {
	.jtd-nav { display: none; }
	.jtd-menu { display: block; }
	.jtd-header-in { min-height: 76px; }
	.jtd-brand-mark { width: 58px; }
	.jtd-brand-name { font-size: 1.04rem; }
}
@media (max-width: 400px) {
	.jtd-brand-mark { width: 54px; }
	.jtd-brand-name { font-size: .95rem; max-width: 13ch; }
	.jtd-menu-label { display: none; }
}

/* ---------- Sections ---------- */
.jtd-sec { padding-block: var(--jtd-sec); background: var(--jtd-paper); }
.jtd-sec-tight { padding-top: 0; }
.jtd-wash { background: var(--jtd-wash); }
.jtd-deep { background: var(--jtd-oxblood); color: var(--jtd-on-deep); }
.jtd-deep a { color: var(--jtd-gold-soft); }

.jtd-eyebrow { font-family: var(--jtd-body); font-size: .84rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--jtd-gold-ink); margin: 0 0 1rem; display: flex; align-items: center; gap: .7rem; }
.jtd-eyebrow::before { content: ""; width: 1.8rem; height: 1px; background: currentColor; flex: none; }
.jtd-deep .jtd-eyebrow { color: var(--jtd-gold); }

.jtd-h2 { font-size: var(--wp--preset--font-size--display-2); font-weight: 600; letter-spacing: -.012em; margin: 0 0 1.1rem; max-width: 22ch; }
.jtd-h2 em { font-style: italic; color: var(--jtd-crimson); font-weight: 500; }
.jtd-deep .jtd-h2 { color: #fff; }
.jtd-deep .jtd-h2 em { color: var(--jtd-gold); }
.jtd-h3 { font-size: 1.45rem; font-weight: 600; margin: 0 0 .5rem; }
.jtd-lede { font-size: var(--wp--preset--font-size--lede); line-height: 1.5; color: var(--jtd-ink); max-width: 36rem; }
.jtd-muted { color: var(--jtd-muted); }
.jtd-deep .jtd-muted { color: var(--jtd-on-deep-muted); }
.jtd-head-row { display: flex; justify-content: space-between; align-items: end; gap: 2rem; margin-bottom: 2.4rem; border-bottom: 1px solid var(--jtd-ink); padding-bottom: 1.2rem; }
.jtd-head-row .jtd-h2 { margin: 0; }
.jtd-head-row p { margin: 0; }

/* Buttons and links */
.jtd-btn, .jtd-actions .wp-block-button__link { display: inline-block; background: var(--jtd-crimson); color: #fff; padding: .95rem 1.5rem; font-weight: 700; font-size: 1.02rem; text-decoration: none; border: 2px solid var(--jtd-crimson); border-radius: 0; line-height: 1.2; cursor: pointer; font-family: var(--jtd-body); transition: background .2s, border-color .2s; }
.jtd-btn:hover, .jtd-actions .wp-block-button__link:hover { background: var(--jtd-crimson-dk); border-color: var(--jtd-crimson-dk); color: #fff; }
.jtd-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2rem; }
.jtd-actions .jtd-ghost .wp-block-button__link { background: transparent; color: var(--jtd-ink); border-color: var(--jtd-ink); }
.jtd-actions .jtd-ghost .wp-block-button__link:hover { background: var(--jtd-ink); color: var(--jtd-paper); }
.jtd-more { font-weight: 700; margin: 1.6rem 0 0; }
.jtd-more a { color: var(--jtd-crimson); }
.jtd-deep .jtd-more a { color: var(--jtd-gold-soft); }

/* ---------- Hero: the name beside the board ---------- */
.jtd-hero { padding-block: clamp(3rem, 6vw, 5rem) clamp(3.5rem, 7vw, 5.5rem); background: var(--jtd-paper); }
.jtd-hero-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, .95fr); gap: clamp(2.5rem, 5vw, 5rem); align-items: center; }
.jtd-name { margin: 0; font-family: var(--jtd-display); line-height: .98; letter-spacing: -.02em; font-weight: 700; }
.jtd-name-a { display: block; font-size: clamp(3.1rem, 1.4rem + 5.6vw, 6.4rem); font-variation-settings: "opsz" 144, "SOFT" 0; }
.jtd-name-b { display: block; font-size: clamp(2.6rem, 1.2rem + 4.6vw, 5.3rem); font-style: italic; font-weight: 500; color: var(--jtd-crimson); margin-top: .06em; }
.jtd-name-c { display: block; font-family: var(--jtd-body); font-size: clamp(.95rem, .8rem + .5vw, 1.2rem); font-weight: 700; letter-spacing: .32em; text-transform: uppercase; color: var(--jtd-gold-ink); margin-top: 1.1rem; }
.jtd-hero .jtd-lede { margin: 1.8rem 0 0; }

/* The board, framed like the crest: a doubled gold hairline */
.jtd-board { background: var(--jtd-card); border: 1px solid var(--jtd-line); box-shadow: inset 0 0 0 7px var(--jtd-card), inset 0 0 0 8px var(--jtd-line); padding: 2.2rem 2.2rem 1.9rem; position: relative; }
.jtd-board > * { margin-block: 0; }
.jtd-board .jtd-crest { margin: 0 auto; width: 150px; }
.jtd-board .jtd-crest img { display: block; width: 150px; height: auto; image-rendering: auto; }
.jtd-board-title { font-family: var(--jtd-display); font-size: 1.5rem; font-weight: 600; text-align: center; margin: 1.4rem 0 .9rem !important; }
.jtd-times { list-style: none; margin: 0; padding: 0; }
.jtd-times li { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: .2rem 1rem; padding: 1rem 0; border-bottom: 1px solid var(--jtd-hair); }
.jtd-times li:first-child { border-top: 1px solid var(--jtd-hair); }
.jtd-times-day { font-weight: 700; font-size: .84rem; letter-spacing: .12em; text-transform: uppercase; color: var(--jtd-gold-ink); grid-column: 1; }
.jtd-times-what { font-family: var(--jtd-display); font-size: 1.3rem; font-weight: 600; grid-column: 1; }
.jtd-times-time { font-family: var(--jtd-display); font-size: 2.1rem; font-weight: 600; color: var(--jtd-crimson); grid-column: 2; grid-row: 1 / span 2; align-self: center; font-variant-numeric: lining-nums; white-space: nowrap; }
.jtd-board-addr { text-align: center; margin-top: 1.2rem !important; font-size: 1rem; line-height: 1.5; }
.jtd-board-addr a { font-weight: 700; }

/* ---------- First visit facts ---------- */
.jtd-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; }
.jtd-facts > div { padding: 0 1.6rem 0 0; margin-right: 1.6rem; border-right: 1px solid var(--jtd-hair); }
.jtd-facts > div:last-child { border-right: 0; margin-right: 0; }
.jtd-facts h3 { font-family: var(--jtd-display); font-size: 1.35rem; font-weight: 600; margin: 0 0 .5rem; }
.jtd-facts p { margin: 0; color: var(--jtd-ink); }

/* ---------- Split rows (photo + words) ---------- */
.jtd-split { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2.5rem, 6vw, 6rem); align-items: center; }
.jtd-split-flip { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
.jtd-split-flip > .jtd-split-media { order: 2; }
.jtd-split-media { margin: 0; }
.jtd-split-text > *:first-child { margin-top: 0; }
.jtd-split-text > *:last-child { margin-bottom: 0; }
.jtd-photo { margin: 0; }
.jtd-photo img { display: block; width: 100%; height: auto; }
.jtd-photo-tall img { aspect-ratio: 4 / 5; object-fit: cover; }
.jtd-deep .jtd-photo img { outline: 1px solid var(--jtd-gold); outline-offset: 10px; }
.jtd-photo figcaption { font-size: .9rem; color: var(--jtd-muted); margin-top: .8rem; }
.jtd-deep .jtd-photo figcaption { color: var(--jtd-on-deep-muted); margin-top: 1.4rem; }

.jtd-quote { margin: 1.6rem 0; padding: 0; border: 0; }
.jtd-quote p { font-family: var(--jtd-display); font-style: italic; font-weight: 500; font-size: clamp(1.6rem, 1.1rem + 1.6vw, 2.35rem); line-height: 1.22; margin: 0; color: var(--jtd-crimson); }
.jtd-deep .jtd-quote p { color: var(--jtd-gold); }
.jtd-quote cite { display: block; font-style: normal; font-size: .9rem; margin-top: .9rem; color: var(--jtd-muted); }
.jtd-deep .jtd-quote cite { color: var(--jtd-on-deep-muted); }

/* ---------- Leader ---------- */
.jtd-leader-name { max-width: 16ch; font-size: clamp(2.2rem, 1.5rem + 2.4vw, 3.4rem); font-weight: 600; letter-spacing: -.015em; margin: 0 0 .5rem; line-height: 1.04; }
.jtd-leader-role { font-weight: 700; color: var(--jtd-crimson); margin: 0 0 1.4rem; }

/* ---------- The week as a ledger ---------- */
.jtd-ledger { list-style: none; margin: 0; padding: 0; }
.jtd-ledger li { display: grid; grid-template-columns: 15.5rem minmax(0, 1fr) minmax(0, 1.1fr); gap: 1.5rem; padding: 1.35rem 0; border-bottom: 1px solid var(--jtd-hair); align-items: baseline; }
.jtd-ledger-when { font-weight: 700; font-size: .9rem; letter-spacing: .1em; text-transform: uppercase; color: var(--jtd-gold-ink); }
.jtd-ledger-what { font-family: var(--jtd-display); font-size: 1.55rem; font-weight: 600; line-height: 1.15; }
.jtd-ledger-note { color: var(--jtd-muted); }

/* ---------- Find us ---------- */
.jtd-find { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2.5rem, 5vw, 5rem); align-items: start; }
.jtd-addr { font-family: var(--jtd-display); font-size: clamp(1.7rem, 1.2rem + 1.4vw, 2.3rem); font-weight: 600; line-height: 1.15; margin: 0 0 1.2rem; }
.jtd-map { margin: 0; }
.jtd-map figcaption, .jtd-map p { font-size: .92rem; color: var(--jtd-muted); margin: .7rem 0 0; }

/* ---------- Inner pages ---------- */
.jtd-opener { padding-block: clamp(3.5rem, 7vw, 6rem) clamp(2.5rem, 5vw, 4rem); background: var(--jtd-paper); border-bottom: 1px solid var(--jtd-hair); }
.jtd-page-title { font-size: var(--wp--preset--font-size--display-1); font-weight: 600; letter-spacing: -.02em; margin: 0 0 1.2rem; line-height: 1.02; max-width: 18ch; }
.jtd-page-title em { color: var(--jtd-crimson); font-weight: 500; }
.jtd-opener .jtd-lede { margin: 0; }
.jtd-back { margin: 0 0 1.4rem; font-weight: 700; font-size: .95rem; }
.jtd-back a { color: var(--jtd-gold-ink); text-decoration: none; }
.jtd-back a:hover { text-decoration: underline; }
.jtd-post-date { color: var(--jtd-muted); }

.jtd-prose { font-size: 1.125rem; }
.jtd-prose > * { margin-block: 0 1.15rem; }
.jtd-prose h2 { font-size: 1.9rem; margin: 2.6rem 0 .9rem; }
.jtd-prose h3 { font-size: 1.4rem; margin: 2rem 0 .6rem; }
.jtd-prose ul { padding-left: 1.2rem; }
.jtd-prose li { margin-bottom: .45rem; }
.jtd-prose figure { margin: 2rem 0; }

/* Hub rows: short sections, each with a Read more */
.jtd-hub { border-top: 1px solid var(--jtd-ink); }
.jtd-hub-row { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 1rem 3rem; padding: 2.2rem 0; border-bottom: 1px solid var(--jtd-hair); }
.jtd-hub-row > * { margin: 0; }
.jtd-hub-row .jtd-h3 { font-size: 1.8rem; }
.jtd-hub-row .jtd-more { margin-top: .9rem; }

/* Beliefs, in their own words */
.jtd-belief { border-left: 3px solid var(--jtd-crimson); padding: .2rem 0 .2rem 1.6rem; margin: 0 0 2rem; }
.jtd-belief p { font-family: var(--jtd-display); font-size: clamp(1.25rem, 1rem + .8vw, 1.6rem); line-height: 1.4; margin: 0; }

/* Plates in a column */
.jtd-plate img { border: 0; }

/* Ministries */
.jtd-min { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.jtd-min-flip { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
.jtd-min-flip > .jtd-photo { order: -1; }
.jtd-min > div > *:first-child { margin-top: 0; }

/* Give */
.jtd-ways { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--jtd-ink); }
.jtd-ways > div { padding: 1.8rem 1.8rem 1.8rem 0; border-right: 1px solid var(--jtd-hair); margin-right: 1.8rem; }
.jtd-ways > div:last-child { border: 0; margin: 0; }
.jtd-ways h3 { font-family: var(--jtd-display); font-size: 1.5rem; margin: 0 0 .6rem; }
.jtd-ways p { margin: 0; }

/* Contact */
.jtd-contact { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(2.5rem, 6vw, 6rem); align-items: start; }
.jtd-aside > * { margin-top: 0; }
.jtd-aside h2 { font-size: 1.35rem; margin: 0 0 .4rem; }
.jtd-aside p { margin: 0 0 1.6rem; }
.jtd-form { max-width: 38rem; }
.jtd-field { margin: 0 0 1.3rem; }
.jtd-field label { display: block; font-weight: 700; margin-bottom: .45rem; }
.jtd-field input, .jtd-field textarea { width: 100%; font: inherit; font-size: 1.05rem; padding: .85rem 1rem; border: 1px solid #8c7d72; background: var(--jtd-card); color: var(--jtd-ink); border-radius: 0; }
.jtd-field input:focus, .jtd-field textarea:focus { outline: 3px solid var(--jtd-crimson); outline-offset: 1px; border-color: var(--jtd-crimson); }
.jtd-form-note { background: var(--jtd-wash); border-left: 3px solid var(--jtd-crimson); padding: 1rem 1.2rem; font-weight: 600; }
.jtd-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.jtd-gap { border: 1px dashed var(--jtd-line); padding: 1.2rem 1.4rem; color: var(--jtd-muted); background: var(--jtd-card); }

/* ---------- Footer ---------- */
.jtd-footer { background: var(--jtd-oxblood); color: var(--jtd-on-deep); padding: clamp(3.5rem, 6vw, 5rem) 0 2rem; border-top: 4px solid var(--jtd-gold); }
.jtd-footer p { margin: 0 0 1rem; }
.jtd-footer a { color: var(--jtd-on-deep); }
.jtd-footer a:hover { color: #fff; }
.jtd-foot-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.3fr); gap: 2.5rem; }
.jtd-foot-name { font-family: var(--jtd-display); font-size: 1.7rem; font-weight: 600; line-height: 1.1; color: #fff; max-width: 14ch; }
.jtd-foot-id p:not(.jtd-foot-name) { color: var(--jtd-on-deep-muted); max-width: 26rem; }
.jtd-foot-h { font-family: var(--jtd-body); font-size: .82rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--jtd-gold); margin: .4rem 0 1rem; }
.jtd-foot-pages { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 1.5rem; }
.jtd-foot-pages li { margin: 0 0 .55rem; break-inside: avoid; }
.jtd-foot-pages a { text-decoration: none; }
.jtd-foot-pages a:hover { text-decoration: underline; }
.jtd-legal { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; border-top: 1px solid rgba(243, 231, 220, .22); margin-top: 3rem; padding-top: 1.4rem; font-size: .92rem; color: var(--jtd-on-deep-muted); }
.jtd-legal p { margin: 0; }

/* Floulex credits */
.fx-credit { margin: 0; color: var(--jtd-on-deep-muted); }
.fx-credit a { color: var(--jtd-on-deep-muted); }
.fx-credit-about { max-width: calc(75rem + 2 * var(--jtd-pad)); margin: 0 auto; padding: 1.6rem var(--jtd-pad) 2.4rem; font-size: .95rem; color: var(--jtd-muted); }
.fx-credit-about a { color: var(--jtd-muted); }

/* ---------- One reveal, scoped to a class only script sets ---------- */
@media (prefers-reduced-motion: no-preference) {
	.js .jtd-rev { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s ease; }
	.js .jtd-rev.is-in { opacity: 1; transform: none; }
}

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
	.jtd-foot-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
	.jtd-hero-grid, .jtd-split, .jtd-split-flip, .jtd-find, .jtd-min, .jtd-min-flip, .jtd-contact, .jtd-hub-row { grid-template-columns: minmax(0, 1fr); }
	.jtd-split-flip > .jtd-split-media { order: 0; }
	.jtd-min > .jtd-photo, .jtd-min-flip > .jtd-photo { order: -1; }
	.jtd-board { max-width: 30rem; }
	.jtd-ledger li { grid-template-columns: minmax(0, 1fr); gap: .3rem; }
	.jtd-ways { grid-template-columns: minmax(0, 1fr); }
	.jtd-ways > div { border-right: 0; margin-right: 0; border-bottom: 1px solid var(--jtd-hair); padding-right: 0; }
	.jtd-head-row { flex-direction: column; align-items: stretch; gap: .8rem; }
	.jtd-photo-tall img { aspect-ratio: 4 / 4.2; }
}
@media (max-width: 620px) {
	:root { --jtd-sec: 3.6rem; }
	.jtd-facts { grid-template-columns: minmax(0, 1fr); }
	.jtd-facts > div { border-right: 0; margin-right: 0; padding: 0 0 1.4rem; border-bottom: 1px solid var(--jtd-hair); }
	.jtd-facts > div:last-child { border-bottom: 0; padding-bottom: 0; }
	.jtd-board { padding: 1.8rem 1.3rem 1.5rem; }
	.jtd-times-time { font-size: 1.75rem; }
	.jtd-foot-grid { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
	.jtd-actions .wp-block-button { width: 100%; }
	.jtd-photo-tall img { aspect-ratio: 1 / 1; object-position: 50% 20%; }
	.jtd-hero { padding-top: 2.2rem; }
	.jtd-head-row { margin-bottom: 1.6rem; }
	.jtd-actions .wp-block-button__link { width: 100%; text-align: center; }
}

/* Small named parts (wrappers the editor sees) */
.jtd-hero-text > *:first-child { margin-top: 0; }
.jtd-find-text > *:first-child, .jtd-min-text > *:first-child, .jtd-contact-form > *:first-child { margin-top: 0; }
.jtd-find-text .jtd-plate { margin-top: 2rem; }
.jtd-hub-body > * { margin-top: 0; }
.jtd-h2s { font-size: 1.9rem; }
.jtd-aside-h { font-family: var(--jtd-body); font-size: .84rem !important; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--jtd-gold-ink); }
.jtd-aside { border-top: 3px solid var(--jtd-crimson); padding-top: 1.6rem; }
.jtd-foot-col > *:first-child { margin-top: .4rem; }
@media (max-width: 620px) {
	:root { --jtd-sec: 2.9rem; }
	.jtd-footer { padding-top: 3rem; }
	.jtd-foot-grid { gap: 1.6rem; }
	.jtd-facts > div { padding-bottom: 1.1rem; }
	.jtd-facts { row-gap: 1.1rem; }
}
.jtd-wrap > .jtd-h2 { margin-bottom: 2.2rem; }
.jtd-post .jtd-prose .wp-block-image { max-width: 30rem; }

/* ---------- Hero motion: "of Deliverance" writes in once ---------- */
.jtd-write { display: inline-block; padding: 0 .12em .14em 0; margin-bottom: -.14em; }
@media (prefers-reduced-motion: no-preference) {
	.jtd-write { animation: jtd-write 1.3s cubic-bezier(.45, .05, .25, 1) .25s both; }
}
@keyframes jtd-write { from { clip-path: inset(-.3em 100% -.3em 0); } to { clip-path: inset(-.3em -.3em -.3em 0); } }

/* ---------- Pastor on the home page ---------- */
.jtd-leader-title { font-variant: small-caps; text-transform: lowercase; letter-spacing: .1em; font-weight: 700; font-size: 1.2rem; color: var(--jtd-crimson); margin: 0 0 1.3rem; }
.jtd-book { border-left: 2px solid var(--jtd-line); padding: .1rem 0 .1rem 1.2rem; margin: 1.4rem 0 0; }
.jtd-book > p { margin: 0; }
.jtd-book-label { font-size: .82rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--jtd-gold-ink); margin-bottom: .3rem !important; }

/* ---------- Ministries row on the home page ---------- */
.jtd-mins-row { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2.5rem, 6vw, 6rem); align-items: center; }
.jtd-mins-intro > *:first-child { margin-top: 0; }
.jtd-mins-names { list-style: none; margin: 0; padding: 0; }
.jtd-mins-names li { border-top: 2px solid var(--jtd-line); padding: 1.3rem 0 1.5rem; }
.jtd-mins-names li:last-child { border-bottom: 2px solid var(--jtd-line); }
.jtd-mins-name { display: block; font-family: var(--jtd-display); font-size: clamp(2rem, 1.3rem + 2.4vw, 3.4rem); font-weight: 600; line-height: 1.05; letter-spacing: -.015em; }

/* ---------- Typographic ministry cards ---------- */
.jtd-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; }
.jtd-card { background: var(--jtd-card); border: 1px solid var(--jtd-line); padding: 2.2rem 2.2rem 2rem; }
.jtd-card-name { font-family: var(--jtd-display); font-size: clamp(1.9rem, 1.4rem + 1.4vw, 2.6rem); font-weight: 600; line-height: 1.08; margin: 0 0 1.2rem; padding-bottom: 1.2rem; border-bottom: 2px solid var(--jtd-gold); }
.jtd-card p { margin: 0 0 1rem; }
.jtd-card-link { margin: 0 !important; font-weight: 700; }
.jtd-card-link a { color: var(--jtd-crimson); }

@media (max-width: 900px) {
	.jtd-mins-row, .jtd-cards { grid-template-columns: minmax(0, 1fr); }
	.jtd-map-frame { aspect-ratio: 4 / 3; }
	.jtd-facts { grid-template-columns: minmax(0, 1fr); }
	.jtd-facts > div { border-right: 0; margin-right: 0; padding: 0 0 1.1rem; border-bottom: 1px solid var(--jtd-hair); }
	.jtd-facts > div:last-child { border-bottom: 0; padding-bottom: 0; }
}
.jtd-verbs-sec .jtd-eyebrow { margin-bottom: 1.4rem; }

/* ---------- The signature band: four stacked verbs ---------- */
.jtd-verbs-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(2.5rem, 6vw, 6rem); align-items: center; }
.jtd-verbs-text > *:first-child { margin-top: 0; }
.jtd-verbs { font-family: var(--jtd-display); font-weight: 600; color: #fff; margin: 0 0 1.8rem; line-height: 1; }
.jtd-verbs-lead { display: block; font-size: clamp(1.5rem, 1.1rem + 1.2vw, 2.1rem); color: var(--jtd-on-deep); margin-bottom: 1rem; }
.jtd-verb { display: flex; align-items: center; gap: 1.1rem; font-style: italic; font-weight: 500; font-size: clamp(2.3rem, 1.3rem + 3.2vw, 4.2rem); line-height: 1.12; letter-spacing: -.015em; color: var(--jtd-gold); }
.jtd-verb::before { content: ""; flex: none; width: clamp(1.6rem, 1rem + 2vw, 3rem); height: 3px; background: var(--jtd-gold); transform-origin: left center; }
@media (prefers-reduced-motion: no-preference) {
	.js .jtd-rev .jtd-verb { transition: color .6s ease; }
	.js .jtd-rev .jtd-verb::before { transition: transform .6s ease; }
	.js .jtd-rev:not(.is-in) .jtd-verb { color: var(--jtd-on-deep-muted); }
	.js .jtd-rev:not(.is-in) .jtd-verb::before { transform: scaleX(0); }
	.js .jtd-rev .jtd-verb:nth-child(3), .js .jtd-rev .jtd-verb:nth-child(3)::before { transition-delay: .4s; }
	.js .jtd-rev .jtd-verb:nth-child(4), .js .jtd-rev .jtd-verb:nth-child(4)::before { transition-delay: .8s; }
	.js .jtd-rev .jtd-verb:nth-child(5), .js .jtd-rev .jtd-verb:nth-child(5)::before { transition-delay: 1.2s; }
}
.jtd-verbs-cite { color: var(--jtd-on-deep-muted); font-size: 1rem; line-height: 1.6; margin: 0; max-width: 34rem; padding-top: 1.2rem; border-top: 1px solid rgba(227, 185, 96, .5); }
.jtd-verbs-photo img { aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 45%; }
.jtd-verbs-sec .jtd-eyebrow { margin-bottom: 1.4rem; }

/* ---------- Pastor and the faith line on the home page ---------- */
.jtd-pastor { align-items: center; }
.jtd-pastor .jtd-photo img { max-height: 560px; width: 100%; object-fit: cover; object-position: 50% 0; }
.jtd-faith { margin: clamp(3rem, 5vw, 4.5rem) 0 0; padding: 2rem 0 0; border-top: 1px solid var(--jtd-line); display: grid; grid-template-columns: minmax(0, 9fr) minmax(0, 3fr); gap: 1rem 3rem; align-items: end; }
.jtd-faith p { margin: 0; font-family: var(--jtd-display); font-style: italic; font-weight: 500; font-size: clamp(1.4rem, 1.1rem + 1vw, 1.95rem); line-height: 1.3; color: var(--jtd-crimson); }
.jtd-faith cite { font-style: normal; font-size: .95rem; color: var(--jtd-muted); }
.jtd-faith cite a { color: var(--jtd-crimson); font-weight: 700; display: inline-block; margin-top: .3rem; }

/* ---------- Through the week (home) ---------- */
.jtd-mins-row .jtd-ledger { border-top: 1px solid var(--jtd-ink); }
.jtd-mins-row .jtd-ledger li { grid-template-columns: 12rem minmax(0, 1fr); gap: .2rem 1.5rem; }
.jtd-mins-row .jtd-ledger-note { grid-column: 2; }

/* ---------- Page openers carry something real on the right ---------- */
.jtd-opener-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(2.5rem, 6vw, 6rem); align-items: center; }
.jtd-opener-side > * { margin-top: 0; }
.jtd-crest-card { background: var(--jtd-card); border: 1px solid var(--jtd-line); box-shadow: inset 0 0 0 7px var(--jtd-card), inset 0 0 0 8px var(--jtd-line); padding: 2.2rem 2rem 1.8rem; text-align: center; max-width: 24rem; margin-left: auto; }
.jtd-crest-card .jtd-crest { width: 170px; margin: 0 auto; }
.jtd-crest-card .jtd-crest img { width: 170px; height: auto; display: block; }
.jtd-crest-line { margin: 1.1rem 0 0; font-family: var(--jtd-display); font-weight: 600; font-size: 1.15rem; line-height: 1.3; }
.jtd-opener-photo { max-width: 24rem; margin-left: auto !important; }
.jtd-opener-photo img { aspect-ratio: 9 / 10; object-fit: cover; object-position: 50% 0; }
.jtd-board-small { padding: 1.8rem 1.9rem 1.6rem; max-width: 26rem; margin-left: auto; }
.jtd-board-small .jtd-board-title { margin-top: 0 !important; }
.jtd-board-small .jtd-times-time { font-size: 1.8rem; }

/* ---------- Ministries page: one card, two names, two photo slots ---------- */
.jtd-pair-card { background: var(--jtd-card); border: 1px solid var(--jtd-line); padding: clamp(1.8rem, 4vw, 3rem); }
.jtd-pair-card > *:first-child { margin-top: 0; }
.jtd-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.5rem, 4vw, 3rem); margin: 1.4rem 0 1.8rem; }
.jtd-pair-item > * { margin: 0; }
.jtd-pair-name { font-family: var(--jtd-display); font-size: clamp(1.7rem, 1.3rem + 1.3vw, 2.4rem); font-weight: 600; line-height: 1.08; margin: 1.2rem 0 0 !important; padding-top: 1rem; border-top: 2px solid var(--jtd-gold); }
.jtd-pair-line { font-size: 1.15rem; max-width: 40rem; margin: 0; }

/* ---------- Give card ---------- */
.jtd-give-card { background: var(--jtd-oxblood); color: var(--jtd-on-deep); padding: 2rem 2.2rem; max-width: 24rem; margin-left: auto; border-top: 4px solid var(--jtd-gold); }
.jtd-give-card > * { margin: 0; }
.jtd-give-label { font-size: .84rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--jtd-gold); margin-bottom: .8rem !important; }
.jtd-give-list { list-style: none; padding: 0; margin: 0 0 1rem !important; }
.jtd-give-list li { font-family: var(--jtd-display); font-size: 1.7rem; font-weight: 600; color: #fff; padding: .45rem 0; border-bottom: 1px solid rgba(243, 231, 220, .2); }
.jtd-give-note { color: var(--jtd-on-deep-muted); font-size: .98rem; }

/* ---------- The map: a static map of the address sits behind the live embed ---------- */
/* jtd-map-glenwood.jpg is OpenStreetMap at zoom 16, centered on the Google pin (33.73700, -84.23560). */
.jtd-map-frame { position: relative; display: block; aspect-ratio: 16 / 10; border: 1px solid var(--jtd-line); overflow: hidden; background: #e9e6e1 url("assets/img/jtd-map-glenwood.jpg") center / cover no-repeat; }
.jtd-map-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: transparent; }
.jtd-map figcaption { margin-top: .9rem; }
.jtd-map-open { font-weight: 700; color: var(--jtd-crimson); font-size: 1rem; }

/* Footer crest on a light tile */
.jtd-foot-crest { display: inline-block; background: var(--jtd-paper); padding: .7rem; margin: 0 0 1.2rem; border: 1px solid var(--jtd-gold); }
.jtd-foot-crest img { display: block; width: 84px; height: auto; }

@media (max-width: 900px) {
	.jtd-verbs-grid, .jtd-opener-grid, .jtd-pair, .jtd-faith { grid-template-columns: minmax(0, 1fr); }
	.jtd-crest-card, .jtd-opener-photo, .jtd-board-small, .jtd-give-card { margin-left: 0 !important; }
	.jtd-verbs-photo img { aspect-ratio: 4 / 3; }
	.jtd-map-frame { aspect-ratio: 4 / 3; }
	.jtd-mins-row .jtd-ledger li { grid-template-columns: minmax(0, 1fr); }
	.jtd-mins-row .jtd-ledger-note { grid-column: 1; }
}
@media (max-width: 620px) {
	.jtd-crest-card { padding: 1.6rem 1.2rem; }
	.jtd-crest-card .jtd-crest, .jtd-crest-card .jtd-crest img { width: 130px; }
	.jtd-opener-photo img { aspect-ratio: 1 / 1; }
}

@media (max-width: 620px) {
	.jtd-faith { margin-top: 2.4rem; padding-top: 1.5rem; }
	.jtd-verb { font-size: 2.2rem; }
	.jtd-verbs-photo img { aspect-ratio: 3 / 2; }
	.jtd-pastor .jtd-photo img { aspect-ratio: 1 / 1; max-height: none; }
	.jtd-hero { padding-bottom: 2.9rem; }
}
@media (max-width: 620px) {
	.jtd-board .jtd-crest, .jtd-board .jtd-crest img { width: 118px; }
	.jtd-board-title { margin-top: 1rem !important; }
	.jtd-foot-crest img { width: 64px; }
	.jtd-footer { padding-top: 2.6rem; }
	.jtd-legal { margin-top: 2rem; }
}
