:root {
  --paper: #f4f1e9;
  --paper-bright: #fbfaf6;
  --ink: #1a1a17;
  --muted: #6b6a61;
  --olive: #202419;
  --olive-soft: #3a3d2e;
  --gold: #bd9660;
  --line: rgba(26, 26, 23, 0.14);
  --serif: Georgia, "Times New Roman", serif;
  --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --wrap: min(1180px, calc(100vw - 48px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
  overflow-x: clip;
}
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, input { font: inherit; }
::selection { background: #d8c49f; color: var(--ink); }

.sr-only {
  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;
  z-index: 200;
  top: 12px;
  left: 12px;
  transform: translateY(-160%);
  background: #fff;
  color: #111;
  padding: 10px 16px;
  border-radius: 3px;
}
.skip-link:focus { transform: translateY(0); }
.wrap { width: var(--wrap); margin-inline: auto; }
.section { padding: 112px 0; }
.section-rule .wrap { border-top: 1px solid var(--line); padding-top: 104px; }

h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: var(--serif); font-weight: 400; line-height: 1.02; letter-spacing: -0.035em; }
.hero h1, .about-hero-copy h1, .music-page-hero-copy h1, .song-hero h1, .album-hero h1, .journal-hero-copy h1 { line-height: .92; }
h2 { margin-bottom: 24px; font-size: clamp(3rem, 5vw, 5.25rem); }
h3 { font-size: clamp(1.55rem, 2.3vw, 2.1rem); }
.eyebrow {
  margin-bottom: 18px;
  color: #9a7444;
  font-size: 0.69rem;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}
.eyebrow-light { color: #d0b281; }
.lead { font-family: var(--serif); font-size: clamp(1.35rem, 2vw, 1.75rem); line-height: 1.45; }

.site-header {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  display: grid;
  grid-template-columns: 190px 1fr 190px;
  align-items: center;
  width: 100%;
  padding: 24px max(24px, calc((100vw - 1340px) / 2));
  color: white;
  transition: color 250ms ease, background 250ms ease, padding 250ms ease, box-shadow 250ms ease;
}
.site-header.is-scrolled {
  padding-top: 14px;
  padding-bottom: 14px;
  background: rgba(247, 245, 239, 0.95);
  color: var(--ink);
  box-shadow: 0 1px 0 var(--line);
  backdrop-filter: blur(16px);
}
.brand-lockup { display: inline-block; width: 76px; text-decoration: none; }
.brand-lockup img { width: 100%; height: auto; transition: filter 250ms ease; }
.brand-lockup-header img { filter: brightness(0) invert(1); }
.site-header.is-scrolled .brand-lockup-header img,
.about-header .brand-lockup-header img,
.music-header .brand-lockup-header img,
.song-header .brand-lockup-header img,
.album-header .brand-lockup-header img,
.journal-header .brand-lockup-header img,
.press-header .brand-lockup-header img { filter: none; }
.site-nav { display: flex; justify-content: center; gap: clamp(20px, 2.4vw, 42px); }
.site-nav a { position: relative; font-size: 0.75rem; text-decoration: none; }
.site-nav a::after { content: ""; position: absolute; right: 0; bottom: -7px; left: 0; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform 200ms ease; }
.site-nav a:hover::after, .site-nav a:focus-visible::after { transform: scaleX(1); transform-origin: left; }
.header-listen { justify-self: end; padding: 10px 18px; border: 1px solid currentColor; border-radius: 999px; font-size: 0.66rem; font-weight: 700; letter-spacing: 0.15em; text-decoration: none; text-transform: uppercase; }
.menu-toggle { display: none; }

.hero { position: relative; display: grid; min-height: 100svh; overflow: hidden; color: #fff; isolation: isolate; }
.hero-media, .hero-shade { position: absolute; inset: 0; z-index: -2; }
.hero-media { background: url('/assets/images/john-great-hero.webp') center 48% / cover no-repeat; transform: scale(1.02); }
.hero-shade { z-index: -1; background: linear-gradient(90deg, rgba(8, 10, 7, 0.87) 0%, rgba(8, 10, 7, 0.62) 34%, rgba(8, 10, 7, 0.05) 66%, rgba(8, 10, 7, 0.14) 100%), linear-gradient(0deg, rgba(8, 10, 7, 0.35), transparent 48%); }
.hero-content { align-self: end; padding-top: 150px; padding-bottom: clamp(72px, 12vh, 140px); }
.hero-eyebrow { color: #e4c99b; }
.hero h1 { max-width: 650px; margin-bottom: 28px; font-size: clamp(4rem, 6.2vw, 7rem); letter-spacing: -0.045em; }
.hero-intro { max-width: 560px; margin-bottom: 36px; color: rgba(255,255,255,0.84); font-size: 1.03rem; }
.hero-actions, .button-row { display: flex; align-items: center; flex-wrap: wrap; gap: 25px; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 13px 22px; border: 1px solid transparent; border-radius: 2px; font-size: 0.67rem; font-weight: 750; letter-spacing: 0.13em; text-decoration: none; text-transform: uppercase; transition: transform 180ms ease, background 180ms ease, color 180ms ease; }
.button:hover { transform: translateY(-2px); }
.button svg { width: 15px; margin-right: 9px; fill: currentColor; }
.button-light { background: #f9f7f1; color: #171713; }
.button-dark { background: var(--ink); color: #fff; }
.button-outline-light { border-color: rgba(255,255,255,0.48); color: #fff; }
.button-outline-light:hover { background: #fff; color: #171713; }
.text-link { display: inline-flex; align-items: center; gap: 10px; padding-block: 8px; font-size: 0.68rem; font-weight: 750; letter-spacing: 0.12em; text-decoration: none; text-transform: uppercase; }
.text-link span { transition: transform 180ms ease; }
.text-link:hover span { transform: translateX(4px); }
.text-link-light { color: #fff; }
.text-link-muted { color: #8a887f; }
.is-disabled { cursor: default; opacity: .76; }
.is-disabled:hover { transform: none; }
.scroll-cue { position: absolute; right: 42px; bottom: 34px; display: grid; width: 38px; height: 54px; place-items: center; border: 1px solid rgba(255,255,255,.45); border-radius: 30px; }
.scroll-cue span { width: 3px; height: 3px; border-radius: 50%; background: #fff; animation: scroll-dot 1.8s ease-in-out infinite; }
@keyframes scroll-dot { 0%, 100% { transform: translateY(-7px); opacity: .35; } 50% { transform: translateY(7px); opacity: 1; } }

.release { background: var(--paper-bright); }
.release-grid { display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(360px, .96fr); align-items: center; gap: clamp(60px, 9vw, 130px); }
.release-art { margin: 0; }
.release-teaser { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; overflow: hidden; aspect-ratio: 1; border-radius: 3px; background: linear-gradient(rgba(14,16,11,.28), rgba(14,16,11,.58)), url('/assets/images/journal-journey.webp') center / cover no-repeat; color: #fff; box-shadow: 0 30px 70px rgba(36, 29, 17, .14); text-align: center; }
.release-teaser::after { content: ""; position: absolute; inset: 18px; border: 1px solid rgba(255,255,255,.38); pointer-events: none; }
.release-teaser-title { position: relative; z-index: 1; font-family: var(--serif); font-size: clamp(3rem, 6vw, 6.3rem); letter-spacing: -.035em; }
.release-teaser-artist, .release-teaser-date { position: relative; z-index: 1; font-size: .63rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; }
.release-teaser-artist { margin-top: 12px; }
.release-teaser-date { position: absolute; bottom: 45px; color: rgba(255,255,255,.78); }
.release-art figcaption { margin-top: 14px; color: var(--muted); font-size: .68rem; letter-spacing: .13em; text-transform: uppercase; }
.release-copy { max-width: 520px; }
.release-copy h2 { margin-bottom: 18px; }
.release-copy > p:not(.eyebrow) { color: #54534c; }
.release-copy .lead { color: var(--ink) !important; }
.release-copy .button-row { margin-top: 34px; }

.section-heading { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 70px; margin-bottom: 58px; }
.section-heading h2 { margin-bottom: 0; }
.section-heading > p { max-width: 500px; margin-bottom: 8px; color: var(--muted); }
.music-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.music-card { min-width: 0; }
.music-cover { position: relative; display: block; overflow: hidden; aspect-ratio: 1; margin-bottom: 25px; background: #d8d5cc; border-radius: 3px; }
.music-cover img { width: 100%; height: 100%; object-fit: cover; transition: transform 550ms cubic-bezier(.2,.8,.2,1); }
.music-cover:hover img { transform: scale(1.025); }
.play-mark { position: absolute; right: 16px; bottom: 16px; display: grid; width: 48px; height: 48px; place-items: center; border-radius: 50%; background: rgba(250,249,244,.94); color: var(--ink); box-shadow: 0 8px 30px rgba(0,0,0,.18); transform: translateY(5px); opacity: 0; transition: opacity 180ms ease, transform 180ms ease; }
.music-cover:hover .play-mark, .music-cover:focus-visible .play-mark { opacity: 1; transform: translateY(0); }
.play-mark svg { width: 18px; fill: currentColor; }
.music-card-copy { padding-right: 16px; }
.music-card-copy h3 { margin-bottom: 13px; }
.music-card-copy > p:not(.track-type) { min-height: 78px; color: var(--muted); font-size: .92rem; }
.track-type, .article-number { margin-bottom: 9px; color: #9a7444; font-size: .65rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }

.listen-story { display: grid; grid-template-columns: 1fr 1fr; min-height: 680px; background: #11130f; color: #fff; }
.listen-panel, .story-panel { position: relative; min-width: 0; overflow: hidden; }
.listen-panel { display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: 18px; padding: clamp(55px, 6vw, 95px) clamp(30px, 5vw, 78px); background: #171915; }
.listen-panel::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 80% 20%, rgba(188,153,93,.2), transparent 38%); pointer-events: none; }
.listen-panel-content { position: relative; z-index: 1; }
.listen-panel h2, .story-panel h2 { font-size: clamp(2.7rem, 4.2vw, 4.8rem); }
.listen-panel p:not(.eyebrow), .story-copy p { color: rgba(255,255,255,.7); }
.listen-panel .button-row { margin-top: 28px; }
.listen-art { position: relative; z-index: 1; align-self: center; width: 100%; height: auto; aspect-ratio: 1; border-radius: 50%; object-fit: cover; box-shadow: 0 24px 70px rgba(0,0,0,.35); }
.story-panel { display: grid; grid-template-rows: 1fr 260px; background: var(--olive); }
.story-copy { z-index: 1; align-self: center; max-width: 600px; padding: clamp(55px, 6vw, 95px); }
.story-portrait { overflow: hidden; }
.story-portrait img { width: 100%; height: 100%; object-fit: cover; object-position: center 32%; filter: saturate(.8); }

.journal { background: var(--paper-bright); }
.journal-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 42px; }
.journal-image { overflow: hidden; aspect-ratio: 1.6; margin-bottom: 25px; border-radius: 2px; background: #d9d7d0; }
.journal-image img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.78); transition: transform 600ms cubic-bezier(.2,.8,.2,1), filter 300ms ease; }
.journal-card:hover .journal-image img { transform: scale(1.03); filter: saturate(1); }
.journal-card h3 { min-height: 2.05em; margin-bottom: 13px; font-size: clamp(1.6rem, 2.2vw, 2.25rem); }
.journal-card > p:not(.article-number) { min-height: 55px; color: var(--muted); font-size: .9rem; }
.journal .journal-grid + .text-link { margin-top: 38px; }

.worship-callout { position: relative; display: grid; min-height: 620px; place-items: center; overflow: hidden; color: white; isolation: isolate; }
.worship-image, .worship-shade { position: absolute; inset: 0; z-index: -2; }
.worship-image { background: url('/assets/images/journal-trust.webp') center 43% / cover no-repeat; }
.worship-shade { z-index: -1; background: linear-gradient(90deg, rgba(15,17,12,.9), rgba(15,17,12,.58) 52%, rgba(15,17,12,.2)); }
.worship-content { padding-block: 110px; }
.worship-content h2 { max-width: 670px; }
.worship-content p:not(.eyebrow) { max-width: 590px; margin-bottom: 35px; color: rgba(255,255,255,.78); font-size: 1.05rem; }

.connection { padding: 90px 0; background: var(--olive); color: #fff; }
.connection-grid { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 90px; }
.connection-copy h2 { margin-bottom: 18px; font-size: clamp(2.8rem, 4.4vw, 4.7rem); }
.connection-copy p:not(.eyebrow) { max-width: 500px; color: rgba(255,255,255,.68); }
.connection-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 14px; }
.connection-form { display: grid; grid-template-columns: 1fr 1.35fr auto; align-items: end; gap: 12px; }
.connection-form label span { display: block; margin-bottom: 8px; color: rgba(255,255,255,.65); font-size: .66rem; letter-spacing: .12em; text-transform: uppercase; }
.connection-form input { width: 100%; height: 50px; padding: 0 16px; border: 1px solid rgba(255,255,255,.28); border-radius: 2px; outline: 0; background: rgba(255,255,255,.04); color: #fff; }
.connection-form input::placeholder { color: rgba(255,255,255,.48); }
.connection-form input:focus { border-color: #fff; }
.connection-form input:disabled { opacity: .65; cursor: not-allowed; }
.connection-form button:disabled { opacity: .72; cursor: not-allowed; transform: none; }
.form-note { grid-column: 1 / -1; margin: 8px 0 0; color: rgba(255,255,255,.55); font-size: .78rem; }

.site-footer { padding: 80px 0 24px; background: #121310; color: rgba(255,255,255,.72); }
.footer-grid { display: grid; grid-template-columns: .8fr 1.1fr .8fr; gap: 80px; padding-bottom: 65px; }
.brand-lockup-footer { width: 195px; }
.brand-lockup-footer img { filter: brightness(0) invert(1); }
.footer-brand p { max-width: 220px; margin-top: 25px; font-size: .83rem; }
.social-links { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 24px; }
.social-links a { color: #fff; font-size: .65rem; font-weight: 700; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; }
.social-links a:hover, .social-links a:focus-visible { text-decoration: underline; text-underline-offset: 5px; }
.footer-links { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; }
.footer-links h2 { margin-bottom: 20px; color: #fff; font-family: var(--sans); font-size: .65rem; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.footer-links a { display: block; width: fit-content; margin: 9px 0; font-size: .82rem; text-decoration: none; }
.footer-links a:hover { color: #fff; }
.site-footer blockquote { margin: 0; color: rgba(255,255,255,.78); font-family: var(--serif); font-size: 1.4rem; font-style: italic; line-height: 1.45; }
.site-footer cite { display: block; margin-top: 18px; color: #c4a677; font-family: var(--sans); font-size: .61rem; font-style: normal; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.footer-bottom { display: flex; justify-content: space-between; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.1); font-size: .7rem; }
.footer-bottom p { margin: 0; }
.footer-bottom a { text-decoration: none; }
.footer-credit { margin-left: 7px; color: rgba(255,255,255,.48); }
.footer-credit a { color: rgba(255,255,255,.78); text-decoration: underline; text-decoration-color: rgba(255,255,255,.28); text-underline-offset: 3px; }
.footer-credit a:hover, .footer-credit a:focus-visible { color: #fff; text-decoration-color: currentColor; }

.reveal { opacity: 0; transform: translateY(22px); transition: opacity 650ms ease, transform 650ms cubic-bezier(.2,.75,.25,1); }
.reveal.is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 1050px) {
  .site-header { grid-template-columns: 150px 1fr 110px; }
  .site-nav { gap: 20px; }
  .listen-story { grid-template-columns: 1fr; }
  .listen-panel, .story-panel { min-height: 620px; }
  .story-panel { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
  .story-portrait { min-height: 560px; }
  .connection-grid { grid-template-columns: 1fr; gap: 45px; }
  .connection-actions { justify-content: flex-start; }
}

@media (max-width: 800px) {
  :root { --wrap: min(100% - 34px, 660px); }
  .section { padding: 78px 0; }
  .section-rule .wrap { padding-top: 72px; }
  .site-header { grid-template-columns: 1fr auto; padding: 18px 20px; }
  body.menu-open .site-header { color: var(--ink); backdrop-filter: none; }
  body.menu-open .site-header.is-scrolled { background: transparent; box-shadow: none; }
  .site-header .brand-lockup { position: relative; z-index: 102; width: 68px; }
  body.menu-open .site-header .brand-lockup-header img { filter: none; }
  .header-listen { display: none; }
  .menu-toggle { position: relative; z-index: 102; display: grid; width: 44px; height: 44px; padding: 12px 9px; border: 0; background: transparent; color: inherit; place-content: center; gap: 7px; }
  .menu-toggle span:not(.sr-only) { display: block; width: 24px; height: 1px; background: currentColor; transition: transform 200ms ease; }
  .menu-toggle[aria-expanded="true"] span:nth-last-child(2) { transform: translateY(4px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-4px) rotate(-45deg); }
  .site-nav { position: fixed; inset: 0; z-index: 101; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: clamp(18px, 3vh, 25px); padding: clamp(110px, 18vh, 150px) 24px 40px; overflow-y: auto; overscroll-behavior: contain; background: var(--paper-bright); color: var(--ink); opacity: 0; visibility: hidden; transition: opacity 200ms ease, visibility 200ms ease; }
  .site-nav.is-open { opacity: 1; visibility: visible; }
  .site-nav a { font-family: var(--serif); font-size: clamp(1.9rem, 9vw, 2.2rem); line-height: 1.05; }
  .hero { min-height: 800px; }
  .hero-media { background-position: 54% 50%; }
  .hero-shade { background: linear-gradient(90deg, rgba(8,10,7,.85), rgba(8,10,7,.38) 75%), linear-gradient(0deg, rgba(8,10,7,.58), transparent 70%); }
  .hero-content { padding-bottom: 70px; }
  .hero h1 { font-size: clamp(3.7rem, 14vw, 5.6rem); }
  .hero-intro { max-width: 92%; font-size: .95rem; }
  .scroll-cue { display: none; }
  .release-grid { grid-template-columns: 1fr; gap: 50px; }
  .release-copy { max-width: none; }
  .section-heading { grid-template-columns: 1fr; gap: 20px; margin-bottom: 40px; }
  .music-grid, .journal-grid { grid-template-columns: 1fr; gap: 58px; }
  .music-card-copy > p:not(.track-type), .journal-card h3, .journal-card > p:not(.article-number) { min-height: 0; }
  .listen-panel { grid-template-columns: 1fr; }
  .listen-art { width: min(75%, 360px); margin: 30px auto 0; }
  .story-panel { grid-template-columns: 1fr; }
  .story-copy { padding: 70px 25px; }
  .story-portrait { min-height: 390px; }
  .connection-form { grid-template-columns: 1fr; }
  .connection-form .button { margin-top: 8px; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 55px; }
  .site-footer blockquote { grid-column: 1 / -1; }
}

@media (max-width: 520px) {
  .hero { min-height: 760px; }
  .hero-media { background-position: 55% center; }
  .hero-shade { background: linear-gradient(90deg, rgba(8,10,7,.84), rgba(8,10,7,.48)), linear-gradient(0deg, rgba(8,10,7,.76), transparent 70%); }
  .hero h1 { font-size: clamp(3.2rem, 15vw, 4.4rem); }
  .hero-intro { max-width: 100%; }
  .hero-actions, .button-row { align-items: flex-start; flex-direction: column; gap: 12px; }
  .button { width: 100%; }
  .release-art figcaption { font-size: .61rem; }
  .listen-panel { padding-inline: 22px; }
  .worship-callout { min-height: 570px; }
  .worship-shade { background: rgba(15,17,12,.7); }
  .footer-grid { grid-template-columns: 1fr; }
  .site-footer blockquote { grid-column: auto; }
  .footer-bottom { align-items: flex-start; flex-direction: column; gap: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}

/* Story page */
.about-page { background: #f8f6f2; }
.about-header { color: var(--ink); }
.about-header .site-nav a[aria-current="page"]::after { transform: scaleX(1); }
.about-hero {
  display: grid;
  grid-template-columns: minmax(520px, .95fr) minmax(0, 1.05fr);
  min-height: 760px;
  padding-top: 88px;
  background: #f8f6f2;
}
.about-hero > *, .story-section > *, .heart-section > *, .story-signoff > * { min-width: 0; }
.about-hero-copy {
  align-self: center;
  max-width: none;
  padding: 90px clamp(44px, 5vw, 78px);
}
.about-hero-copy h1 {
  margin-bottom: 34px;
  font-size: clamp(4rem, 5vw, 5.25rem);
}
.about-hero-copy h1 span { display: block; white-space: nowrap; }
.about-hero-copy > p:not(.eyebrow) { max-width: 590px; color: #55534c; }
.about-hero-copy .button-row { margin-top: 34px; }
.about-hero-image { min-height: 672px; margin: 0; overflow: hidden; }
.about-hero-image img { width: 100%; height: 100%; object-fit: cover; object-position: 53% center; }

.story-section {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
  width: min(1380px, calc(100% - 72px));
  margin-inline: auto;
  padding: 110px 0;
}
.story-section + .story-section { padding-top: 0; }
.story-image { min-height: 600px; margin: 0; overflow: hidden; background: #dedbd3; }
.story-image img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.8); transition: transform 1.1s cubic-bezier(.2,.75,.2,1); }
.story-image.is-visible img { transform: scale(1.01); }
.story-beginning .story-image img { object-position: center 55%; }
.story-image-tall img { object-position: 64% center; }
.story-prose { align-self: center; max-width: 680px; padding: clamp(55px, 6.5vw, 110px); }
.story-prose h2, .heart-section h2, .story-signoff h2 { font-size: clamp(3rem, 4.4vw, 5.4rem); }
.story-prose > p:not(.eyebrow) { color: #55534c; }
.story-prose .text-link { margin-top: 14px; }

.story-quote {
  position: relative;
  display: grid;
  min-height: 600px;
  overflow: hidden;
  color: #fff;
  place-items: center;
  isolation: isolate;
}
.story-quote-image, .story-quote-shade { position: absolute; inset: 0; z-index: -2; }
.story-quote-image { background: url('/assets/images/journal-trust.webp') center 48% / cover no-repeat; }
.story-quote-shade { z-index: -1; background: linear-gradient(rgba(15,17,12,.38), rgba(15,17,12,.6)); }
.story-quote blockquote {
  max-width: 980px;
  margin: 0;
  padding: 110px 30px;
  font-family: var(--serif);
  font-size: clamp(3rem, 5vw, 6rem);
  font-style: italic;
  line-height: 1.1;
  letter-spacing: -.035em;
  text-align: center;
}
.story-quote cite {
  display: block;
  margin-top: 30px;
  color: #e4c99b;
  font-family: var(--sans);
  font-size: .69rem;
  font-style: normal;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.story-songs { padding-block: 120px; }
.story-songs .story-image { align-self: center; min-height: 0; aspect-ratio: 1.15; }

.heart-section {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  width: min(1380px, calc(100% - 72px));
  margin-inline: auto;
  border-top: 1px solid var(--line);
}
.heart-copy, .today-copy { padding: 110px clamp(35px, 4.2vw, 75px); }
.heart-copy { padding-left: 0; }
.today-copy { padding-right: 0; }
.heart-copy > p:not(.eyebrow), .today-copy > p:not(.eyebrow) { color: #55534c; }
.heart-section h2 { font-size: clamp(2.7rem, 3.7vw, 4.6rem); }
.scripture {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 0;
  padding: 120px clamp(40px, 5vw, 85px);
  border-right: 1px solid var(--line);
  border-left: 1px solid var(--line);
  font-family: var(--serif);
  font-size: clamp(2.1rem, 3vw, 3.6rem);
  line-height: 1.28;
}
.scripture > span { margin-bottom: 16px; color: var(--gold); font-size: 4rem; line-height: .5; }
.scripture cite { margin-top: 34px; font-family: var(--sans); font-size: .66rem; font-style: normal; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.today-copy .button-row { margin-top: 30px; }

.story-signoff {
  display: grid;
  grid-template-columns: minmax(300px, .72fr) 1.28fr;
  align-items: center;
  min-height: 430px;
  background: var(--olive);
  color: #fff;
}
.signoff-image { align-self: end; height: 400px; margin: 0 0 0 clamp(20px, 7vw, 130px); overflow: hidden; }
.signoff-image img { width: 100%; height: 100%; object-fit: cover; object-position: center 28%; filter: saturate(.75); }
.signoff-copy { max-width: 770px; padding: 70px clamp(45px, 8vw, 140px); }
.signoff-copy h2 { margin-bottom: 22px; }
.signoff-copy p { color: rgba(255,255,255,.7); }
.signature-image { width: min(240px, 70%); height: auto; margin-top: 22px; }

@media (max-width: 1050px) {
  .about-hero { grid-template-columns: 1fr 1fr; }
  .about-hero-copy { padding-inline: 42px; }
  .story-section, .heart-section { width: min(100% - 48px, 900px); }
  .story-prose { padding: 60px 45px; }
  .heart-section { grid-template-columns: 1fr 1fr; }
  .scripture { grid-column: 1 / -1; grid-row: 2; min-height: 500px; border: 0; border-top: 1px solid var(--line); text-align: center; }
  .scripture > span { align-self: center; }
  .heart-copy { padding-right: 55px; }
  .today-copy { padding-left: 55px; }
}

@media (max-width: 800px) {
  .about-header { color: var(--ink); }
  .about-hero { grid-template-columns: 1fr; padding-top: 76px; }
  .about-hero-copy { padding: 72px var(--page-pad, 24px) 62px; }
  .about-hero-copy h1 { font-size: clamp(3.15rem, 11.8vw, 5.25rem); }
  .about-hero-image { min-height: 480px; }
  .about-hero-image img { object-position: 55% center; }
  .story-section { grid-template-columns: 1fr; width: 100%; padding: 0; }
  .story-beginning .story-image { order: 2; }
  .story-prose { max-width: none; padding: 78px 24px; }
  .story-image { min-height: 520px; }
  .story-journey .story-image { min-height: 560px; }
  .story-quote { min-height: 520px; }
  .story-quote blockquote { padding-inline: 22px; }
  .story-songs { padding-top: 0; }
  .story-songs .story-image { aspect-ratio: 1; }
  .heart-section { grid-template-columns: 1fr; width: 100%; }
  .heart-copy, .today-copy { padding: 78px 24px; }
  .scripture { grid-column: auto; grid-row: auto; min-height: 560px; padding-inline: 30px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .story-signoff { grid-template-columns: 1fr; }
  .signoff-image { width: min(82%, 480px); height: 390px; margin: 45px auto 0; }
  .signoff-copy { padding: 55px 24px 75px; text-align: center; }
  .signature-image { margin-inline: auto; }
}

@media (max-width: 520px) {
  .about-hero-copy .button-row, .today-copy .button-row { align-items: stretch; }
  .about-hero-image { min-height: 390px; }
  .story-image, .story-journey .story-image { min-height: 420px; }
  .story-quote { min-height: 470px; }
  .story-quote blockquote { font-size: clamp(2.6rem, 12vw, 4rem); }
  .scripture { min-height: 510px; font-size: 2.45rem; }
  .signoff-image { height: 320px; }
}

/* Music catalogue */
.music-page { background: #f8f6f2; }
.music-header { color: var(--ink); }
.music-header .site-nav a[aria-current="page"]::after { transform: scaleX(1); }
.music-page-hero {
  display: grid;
  grid-template-columns: minmax(430px, .82fr) minmax(0, 1.18fr);
  min-height: 760px;
  padding-top: 88px;
  background: #f8f6f2;
}
.music-page-hero > *, .featured-music > *, .spotify-grid > *, .song-stories-grid > *, .music-video-bridge > * { min-width: 0; }
.music-page-hero-copy {
  align-self: center;
  max-width: 700px;
  padding: 82px clamp(44px, 6.2vw, 118px);
}
.music-page-hero-copy h1 { margin-bottom: 32px; font-size: clamp(4rem, 5.7vw, 6.8rem); }
.music-page-hero-copy > p:not(.eyebrow) { max-width: 600px; color: #55534c; }
.music-page-hero-copy .button-row { margin-top: 34px; }
.music-page-hero-image { min-height: 672px; margin: 0; overflow: hidden; }
.music-page-hero-image img { width: 100%; height: 100%; object-fit: cover; object-position: 54% center; filter: saturate(.82); }

.featured-music {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(270px, .8fr) minmax(340px, 1fr) minmax(235px, .62fr);
  align-items: center;
  gap: clamp(36px, 5vw, 72px);
  margin-top: -34px;
  padding: clamp(30px, 4vw, 58px);
  border: 1px solid rgba(26,26,23,.07);
  border-radius: 6px;
  background: rgba(251,250,246,.97);
  box-shadow: 0 28px 70px rgba(39,32,20,.09);
}
.duro-art, .duro-story-art {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  aspect-ratio: 1;
  background: linear-gradient(rgba(22,25,18,.12), rgba(22,25,18,.58)), url('/assets/images/journal-journey.webp') center / cover no-repeat;
  color: #fff;
  box-shadow: 0 18px 45px rgba(32,27,18,.16);
  isolation: isolate;
}
.duro-art::after, .duro-story-art::after { content: ""; position: absolute; inset: 15px; border: 1px solid rgba(255,255,255,.42); }
.duro-art span, .duro-story-art span { position: relative; z-index: 1; font-family: var(--serif); font-size: clamp(2.7rem, 5vw, 5.2rem); letter-spacing: -.035em; }
.duro-art small { position: relative; z-index: 1; margin-top: 8px; font-size: .57rem; font-weight: 700; letter-spacing: .24em; text-transform: uppercase; }
.featured-music-copy h2 { margin-bottom: 8px; font-size: clamp(3.3rem, 4.7vw, 5.4rem); }
.featured-music-copy > p:not(.eyebrow):not(.release-date) { color: #5b5952; }
.release-date { margin-bottom: 24px; color: #9a7444; font-size: .68rem; font-weight: 750; letter-spacing: .2em; text-transform: uppercase; }
.featured-music-copy .text-link { margin-top: 5px; }
.release-update { padding: 36px 0 36px clamp(25px, 4vw, 58px); border-left: 1px solid var(--line); }
.release-update-icon { color: var(--gold); font-size: 1.5rem; }
.release-update > p:not(.release-update-icon) { max-width: 220px; margin-bottom: 27px; font-size: .74rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.button-forest { background: var(--olive-soft); color: #fff; }

.latest-music { padding-top: 105px; }
.catalogue-intro { max-width: 830px; margin-bottom: 48px; }
.catalogue-intro h2 { font-size: clamp(3rem, 4.5vw, 5rem); }
.catalogue-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 62px 45px; }
.catalogue-release { display: grid; grid-template-columns: minmax(185px, .9fr) minmax(0, 1.1fr); align-items: center; gap: clamp(24px, 3vw, 42px); }
.catalogue-release-wide { grid-column: 1 / -1; grid-template-columns: minmax(300px, .78fr) minmax(340px, 1.22fr); padding-bottom: 60px; border-bottom: 1px solid var(--line); }
.catalogue-art { position: relative; display: block; overflow: hidden; aspect-ratio: 1; background: #dfdbd0; text-decoration: none; }
.catalogue-art img { width: 100%; height: 100%; object-fit: cover; transition: transform 600ms cubic-bezier(.2,.8,.2,1); }
.catalogue-art:hover img, .catalogue-art:focus-visible img { transform: scale(1.025); }
.catalogue-play, .video-play { position: absolute; right: 18px; bottom: 18px; display: grid; width: 48px; height: 48px; place-items: center; border-radius: 50%; background: rgba(251,250,246,.95); color: var(--ink); box-shadow: 0 10px 28px rgba(0,0,0,.18); font-size: .72rem; }
.catalogue-copy h3 { margin-bottom: 14px; font-size: clamp(2rem, 3vw, 3.4rem); }
.catalogue-copy > p:not(.track-type) { color: #626058; }
.catalogue-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 15px; margin-top: 24px; }

.spotify-section { padding: 100px 0; background: #12130f; color: #fff; }
.spotify-grid { display: grid; grid-template-columns: minmax(270px, .7fr) minmax(440px, 1.3fr); align-items: center; gap: clamp(60px, 9vw, 135px); }
.spotify-copy h2 { font-size: clamp(3.1rem, 4.8vw, 5.2rem); }
.spotify-copy > p:not(.eyebrow) { max-width: 470px; color: rgba(255,255,255,.68); }
.spotify-copy .button { margin-top: 24px; }
.spotify-embed { overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; background: #191a17; box-shadow: 0 25px 60px rgba(0,0,0,.25); }
.spotify-embed iframe { display: block; border: 0; }

.song-stories { background: var(--paper-bright); }
.song-stories-grid { display: grid; grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr); gap: clamp(55px, 8vw, 120px); }
.song-stories-intro > p:not(.eyebrow) { color: #5e5c55; }
.song-stories-intro h2 { font-size: clamp(3.1rem, 4.6vw, 5rem); }
.story-release-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }
.story-release img, .story-release .duro-story-art { width: 100%; height: auto; aspect-ratio: 1; margin-bottom: 23px; object-fit: cover; }
.duro-story-art span { font-size: clamp(1.9rem, 3vw, 3.3rem); }
.story-release h3 { margin-bottom: 10px; font-size: clamp(1.7rem, 2.2vw, 2.5rem); }
.story-release p { min-height: 76px; color: #65635b; font-size: .88rem; }
.story-release .text-link { font-size: .59rem; }

.music-video-bridge { display: grid; grid-template-columns: 1.18fr .82fr; align-items: stretch; width: min(1380px, calc(100% - 72px)); margin: 0 auto 112px; background: #eeebe3; }
.video-poster { position: relative; display: block; min-height: 510px; overflow: hidden; }
.video-poster img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.72) brightness(.78); }
.video-play { top: 50%; right: auto; bottom: auto; left: 50%; width: 72px; height: 72px; transform: translate(-50%, -50%); font-size: 1rem; }
.video-bridge-copy { align-self: center; max-width: 580px; padding: clamp(55px, 7vw, 105px); }
.video-bridge-copy h2 { font-size: clamp(3.2rem, 4.8vw, 5.2rem); }
.video-bridge-copy > p:not(.eyebrow) { color: #5d5b54; }
.video-bridge-copy .button { margin-top: 20px; }
.music-scripture { padding: 100px 24px; background: #eeeae1; text-align: center; }
.music-scripture blockquote { max-width: 1050px; margin: 0 auto; font-family: var(--serif); font-size: clamp(2.8rem, 5vw, 5.8rem); line-height: 1.13; letter-spacing: -.035em; }
.music-scripture cite { display: block; margin-top: 30px; color: #9a7444; font-family: var(--sans); font-size: .66rem; font-style: normal; font-weight: 750; letter-spacing: .22em; text-transform: uppercase; }

@media (max-width: 1050px) {
  .music-page-hero { grid-template-columns: 1fr 1fr; }
  .music-page-hero-copy { padding-inline: 42px; }
  .featured-music { grid-template-columns: .85fr 1.15fr; }
  .release-update { grid-column: 1 / -1; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 25px; padding: 28px 0 0; border-top: 1px solid var(--line); border-left: 0; }
  .release-update > p { margin: 0 !important; }
  .catalogue-release { grid-template-columns: 1fr; align-items: start; }
  .catalogue-release-wide { grid-template-columns: minmax(280px, .8fr) 1.2fr; }
  .spotify-grid { grid-template-columns: .8fr 1.2fr; gap: 55px; }
  .song-stories-grid { grid-template-columns: 1fr; }
  .song-stories-intro { max-width: 700px; }
  .music-video-bridge { width: calc(100% - 48px); }
}

@media (max-width: 800px) {
  .music-page-hero { grid-template-columns: 1fr; padding-top: 76px; }
  .music-page-hero-copy { padding: 72px 24px 62px; }
  .music-page-hero-copy h1 { font-size: clamp(3.7rem, 13.5vw, 5.6rem); }
  .music-page-hero-image { min-height: 460px; }
  .featured-music { grid-template-columns: 1fr; width: 100%; margin-top: 0; padding: 24px; border: 0; border-radius: 0; box-shadow: none; }
  .duro-art { width: min(100%, 560px); margin-inline: auto; }
  .featured-music-copy { padding: 42px 0 20px; }
  .release-update { grid-column: auto; grid-template-columns: auto 1fr; padding-bottom: 12px; }
  .release-update .button { grid-column: 1 / -1; width: fit-content; }
  .latest-music { padding-top: 78px; }
  .catalogue-grid { grid-template-columns: 1fr; }
  .catalogue-release, .catalogue-release-wide { grid-column: auto; grid-template-columns: minmax(210px, .82fr) 1.18fr; padding-bottom: 48px; border-bottom: 1px solid var(--line); }
  .spotify-grid { grid-template-columns: 1fr; }
  .spotify-copy { max-width: 600px; }
  .story-release-grid { gap: 18px; }
  .music-video-bridge { grid-template-columns: 1fr; width: 100%; margin-bottom: 0; }
  .video-poster { min-height: 460px; }
  .video-bridge-copy { max-width: none; padding: 75px 24px; }
}

@media (max-width: 520px) {
  .music-page-hero-image { min-height: 390px; }
  .featured-music { padding-inline: 20px; }
  .catalogue-grid { gap: 48px; }
  .catalogue-release, .catalogue-release-wide { grid-template-columns: 1fr; gap: 25px; }
  .catalogue-copy h3 { font-size: 2.4rem; }
  .catalogue-actions { align-items: stretch; flex-direction: column; }
  .catalogue-actions .button { width: fit-content; }
  .spotify-section { padding: 78px 0; }
  .spotify-grid { gap: 42px; }
  .spotify-copy .button { width: 100%; }
  .spotify-embed iframe { height: 352px; }
  .story-release-grid { grid-template-columns: 1fr; gap: 55px; }
  .story-release p { min-height: 0; }
  .story-release img, .story-release .duro-story-art { margin-bottom: 20px; }
  .video-poster { min-height: 340px; }
  .music-scripture { padding: 82px 20px; }
  .music-scripture blockquote { font-size: clamp(2.5rem, 12vw, 3.8rem); }
}

/* Made Up My Mind */
.song-page {
  --release-accent: #a20d25;
  --release-accent-dark: #76091a;
  background: #f8f6f2;
}
.song-header { color: var(--ink); }
.song-header .site-nav a[aria-current="page"]::after { transform: scaleX(1); }
.song-hero {
  display: grid;
  grid-template-columns: minmax(420px, .82fr) minmax(0, 1.18fr);
  align-items: center;
  gap: clamp(55px, 8vw, 130px);
  width: min(1280px, calc(100% - 72px));
  min-height: 790px;
  margin-inline: auto;
  padding: 145px 0 80px;
}
.song-hero > *, .song-story-grid > *, .lyrics-grid > *, .song-bridges > * { min-width: 0; }
.song-hero-copy { max-width: 570px; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 58px; color: #77746c; font-size: .7rem; }
.breadcrumbs a { text-decoration: none; }
.breadcrumbs span:last-child { color: var(--release-accent); font-weight: 700; }
.song-hero .eyebrow, .song-page .track-type { color: var(--release-accent); }
.song-hero h1 { margin-bottom: 18px; font-size: clamp(4.5rem, 6vw, 7rem); }
.song-credit-line { margin-bottom: 38px; font-weight: 700; }
.song-hero-copy > p:not(.eyebrow):not(.song-credit-line) { color: #4f4d47; }
.song-hero-copy .button-row { margin-top: 36px; }
.button-release { background: var(--release-accent); color: #fff; }
.button-release:hover { background: var(--release-accent-dark); }
.song-cover { margin: 0; overflow: hidden; aspect-ratio: 1; border-radius: 4px; background: #eee; box-shadow: 0 30px 75px rgba(57,36,27,.14); }
.song-cover img { width: 100%; height: 100%; object-fit: cover; }

.streaming-strip { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #f0ede6; }
.streaming-strip-inner { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 42px; min-height: 92px; }
.streaming-strip p { margin: 0; color: #8a6546; font-size: .63rem; font-weight: 750; letter-spacing: .18em; text-transform: uppercase; }
.platform-links { display: flex; align-items: center; flex-wrap: wrap; gap: clamp(20px, 3.5vw, 52px); }
.platform-links a, .share-link { position: relative; font-size: .78rem; font-weight: 700; text-decoration: none; }
.platform-links a::before { content: "●"; margin-right: 8px; color: var(--ink); font-size: .6rem; }
.platform-links a:hover, .share-link:hover { color: var(--release-accent); }
.share-link { justify-self: end; color: #77746c; font-size: .66rem; letter-spacing: .12em; text-transform: uppercase; }
.song-player { padding: 34px 0 10px; }
.song-player iframe { display: block; border: 0; border-radius: 12px; background: #171717; }

.song-story { padding-top: 96px; }
.song-story-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(280px, .82fr); align-items: start; gap: clamp(36px, 4vw, 58px); }
.song-essay h2, .hymn-copy h2, .official-lyrics h2, .song-credits h2 { margin-bottom: 28px; font-size: clamp(2.5rem, 3.5vw, 4rem); }
.song-essay > p:not(.eyebrow), .hymn-copy > p:not(.eyebrow) { color: #57554e; }
.lyric-excerpt { margin: 28px 0; padding-left: 22px; border-left: 2px solid var(--release-accent); font-family: var(--serif); font-size: 1.25rem; font-style: italic; line-height: 1.55; }
.song-scripture { padding: 46px 32px; background: #efebe3; }
.song-scripture > span { color: #d0b993; font-family: var(--serif); font-size: 5rem; line-height: .5; }
.song-scripture blockquote { margin: 26px 0; font-family: var(--serif); font-size: clamp(1.75rem, 2.15vw, 2.35rem); line-height: 1.24; text-wrap: balance; }
.song-scripture cite { display: block; margin-top: 26px; font-family: var(--sans); font-size: .62rem; font-style: normal; font-weight: 750; letter-spacing: .18em; text-transform: uppercase; }
.song-scripture p { color: #66635b; font-size: .85rem; }

.lyrics-section { border-top: 1px solid var(--line); background: var(--paper-bright); }
.lyrics-grid { display: grid; grid-template-columns: .78fr 1.28fr .48fr; align-items: start; gap: clamp(45px, 6vw, 85px); }
.closing-prayer { margin-top: 30px; font-family: var(--serif); font-size: 1.65rem; font-style: italic; }
.official-lyrics { padding-inline: clamp(35px, 5vw, 75px); border-right: 1px solid var(--line); border-left: 1px solid var(--line); }
.lyrics-byline { margin: -15px 0 34px; color: #67645d; font-size: .82rem; font-weight: 650; }
.lyrics-copy { color: #3f3e39; font-size: .94rem; line-height: 1.78; }
.lyrics-copy p { margin-bottom: 28px; }
.lyrics-disclosure { margin-top: 10px; }
.lyrics-disclosure summary { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding: 16px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--release-accent); cursor: pointer; font-size: .68rem; font-weight: 750; letter-spacing: .13em; list-style: none; text-transform: uppercase; }
.lyrics-disclosure summary::-webkit-details-marker { display: none; }
.lyrics-disclosure summary::after { content: "+"; font-size: 1.25rem; font-weight: 400; line-height: 1; }
.lyrics-disclosure[open] summary::after { content: "−"; }
.lyrics-disclosure .hide-label { display: none; }
.lyrics-disclosure[open] .show-label { display: none; }
.lyrics-disclosure[open] .hide-label { display: inline; }
.lyrics-more { padding-top: 30px; }
.song-credits dl { margin: 0; }
.song-credits dl > div { padding: 13px 0; border-bottom: 1px solid var(--line); }
.song-credits dt { margin-bottom: 3px; color: #77736b; font-size: .59rem; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }
.song-credits dd { margin: 0; font-size: .86rem; }
.credits-note { margin-top: 24px; color: #77736b; font-size: .76rem; }

.song-bridges { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; padding: 90px 0 25px; }
.song-watch { position: relative; display: block; min-height: 440px; overflow: hidden; color: #fff; text-decoration: none; isolation: isolate; }
.song-watch > img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: center 35%; transition: transform 650ms cubic-bezier(.2,.8,.2,1); }
.song-watch:hover > img { transform: scale(1.025); }
.song-watch-shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(11,12,9,.82), rgba(11,12,9,.15)); }
.song-watch-copy { position: absolute; top: 55px; left: 52px; display: flex; flex-direction: column; max-width: 290px; }
.song-watch-copy small { margin-bottom: 16px; color: #dec69c; font-size: .61rem; font-weight: 750; letter-spacing: .16em; text-transform: uppercase; }
.song-watch-copy strong { font-family: var(--serif); font-size: clamp(2.3rem, 3.5vw, 4rem); font-weight: 400; line-height: 1.07; }
.song-watch-copy > span { margin-top: 30px; font-size: .65rem; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }
.song-watch .video-play { right: 55px; left: auto; }
.journal-bridge { display: grid; grid-template-columns: 1fr .72fr; overflow: hidden; background: #efebe3; }
.journal-bridge > div { align-self: center; padding: 55px; }
.journal-bridge h2 { font-size: clamp(2.4rem, 3.4vw, 3.9rem); }
.journal-bridge p:not(.eyebrow) { color: #5e5b54; font-size: .9rem; }
.journal-bridge img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.72) brightness(.82); }

.next-listen { padding-top: 88px; }
.next-listen-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 42px; }
.next-listen-heading h2 { margin-bottom: 0; font-size: clamp(3rem, 4.5vw, 5rem); }
.next-listen-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.next-release { display: grid; grid-template-columns: 145px 1fr; min-height: 145px; overflow: hidden; background: #efebe3; text-decoration: none; }
.next-release > img, .next-duro { width: 145px; height: 145px; object-fit: cover; }
.next-duro { display: grid; place-items: center; background: linear-gradient(rgba(18,20,15,.2),rgba(18,20,15,.55)),url('/assets/images/journal-journey.webp') center/cover; color: #fff; font-family: var(--serif); font-size: 1.45rem; }
.next-release > span:last-child { display: flex; flex-direction: column; justify-content: center; padding: 20px; }
.next-release small { color: #8d6846; font-size: .56rem; font-style: normal; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
.next-release strong { margin: 7px 0 15px; font-family: var(--serif); font-size: 1.55rem; font-weight: 400; line-height: 1.1; }
.next-release em { font-size: .61rem; font-style: normal; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.next-release:hover em { color: var(--release-accent); }

@media (max-width: 1050px) {
  .song-hero { grid-template-columns: .85fr 1.15fr; gap: 55px; }
  .song-story-grid { grid-template-columns: 1fr 1fr; }
  .song-scripture { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr .8fr; gap: 55px; align-items: center; }
  .song-scripture > span { display: none; }
  .lyrics-grid { grid-template-columns: .8fr 1.2fr; }
  .song-credits { grid-column: 1 / -1; }
  .song-credits dl { display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; }
  .song-credits dl > div { border: 0; }
  .song-bridges { grid-template-columns: 1fr; }
  .next-listen-grid { grid-template-columns: 1fr; }
  .next-release { grid-template-columns: 175px 1fr; }
  .next-release > img, .next-duro { width: 175px; height: 175px; }
}

@media (max-width: 800px) {
  .song-hero { grid-template-columns: 1fr; width: 100%; padding: 118px 24px 0; }
  .song-hero-copy { max-width: 640px; }
  .breadcrumbs { margin-bottom: 42px; }
  .song-cover { width: calc(100% + 48px); margin-left: -24px; border-radius: 0; box-shadow: none; }
  .streaming-strip-inner { grid-template-columns: 1fr; gap: 18px; padding-block: 28px; }
  .share-link { justify-self: start; }
  .song-player { padding-top: 26px; }
  .song-story-grid { grid-template-columns: 1fr; }
  .song-scripture { grid-column: auto; grid-template-columns: 1fr; }
  .lyrics-grid { grid-template-columns: 1fr; }
  .official-lyrics { padding: 65px 0; border-top: 1px solid var(--line); border-right: 0; border-bottom: 1px solid var(--line); border-left: 0; }
  .song-credits { grid-column: auto; }
  .song-credits dl { grid-template-columns: repeat(2, 1fr); }
  .song-bridges { width: 100%; padding-top: 40px; }
  .journal-bridge { grid-template-columns: 1fr; }
  .journal-bridge img { height: 300px; }
}

@media (max-width: 520px) {
  .song-hero { gap: 55px; }
  .song-hero h1 { font-size: clamp(4rem, 19vw, 5.2rem); }
  .platform-links { display: grid; grid-template-columns: 1fr 1fr; width: 100%; gap: 14px 20px; }
  .song-player { width: 100%; }
  .song-player iframe { border-radius: 0; }
  .song-story, .lyrics-section { padding-block: 76px; }
  .song-scripture { padding: 48px 28px; }
  .song-credits dl { grid-template-columns: 1fr 1fr; }
  .song-watch { min-height: 430px; }
  .song-watch-copy { top: 42px; left: 24px; }
  .song-watch .video-play { right: 24px; }
  .journal-bridge > div { padding: 55px 24px; }
  .next-listen-heading { align-items: flex-start; flex-direction: column; }
  .next-release { grid-template-columns: 118px 1fr; min-height: 118px; }
  .next-release > img, .next-duro { width: 118px; height: 118px; }
  .next-release > span:last-child { padding: 14px; }
  .next-release strong { margin-bottom: 8px; font-size: 1.35rem; }
}

/* Age to Age */
.age-page {
  --album-gold: #b88948;
  --album-deep: #51412a;
  background: #faf7f0;
}
.album-header { color: var(--ink); }
.album-header .site-nav a[aria-current="page"]::after { transform: scaleX(1); }
.album-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(380px, .92fr) minmax(0, 1.08fr);
  align-items: center;
  gap: clamp(65px, 9vw, 145px);
  width: min(1280px, calc(100% - 72px));
  min-height: 820px;
  margin-inline: auto;
  padding: 145px 0 85px;
}
.album-hero::after { content: ""; position: absolute; z-index: -1; right: 0; bottom: 0; width: 58%; height: 75%; background: radial-gradient(circle at 60% 40%, rgba(218,175,109,.24), transparent 58%); pointer-events: none; }
.album-hero > *, .album-listen-grid > *, .album-story-grid > *, .album-reflection-grid > *, .album-credits-inner > * { min-width: 0; }
.album-hero-cover { margin: 0; overflow: hidden; aspect-ratio: 1; border-radius: 4px; box-shadow: 0 30px 75px rgba(87,61,30,.2); }
.album-hero-cover img { width: 100%; height: 100%; object-fit: cover; }
.album-hero-copy .breadcrumbs { margin-bottom: 46px; }
.age-page .eyebrow { color: var(--album-gold); }
.age-page .eyebrow-light { color: #d8b677; }
.album-hero h1 { margin-bottom: 14px; font-size: clamp(5rem, 7vw, 8rem); }
.album-artist { margin-bottom: 35px; font-size: 1rem; font-weight: 750; }
.album-hero-copy > p:not(.eyebrow):not(.album-artist):not(.album-meta) { max-width: 590px; color: #555149; }
.album-hero-copy .button-row { margin-top: 34px; }
.button-album { background: var(--album-deep); color: #fff; }
.button-album:hover { background: #34291c; }
.album-meta { margin-top: 30px; color: #787269; font-size: .7rem; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; }
.album-meta span { margin-inline: 8px; color: var(--album-gold); }

.album-listen { padding: 85px 0; background: #11120f; color: #fff; }
.album-listen-grid { display: grid; grid-template-columns: minmax(280px, .7fr) minmax(480px, 1.3fr); align-items: center; gap: clamp(60px, 9vw, 130px); }
.album-listen-copy h2 { font-size: clamp(3.3rem, 5vw, 5.4rem); }
.album-listen-copy > p:not(.eyebrow) { color: rgba(255,255,255,.66); }
.album-platforms { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 28px; margin-top: 34px; }
.album-platforms a { font-size: .72rem; font-weight: 700; text-decoration: none; }
.album-platforms a::before { content: "●"; margin-right: 8px; color: #d0af73; font-size: .55rem; }
.album-platforms a:hover { color: #e0c48f; }
.album-embed { overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; background: #191a17; }
.album-embed iframe { display: block; border: 0; }

.album-story { position: relative; overflow: hidden; background: #f6f1e8; }
.album-story::after { content: ""; position: absolute; right: -5%; bottom: -10%; width: 55%; height: 65%; background: linear-gradient(rgba(246,241,232,.18),rgba(246,241,232,.78)),url('/assets/images/journal-journey.webp') center/cover; opacity: .22; filter: sepia(.4); pointer-events: none; }
.album-story-grid { position: relative; z-index: 1; display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: clamp(70px, 10vw, 160px); }
.album-story-copy { max-width: 620px; }
.album-story-copy h2 { font-size: clamp(3.4rem, 5vw, 5.6rem); }
.album-story-copy > p:not(.eyebrow) { color: #56534c; }
.album-scripture { padding: clamp(38px, 5vw, 72px); }
.album-scripture blockquote { margin: 0; font-family: var(--serif); font-size: clamp(2.9rem, 4.2vw, 4.6rem); line-height: 1.16; letter-spacing: -.035em; text-wrap: balance; }
.album-scripture blockquote::before { content: "“"; display: block; margin-bottom: 10px; color: #caa56b; font-size: 6rem; line-height: .5; }
.album-scripture cite { display: block; margin-top: 34px; color: #9c7442; font-family: var(--sans); font-size: .65rem; font-style: normal; font-weight: 750; letter-spacing: .2em; text-transform: uppercase; }

.album-tracks { background: var(--paper-bright); }
.album-tracks-heading { display: flex; align-items: end; justify-content: space-between; gap: 35px; margin-bottom: 48px; }
.album-tracks-heading h2 { max-width: 850px; margin-bottom: 0; font-size: clamp(3.5rem, 5.5vw, 6rem); }
.album-tracks-heading > p { color: #857f74; font-size: .64rem; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
.tracklist { margin: 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.track-row { display: grid; grid-template-columns: 70px minmax(0, 1fr) auto; align-items: center; gap: 30px; padding: 30px 0; border-bottom: 1px solid var(--line); }
.track-number { align-self: start; padding-top: 5px; color: var(--album-gold); font-family: var(--serif); font-size: 1.4rem; }
.track-copy h3 { margin-bottom: 7px; font-size: clamp(2rem, 3vw, 3.3rem); }
.track-copy > p:not(.track-detail) { max-width: 780px; margin-bottom: 0; color: #666159; font-size: .88rem; }
.track-detail { margin-bottom: 10px; color: #8a8277; font-size: .66rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.track-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 10px 20px; max-width: 240px; }
.track-actions a { color: var(--album-deep); font-size: .62rem; font-weight: 750; letter-spacing: .11em; text-decoration: none; text-transform: uppercase; }
.track-actions a:first-child { padding: 10px 16px; background: var(--album-deep); color: #fff; }
.track-actions a:hover { color: var(--album-gold); }

.yahweh-feature { display: grid; grid-template-columns: 1.15fr .85fr; min-height: 610px; background: #11120f; color: #fff; }
.yahweh-image { position: relative; display: block; min-height: 610px; overflow: hidden; }
.yahweh-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10,11,9,.05), rgba(10,11,9,.55)); }
.yahweh-image img { width: 100%; height: 100%; object-fit: cover; object-position: center 40%; filter: saturate(.75) brightness(.72); transition: transform 650ms cubic-bezier(.2,.8,.2,1); }
.yahweh-image:hover img { transform: scale(1.025); }
.yahweh-image .video-play { z-index: 2; top: 50%; right: auto; bottom: auto; left: 50%; width: 76px; height: 76px; transform: translate(-50%,-50%); }
.yahweh-copy { align-self: center; max-width: 620px; padding: clamp(60px, 8vw, 125px); }
.yahweh-copy h2 { font-size: clamp(4rem, 6vw, 7rem); }
.yahweh-copy > p:not(.eyebrow) { color: rgba(255,255,255,.68); }
.yahweh-copy .button { margin-top: 20px; }

.album-reflection { background: #f8f5ee; }
.album-reflection-grid { display: grid; grid-template-columns: .65fr 1fr .72fr; align-items: stretch; gap: clamp(45px, 6vw, 90px); }
.album-reflection-image { min-height: 610px; margin: 0; overflow: hidden; }
.album-reflection-image img { width: 100%; height: 100%; object-fit: cover; object-position: center 25%; filter: saturate(.82); }
.album-reflection-copy { align-self: center; }
.album-reflection-copy h2, .album-deeper h2 { font-size: clamp(3rem, 4.3vw, 4.9rem); }
.album-reflection-copy > p:not(.eyebrow), .album-deeper > p:not(.eyebrow) { color: #5b574f; }
.album-deeper { align-self: center; padding-left: clamp(25px, 4vw, 60px); border-left: 1px solid var(--line); }
.album-deeper h2 { font-size: clamp(2.5rem, 3.5vw, 3.9rem); }
.deeper-link { display: grid; grid-template-columns: 78px 1fr; align-items: center; gap: 18px; margin-top: 18px; padding: 12px; background: #eee8dd; text-decoration: none; }
.deeper-link img { width: 78px; height: 78px; object-fit: cover; }
.deeper-link span { display: flex; flex-direction: column; }
.deeper-link strong { font-family: var(--serif); font-size: 1.25rem; font-weight: 400; }
.deeper-link small { margin-top: 5px; color: #8b6840; font-size: .56rem; font-weight: 750; letter-spacing: .11em; text-transform: uppercase; }

.album-credits { padding: 65px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #f1ece2; }
.album-credits-inner { display: grid; grid-template-columns: .38fr 1.62fr; align-items: end; gap: 70px; }
.album-credits h2 { margin-bottom: 0; font-size: clamp(2.8rem, 4vw, 4.4rem); }
.album-credits dl { display: grid; grid-template-columns: repeat(6, 1fr); gap: 25px; margin: 0; }
.album-credits dl > div { min-width: 0; }
.album-credits dt { color: #81796d; font-size: .56rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.album-credits dd { margin: 7px 0 0; font-size: .8rem; }

.album-next { background: var(--paper-bright); }
.album-next-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
.album-next-card { display: grid; grid-template-columns: 210px 1fr; min-height: 210px; overflow: hidden; background: #f0ebe1; text-decoration: none; }
.album-next-card > img, .album-next-duro { width: 210px; height: 210px; object-fit: cover; }
.album-next-duro { display: grid; place-items: center; background: linear-gradient(rgba(17,19,14,.18),rgba(17,19,14,.55)),url('/assets/images/journal-journey.webp') center/cover; color: #fff; font-family: var(--serif); font-size: 2.2rem; }
.album-next-card > span:last-child { display: flex; flex-direction: column; justify-content: center; padding: 32px; }
.album-next-card small { color: #9b7546; font-size: .58rem; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }
.album-next-card strong { margin: 9px 0 25px; font-family: var(--serif); font-size: clamp(2rem, 3vw, 3.2rem); font-weight: 400; line-height: 1.05; }
.album-next-card em { font-size: .61rem; font-style: normal; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.album-next-card:hover em { color: var(--album-gold); }

@media (max-width: 1050px) {
  .album-hero { gap: 60px; }
  .album-listen-grid { grid-template-columns: .8fr 1.2fr; gap: 55px; }
  .album-story-grid { gap: 60px; }
  .album-reflection-grid { grid-template-columns: .72fr 1.28fr; }
  .album-deeper { grid-column: 1 / -1; display: grid; grid-template-columns: .7fr 1fr 1fr; align-items: center; gap: 18px; padding: 45px 0 0; border-top: 1px solid var(--line); border-left: 0; }
  .album-deeper > p { display: none; }
  .deeper-link { margin-top: 0; }
  .album-credits-inner { grid-template-columns: 1fr; }
  .album-credits dl { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 800px) {
  .album-hero { grid-template-columns: 1fr; width: 100%; padding: 118px 24px 0; }
  .album-hero-copy { order: -1; }
  .album-hero-copy .breadcrumbs { margin-bottom: 42px; }
  .album-hero-cover { width: calc(100% + 48px); margin-left: -24px; border-radius: 0; box-shadow: none; }
  .album-listen-grid, .album-story-grid { grid-template-columns: 1fr; }
  .album-embed { order: 2; }
  .album-scripture { padding-inline: 0; }
  .track-row { grid-template-columns: 48px 1fr; }
  .track-actions { grid-column: 2; justify-content: flex-start; max-width: none; }
  .yahweh-feature { grid-template-columns: 1fr; }
  .yahweh-image { min-height: 480px; }
  .yahweh-copy { max-width: none; padding: 75px 24px; }
  .album-reflection-grid { grid-template-columns: 1fr; }
  .album-reflection-image { min-height: 520px; }
  .album-deeper { grid-column: auto; grid-template-columns: 1fr; }
  .album-deeper > p { display: block; }
  .album-credits dl { grid-template-columns: 1fr 1fr; }
  .album-next-grid { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
  .album-hero h1 { font-size: clamp(4.6rem, 21vw, 6rem); }
  .album-meta { line-height: 1.8; }
  .album-listen { padding-block: 75px; }
  .album-platforms { grid-template-columns: 1fr 1fr; }
  .album-embed { width: 100vw; margin-left: calc((100vw - 100%) / -2); border-radius: 0; }
  .album-story, .album-tracks, .album-reflection { padding-block: 78px; }
  .album-scripture blockquote { font-size: clamp(2.8rem, 12vw, 4rem); }
  .album-tracks-heading { align-items: flex-start; flex-direction: column; }
  .track-row { grid-template-columns: 38px 1fr; gap: 16px; padding-block: 26px; }
  .track-actions { gap: 10px 16px; }
  .yahweh-image { min-height: 350px; }
  .album-reflection-image { min-height: 430px; }
  .album-credits dl { grid-template-columns: 1fr 1fr; gap: 24px 18px; }
  .album-next-card { grid-template-columns: 118px 1fr; min-height: 118px; }
  .album-next-card > img, .album-next-duro { width: 118px; height: 118px; }
  .album-next-duro { font-size: 1.35rem; }
  .album-next-card > span:last-child { padding: 15px; }
  .album-next-card strong { margin: 7px 0 10px; font-size: 1.45rem; }
}

/* Yahweh */
.yahweh-page {
  --yahweh-gold: #d5ad63;
  --yahweh-deep: #17130e;
  --yahweh-charcoal: #11110f;
  background: #f8f4ec;
}
.yahweh-header { color: #fff; }
.yahweh-header.is-scrolled { color: var(--ink); }
.yahweh-header .site-nav a[aria-current="page"]::after { transform: scaleX(1); }
.yahweh-page .eyebrow { color: #ae8140; }
.yahweh-page .eyebrow-light { color: #dfbd7d; }
.yahweh-page .song-hero {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  width: 100%;
  min-height: 850px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: var(--yahweh-charcoal);
  color: #fff;
  isolation: isolate;
}
.yahweh-page .song-hero-media,
.yahweh-page .song-hero-shade { position: absolute; inset: 0; z-index: -2; }
.yahweh-page .song-hero-media { background: url('/assets/images/yahweh-video-hero.webp') center 46% / cover no-repeat; transform: scale(1.015); }
.yahweh-page .song-hero-shade {
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(8,7,5,.96) 0%, rgba(8,7,5,.86) 32%, rgba(8,7,5,.38) 58%, rgba(8,7,5,.2) 100%),
    linear-gradient(0deg, rgba(8,7,5,.5), transparent 50%);
}
.yahweh-page .song-hero-content { align-self: center; padding-top: 145px; padding-bottom: 85px; }
.yahweh-page .song-hero-content .breadcrumbs { margin-bottom: 55px; }
.breadcrumbs-light { color: rgba(255,255,255,.66); }
.breadcrumbs-light a { color: rgba(255,255,255,.8); }
.yahweh-page .song-hero h1 { max-width: 680px; margin-bottom: 12px; font-size: clamp(5.8rem, 9vw, 9.5rem); }
.song-artist { margin-bottom: 35px; color: var(--yahweh-gold); font-size: 1.15rem; font-weight: 750; }
.yahweh-page .song-hero-intro { max-width: 565px; color: rgba(255,255,255,.8); font-size: 1.02rem; }
.yahweh-page .song-hero-intro p { margin-bottom: 16px; }
.yahweh-page .song-hero-content .button-row { margin-top: 34px; }
.button-yahweh { background: var(--yahweh-gold); color: #17120b; }
.button-yahweh:hover { background: #e5c17c; }
.button-yahweh-dark { background: #3f3321; color: #fff; }
.button-yahweh-dark:hover { background: #241d14; }

.song-listen { background: #faf7f0; }
.song-section-heading { display: grid; grid-template-columns: .72fr 1.28fr; align-items: end; gap: 70px; margin-bottom: 45px; }
.song-section-heading h2 { margin-bottom: 12px; font-size: clamp(3.7rem, 5.8vw, 6.4rem); }
.song-section-heading p:not(.eyebrow) { margin-bottom: 0; color: #706b62; }
.song-platforms { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 18px 34px; padding-bottom: 8px; }
.song-platforms a { font-size: .72rem; font-weight: 750; text-decoration: none; }
.song-platforms a::before { content: "●"; margin-right: 8px; color: var(--yahweh-gold); font-size: .5rem; }
.song-platforms a:hover { color: #9a6e32; }
.song-embed { overflow: hidden; border-radius: 12px; background: #191816; box-shadow: 0 18px 55px rgba(37,27,14,.12); }
.song-embed iframe { display: block; border: 0; }
.song-album-link { display: inline-flex; gap: 8px; margin-top: 24px; color: #9c7139; font-size: .72rem; font-weight: 650; text-decoration: none; }
.song-album-link em { font-family: var(--serif); font-size: 1.05rem; }

.yahweh-page .song-story { background: #f4eee3; }
.yahweh-page .song-story-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(70px, 10vw, 165px); }
.yahweh-page .song-story-grid > *, .song-meaning-grid > *, .song-project > *, .song-reflection-grid > *, .song-credits-inner > * { min-width: 0; }
.yahweh-page .song-story-copy h2 { max-width: 670px; font-size: clamp(3.5rem, 5vw, 5.7rem); }
.yahweh-page .song-story-copy p:not(.eyebrow) { color: #59564e; }
.yahweh-page .song-scripture { padding: clamp(45px, 6vw, 85px); border-left: 1px solid rgba(93,70,40,.18); }
.yahweh-page .song-scripture blockquote { margin: 0; font-family: var(--serif); font-size: clamp(3rem, 4.6vw, 5.1rem); line-height: 1.16; letter-spacing: -.035em; text-wrap: balance; }
.yahweh-page .song-scripture blockquote::before { content: "“"; display: block; margin-bottom: 8px; color: var(--yahweh-gold); font-size: 6rem; line-height: .5; }
.yahweh-page .song-scripture cite { display: block; margin-top: 32px; color: #a37539; font-family: var(--sans); font-size: .64rem; font-style: normal; font-weight: 750; letter-spacing: .2em; text-transform: uppercase; }
.yahweh-page .song-scripture > p:last-child { max-width: 520px; margin: 45px 0 0; color: #6d685e; }

.song-video { padding: 115px 0 120px; background: #11110f; color: #fff; }
.song-video-heading { display: grid; grid-template-columns: .8fr 1.2fr; align-items: end; gap: 80px; margin-bottom: 55px; }
.song-video-heading .eyebrow { grid-column: 1 / -1; margin-bottom: -48px; }
.song-video-heading h2 { margin-bottom: 0; font-size: clamp(4.2rem, 7vw, 7.8rem); }
.song-video-heading > p { max-width: 540px; margin-bottom: 8px; color: rgba(255,255,255,.64); }
.song-video-poster { position: relative; display: block; width: 100%; aspect-ratio: 16 / 9; margin: 0; padding: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.16); border-radius: 3px; background: #090907; color: #fff; cursor: pointer; }
.song-video-poster::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(8,8,6,.5), transparent 58%); }
.song-video-poster img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.75) brightness(.78); transition: transform 700ms cubic-bezier(.2,.8,.2,1), filter 300ms ease; }
.song-video-poster:hover img { transform: scale(1.02); filter: saturate(.9) brightness(.88); }
.song-video-play { position: absolute; z-index: 2; top: 50%; left: 50%; display: grid; width: 90px; height: 90px; border-radius: 50%; background: rgba(246,239,226,.94); color: #171510; place-items: center; transform: translate(-50%,-50%); box-shadow: 0 18px 55px rgba(0,0,0,.3); }
.song-video-caption { position: absolute; z-index: 2; right: 28px; bottom: 24px; font-size: .62rem; font-weight: 750; letter-spacing: .15em; text-transform: uppercase; }
.song-video iframe { display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: 3px; background: #000; }
.song-video-footer { display: flex; align-items: center; justify-content: space-between; gap: 35px; margin-top: 30px; }
.song-video-footer p { max-width: 690px; margin-bottom: 0; color: rgba(255,255,255,.64); }

.song-meaning { background: #fbf8f2; }
.song-meaning-grid { display: grid; grid-template-columns: .84fr 1.16fr; align-items: center; gap: clamp(65px, 9vw, 140px); }
.song-meaning-copy h2 { font-size: clamp(3.8rem, 5.8vw, 6.3rem); }
.song-meaning-copy p:not(.eyebrow) { color: #58544c; }
.meaning-refrain, .reflection-refrain { color: #2c281f !important; font-family: var(--serif); font-size: clamp(1.7rem, 2.5vw, 2.5rem); font-weight: 700; line-height: 1.35; }
.song-project { display: grid; grid-template-columns: minmax(260px,.9fr) minmax(0,1.1fr); align-items: center; gap: clamp(35px, 5vw, 65px); padding: clamp(30px, 4vw, 55px); background: #eee6d8; }
.song-project img { align-self: center; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; box-shadow: 0 20px 55px rgba(72,48,20,.16); }
.song-project h2 { font-size: clamp(3rem, 4.5vw, 5rem); }
.song-project p:not(.eyebrow) { color: #625d54; }
.song-project .button-row { margin-top: 28px; gap: 14px 22px; }

.song-reflection { background: #f2ece2; }
.song-reflection-grid { display: grid; grid-template-columns: minmax(280px,.72fr) minmax(0,1.28fr); align-items: center; gap: clamp(65px, 10vw, 155px); }
.song-reflection-image { min-height: 690px; margin: 0; overflow: hidden; background: #211d18; }
.song-reflection-image img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.75) contrast(1.03); }
.song-reflection-copy { max-width: 700px; }
.song-reflection-copy h2 { font-size: clamp(3.7rem, 5.6vw, 6rem); }
.song-reflection-copy p:not(.eyebrow) { color: #5d5951; }
.reflection-refrain { margin-top: 34px; }

.yahweh-page .song-credits { padding: 65px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #ebe3d6; }
.song-credits-inner { display: grid; grid-template-columns: .38fr 1.62fr; align-items: end; gap: 70px; }
.yahweh-page .song-credits h2 { margin-bottom: 0; font-size: clamp(2.8rem, 4vw, 4.4rem); }
.yahweh-page .song-credits dl { display: grid; grid-template-columns: repeat(6, 1fr); gap: 24px; margin: 0; }
.yahweh-page .song-credits dt { color: #817568; font-size: .56rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.yahweh-page .song-credits dd { margin: 7px 0 0; font-size: .8rem; }

.song-next { background: #faf7f0; }
.song-next-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.song-next-card { display: grid; grid-template-columns: 132px 1fr; min-height: 132px; overflow: hidden; background: #eee7dc; text-decoration: none; }
.song-next-card > img, .song-next-duro { width: 132px; height: 132px; object-fit: cover; }
.song-next-duro { display: grid; background: linear-gradient(rgba(17,19,14,.2),rgba(17,19,14,.6)),url('/assets/images/journal-journey.webp') center/cover; color: #fff; font-family: var(--serif); font-size: 1.4rem; place-items: center; }
.song-next-card > span:last-child { display: flex; flex-direction: column; justify-content: center; padding: 20px; }
.song-next-card small { color: #9d743d; font-size: .54rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.song-next-card strong { margin: 7px 0 12px; font-family: var(--serif); font-size: 1.55rem; font-weight: 400; line-height: 1.05; }
.song-next-card em { font-size: .58rem; font-style: normal; font-weight: 750; letter-spacing: .11em; text-transform: uppercase; }
.song-next-card:hover em { color: #9c7139; }
.song-connection { background: #292519; }

@media (max-width: 1050px) {
  .song-section-heading { grid-template-columns: .6fr 1.4fr; }
  .yahweh-page .song-story-grid { gap: 60px; }
  .song-meaning-grid { grid-template-columns: 1fr; }
  .song-reflection-grid { gap: 70px; }
  .song-credits-inner { grid-template-columns: 1fr; }
  .yahweh-page .song-credits dl { grid-template-columns: repeat(3, 1fr); }
  .song-next-grid { grid-template-columns: 1fr; }
}

@media (max-width: 800px) {
  .yahweh-page .song-hero { min-height: 820px; }
  .yahweh-page .song-hero-media { background-position: 58% 48%; }
  .yahweh-page .song-hero-shade { background: linear-gradient(90deg,rgba(8,7,5,.93),rgba(8,7,5,.48)),linear-gradient(0deg,rgba(8,7,5,.72),transparent 65%); }
  .yahweh-page .song-hero-content { align-self: end; padding-top: 135px; padding-bottom: 72px; }
  .song-section-heading, .yahweh-page .song-story-grid, .song-video-heading, .song-reflection-grid { grid-template-columns: 1fr; }
  .song-section-heading { align-items: start; gap: 30px; }
  .song-platforms { justify-content: flex-start; }
  .yahweh-page .song-scripture { padding: 70px 0 0; border-top: 1px solid rgba(93,70,40,.18); border-left: 0; }
  .song-video-heading { align-items: start; gap: 15px; }
  .song-video-heading .eyebrow { grid-column: auto; margin-bottom: 5px; }
  .song-video-footer { align-items: flex-start; flex-direction: column; }
  .song-project { grid-template-columns: 1fr 1fr; }
  .song-reflection-image { min-height: 580px; }
  .yahweh-page .song-credits dl { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 520px) {
  .yahweh-page .song-hero { min-height: 790px; }
  .yahweh-page .song-hero-media { background-position: 61% center; }
  .yahweh-page .song-hero h1 { font-size: clamp(5rem, 25vw, 6.7rem); }
  .yahweh-page .song-hero-intro { font-size: .94rem; }
  .song-listen, .song-story, .song-meaning, .song-reflection, .song-next { padding-block: 78px; }
  .song-platforms { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
  .song-embed { width: 100vw; margin-left: calc((100vw - 100%) / -2); border-radius: 0; }
  .yahweh-page .song-scripture blockquote { font-size: clamp(2.8rem, 13vw, 4rem); }
  .song-video { padding-block: 80px; }
  .song-video-poster { width: 100vw; margin-left: calc((100vw - 100%) / -2); border-inline: 0; border-radius: 0; }
  .song-video-play { width: 68px; height: 68px; }
  .song-video-caption { display: none; }
  .song-project { grid-template-columns: 1fr; width: 100vw; margin-left: calc((100vw - 100%) / -2); padding: 24px; }
  .song-reflection-image { min-height: 520px; }
  .yahweh-page .song-credits dl { grid-template-columns: 1fr 1fr; gap: 24px 18px; }
  .song-next-card { grid-template-columns: 112px 1fr; min-height: 112px; }
  .song-next-card > img, .song-next-duro { width: 112px; height: 112px; }
  .song-next-card > span:last-child { padding: 14px; }
  .song-next-card strong { margin-bottom: 8px; font-size: 1.35rem; }
}

/* Journal */
.journal-page { background: #f8f5ee; }
.journal-header { color: var(--ink); }
.journal-header .site-nav a[aria-current="page"]::after { transform: scaleX(1); }
.journal-page .eyebrow { color: #997044; }

.journal-hero {
  display: grid;
  grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);
  align-items: stretch;
  width: min(1440px, 100%);
  min-height: 960px;
  margin-inline: auto;
  padding-top: 90px;
  background: #fbf8f2;
}
.journal-hero-copy { align-self: center; max-width: 650px; padding: 70px clamp(45px,5vw,80px); }
.journal-hero-copy h1 { margin-bottom: 34px; font-size: clamp(4rem,5.3vw,6.2rem); }
.journal-hero-copy > p:not(.eyebrow) { max-width: 560px; color: #514e47; }
.journal-hero-image { position: relative; min-width: 0; min-height: 960px; margin: 0; overflow: hidden; }
.journal-hero-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 55% center; filter: saturate(.65); }

.journal-featured { padding-block: 88px; border-top: 1px solid var(--line); background: #f4efe6; }
.journal-featured-grid { display: grid; gap: 62px; }
.journal-featured-copy { display: grid; grid-template-columns: minmax(320px,.78fr) minmax(0,1.22fr); align-items: start; gap: clamp(65px,9vw,140px); }
.journal-featured-lead { max-width: 520px; }
.journal-featured-body { max-width: 640px; padding-top: 5px; }
.journal-featured-copy h2 { font-size: clamp(4rem,5.7vw,6.2rem); }
.journal-featured-copy p { color: #555149; }
.journal-featured-copy blockquote { margin: 26px 0; padding-left: 24px; border-left: 2px solid #b18349; font-family: var(--serif); font-size: 1.5rem; font-style: italic; }
.journal-standfirst { color: var(--ink) !important; font-family: var(--serif); font-size: 1.5rem; line-height: 1.42; }
.journal-featured-image { display: block; height: 500px; overflow: hidden; }
.journal-featured-image img { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.7); transition: transform 650ms cubic-bezier(.2,.8,.2,1); }
.journal-featured-image:hover img { transform: scale(1.02); }

.journal-latest { background: #fcfaf5; }
.journal-section-heading { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 80px; margin-bottom: 60px; }
.journal-section-heading h2 { margin-bottom: 0; font-size: clamp(3.5rem,5vw,5.4rem); }
.journal-section-heading > p, .journal-section-heading > div:last-child { max-width: 520px; margin-bottom: 5px; color: #615e56; }
.journal-section-heading > div:last-child p { margin-bottom: 10px; }
.journal-latest-grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--line); }
.journal-entry { min-width: 0; padding: 34px 34px 42px; border-right: 1px solid var(--line); }
.journal-entry:first-child { padding-left: 0; }
.journal-entry:last-child { padding-right: 0; border-right: 0; }
.journal-entry img { width: 100%; height: auto; aspect-ratio: 1.45; margin-bottom: 28px; object-fit: cover; filter: saturate(.7); }
.journal-entry h3 { margin-bottom: 20px; font-size: clamp(2rem,2.8vw,3rem); }
.journal-entry p { color: #5c5952; }
.journal-entry .text-link { margin-top: 8px; }

.journal-themes { padding-top: 85px; border-top: 1px solid var(--line); background: #f8f5ee; }
.journal-themes h2 { margin-bottom: 52px; font-size: clamp(3rem,4vw,4.4rem); }
.journal-theme-grid { display: grid; grid-template-columns: repeat(5,1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.journal-theme-grid a { min-width: 0; padding: 35px 25px 40px; border-right: 1px solid var(--line); text-align: center; text-decoration: none; }
.journal-theme-grid a:first-child { padding-left: 0; }
.journal-theme-grid a:last-child { padding-right: 0; border-right: 0; }
.journal-theme-grid span { color: #a27a48; font-family: var(--serif); font-size: 1.2rem; }
.journal-theme-grid h3 { margin: 20px 0 13px; font-size: 1.65rem; }
.journal-theme-grid p { margin-bottom: 0; color: #625f57; font-size: .86rem; }
.journal-theme-grid a:hover h3 { color: #9a6e39; }

.journal-scripture { display: grid; min-height: 380px; padding: 90px max(24px,calc((100vw - 1180px)/2)); background: #181812; color: #fff; place-content: center start; }
.journal-scripture blockquote { max-width: 900px; margin: 0 0 25px; font-family: var(--serif); font-size: clamp(3.2rem,5.5vw,6rem); line-height: 1.12; letter-spacing: -.035em; text-wrap: balance; }
.journal-scripture cite { color: #d8b06f; font-size: .68rem; font-style: normal; font-weight: 750; letter-spacing: .2em; text-transform: uppercase; }

.journal-music { background: #fbf8f2; }
.journal-music-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 0; border-top: 1px solid var(--line); }
.journal-music-card { min-width: 0; padding: 30px; border-right: 1px solid var(--line); text-decoration: none; }
.journal-music-card:first-child { padding-left: 0; }
.journal-music-card:last-child { padding-right: 0; border-right: 0; }
.journal-music-card img, .journal-duro-art { width: 100%; aspect-ratio: 1.35; margin-bottom: 24px; object-fit: cover; }
.journal-music-card img { height: auto; }
.journal-duro-art { position: relative; display: grid; overflow: hidden; background: #777 url('/assets/images/journal-journey.webp') center/cover no-repeat; color: #fff; font-family: var(--serif); font-size: 2rem; place-items: center; isolation: isolate; }
.journal-duro-art::before { position: absolute; z-index: -1; inset: 0; content: ""; background: rgba(17,16,12,.48); }
.journal-music-card h3 { margin-bottom: 10px; font-size: 2rem; }
.journal-music-card p { min-height: 56px; color: #625f57; }
.journal-music-card > span:last-child { font-size: .62rem; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }
.journal-music-card:hover > span:last-child { color: #9a6e39; }

.journal-note { border-top: 1px solid var(--line); background: #f3eee5; }
.journal-note-grid { display: grid; grid-template-columns: minmax(320px,.8fr) minmax(0,1.2fr); align-items: center; gap: clamp(70px,10vw,160px); }
.journal-note-image { min-height: 660px; margin: 0; overflow: hidden; }
.journal-note-image img { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.7); }
.journal-note-copy { max-width: 700px; }
.journal-note-copy h2 { font-size: clamp(4rem,5.7vw,6.1rem); }
.journal-note-copy p { color: #555149; }
.journal-signature { width: 210px; height: auto; margin-top: 24px; filter: invert(1); }

.journal-follow { padding: 72px 0; background: #29301f; color: #fff; }
.journal-follow-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 80px; }
.journal-follow h2 { margin-bottom: 15px; font-size: clamp(3rem,4.5vw,5rem); }
.journal-follow p:not(.eyebrow) { max-width: 530px; margin-bottom: 0; color: rgba(255,255,255,.7); }
.journal-follow-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 16px; }

@media (max-width: 1050px) {
  .journal-hero { grid-template-columns: 1fr 1fr; }
  .journal-hero-copy { padding-inline: 48px; }
  .journal-featured-copy { gap: 55px; }
  .journal-theme-grid { grid-template-columns: repeat(3,1fr); }
  .journal-theme-grid a:nth-child(3) { border-right: 0; }
  .journal-theme-grid a:nth-child(n+4) { border-top: 1px solid var(--line); }
  .journal-theme-grid a:first-child, .journal-theme-grid a:last-child { padding-inline: 25px; }
  .journal-music-grid { grid-template-columns: 1fr 1fr; }
  .journal-music-card:nth-child(2) { border-right: 0; }
  .journal-music-card:nth-child(n+3) { border-top: 1px solid var(--line); }
  .journal-music-card:first-child, .journal-music-card:last-child { padding-inline: 30px; }
  .journal-note-grid { gap: 70px; }
}

@media (max-width: 800px) {
  .journal-hero { grid-template-columns: 1fr; min-height: 0; padding-top: 88px; }
  .journal-hero-copy { max-width: none; padding: 85px 24px 70px; }
  .journal-hero-image { min-height: 480px; }
  .journal-featured-copy, .journal-section-heading, .journal-note-grid, .journal-follow-grid { grid-template-columns: 1fr; }
  .journal-featured-grid, .journal-note-grid { gap: 55px; }
  .journal-featured-copy { gap: 35px; }
  .journal-featured-image { height: 420px; }
  .journal-section-heading { align-items: start; gap: 25px; }
  .journal-latest-grid { grid-template-columns: 1fr; }
  .journal-entry, .journal-entry:first-child, .journal-entry:last-child { padding: 38px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .journal-entry:last-child { border-bottom: 0; }
  .journal-theme-grid { grid-template-columns: 1fr 1fr; }
  .journal-theme-grid a, .journal-theme-grid a:first-child, .journal-theme-grid a:last-child { padding: 30px 18px; border-top: 1px solid var(--line); }
  .journal-theme-grid a:nth-child(even) { border-right: 0; }
  .journal-theme-grid a:first-child, .journal-theme-grid a:nth-child(2) { border-top: 0; }
  .journal-theme-grid a:nth-child(3) { border-right: 1px solid var(--line); }
  .journal-note-image { min-height: 520px; }
  .journal-follow-actions { justify-content: flex-start; }
}

@media (max-width: 520px) {
  .journal-hero-copy h1 { font-size: clamp(3.15rem,13vw,3.7rem); }
  .journal-hero-image { min-height: 330px; }
  .journal-featured, .journal-latest, .journal-themes, .journal-music, .journal-note { padding-block: 78px; }
  .journal-featured-image { width: 100vw; height: 300px; margin-left: calc((100vw - 100%)/-2); }
  .journal-latest-grid { border-top: 0; }
  .journal-entry { padding-top: 30px; }
  .journal-theme-grid { grid-template-columns: 1fr; }
  .journal-theme-grid a, .journal-theme-grid a:nth-child(3) { border-top: 1px solid var(--line); border-right: 0; }
  .journal-theme-grid a:first-child { border-top: 0; }
  .journal-scripture { min-height: 420px; padding-block: 80px; }
  .journal-scripture blockquote { font-size: clamp(3rem,14vw,4.2rem); }
  .journal-music-grid { grid-template-columns: 1fr; border-top: 0; }
  .journal-music-card, .journal-music-card:first-child, .journal-music-card:last-child { padding: 30px 0; border-top: 1px solid var(--line); border-right: 0; }
  .journal-music-card p { min-height: 0; }
  .journal-note-image { width: 100vw; min-height: 480px; margin-left: calc((100vw - 100%)/-2); }
  .journal-follow-actions { align-items: stretch; flex-direction: column; }
}

/* Worship and ministry */
.ministry-page { background: #f7f3eb; }
.ministry-page .eyebrow { color: #9b733d; }
.ministry-header .site-nav a[aria-current="page"]::after { transform: scaleX(1); }
.ministry-header.is-scrolled .brand-lockup-header img { filter: none; }

.ministry-hero {
  position: relative;
  display: grid;
  min-height: 940px;
  overflow: hidden;
  color: #fff;
  isolation: isolate;
}
.ministry-hero-media, .ministry-hero-shade { position: absolute; inset: 0; z-index: -2; }
.ministry-hero-media { background: url('/assets/images/ministry-live-hero.webp') center center / cover no-repeat; transform: scale(1.015); }
.ministry-hero-shade { z-index: -1; background: linear-gradient(90deg,rgba(6,7,5,.97) 0%,rgba(6,7,5,.84) 39%,rgba(6,7,5,.18) 75%,rgba(6,7,5,.22)),linear-gradient(0deg,rgba(6,7,5,.72),transparent 60%); }
.ministry-hero-content { align-self: end; padding-top: 150px; padding-bottom: clamp(75px,9vw,125px); }
.ministry-hero-content .breadcrumbs { margin-bottom: 66px; }
.ministry-hero h1 { max-width: 750px; margin-bottom: 30px; font-size: clamp(4.6rem,7.2vw,8.4rem); line-height: .9; }
.ministry-hero h1 em { color: #d8af62; font-weight: 400; }
.ministry-hero-intro { max-width: 610px; color: rgba(255,255,255,.82); }
.ministry-hero-intro p { margin-bottom: 12px; }
.ministry-hero .button-row { margin-top: 35px; }
.button-ministry { background: #d3ab61; color: #18140c; }
.button-ministry:hover { background: #e3c27f; }

.ministry-heart { background: #fbf8f2; }
.ministry-heart-grid { display: grid; grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr); align-items: center; gap: clamp(70px,10vw,155px); }
.ministry-heart-copy { max-width: 600px; }
.ministry-heart-copy h2 { font-size: clamp(4rem,6vw,6.7rem); }
.ministry-heart-copy p:not(.eyebrow) { color: #56534c; }
.ministry-scripture { position: relative; display: grid; min-height: 540px; padding: clamp(55px,7vw,100px); overflow: hidden; color: #fff; place-content: center; isolation: isolate; }
.ministry-scripture::before, .ministry-scripture::after { position: absolute; inset: 0; z-index: -2; content: ""; }
.ministry-scripture::before { background: url('/assets/images/yahweh-reflection.webp') center 37% / cover no-repeat; filter: saturate(.55); }
.ministry-scripture::after { z-index: -1; background: linear-gradient(90deg,rgba(9,9,7,.92),rgba(9,9,7,.58)); }
.ministry-scripture blockquote { max-width: 760px; margin: 0; font-family: var(--serif); font-size: clamp(3rem,4.8vw,5.4rem); line-height: 1.08; letter-spacing: -.035em; text-wrap: balance; }
.ministry-scripture blockquote::before { display: block; margin-bottom: 10px; color: #d8af62; content: "“"; font-size: 6rem; line-height: .45; }
.ministry-scripture cite { margin-top: 28px; color: #dbb76f; font-size: .68rem; font-style: normal; font-weight: 750; letter-spacing: .2em; text-transform: uppercase; }

.ministry-gatherings { border-top: 1px solid var(--line); background: #f4efe6; }
.ministry-section-heading { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 90px; margin-bottom: 70px; }
.ministry-section-heading h2 { max-width: 600px; margin-bottom: 0; font-size: clamp(4rem,6vw,6.5rem); }
.ministry-section-heading > p { max-width: 500px; margin-bottom: 8px; color: #5e5a52; }
.ministry-gathering-list { border-top: 1px solid var(--line); }
.ministry-gathering-list article { display: grid; grid-template-columns: 90px minmax(0,1fr); padding: 34px 0; border-bottom: 1px solid var(--line); }
.ministry-gathering-list article > span { color: #a47c45; font-family: var(--serif); font-size: 1.25rem; }
.ministry-gathering-list article > div { display: grid; grid-template-columns: minmax(240px,.55fr) minmax(0,1.45fr); gap: 70px; }
.ministry-gathering-list h3 { margin: 0; font-size: clamp(2.2rem,3vw,3.3rem); }
.ministry-gathering-list p { max-width: 660px; margin: 4px 0 0; color: #5c5851; }

.ministry-approach { background: #fcfaf5; }
.ministry-approach-grid { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: clamp(70px,11vw,170px); }
.ministry-approach-intro h2 { font-size: clamp(4rem,6vw,6.5rem); }
.ministry-approach-intro > p:last-child { max-width: 520px; color: #5e5a52; }
.ministry-questions ol { margin: 0 0 42px; padding: 0; list-style: none; counter-reset: questions; }
.ministry-questions li { display: grid; grid-template-columns: 48px 1fr; gap: 15px; padding: 22px 0; border-bottom: 1px solid var(--line); font-family: var(--serif); font-size: clamp(1.55rem,2.4vw,2.4rem); line-height: 1.23; counter-increment: questions; }
.ministry-questions li::before { margin-top: 4px; color: #a27a42; content: counter(questions,decimal-leading-zero); font-family: var(--sans); font-size: .63rem; font-weight: 750; letter-spacing: .12em; }
.ministry-questions > p { max-width: 680px; color: #57534c; }

.ministry-watch { padding: 115px 0; background: #11120f; color: #fff; }
.ministry-watch-heading { display: grid; grid-template-columns: 1.2fr .8fr; align-items: end; gap: 90px; margin-bottom: 55px; }
.ministry-watch-heading h2 { max-width: 780px; margin-bottom: 0; font-size: clamp(4.3rem,7vw,7.7rem); }
.ministry-watch-heading > p { max-width: 490px; margin-bottom: 9px; color: rgba(255,255,255,.66); }
.ministry-watch-actions { display: flex; align-items: center; gap: 30px; margin-top: 30px; }

.ministry-music { background: #f7f3eb; }
.ministry-music-intro { display: grid; grid-template-columns: .7fr 1.3fr; gap: 30px 90px; margin-bottom: 65px; }
.ministry-music-intro > .eyebrow { grid-column: 1 / -1; margin-bottom: -10px; }
.ministry-music-intro h2 { max-width: 650px; margin-bottom: 0; font-size: clamp(4rem,6vw,6.5rem); }
.ministry-music-intro > div { max-width: 660px; color: #5d5951; }
.ministry-music-grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--line); }
.ministry-music-card { min-width: 0; padding: 35px; border-right: 1px solid var(--line); text-decoration: none; }
.ministry-music-card:first-child { padding-left: 0; }
.ministry-music-card:last-child { padding-right: 0; border-right: 0; }
.ministry-music-card img { width: 100%; height: auto; aspect-ratio: 1.25; margin-bottom: 28px; object-fit: cover; filter: saturate(.78); transition: transform 650ms cubic-bezier(.2,.8,.2,1),filter 250ms ease; }
.ministry-music-card:hover img { transform: scale(1.015); filter: saturate(1); }
.ministry-music-card h3 { margin-bottom: 12px; font-size: 2.2rem; }
.ministry-music-card p { min-height: 80px; color: #5d5951; }
.ministry-music-card span { font-size: .62rem; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }

.ministry-invite { background: #29301f; color: #fff; }
.ministry-invite .wrap { width: min(1480px,calc(100vw - 64px)); }
.ministry-invite-grid { display: grid; grid-template-columns: 1fr; gap: clamp(55px,7vw,90px); }
.ministry-invite-copy { display: grid; grid-template-columns: minmax(0,.88fr) minmax(400px,1.12fr); align-items: end; gap: 25px clamp(70px,10vw,150px); }
.ministry-invite-copy .eyebrow { grid-column: 1 / -1; margin-bottom: 0; }
.ministry-invite-copy h2 { max-width: 720px; margin-bottom: 0; font-size: clamp(4rem,5.2vw,6.1rem); }
.ministry-invite-copy > div { max-width: 680px; }
.ministry-invite-copy p:not(.eyebrow) { color: rgba(255,255,255,.7); }
.ministry-invite-copy > div p:last-child { margin-bottom: 0; }
.ministry-invite-form { display: grid; gap: 40px; width: 100%; padding: clamp(38px,4.5vw,68px); border-top: 1px solid rgba(255,255,255,.22); border-bottom: 1px solid rgba(255,255,255,.22); background: rgba(255,255,255,.035); }
.ministry-invite-form fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.ministry-invite-form legend { width: 100%; margin-bottom: 22px; padding-bottom: 12px; border-bottom: 1px solid rgba(255,255,255,.16); color: #d9b66f; font-size: .68rem; font-weight: 750; letter-spacing: .18em; text-transform: uppercase; }
.ministry-form-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.ministry-invite-form fieldset:first-child .ministry-form-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
.ministry-form-more > div { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.ministry-invite-form label { display: block; margin-bottom: 18px; }
.ministry-invite-form label > span { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 8px; color: rgba(255,255,255,.72); font-size: .68rem; letter-spacing: .08em; }
.ministry-invite-form label small { color: rgba(255,255,255,.42); font-size: inherit; font-weight: 400; }
.ministry-invite-form input, .ministry-invite-form select, .ministry-invite-form textarea { width: 100%; border: 1px solid rgba(255,255,255,.24); border-radius: 0; outline: 0; background: rgba(255,255,255,.035); color: #fff; font: inherit; }
.ministry-invite-form input, .ministry-invite-form select { height: 49px; padding: 0 13px; }
.ministry-invite-form textarea { min-height: 120px; padding: 13px; resize: vertical; }
.ministry-invite-form select { color-scheme: dark; }
.ministry-invite-form input:focus, .ministry-invite-form select:focus, .ministry-invite-form textarea:focus { border-color: #d9b66f; box-shadow: 0 0 0 1px #d9b66f; }
.ministry-form-submit { display: flex; align-items: center; gap: 24px; }
.ministry-form-submit p { max-width: 380px; margin: 0; color: rgba(255,255,255,.55); font-size: .74rem; line-height: 1.5; }
.ministry-form-submit p a { color: rgba(255,255,255,.83); }
.ministry-form-submit button:disabled { cursor: wait; opacity: .6; }
.ministry-form-status.is-success { color: #b9ddb6; }
.ministry-form-status.is-error { color: #ffb8ae; }
.form-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

.ministry-note { border-top: 1px solid var(--line); background: #eee7dc; }
.ministry-note-grid { display: grid; grid-template-columns: minmax(320px,.82fr) minmax(0,1.18fr); align-items: center; gap: clamp(70px,10vw,155px); }
.ministry-note-image { min-height: 670px; margin: 0; overflow: hidden; }
.ministry-note-image img { width: 100%; height: 100%; object-fit: cover; object-position: 56% center; filter: saturate(.7); }
.ministry-note-copy { max-width: 700px; }
.ministry-note-copy h2 { font-size: clamp(4rem,6vw,6.5rem); }
.ministry-note-copy p:not(.eyebrow) { color: #56524b; }
.ministry-signature { width: 210px; height: auto; margin-top: 24px; filter: invert(1); }

.ministry-final { position: relative; display: grid; min-height: 650px; overflow: hidden; color: #fff; place-items: center; isolation: isolate; }
.ministry-final-media, .ministry-final-shade { position: absolute; inset: 0; z-index: -2; }
.ministry-final-media { background: url('/assets/images/ministry-live-gathering.webp') center 48% / cover no-repeat; transform: scale(1.01); }
.ministry-final-shade { z-index: -1; background: linear-gradient(90deg,rgba(6,7,5,.88),rgba(6,7,5,.47),rgba(6,7,5,.62)); }
.ministry-final-copy { padding-block: 110px; text-align: center; }
.ministry-final-copy h2 { margin-bottom: 14px; font-size: clamp(4.5rem,8vw,9rem); }
.ministry-final-copy > p:not(.eyebrow) { margin-bottom: 35px; color: rgba(255,255,255,.78); font-family: var(--serif); font-size: 1.6rem; }

@media (max-width: 1050px) {
  .ministry-hero { min-height: 900px; }
  .ministry-heart-grid { gap: 65px; }
  .ministry-gathering-list article > div { gap: 40px; }
  .ministry-music-intro { grid-template-columns: 1fr 1fr; gap: 60px; }
  .ministry-invite .wrap { width: min(1180px,calc(100vw - 48px)); }
  .ministry-invite-grid { gap: 60px; }
  .ministry-invite-copy { grid-template-columns: 1fr 1fr; gap: 50px; }
  .ministry-invite-form fieldset:first-child .ministry-form-grid { grid-template-columns: 1fr 1fr; }
  .ministry-note-grid { gap: 70px; }
}

@media (max-width: 800px) {
  .ministry-hero { min-height: 850px; }
  .ministry-hero-media { background-position: 52% center; }
  .ministry-hero-shade { background: linear-gradient(90deg,rgba(6,7,5,.92),rgba(6,7,5,.46)),linear-gradient(0deg,rgba(6,7,5,.75),transparent 66%); }
  .ministry-hero-content .breadcrumbs { margin-bottom: 42px; }
  .ministry-hero h1 { font-size: clamp(4rem,14vw,6.4rem); }
  .ministry-heart-grid, .ministry-section-heading, .ministry-approach-grid, .ministry-watch-heading, .ministry-music-intro, .ministry-invite-grid, .ministry-note-grid { grid-template-columns: 1fr; }
  .ministry-invite .wrap { width: var(--wrap); }
  .ministry-invite-copy { grid-template-columns: 1fr; gap: 28px; }
  .ministry-invite-copy .eyebrow { grid-column: auto; }
  .ministry-form-grid { grid-template-columns: 1fr 1fr; }
  .ministry-heart-grid, .ministry-invite-grid, .ministry-note-grid { gap: 55px; }
  .ministry-scripture { min-height: 500px; }
  .ministry-section-heading, .ministry-watch-heading, .ministry-music-intro { align-items: start; gap: 28px; }
  .ministry-gathering-list article > div { grid-template-columns: 1fr; gap: 12px; }
  .ministry-watch-actions { align-items: flex-start; flex-direction: column; }
  .ministry-music-intro > .eyebrow { grid-column: auto; margin-bottom: 0; }
  .ministry-music-grid { grid-template-columns: 1fr; border-top: 0; }
  .ministry-music-card, .ministry-music-card:first-child, .ministry-music-card:last-child { display: grid; grid-template-columns: 200px 1fr; gap: 28px; padding: 30px 0; border-top: 1px solid var(--line); border-right: 0; }
  .ministry-music-card img { margin-bottom: 0; }
  .ministry-music-card p { min-height: 0; }
  .ministry-note-image { min-height: 560px; }
}

@media (max-width: 520px) {
  .ministry-hero { min-height: 810px; }
  .ministry-hero-media { background-position: 51% center; }
  .ministry-hero h1 { font-size: clamp(3.8rem,16vw,5rem); }
  .ministry-hero-intro { font-size: .88rem; line-height: 1.55; }
  .ministry-heart, .ministry-gatherings, .ministry-approach, .ministry-music, .ministry-invite, .ministry-note { padding-block: 78px; }
  .ministry-scripture { width: 100vw; min-height: 470px; margin-left: calc((100vw - 100%)/-2); padding-inline: 24px; }
  .ministry-scripture blockquote { font-size: clamp(2.8rem,13vw,4rem); }
  .ministry-gathering-list article { grid-template-columns: 42px 1fr; }
  .ministry-watch { padding-block: 80px; }
  .ministry-watch-heading h2 { font-size: clamp(3.5rem,14vw,4.7rem); }
  .ministry-music-card, .ministry-music-card:first-child, .ministry-music-card:last-child { grid-template-columns: 112px 1fr; gap: 18px; }
  .ministry-music-card h3 { font-size: 1.65rem; }
  .ministry-music-card p { font-size: .82rem; }
  .ministry-invite-form { width: 100vw; margin-left: calc((100vw - 100%)/-2); padding-inline: 24px; border-inline: 0; }
  .ministry-form-grid, .ministry-invite-form fieldset:first-child .ministry-form-grid, .ministry-form-more > div { grid-template-columns: 1fr; gap: 0; }
  .ministry-form-submit { align-items: stretch; flex-direction: column; }
  .ministry-note-image { width: 100vw; min-height: 480px; margin-left: calc((100vw - 100%)/-2); }
  .ministry-final { min-height: 570px; }
  .ministry-final-media { background-position: 50% center; }
  .ministry-final-copy h2 { font-size: clamp(4rem,17vw,5.6rem); }
}

/* Events */
.events-page { background: #f7f3eb; }
.events-page .eyebrow { color: #9b733d; }
.events-header.is-scrolled .brand-lockup-header img { filter: none; }

.events-hero { position: relative; display: grid; min-height: 900px; overflow: hidden; color: #fff; isolation: isolate; }
.events-hero-media, .events-hero-shade { position: absolute; inset: 0; z-index: -2; }
.events-hero-media { background: url('/assets/images/ministry-live-hero.webp') center 48% / cover no-repeat; transform: scale(1.015); }
.events-hero-shade { z-index: -1; background: linear-gradient(90deg,rgba(5,6,4,.98) 0%,rgba(5,6,4,.88) 35%,rgba(5,6,4,.24) 68%,rgba(5,6,4,.18)),linear-gradient(0deg,rgba(5,6,4,.75),transparent 58%); }
.events-hero-content { align-self: end; padding-top: 150px; padding-bottom: clamp(80px,9vw,125px); }
.events-hero-content .breadcrumbs { margin-bottom: 65px; }
.events-hero h1 { max-width: 650px; margin-bottom: 30px; font-size: clamp(4.8rem,7.5vw,8.5rem); line-height: .9; }
.events-hero-intro { max-width: 590px; margin-bottom: 36px; color: rgba(255,255,255,.8); }
.events-hero-intro p { margin-bottom: 12px; }

.events-upcoming { border-bottom: 1px solid var(--line); background: #fbf8f2; }
.events-upcoming-grid { display: grid; grid-template-columns: minmax(0,.85fr) minmax(430px,1.15fr); align-items: center; gap: clamp(70px,11vw,170px); }
.events-upcoming-heading h2 { max-width: 650px; margin-bottom: 0; font-size: clamp(4.2rem,6.6vw,7.4rem); line-height: .92; }
.events-empty { padding: clamp(45px,5vw,72px); border-left: 1px solid var(--line); background: #f2ece2; }
.events-empty-mark { display: block; margin-bottom: 28px; color: #b68b4d; font-family: var(--serif); font-size: 3.5rem; line-height: 1; }
.events-empty .lead { max-width: 650px; margin-bottom: 22px; font-size: clamp(1.7rem,2.5vw,2.5rem); line-height: 1.3; }
.events-empty > p:not(.lead) { max-width: 570px; margin-bottom: 32px; color: #5b574f; }

.events-moments { background: #f7f3eb; }
.events-moments-heading { display: grid; grid-template-columns: 1.2fr .8fr; align-items: end; gap: 90px; margin-bottom: 58px; }
.events-moments-heading h2 { max-width: 760px; margin-bottom: 0; font-size: clamp(4.2rem,6.6vw,7rem); }
.events-moments-heading > p { max-width: 500px; margin-bottom: 9px; color: #5d5951; }
.events-moment-grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(320px,.65fr); width: min(1420px,calc(100vw - 48px)); margin-inline: auto; gap: 20px; }
.events-moment { position: relative; min-height: 540px; margin: 0; overflow: hidden; background: #171814; color: #fff; }
.events-moment img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.78); transition: transform 750ms cubic-bezier(.2,.8,.2,1),filter 300ms ease; }
.events-moment-wide img { object-position: 48% center; }
.events-moment:not(.events-moment-wide) img { object-position: 67% center; }
.events-moment::after { position: absolute; inset: 0; content: ""; background: linear-gradient(0deg,rgba(4,5,3,.82),transparent 50%); pointer-events: none; }
.events-moment:hover img { transform: scale(1.018); filter: saturate(1); }
.events-moment figcaption { position: absolute; z-index: 1; right: 35px; bottom: 30px; left: 35px; }
.events-moment figcaption strong, .events-moment figcaption span { display: block; }
.events-moment figcaption strong { font-family: var(--serif); font-size: clamp(1.9rem,2.8vw,3rem); font-weight: 400; line-height: 1.05; }
.events-moment figcaption span { margin-top: 8px; color: rgba(255,255,255,.67); font-size: .68rem; letter-spacing: .11em; text-transform: uppercase; }

.events-gallery { display: grid; grid-template-columns: 1fr 1.18fr 1fr; min-height: 440px; background: #11120f; }
.events-gallery-panel { min-height: 440px; background-repeat: no-repeat; background-size: cover; filter: saturate(.68); }
.events-gallery-one { background-image: linear-gradient(rgba(8,9,6,.18),rgba(8,9,6,.18)),url('/assets/images/ministry-live-gathering.webp'); background-position: 8% center; }
.events-gallery-two { background-image: linear-gradient(rgba(8,9,6,.12),rgba(8,9,6,.12)),url('/assets/images/ministry-live-hero.webp'); background-position: 50% center; }
.events-gallery-three { background-image: linear-gradient(rgba(8,9,6,.2),rgba(8,9,6,.2)),url('/assets/images/ministry-live-gathering.webp'); background-position: 93% center; }

.events-bridge { padding-block: 0; background: #f7f3eb; }
.events-bridge-grid { display: grid; grid-template-columns: 1fr 1fr; width: 100%; max-width: none; }
.events-host, .events-follow { min-height: 570px; padding: clamp(70px,8vw,125px) max(24px,calc((100vw - 1180px)/2)); }
.events-host { padding-right: clamp(55px,7vw,115px); }
.events-follow { padding-left: clamp(55px,7vw,115px); background: #29301f; color: #fff; }
.events-host h2, .events-follow h2 { max-width: 600px; font-size: clamp(3.8rem,5.5vw,6rem); }
.events-host > p:not(.eyebrow), .events-follow > p:not(.eyebrow) { max-width: 610px; margin-bottom: 32px; }
.events-host > p:not(.eyebrow) { color: #5b574f; }
.events-follow > p:not(.eyebrow) { color: rgba(255,255,255,.67); }

@media (max-width: 1050px) {
  .events-hero { min-height: 850px; }
  .events-upcoming-grid { gap: 70px; }
  .events-moment-grid { grid-template-columns: 1.15fr .85fr; }
  .events-host, .events-follow { padding-inline: 48px; }
}

@media (max-width: 800px) {
  .events-hero { min-height: 820px; }
  .events-hero-media { background-position: 54% center; }
  .events-hero-shade { background: linear-gradient(90deg,rgba(5,6,4,.94),rgba(5,6,4,.5)),linear-gradient(0deg,rgba(5,6,4,.78),transparent 66%); }
  .events-hero-content .breadcrumbs { margin-bottom: 42px; }
  .events-upcoming-grid, .events-moments-heading, .events-bridge-grid { grid-template-columns: 1fr; }
  .events-upcoming-grid, .events-moments-heading { align-items: start; gap: 38px; }
  .events-empty { border-top: 1px solid var(--line); border-left: 0; }
  .events-moment-grid { grid-template-columns: 1fr; }
  .events-moment { min-height: 470px; }
  .events-gallery { grid-template-columns: 1fr 1fr; }
  .events-gallery-three { display: none; }
  .events-host, .events-follow { min-height: 0; padding: 85px 48px; }
}

@media (max-width: 520px) {
  .events-hero { min-height: 790px; }
  .events-hero-media { background-position: 57% center; }
  .events-hero h1 { font-size: clamp(4rem,16vw,5.2rem); }
  .events-hero-intro { font-size: .88rem; line-height: 1.55; }
  .events-upcoming, .events-moments { padding-block: 78px; }
  .events-upcoming-heading h2, .events-moments-heading h2 { font-size: clamp(3.6rem,14vw,4.6rem); }
  .events-empty { width: 100vw; margin-left: calc((100vw - 100%)/-2); padding: 42px 24px; }
  .events-moment-grid { width: 100%; gap: 0; }
  .events-moment { min-height: 390px; }
  .events-moment + .events-moment { border-top: 1px solid rgba(255,255,255,.18); }
  .events-moment figcaption { right: 24px; bottom: 24px; left: 24px; }
  .events-gallery { grid-template-columns: 1fr; }
  .events-gallery-panel { min-height: 320px; }
  .events-gallery-two { display: none; }
  .events-host, .events-follow { padding: 78px 24px; }
  .events-host h2, .events-follow h2 { font-size: clamp(3.4rem,14vw,4.5rem); }
}

/* Contact */
.contact-page { background: #f8f5ee; }
.contact-header { color: var(--ink); }
.contact-header .brand-lockup-header img { filter: none; }
.contact-header .site-nav a[aria-current="page"]::after { transform: scaleX(1); }

.contact-hero { display: grid; grid-template-columns: minmax(500px,.88fr) minmax(0,1.12fr); min-height: 800px; padding-top: 88px; border-bottom: 1px solid var(--line); background: #faf7f1; }
.contact-hero-copy { align-self: center; padding: 80px clamp(46px,6vw,105px); }
.contact-hero-copy .breadcrumbs { margin-bottom: 55px; }
.contact-hero-copy h1 { margin-bottom: 34px; font-size: clamp(4.8rem,7.2vw,8rem); line-height: .86; }
.contact-hero-copy > p:not(.eyebrow) { max-width: 610px; color: #555149; }
.contact-hero-image { min-width: 0; min-height: 710px; margin: 0; overflow: hidden; }
.contact-hero-image img { width: 100%; height: 100%; object-fit: cover; object-position: 57% center; filter: saturate(.74); }

.contact-routes { background: #f8f5ee; }
.contact-routes-heading { display: grid; grid-template-columns: .42fr 1.58fr; align-items: end; gap: 60px; margin-bottom: 64px; }
.contact-routes-heading h2 { max-width: 850px; margin-bottom: 0; font-size: clamp(3.8rem,5.6vw,6rem); }
.contact-route-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.contact-route { min-width: 0; padding: 42px 32px 46px; border-right: 1px solid var(--line); }
.contact-route:first-child { padding-left: 0; }
.contact-route:last-child { padding-right: 0; border-right: 0; }
.contact-route > span { display: block; margin-bottom: 32px; color: #aa8045; font-size: .65rem; font-weight: 700; letter-spacing: .15em; }
.contact-route h3 { min-height: 2.05em; margin-bottom: 22px; font-size: clamp(2rem,2.65vw,3rem); }
.contact-route p { min-height: 164px; color: #5a564e; font-size: .88rem; }
.contact-route .text-link b { font-weight: 400; transition: transform 180ms ease; }
.contact-route .text-link:hover b { transform: translateX(4px); }

.contact-message { border-top: 1px solid var(--line); background: #fbf8f2; }
.contact-message-grid { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(360px,.8fr); align-items: start; gap: clamp(65px,9vw,130px); }
.contact-form-panel > h2 { max-width: 700px; font-size: clamp(4rem,6vw,6.4rem); }
.contact-form-panel > p:not(.eyebrow) { max-width: 650px; margin-bottom: 46px; color: #5a564e; }
.contact-form { padding-top: 38px; border-top: 1px solid var(--line); }
.contact-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.contact-form-wide { grid-column: 1 / -1; }
.contact-form label > span { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 8px; color: #57534c; font-size: .69rem; font-weight: 700; letter-spacing: .08em; }
.contact-form label small { color: #969087; font: inherit; font-weight: 400; }
.contact-form input, .contact-form select, .contact-form textarea { width: 100%; border: 1px solid #c8c1b6; border-radius: 0; outline: 0; background: transparent; color: var(--ink); font: inherit; }
.contact-form input, .contact-form select { height: 52px; padding: 0 14px; }
.contact-form textarea { min-height: 175px; padding: 14px; resize: vertical; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { border-color: #8f6838; box-shadow: 0 0 0 1px #8f6838; }
.contact-form-submit { display: flex; align-items: center; gap: 25px; margin-top: 30px; }
.contact-form-submit button:disabled { cursor: wait; opacity: .65; }
.contact-form-status { max-width: 370px; margin: 0; color: #666158; font-size: .77rem; }
.contact-form-status.is-success { color: #486b42; }
.contact-form-status.is-error { color: #a2342c; }

/* Mentorship */
.mentorship-page .site-nav a[aria-current="page"]::after { transform: scaleX(1); }
.button-gold { background: #c79b49; color: #171713; }
.mentorship-hero { position: relative; display: grid; min-height: 790px; overflow: hidden; color: #fff; isolation: isolate; }
.mentorship-hero-media, .mentorship-hero-shade { position: absolute; inset: 0; z-index: -2; }
.mentorship-hero-media { background: url('/downloads/john-great-press-kit/photography/john-great-landscape-wide.jpg') 58% 47% / cover no-repeat; transform: scale(1.015); }
.mentorship-hero-shade { z-index: -1; background: linear-gradient(90deg, rgba(8,9,7,.95) 0%, rgba(8,9,7,.84) 34%, rgba(8,9,7,.22) 66%, rgba(8,9,7,.18) 100%), linear-gradient(0deg, rgba(8,9,7,.42), transparent 48%); }
.mentorship-hero-copy { align-self: end; padding-top: 150px; padding-bottom: 92px; }
.mentorship-hero-copy h1 { max-width: 760px; margin-bottom: 28px; font-size: clamp(4rem,6.4vw,7.3rem); line-height: .91; letter-spacing: -.052em; }
.mentorship-hero-copy h1 em { color: #d4aa58; font-weight: inherit; }
.mentorship-hero-intro { max-width: 680px; margin-bottom: 34px; color: rgba(255,255,255,.82); }
.mentorship-hero-intro p { margin-bottom: 12px; }
.mentorship-for-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(65px,9vw,130px); }
.mentorship-for-copy h2 { max-width: 570px; }
.mentorship-for-copy > p:not(.eyebrow) { color: #555249; }
.mentorship-needs { display: grid; grid-template-columns: 1fr 1fr; align-content: start; }
.mentorship-needs article { display: grid; grid-template-columns: 52px 1fr; gap: 18px; min-height: 190px; padding: 28px; border-left: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.mentorship-needs article:nth-child(3), .mentorship-needs article:nth-child(4) { border-bottom: 0; }
.mentorship-needs article > span, .mentorship-process-list article > span { color: #a97832; font-family: var(--serif); font-size: 1.15rem; }
.mentorship-needs h3 { margin-bottom: 12px; font-size: 1.4rem; }
.mentorship-needs p { margin: 0; color: #68645b; font-size: .87rem; }
.mentorship-heading { margin-bottom: 48px; }
.mentorship-heading h2 { margin: 0; }
.mentorship-pathway-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.mentorship-pathway { overflow: hidden; background: #252b1d; color: rgba(255,255,255,.79); border-radius: 4px; }
.mentorship-pathway-image { height: 280px; background-position: center; background-size: cover; }
.mentorship-pathway-song { background-image: linear-gradient(rgba(12,13,9,.08),rgba(12,13,9,.28)), url('/assets/images/journal-journey.webp'); }
.mentorship-pathway-music { background-image: linear-gradient(rgba(12,13,9,.08),rgba(12,13,9,.28)), url('/assets/images/john-great-spotify.webp'); }
.mentorship-pathway-worship { background-image: linear-gradient(rgba(12,13,9,.08),rgba(12,13,9,.28)), url('/assets/images/ministry-live-gathering.webp'); }
.mentorship-pathway > div:last-child { padding: 34px; }
.mentorship-pathway h3 { margin-bottom: 20px; color: #fff; font-size: clamp(2rem,2.8vw,3rem); }
.mentorship-pathway p { font-size: .9rem; }
.mentorship-heart { position: relative; overflow: hidden; padding: 105px 0; background: #0c0e0b; color: #fff; isolation: isolate; }
.mentorship-heart-media, .mentorship-heart-shade { position: absolute; inset: 0; z-index: -2; }
.mentorship-heart-media { background: url('/assets/images/ministry-live-hero.webp') center / cover no-repeat; opacity: .38; }
.mentorship-heart-shade { z-index: -1; background: linear-gradient(90deg,rgba(4,5,4,.96),rgba(4,5,4,.72) 62%,rgba(4,5,4,.45)); }
.mentorship-heart-grid { display: grid; grid-template-columns: .7fr 1.3fr; align-items: center; gap: clamp(70px,10vw,150px); }
.mentorship-verse { text-align: center; }
.mentorship-verse blockquote { margin: 0 0 14px; font-family: var(--serif); font-size: clamp(2.1rem,3.3vw,3.6rem); line-height: 1.15; }
.mentorship-verse cite { color: #d2a853; font-size: .69rem; font-style: normal; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.mentorship-verse p { max-width: 400px; margin: 28px auto 0; color: rgba(255,255,255,.68); }
.mentorship-heart-copy h2 { max-width: 710px; }
.mentorship-heart-copy > p:not(.eyebrow) { max-width: 720px; color: rgba(255,255,255,.76); }
.mentorship-process-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 36px clamp(65px,8vw,120px); }
.mentorship-process-copy { grid-row: span 2; }
.mentorship-process-copy > p:not(.eyebrow) { color: #57534b; }
.mentorship-process-list { display: grid; grid-template-columns: 1fr 1fr; }
.mentorship-process-list article { min-height: 190px; padding: 24px 28px; border-left: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.mentorship-process-list article:nth-child(3), .mentorship-process-list article:nth-child(4) { border-bottom: 0; }
.mentorship-process-list h3 { margin: 9px 0 11px; font-size: 1.45rem; }
.mentorship-process-list p { color: #69645b; font-size: .86rem; }
.mentorship-format { display: grid; grid-template-columns: auto 1fr 1fr; gap: 25px; align-items: start; padding: 26px; background: #ebe6da; }
.mentorship-format .eyebrow { margin: 4px 10px 0 0; }
.mentorship-format strong { font-family: var(--serif); font-size: 1.25rem; font-weight: 400; }
.mentorship-format p { margin: 7px 0 0; color: #6a665e; font-size: .8rem; }
.mentorship-apply { background: #222b1a; color: #fff; }
.mentorship-apply-grid { display: grid; grid-template-columns: .72fr 1.28fr; align-items: start; gap: clamp(55px,8vw,110px); }
.mentorship-apply-copy { position: sticky; top: 130px; }
.mentorship-apply-copy h2 { max-width: 520px; }
.mentorship-apply-copy > p:not(.eyebrow) { color: rgba(255,255,255,.68); }
.mentorship-form { padding: clamp(28px,4vw,52px); border: 1px solid rgba(255,255,255,.22); background: rgba(255,255,255,.035); }
.mentorship-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.mentorship-form-wide { grid-column: 1 / -1; }
.mentorship-form label > span { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 8px; color: rgba(255,255,255,.72); font-size: .69rem; font-weight: 700; letter-spacing: .07em; }
.mentorship-form label small { color: rgba(255,255,255,.44); font: inherit; font-weight: 400; }
.mentorship-form input, .mentorship-form select, .mentorship-form textarea { width: 100%; border: 1px solid rgba(255,255,255,.3); border-radius: 0; outline: 0; background: rgba(255,255,255,.025); color: #fff; font: inherit; }
.mentorship-form input, .mentorship-form select { height: 52px; padding: 0 14px; }
.mentorship-form textarea { min-height: 140px; padding: 14px; resize: vertical; }
.mentorship-form select option { color: #161713; }
.mentorship-form input:focus, .mentorship-form select:focus, .mentorship-form textarea:focus { border-color: #d2a853; box-shadow: 0 0 0 1px #d2a853; }
.mentorship-form-submit { display: flex; align-items: center; gap: 24px; margin-top: 30px; }
.mentorship-form-submit p { max-width: 360px; margin: 0; color: rgba(255,255,255,.58); font-size: .75rem; }
.mentorship-form-submit p.is-success { color: #b9ddb6; }
.mentorship-form-submit p.is-error { color: #ffb8ae; }
.mentorship-form-submit button:disabled { cursor: wait; opacity: .6; }
.mentorship-note-grid { display: grid; grid-template-columns: .85fr 1.15fr; align-items: stretch; gap: 0; }
.mentorship-note-image { margin: 0; min-height: 620px; }
.mentorship-note-image img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.mentorship-note-copy { padding: clamp(55px,7vw,105px); background: #ebe5d9; }
.mentorship-note-copy h2 { font-size: clamp(3rem,4.7vw,5rem); }
.mentorship-note-copy > p:not(.eyebrow) { color: #58544c; }
.mentorship-note-copy > img { width: 180px; height: auto; margin-top: 16px; filter: brightness(0) saturate(100%); }
.mentorship-final { position: relative; padding: 85px 0; overflow: hidden; background: url('/assets/images/ministry-live-gathering.webp') center 55% / cover no-repeat; color: #fff; isolation: isolate; }
.mentorship-final-shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,rgba(8,9,7,.94),rgba(8,9,7,.64),rgba(8,9,7,.36)); }
.mentorship-final-copy { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 8px 45px; }
.mentorship-final-copy .eyebrow { grid-column: 1 / -1; margin-bottom: 0; }
.mentorship-final-copy h2 { margin-bottom: 0; }
.mentorship-final-copy p { grid-column: 1; margin: 0; color: rgba(255,255,255,.72); }
.mentorship-final-copy .button { grid-column: 2; grid-row: 2 / span 2; }

@media (max-width: 1040px) {
  .mentorship-for-grid, .mentorship-process-grid, .mentorship-apply-grid { grid-template-columns: 1fr; }
  .mentorship-pathway-grid { grid-template-columns: 1fr; }
  .mentorship-pathway { display: grid; grid-template-columns: .8fr 1.2fr; }
  .mentorship-pathway-image { height: 100%; min-height: 360px; }
  .mentorship-process-copy { grid-row: auto; }
  .mentorship-apply-copy { position: static; }
}

@media (max-width: 760px) {
  .mentorship-hero { min-height: 780px; }
  .mentorship-hero-media { background-position: 50% center; }
  .mentorship-hero-shade { background: linear-gradient(90deg,rgba(8,9,7,.93),rgba(8,9,7,.72)), linear-gradient(0deg,rgba(8,9,7,.62),transparent); }
  .mentorship-hero-copy { padding-top: 125px; padding-bottom: 64px; }
  .mentorship-hero-copy h1 { font-size: clamp(3.35rem,15vw,5.3rem); }
  .mentorship-needs, .mentorship-process-list { grid-template-columns: 1fr; }
  .mentorship-needs article, .mentorship-process-list article { min-height: 0; border-left: 0; border-bottom: 1px solid var(--line) !important; }
  .mentorship-needs article:last-child, .mentorship-process-list article:last-child { border-bottom: 0 !important; }
  .mentorship-pathway { display: block; }
  .mentorship-pathway-image { min-height: 260px; }
  .mentorship-heart-grid, .mentorship-note-grid { grid-template-columns: 1fr; }
  .mentorship-heart-grid { gap: 70px; }
  .mentorship-verse { text-align: left; }
  .mentorship-verse p { margin-left: 0; }
  .mentorship-format { grid-template-columns: 1fr; }
  .mentorship-form-grid { grid-template-columns: 1fr; }
  .mentorship-form-wide { grid-column: auto; }
  .mentorship-form-submit { align-items: stretch; flex-direction: column; }
  .mentorship-note-image { min-height: 430px; }
  .mentorship-final-copy { display: block; }
  .mentorship-final-copy h2 { margin-bottom: 14px; }
  .mentorship-final-copy p { margin-bottom: 28px; }
}
.contact-privacy { max-width: 700px; margin-top: 24px; color: #777168; font-size: .72rem; line-height: 1.55; }

.contact-note { padding: clamp(45px,5vw,72px); background: #eee7db; }
.contact-note h2 { font-size: clamp(2.8rem,4vw,4.2rem); line-height: .98; }
.contact-note > p:not(.eyebrow) { color: #555149; }
.contact-signature { width: 215px; margin: 20px 0 34px; filter: invert(1); }
.contact-note-portrait { width: 100%; height: 390px; object-fit: cover; object-position: center 24%; filter: saturate(.72); }

.contact-connect { border-top: 1px solid var(--line); background: #f5f0e7; }
.contact-connect-heading { display: grid; grid-template-columns: .42fr .9fr .68fr; align-items: end; gap: 58px; margin-bottom: 62px; }
.contact-connect-heading h2 { margin-bottom: 0; font-size: clamp(3.7rem,5.5vw,5.8rem); }
.contact-connect-heading > p:last-child { max-width: 500px; margin-bottom: 8px; color: #625e56; }
.contact-social-grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--line); }
.contact-social { position: relative; min-height: 270px; padding: 36px 34px 40px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); text-decoration: none; }
.contact-social:nth-child(3n) { border-right: 0; }
.contact-social > span { display: grid; width: 38px; height: 38px; margin-bottom: 28px; border: 1px solid #aa8045; border-radius: 50%; color: #9b733d; font-size: .62rem; font-weight: 800; place-items: center; }
.contact-social h3 { margin-bottom: 14px; font-size: 1.8rem; }
.contact-social p { max-width: 270px; margin-bottom: 0; color: #625e56; font-size: .84rem; }
.contact-social > b { position: absolute; right: 30px; bottom: 30px; font-weight: 400; transition: transform 180ms ease; }
.contact-social:hover > b { transform: translate(3px,-3px); }

.contact-press { background: #252d1f; color: #fff; }
.contact-press-grid { display: grid; grid-template-columns: 1fr .82fr; min-height: 540px; }
.contact-press-copy { align-self: center; max-width: 700px; padding: 90px 80px 90px 0; }
.contact-press-copy h2 { font-size: clamp(4rem,6vw,6.4rem); }
.contact-press-copy > p:not(.eyebrow) { max-width: 610px; margin-bottom: 34px; color: rgba(255,255,255,.69); }
.contact-press-image { min-height: 540px; background: linear-gradient(rgba(8,9,6,.15),rgba(8,9,6,.38)),url('/assets/images/yahweh-video-wide.webp') 48% center / cover no-repeat; filter: saturate(.72); }

@media (max-width: 1050px) {
  .contact-hero { grid-template-columns: minmax(430px,.9fr) 1.1fr; }
  .contact-route-grid { grid-template-columns: 1fr 1fr; }
  .contact-route { border-bottom: 1px solid var(--line); }
  .contact-route:nth-child(2) { border-right: 0; }
  .contact-route:nth-child(3) { padding-left: 0; }
  .contact-route p { min-height: 0; }
  .contact-message-grid { gap: 55px; }
  .contact-connect-heading { grid-template-columns: 1fr 2fr; }
  .contact-connect-heading > p:last-child { grid-column: 2; }
}

@media (max-width: 800px) {
  .contact-hero { grid-template-columns: 1fr; min-height: 0; padding-top: 80px; }
  .contact-hero-copy { padding: 85px 24px 70px; }
  .contact-hero-copy .breadcrumbs { margin-bottom: 40px; }
  .contact-hero-image { min-height: 560px; }
  .contact-routes-heading, .contact-message-grid, .contact-connect-heading, .contact-press-grid { grid-template-columns: 1fr; }
  .contact-routes-heading, .contact-connect-heading { align-items: start; gap: 24px; }
  .contact-connect-heading > p:last-child { grid-column: auto; }
  .contact-message-grid { gap: 55px; }
  .contact-note { width: min(100%,620px); margin-inline: auto; }
  .contact-social-grid { grid-template-columns: 1fr 1fr; }
  .contact-social:nth-child(3n) { border-right: 1px solid var(--line); }
  .contact-social:nth-child(2n) { border-right: 0; }
  .contact-press-copy { padding: 85px 0; }
  .contact-press-image { width: 100vw; min-height: 440px; margin-left: calc((100vw - 100%)/-2); }
}

@media (max-width: 520px) {
  .contact-hero-copy h1 { font-size: clamp(4.2rem,19vw,5.7rem); }
  .contact-hero-image { min-height: 410px; }
  .contact-routes, .contact-message, .contact-connect { padding-block: 78px; }
  .contact-route-grid, .contact-social-grid { grid-template-columns: 1fr; }
  .contact-route, .contact-route:first-child, .contact-route:nth-child(3), .contact-route:last-child { padding: 34px 0 38px; border-right: 0; }
  .contact-route h3 { min-height: 0; }
  .contact-form-grid { grid-template-columns: 1fr; gap: 20px; }
  .contact-form-wide { grid-column: auto; }
  .contact-form-submit { align-items: stretch; flex-direction: column; }
  .contact-note { width: 100vw; margin-left: calc((100vw - 100%)/-2); padding: 60px 24px; }
  .contact-social, .contact-social:nth-child(3n) { min-height: 235px; padding-inline: 0; border-right: 0; }
  .contact-social > b { right: 0; }
  .contact-press-copy h2 { font-size: clamp(3.8rem,15vw,5rem); }
  .contact-press-image { min-height: 330px; }
}

/* Press / EPK */
.press-page { background: #f8f5ee; }
.press-header { color: var(--ink); }
.button-gold { background: #bd9658; color: #16150f; }
.button-outline-dark { border-color: rgba(26,26,23,.5); color: var(--ink); }
.button-outline-dark:hover { background: var(--ink); color: #fff; }
.press-hero {
  display: grid;
  grid-template-columns: minmax(500px,.88fr) minmax(0,1.12fr);
  min-height: 760px;
  padding-top: 88px;
  background: #f8f5ee;
}
.press-hero > *, .press-current-grid > *, .press-video-grid > *, .press-contact-grid > * { min-width: 0; }
.press-hero-copy { align-self: center; padding: 82px clamp(44px,6vw,110px); }
.press-hero-copy .breadcrumbs { margin-bottom: 54px; }
.press-hero-copy h1 { margin-bottom: 12px; font-size: clamp(5rem,7.2vw,8.8rem); line-height: .88; }
.press-hero-role { margin-bottom: 28px; color: #a27840; font-family: var(--serif); font-size: clamp(1.35rem,2vw,2rem); }
.press-hero-copy > p:not(.eyebrow):not(.press-hero-role) { max-width: 620px; color: #55534c; }
.press-hero-copy .button-row { margin-top: 36px; }
.press-hero-image { min-height: 672px; margin: 0; overflow: hidden; }
.press-hero-image img { width: 100%; height: 100%; object-fit: cover; object-position: 50% center; filter: saturate(.78); }

.press-facts { padding: 82px 0 94px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fcfbf7; }
.press-section-heading { max-width: 880px; margin-bottom: 52px; }
.press-section-heading h2 { margin-bottom: 18px; font-size: clamp(3.6rem,5.8vw,6.6rem); }
.press-section-heading > p:not(.eyebrow) { max-width: 700px; color: #656158; }
.press-facts .press-section-heading { margin-bottom: 42px; }
.press-facts .press-section-heading h2 { font-size: clamp(3rem,4vw,4.7rem); }
.press-fact-grid { display: grid; grid-template-columns: repeat(4,1fr); margin: 0; border-top: 1px solid var(--line); }
.press-fact-grid > div { min-width: 0; padding: 31px 24px 20px 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.press-fact-grid > div:nth-child(4n+1) { padding-left: 0; }
.press-fact-grid > div:nth-child(4n) { padding-right: 0; border-right: 0; }
.press-fact-grid dt { margin-bottom: 10px; color: #9a7444; font-size: .62rem; font-weight: 750; letter-spacing: .15em; text-transform: uppercase; }
.press-fact-grid dd { margin: 0; font-family: var(--serif); font-size: 1.12rem; line-height: 1.45; }
.press-fact-grid dd a { text-decoration-color: rgba(26,26,23,.28); text-underline-offset: 3px; }

.press-bios { background: #f8f5ee; }
.press-bio-grid { display: grid; grid-template-columns: .78fr 1.22fr; gap: 1px; background: var(--line); border: 1px solid var(--line); }
.press-bio-card { display: flex; flex-direction: column; justify-content: space-between; min-height: 520px; padding: clamp(34px,4vw,58px); background: #fcfbf7; }
.press-bio-card > div > span { display: block; margin-bottom: 22px; color: #9a7444; font-size: .64rem; font-weight: 750; letter-spacing: .16em; text-transform: uppercase; }
.press-bio-card h3 { margin-bottom: 28px; font-size: clamp(2.25rem,3.3vw,4rem); }
.press-bio-card [data-copy-content] p { color: #56534c; }
.press-bio-full { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr auto; min-height: 0; }
.press-bio-full [data-copy-content] { columns: 2; column-gap: clamp(42px,6vw,90px); }
.press-bio-full [data-copy-content] p { break-inside: avoid; }
.copy-button { align-self: flex-start; padding: 11px 16px; border: 1px solid rgba(26,26,23,.42); border-radius: 2px; background: transparent; color: var(--ink); cursor: pointer; font-size: .63rem; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }
.copy-button:hover, .copy-button:focus-visible { background: var(--ink); color: #fff; }
.copy-button.is-copied { border-color: #5c7651; background: #5c7651; color: #fff; }
.press-bio-actions { display: flex; align-items: flex-end; flex-direction: column; justify-content: flex-end; gap: 16px; min-width: 215px; margin-left: 50px; }

.press-current { padding: 95px 0; background: #22291d; color: #fff; }
.press-current-grid { display: grid; grid-template-columns: minmax(340px,.82fr) minmax(400px,1.18fr); align-items: center; gap: clamp(55px,8vw,120px); }
.press-current-art, .press-duro-card-art { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; overflow: hidden; aspect-ratio: 1; background: linear-gradient(rgba(18,20,15,.14),rgba(18,20,15,.62)),url('/assets/images/journal-journey.webp') center/cover; color: #fff; isolation: isolate; }
.press-current-art::after, .press-duro-card-art::after { position: absolute; inset: 18px; border: 1px solid rgba(255,255,255,.42); content: ""; }
.press-current-art span, .press-duro-card-art span { position: relative; z-index: 1; font-family: var(--serif); font-size: clamp(4rem,8vw,8.5rem); line-height: .9; }
.press-current-art small { position: relative; z-index: 1; margin-top: 18px; font-size: .62rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.press-current-copy h2 { font-size: clamp(4.6rem,7vw,8rem); }
.press-current-copy > p:not(.eyebrow):not(.press-date) { max-width: 650px; color: rgba(255,255,255,.7); }
.press-date { color: #d1b27d; font-size: .67rem; font-weight: 750; letter-spacing: .2em; text-transform: uppercase; }
.press-current-copy .button { margin-top: 20px; }

.press-music { background: #fcfbf7; }
.press-heading-row { display: flex; align-items: flex-end; justify-content: space-between; max-width: none; }
.press-heading-row h2 { margin-bottom: 0; }
.press-release-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 28px; }
.press-release-card { display: grid; grid-template-rows: auto 1fr; border: 1px solid var(--line); background: #f8f5ee; }
.press-release-card > img, .press-duro-card-art { width: 100%; aspect-ratio: 1; object-fit: cover; }
.press-release-card > div:last-child { display: flex; flex-direction: column; padding: 30px; }
.press-release-card h3 { margin-bottom: 12px; font-size: clamp(2rem,2.8vw,3rem); }
.press-release-card p:not(.eyebrow) { color: #5d5951; }
.press-release-card > div:last-child > div { margin-top: auto; padding-top: 20px; }
.press-duro-card-art span { font-size: clamp(3.1rem,5vw,5.2rem); }

.press-photos { background: #f2eee5; }
.press-photo-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 34px; }
.press-photo-card { margin: 0; }
.press-photo-card > img { width: 100%; aspect-ratio: 1.48; object-fit: cover; filter: saturate(.77); }
.press-photo-card.press-photo-portrait > img { object-position: 50% 38%; }
.press-photo-card > div { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; padding: 20px 0 10px; border-bottom: 1px solid var(--line); }
.press-photo-card h3 { margin-bottom: 3px; font-size: 1.45rem; }
.press-photo-card p { margin: 0; color: #78736a; font-size: .72rem; }

.press-assets { background: #fcfbf7; }
.press-asset-grid { display: grid; grid-template-columns: repeat(5,1fr); gap: 18px; }
.press-asset-card { display: flex; min-width: 0; min-height: 325px; padding: 24px; border: 1px solid var(--line); background: #f1ede3; flex-direction: column; }
.press-asset-card img { width: 100%; height: 175px; margin-bottom: 22px; object-fit: contain; }
.press-asset-card h3 { margin-bottom: 15px; font-size: 1.32rem; }
.press-asset-card a { margin-top: auto; font-size: .63rem; font-weight: 750; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.press-asset-dark { background: #141510; color: #fff; }
.press-asset-dark img { filter: none; }

.press-video { padding: 95px 0; background: #11130f; color: #fff; }
.press-video-grid { display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; gap: clamp(55px,8vw,120px); }
.press-video-poster { position: relative; width: 100%; min-height: 0; aspect-ratio: 16/9; padding: 0; border: 1px solid rgba(255,255,255,.14); background: #080906; cursor: pointer; }
.press-video-poster img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.7) brightness(.72); }
.press-video-poster .play-button { position: absolute; inset: 50% auto auto 50%; display: grid; width: 72px; height: 72px; border-radius: 50%; background: #fff; color: #171713; place-items: center; transform: translate(-50%,-50%); }
.press-video-grid > iframe { width: 100%; aspect-ratio: 16/9; border: 0; }
.press-video-copy h2 { font-size: clamp(4rem,6vw,7rem); }
.press-video-copy > p:not(.eyebrow) { color: rgba(255,255,255,.68); }
.press-video-copy .button-row { margin-top: 30px; }

.press-topics { background: #f8f5ee; }
.press-topic-grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.press-topic-grid article { min-height: 290px; padding: 35px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.press-topic-grid span { color: #b18b53; font-size: .64rem; font-weight: 750; letter-spacing: .15em; }
.press-topic-grid h3 { margin: 38px 0 16px; font-size: clamp(1.8rem,2.5vw,2.7rem); }
.press-topic-grid p { color: #615d55; }

.press-contact { background: #f7f3ea; }
.press-contact-grid { display: grid; grid-template-columns: 1fr 1fr; }
.press-media-enquiry, .press-ministry-enquiry { padding: clamp(75px,8vw,125px) clamp(35px,7vw,110px); }
.press-media-enquiry { background: #27301f; color: #fff; }
.press-ministry-enquiry { background: #e8decd; }
.press-contact h2 { font-size: clamp(3.8rem,5.7vw,6.5rem); }
.press-media-enquiry > p:not(.eyebrow) { color: rgba(255,255,255,.7); }
.press-contact p:not(.eyebrow) { max-width: 580px; }
.press-contact .button { margin-top: 22px; }

.press-download { padding: 85px 0; background: #121310; color: #fff; }
.press-download-grid { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 80px; }
.press-download h2 { margin-bottom: 15px; font-size: clamp(3.2rem,4.6vw,5.2rem); }
.press-download p:not(.eyebrow) { max-width: 720px; margin-bottom: 0; color: rgba(255,255,255,.65); }

@media (max-width: 1050px) {
  .press-hero { grid-template-columns: .9fr 1.1fr; }
  .press-hero-copy { padding-inline: 42px; }
  .press-fact-grid { grid-template-columns: repeat(2,1fr); }
  .press-fact-grid > div:nth-child(2n) { padding-right: 0; border-right: 0; }
  .press-fact-grid > div:nth-child(2n+1) { padding-left: 0; border-right: 1px solid var(--line); }
  .press-asset-grid { grid-template-columns: repeat(3,1fr); }
}

@media (max-width: 800px) {
  .press-hero { grid-template-columns: 1fr; min-height: 0; padding-top: 80px; }
  .press-hero-copy { padding: 85px 24px 70px; }
  .press-hero-copy .breadcrumbs { margin-bottom: 40px; }
  .press-hero-image { min-height: 560px; }
  .press-bio-grid, .press-current-grid, .press-release-grid, .press-video-grid, .press-contact-grid { grid-template-columns: 1fr; }
  .press-bio-full { grid-column: auto; display: flex; }
  .press-bio-full [data-copy-content] { columns: auto; }
  .press-bio-actions { align-items: flex-start; margin: 38px 0 0; }
  .press-current-art { width: min(100%,580px); margin-inline: auto; }
  .press-heading-row { align-items: flex-start; flex-direction: column; gap: 16px; }
  .press-photo-grid { grid-template-columns: 1fr; }
  .press-asset-grid { grid-template-columns: repeat(2,1fr); }
  .press-topic-grid { grid-template-columns: repeat(2,1fr); }
  .press-download-grid { grid-template-columns: 1fr; gap: 35px; }
  .press-download-grid .button { width: fit-content; }
}

@media (max-width: 520px) {
  .press-hero-copy h1 { font-size: clamp(4.5rem,22vw,6.5rem); }
  .press-hero-image { min-height: 410px; }
  .press-fact-grid, .press-asset-grid, .press-topic-grid { grid-template-columns: 1fr; }
  .press-fact-grid > div, .press-fact-grid > div:nth-child(2n), .press-fact-grid > div:nth-child(2n+1) { padding: 25px 0; border-right: 0; }
  .press-bio-card { min-height: 0; }
  .press-current { padding-block: 72px; }
  .press-current-grid { gap: 45px; }
  .press-current-copy h2 { font-size: clamp(4.5rem,20vw,6rem); }
  .press-photo-card > div { align-items: flex-start; flex-direction: column; gap: 5px; }
  .press-asset-card { min-height: 300px; }
  .press-video-poster { width: 100vw; margin-left: calc((100vw - 100%)/-2); border-inline: 0; }
  .press-video-poster .play-button { width: 60px; height: 60px; }
  .press-topic-grid article { min-height: 0; }
  .press-ministry-enquiry, .press-media-enquiry { width: 100vw; margin-left: calc((100vw - 100%)/-2); padding-inline: 24px; }
  .press-download-grid .button { width: 100%; }
}
