:root {
  --ink: #100c0b;
  --gold: #e9b956;
  --gold-bright: #f6c76d;
  --cream: #f8efdf;
  --wine: #471d1b;
}

.site-header {
  background: linear-gradient(180deg, #130d0bea, #130d0b40);
}

.site-header .nav-give {
  background: var(--gold);
  color: var(--ink);
}

.site-header .nav-give:hover { background: var(--cream); color: var(--ink); }

.hero {
  min-height: max(760px, 92svh);
  background: #211411;
  padding-bottom: 125px;
  isolation: isolate;
}

.hero-image {
  left: 0;
  background: url("assets/cross-hero.webp") 70% center / cover no-repeat;
  filter: none;
}

.hero-shade {
  background:
    linear-gradient(0deg, #100c0b 0%, #180e0b00 44%),
    linear-gradient(90deg, #160e0cef 3%, #1f120cb0 38%, #2c160b18 72%, transparent);
}

.hero-seal {
  position: absolute;
  right: clamp(22px, 5vw, 88px);
  top: 114px;
  width: 74px;
  opacity: .8;
  pointer-events: none;
}

.hero-copy { width: min(920px, 73vw); }
.hero .eyebrow { display: flex; align-items: center; gap: 16px; color: var(--gold); }
.hero .eyebrow::before { content: ""; width: 42px; height: 1px; background: currentColor; }
.hero h1 { font-size: clamp(65px, 9.15vw, 160px); line-height: .85; }
.hero h1 span { color: var(--gold-bright); }
.hero-theme {
  font-family: "Instrument Serif", Georgia, serif;
  font-style: italic;
  font-size: clamp(31px, 4vw, 60px);
  line-height: 1;
  margin: 25px 0 0;
}

.hero-text { max-width: 510px; margin: 17px 0 28px; }
.hero-actions .button { gap: 16px; }
.hero-programme {
  position: absolute;
  z-index: 3;
  right: clamp(22px, 5vw, 88px);
  bottom: 30px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  column-gap: 22px;
  min-width: 230px;
  padding: 14px 18px;
  background: #381d18ed;
  border: 1px solid #e9b95675;
}
.hero-programme span { grid-column: 1; color: #f1cb83; font-size: 12px; }
.hero-programme strong { grid-column: 1; font-size: 22px; font-family: "Barlow Condensed", sans-serif; text-transform: uppercase; }
.hero-programme b { grid-column: 2; grid-row: 1 / 3; color: var(--gold); }
.hero-programme:hover { border-color: var(--gold); }

.mission {
  grid-template-columns: minmax(140px, .7fr) minmax(0, 2fr);
  align-items: center;
  background: radial-gradient(ellipse at left center, #e8d4ae, var(--cream) 48%);
}
.mission-mark img { width: min(100%, 270px); margin: auto; filter: brightness(.53); }
.mission .kicker, .network .kicker { color: #794625; }
.formation { background: linear-gradient(145deg, #401a19, #1b1010 75%); }
.formation-head { display: block; }
.formation-grid { gap: 1px; background: #d4a46039; }
.formation-grid article { margin: 0; border: 0; padding: 30px; background: #241413; }
.formation-grid article:nth-child(2n) { background: #311a18; }
.formation-grid article b { display: none; }
.formation-grid h3 { margin-top: 0; }
.formation-grid p { color: #d8c5b3; }
.minister { background: #130d0c; }
.minister-image { min-height: 0; }
.minister-image img { max-height: 850px; object-position: center 23%; }
.minister-copy h2 { font-size: clamp(49px, 5.5vw, 94px); }
.teachings { background: radial-gradient(ellipse at top right, #4d281e, #190f0d 67%); }
.media-tall { height: clamp(380px, 38vw, 580px); }
.media-wide { height: clamp(330px, 31vw, 490px); }
.media-wide img { object-position: center 33%; }
.network { min-height: 650px; }
.give { background: radial-gradient(ellipse at left bottom, #edcb80, #daa247 78%); }
.give-copy small { font-size: 15px; font-weight: 700; }
.connect { background: #160e0d; }
.prayer-request { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(28px, 6vw, 90px); background: var(--cream); color: var(--ink); scroll-margin-top: 100px; }
.prayer-request .kicker { color: #794625; }
.prayer-request h2 { font-size: clamp(44px, 6vw, 92px); }
.prayer-form { display: grid; gap: 14px; }
.prayer-contact { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 165px), 1fr)); gap: 14px; }
.prayer-form label { display: grid; gap: 8px; font-weight: 700; }
.prayer-form input:not([type="hidden"]), .prayer-form textarea { box-sizing: border-box; width: 100%; padding: 12px; border: 1px solid #907958; color: var(--ink); background: #fffaf1; font: inherit; }
.prayer-form textarea { resize: vertical; }
.prayer-form p { margin: 0; font-size: 14px; }
.prayer-form p a { text-decoration: underline; }
.prayer-form button { justify-self: start; border: 0; cursor: pointer; }
@media (max-width: 800px) { .prayer-request { grid-template-columns: 1fr; } }
a:focus-visible, button:focus-visible { outline: 2px solid #eaa947; outline-offset: 5px; }
.live-button {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin-top: 20px;
  padding: 12px 18px;
  border: 1px solid #f98a75;
  background: #7d2925;
  color: #fff5ed;
  line-height: 1.25;
}
.live-button:hover { background: #9c3731; }
.live-button strong, .live-button small { display: block; }
.live-button strong { font-family: "Barlow Condensed", sans-serif; font-size: 21px; letter-spacing: .09em; }
.live-button small { font-size: 11px; letter-spacing: .04em; }
.live-dot { width: 9px; height: 9px; flex: none; border-radius: 50%; background: #ffb1a0; }
.devotional-callout {
  display: grid;
  grid-template-columns: 1.25fr 1fr;
  gap: 28px;
  align-items: end;
  background: var(--wine);
}
.devotional-callout h2 { font-size: clamp(48px, 6vw, 90px); }
.devotional-banner {
  padding-top: 160px;
  padding-bottom: 105px;
  background: linear-gradient(90deg, #190f0ceb, #190f0c38), url("assets/cross-hero.webp") 72% 42% / cover;
}
.devotional-banner h1 {
  font-family: "Barlow Condensed", sans-serif;
  font-size: clamp(54px, 10vw, 144px);
  line-height: .9;
  margin: 0;
}
.devotional-banner em { color: var(--gold); font-family: "Instrument Serif", Georgia, serif; font-weight: 400; }
.devotional-reading { background: var(--cream); color: var(--ink); padding: 48px max(20px, calc((100% - 780px) / 2)) 75px; }
.devotional-days { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 30px; }
.devotional-days button { padding: 9px 12px; border: 1px solid #a48357; background: transparent; color: var(--ink); font: inherit; cursor: pointer; }
.devotional-days button[aria-pressed="true"] { background: var(--wine); color: var(--cream); }
.devotional-reading .kicker { color: #794625; }
.devotional-reading h2 { font: 600 clamp(30px, 6vw, 52px)/1.05 "Barlow Condensed", sans-serif; }
.devotional-reading figure { margin: 24px 0; border-left: 3px solid #a77432; padding-left: 18px; }
.devotional-reading blockquote { margin: 0 0 12px; font: 30px/1.15 "Instrument Serif", Georgia, serif; }
.library-callout {
  display: grid;
  grid-template-columns: 1fr .75fr;
  gap: 7vw;
  align-items: center;
  background: #12100f;
}
.library-callout h2 { max-width: 760px; font-size: clamp(48px, 6.6vw, 104px); }
.library-callout-copy > p:not(.kicker) { max-width: 600px; color: #c5b9a9; }
.library-shelves { border-top: 1px solid #a88247; }
.library-shelves span { display: flex; align-items: center; gap: 20px; padding: 22px 5px; border-bottom: 1px solid #604d31; font: 700 25px "Barlow Condensed", sans-serif; text-transform: uppercase; }
.library-shelves b { color: var(--gold); font-size: 12px; }
.library-hero {
  padding-top: 180px;
  min-height: 590px;
  background: linear-gradient(90deg, #100c0bf5, #100c0b72), url("assets/cross-hero.webp") 75% center / cover;
}
.library-hero h1 { margin: 0; font: 800 clamp(70px, 11vw, 160px)/.84 "Barlow Condensed", sans-serif; text-transform: uppercase; }
.library-hero h1 em { color: var(--gold); font-family: "Instrument Serif", Georgia, serif; font-weight: 400; }
.library-hero > p:not(.kicker) { max-width: 590px; font-size: 19px; }
.library-categories {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  max-width: 780px;
  margin-top: 30px;
}
.library-categories a {
  padding: 9px 13px;
  border: 1px solid #e9b9567a;
  color: #f8efdf;
  font: 700 12px "Barlow Condensed", sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.library-categories a:hover { background: var(--gold); color: var(--ink); }
.video-library { background: var(--cream); color: var(--ink); }
.video-library .kicker, .content-shelves .kicker, .library-programmes .kicker { color: #8d572a; }
.teaching-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 34px 18px;
}
.teaching-card { display: block; color: var(--ink); }
.teaching-card[hidden] { display: none; }
.video-thumb {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: #1c1210;
}
.video-thumb::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, #100c0b9c, transparent 55%);
  pointer-events: none;
}
.video-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.teaching-card:hover .video-thumb img { transform: scale(1.035); }
.video-thumb i {
  position: absolute;
  z-index: 2;
  left: 18px;
  bottom: 16px;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--gold);
  color: var(--ink);
  font-style: normal;
  font-size: 15px;
}
.video-thumb b {
  position: absolute;
  z-index: 2;
  right: 10px;
  bottom: 10px;
  padding: 4px 7px;
  background: #100c0bd9;
  color: white;
  font-size: 11px;
}
.video-meta { display: block; padding: 15px 4px 0; }
.video-meta small, .video-meta strong, .video-meta em { display: block; }
.video-meta small { color: #9b612d; font-weight: 800; text-transform: uppercase; letter-spacing: .11em; }
.video-meta strong { margin: 7px 0 11px; font: 800 27px/1.03 "Barlow Condensed", sans-serif; text-transform: uppercase; }
.video-meta em { color: #766755; font-size: 13px; font-style: normal; font-weight: 700; }
.library-youtube-link { display: inline-flex; margin-top: 38px; color: #7d4925; }
.content-shelves { padding-top: 95px; padding-bottom: 95px; background: #140d0c; }
.shelf-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 22px 55px; margin-bottom: 45px; }
.shelf-heading .kicker { grid-column: 1 / -1; margin-bottom: -12px; }
.shelf-heading h2 { margin: 0; font-size: clamp(53px, 7vw, 103px); }
.shelf-heading > p:last-child { align-self: end; max-width: 450px; color: #baa99b; }
.collection-row {
  position: relative;
  display: grid;
  grid-template-columns: 62px minmax(260px, 1.4fr) minmax(170px, .7fr) auto;
  gap: 28px;
  align-items: center;
  min-height: 255px;
  padding: 34px;
  border-top: 1px solid #705234;
  color: var(--cream);
  overflow: hidden;
}
.collection-row:last-child { border-bottom: 1px solid #705234; }
.collection-row::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #3218164d, transparent 65%);
  pointer-events: none;
}
.collection-row > * { position: relative; z-index: 1; }
.collection-number { color: var(--gold); font: 600 16px "Barlow Condensed", sans-serif; align-self: start; }
.collection-row h3 { margin: 2px 0 12px; font: 800 clamp(31px, 4vw, 57px)/.95 "Barlow Condensed", sans-serif; text-transform: uppercase; }
.collection-row p:not(.kicker) { max-width: 550px; color: #cdbeb0; }
.collection-light { background: #ecdfca; color: var(--ink); }
.collection-light::before { background: linear-gradient(90deg, #f8efdf, #d8bd9240); }
.collection-light p:not(.kicker) { color: #5d5347; }
.audio-visual { display: flex; height: 90px; align-items: center; justify-content: center; gap: 7px; }
.audio-visual span { width: 5px; border-radius: 6px; background: var(--gold); animation: waveform 1.5s ease-in-out infinite alternate; }
.audio-visual span:nth-child(1), .audio-visual span:nth-child(7) { height: 24%; }
.audio-visual span:nth-child(2), .audio-visual span:nth-child(6) { height: 52%; animation-delay: -.4s; }
.audio-visual span:nth-child(3), .audio-visual span:nth-child(5) { height: 85%; animation-delay: -.8s; }
.audio-visual span:nth-child(4) { height: 100%; animation-delay: -.2s; }
@keyframes waveform { to { transform: scaleY(.45); opacity: .72; } }
.book-stack { position: relative; width: 155px; height: 115px; margin: auto; }
.book-stack span { position: absolute; width: 68px; height: 100px; border: 1px solid #795630; background: #48211d; box-shadow: 7px 7px 0 #c89b51; }
.book-stack span:nth-child(1) { left: 5px; transform: rotate(-9deg); }
.book-stack span:nth-child(2) { left: 42px; top: 7px; background: #be873d; transform: rotate(2deg); }
.book-stack span:nth-child(3) { left: 79px; top: 1px; background: #f4e4c8; transform: rotate(10deg); }
.music-disc { position: relative; display: grid; place-items: center; width: 130px; aspect-ratio: 1; margin: auto; border-radius: 50%; background: repeating-radial-gradient(circle, #0f0d0d 0 5px, #252020 6px 9px); box-shadow: 0 0 0 1px #b58a4e; }
.music-disc::before { content: ""; position: absolute; width: 40px; aspect-ratio: 1; border-radius: 50%; background: var(--gold); }
.music-disc span { position: relative; z-index: 1; color: #1b120f; font: 900 12px "Barlow Condensed", sans-serif; }
.collection-prayer { background: radial-gradient(circle at 70% 50%, #7f2c2045, transparent 27%), #26110f; }
.prayer-flame { display: grid; place-items: center; }
.prayer-flame img { width: 110px; filter: sepia(1) saturate(3) brightness(1.5); opacity: .9; }
.release-status {
  justify-self: end;
  max-width: 150px;
  padding: 10px 12px;
  border: 1px solid #8a6a44;
  color: #dcc59e;
  font: 800 12px/1.2 "Barlow Condensed", sans-serif;
  letter-spacing: .09em;
  text-align: center;
  text-transform: uppercase;
}
.collection-light .release-status { border-color: #937248; color: #67451f; }
.release-premium { background: var(--gold); border-color: var(--gold); color: var(--ink); }
.library-programmes { background: var(--cream); color: var(--ink); }
.library-programmes .shelf-heading { grid-template-columns: 1fr; }
.programme-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid #bdab8d; }
.programme-grid a { min-height: 210px; display: flex; flex-direction: column; padding: 28px; border-right: 1px solid #bdab8d; border-bottom: 1px solid #bdab8d; color: var(--ink); background: #f8efdf; }
.programme-grid a:nth-child(2n) { border-right: 0; }
.programme-grid a:nth-last-child(-n+2) { border-bottom: 0; }
.programme-grid a:hover { background: #ead6b4; }
.programme-grid small { color: #9c642f; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; }
.programme-grid strong { margin: 28px 0 13px; font: 800 clamp(31px, 4vw, 49px)/.95 "Barlow Condensed", sans-serif; text-transform: uppercase; }
.programme-grid span { margin-top: auto; color: #665b4d; font-size: 14px; font-weight: 700; }
.library-browser { background: var(--cream); color: var(--ink); }
.library-tools { display: grid; grid-template-columns: 1fr minmax(260px, 420px); align-items: end; gap: 40px; margin-bottom: 35px; }
.library-tools h2 { font-size: clamp(52px, 7vw, 100px); }
.library-search span { display: block; margin-bottom: 8px; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; }
.library-search input { width: 100%; padding: 16px; border: 1px solid #907958; background: #fffaf1; color: var(--ink); font: inherit; }
.library-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 34px; }
.library-filters button { padding: 10px 17px; border: 1px solid #8e7653; background: transparent; font: 700 14px "Barlow Condensed", sans-serif; text-transform: uppercase; letter-spacing: .08em; cursor: pointer; }
.library-filters button[aria-pressed="true"] { background: var(--wine); border-color: var(--wine); color: var(--cream); }
.resource-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.resource-card { min-height: 300px; padding: 28px; display: flex; flex-direction: column; background: #fffaf1; border: 1px solid #d8c9ae; }
.resource-card[hidden] { display: none; }
.resource-card.resource-featured { background: var(--wine); color: var(--cream); }
.resource-type { color: #a4722f; font: 700 12px "Barlow Condensed", sans-serif; text-transform: uppercase; letter-spacing: .14em; }
.resource-featured .resource-type { color: var(--gold); }
.resource-card h3 { margin: 40px 0 10px; font: 800 33px/1 "Barlow Condensed", sans-serif; text-transform: uppercase; }
.resource-card p { color: #5d5549; }
.resource-featured p { color: #d5c7b7; }
.resource-card a, .coming-label { margin-top: auto; padding-top: 20px; color: #8a5624; font-weight: 700; }
.resource-featured a { color: var(--gold); }
.resource-coming { background: #e9dfce; }
.coming-label { color: #716556; text-transform: uppercase; letter-spacing: .08em; font-size: 13px; }
.library-empty { padding: 40px 0; text-align: center; }
.blog-featured { background: var(--cream); color: var(--ink); }
.blog-featured h2, .blog-readings h2 { font-size: clamp(38px, 5vw, 72px); }
.blog-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 22px; margin-top: 32px; }
.blog-card { display: block; background: #fffaf1; border: 1px solid #d8c9ae; }
.blog-card:hover { border-color: #8d572a; }
.blog-card img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; object-position: center 32%; }
.blog-card > div { padding: 18px; }
.blog-card .kicker { color: #794625; margin-bottom: 8px; }
.blog-card h3 { margin: 0; font: 800 32px/1 "Barlow Condensed", sans-serif; }
.blog-card span { color: #794625; font-weight: 700; }
.blog-readings article { max-width: 760px; margin: 0 auto; padding-block: 40px; border-bottom: 1px solid #705234; scroll-margin-top: 100px; }
.blog-scripture, .blog-readings article a { color: var(--gold); }
#featured { scroll-margin-top: 100px; }

@media (max-width: 900px) {
  .hero { min-height: max(700px, 90svh); }
  .hero-image { background-position: 73% center; }
  .hero-shade { background: linear-gradient(0deg, #160e0c 10%, #160e0cb0 53%, #25120b35 90%), linear-gradient(90deg, #160e0c, #160e0c00 75%); }
  .hero-copy { width: 100%; }
  .hero h1 { font-size: clamp(56px, 11.5vw, 100px); }
  .hero-seal { width: 56px; top: 95px; }
  .devotional-callout { grid-template-columns: 1fr; }
  .library-callout, .library-tools { grid-template-columns: 1fr; }
  .teaching-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .shelf-heading { grid-template-columns: 1fr; }
  .shelf-heading .kicker { grid-column: auto; }
  .collection-row { grid-template-columns: 44px minmax(0, 1fr) 150px; }
  .collection-row .release-status { grid-column: 2 / -1; justify-self: start; max-width: none; }
  .resource-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mission { grid-template-columns: 1fr; }
  .mission-mark { display: none; }
  .minister-image img { height: min(105vw, 720px); }
  .site-header nav:not(.open) { visibility: hidden; }
}

@media (max-width: 560px) {
  .hero { padding-top: 190px; padding-bottom: 125px; }
  .hero-image { background-position: 76% center; }
  .hero h1 { font-size: clamp(43px, 11.9vw, 65px); }
  .hero-text { margin-bottom: 21px; }
  .hero-actions .button { width: auto; min-height: 46px; padding: 10px 12px; font-size: 13px; gap: 6px; }
  .hero-programme { left: 20px; right: 20px; bottom: 22px; }
  .formation-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .formation-grid article { padding: 17px 13px; }
  .formation-grid h3 { font-size: 25px; }
  .formation-grid p { font-size: 14px; }
  .minister, .network { padding: 0; }
  .network-image { height: 290px; }
  .library-hero { min-height: 530px; padding-top: 145px; }
  .library-categories { gap: 6px; }
  .teaching-grid { grid-template-columns: 1fr; gap: 30px; }
  .collection-row { grid-template-columns: 1fr; min-height: 0; padding: 28px 20px; gap: 20px; }
  .collection-number { position: absolute; right: 18px; top: 20px; }
  .collection-row .release-status { grid-column: auto; }
  .audio-visual { height: 68px; justify-content: flex-start; }
  .book-stack, .music-disc, .prayer-flame { margin: 4px 0; }
  .programme-grid { grid-template-columns: 1fr; }
  .programme-grid a, .programme-grid a:nth-child(2n), .programme-grid a:nth-last-child(-n+2) { min-height: 180px; border-right: 0; border-bottom: 1px solid #bdab8d; }
  .programme-grid a:last-child { border-bottom: 0; }
  .resource-grid { grid-template-columns: 1fr; }
  .resource-card { min-height: 260px; }
}
