/*
Theme Name: Kadence Child
Theme URI: https://www.kadencewp.com/kadence-theme/
Description: Child theme for the Kadence theme.
Author: ibg
Template: kadence
Version: 1.0.8
Text Domain: kadence-child
*/

:root {
 --text-xs: 0.75rem;
 --text-sm: 0.875rem;
 --text-base: 1rem;
 --text-md: 1.333rem;
 --text-lg: 1.777rem;
 --text-xl: 2.369rem;
 --text-2xl: 2.827rem;
 --text-hero: clamp(2.75rem, 5vw, 4.25rem);
 --lh-tight: 1.04;
 --lh-snug: 1.15;
 --lh-normal: 1.45;
 --lh-relaxed: 1.68;
 --lh-loose: 1.78;
 --ls-tight: -0.01em;
 --ls-wide: 0.06em;
 --ls-wider: 0.12em;
 --ls-widest: 0.16em;
 --ff-display: "Playfair Display", serif;
 --ff-body: "PT Serif", Georgia, serif;
 --ff-ui: "DM Sans", system-ui, sans-serif;
 --bg: #f8f6f1;
 --white: #ffffff;
 --ink: #111111;
 --mid: #1a1a1a;
 --lt: #6e6860;
 --rule: #e4e0d8;
 --green: #2d5a3d;
 --green-dk: #1e3d29;
 --gold: #8c6020;
 --gold-dk: #6e4a16;
 --bg-hero: #ffffff;
 --bg-articles: #ffffff;
 --bg-pastor: #f2ede4;
 --bg-sermons: #1c2820;
 --bg-books: #ffffff;
 --bg-nl: #ffffff;
 --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
 --ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);
 --ease-color: ease;
}

body.rd-home {
 background: var(--bg);
 color: var(--ink);
 font-family: var(--ff-body);
 font-size: var(--text-base);
 line-height: var(--lh-relaxed);
 -webkit-font-smoothing: antialiased;
 font-kerning: normal;
 margin: 0;
 text-size-adjust: 100%;
}

body.rd-home *,
body.rd-home *::before,
body.rd-home *::after {
 box-sizing: border-box;
}

body.rd-home img {
 max-width: 100%;
 height: auto;
 display: block;
}

body.rd-home .site,
body.rd-home #wrapper,
body.rd-home .site-content,
body.rd-home .content-wrap,
body.rd-home .content-container,
body.rd-home .entry-hero-container-inner,
body.rd-home .content-area,
body.rd-home .site-main {
 margin: 0;
 max-width: none;
 padding: 0;
}

body.rd-home :focus-visible {
 border-radius: 4px;
 outline: 3px solid var(--green);
 outline-offset: 3px;
}

body.rd-home .skip-link {
 background: var(--green);
 border-radius: 0 0 6px 6px;
 color: #fff;
 font-family: var(--ff-ui);
 font-size: var(--text-sm);
 font-weight: 600;
 left: 1rem;
 padding: 0.5rem 1rem;
 position: absolute;
 text-decoration: none;
 top: -100%;
 transition: top 150ms var(--ease-out);
 z-index: 9999;
}

body.rd-home .skip-link:focus {
 top: 0;
}

body.rd-home .sr-only {
 border: 0;
 clip: rect(0, 0, 0, 0);
 height: 1px;
 margin: -1px;
 overflow: hidden;
 padding: 0;
 position: absolute;
 white-space: nowrap;
 width: 1px;
}

body.rd-home a,
body.rd-home a:hover,
body.rd-home a:focus,
body.rd-home a:active,
body.rd-home a:visited {
 text-decoration: none;
}

@keyframes heroFadeUp {
 from {
 opacity: 0;
 transform: translateY(12px);
 }

 to {
 opacity: 1;
 transform: translateY(0);
 }
}

@keyframes sermonFadeIn {
 from {
 opacity: 0;
 transform: translateY(6px);
 }

 to {
 opacity: 1;
 transform: translateY(0);
 }
}

@keyframes editorialFadeUp {
 from {
 opacity: 0;
 transform: translateY(10px);
 }

 to {
 opacity: 1;
 transform: translateY(0);
 }
}

@keyframes editorialImageIn {
 from {
 opacity: 0;
 transform: translateY(12px) scale(0.985);
 }

 to {
 opacity: 1;
 transform: translateY(0) scale(1);
 }
}

body.rd-home .hero-content {
 animation: heroFadeUp 400ms var(--ease-out) both;
}

.wrap {
 margin: 0 auto;
 max-width: 1200px;
 padding: 0 1.5rem;
}

@media (min-width: 768px) {
 .wrap {
 padding: 0 3rem;
 }
}

body.rd-home .rd-site-header {
 background: var(--white);
 border-bottom: 1px solid var(--rule);
 position: sticky;
 top: 0;
 z-index: 100;
}

body.rd-home .rd-nav {
 align-items: center;
 display: flex;
 gap: 2.2rem;
 height: 75px;
}

body.rd-home .nav-logo {
 align-items: center;
 color: var(--ink);
 display: inline-flex;
 flex-shrink: 0;
 font-family: var(--ff-display);
 font-size: var(--text-md);
 font-weight: 700;
 line-height: var(--lh-tight);
 min-height: 44px;
 text-decoration: none;
 transition: color 150ms var(--ease-color);
}

body.rd-home .nav-logo em {
 color: var(--lt);
 font-style: italic;
 font-weight: 600;
}

body.rd-home .nav-logo-img {
 display: block;
 height: auto;
 max-height: 36px;
 width: auto;
 max-width: 220px;
 object-fit: contain;
 filter: none;
}

body.rd-home .nav-links-wrap {
  display: flex;
  flex: 1;
  justify-content: flex-end;
}

body.rd-home .nav-links {
  display: flex;
  gap: 2rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

body.rd-home .nav-links a {
 align-items: center;
 color: var(--lt);
 display: inline-flex;
 font-family: var(--ff-ui);
 font-size: var(--text-xs);
 font-weight: 500;
 letter-spacing: 0.09em;
 min-height: 44px;
 padding: 0 0.35rem;
 text-decoration: none;
 transition: color 150ms var(--ease-color);
 text-transform: uppercase;
}

@media (hover: hover) and (pointer: fine) {

 body.rd-home .nav-links a:hover,
 body.rd-home .nav-logo:hover {
 color: var(--ink);
 }
}

body.rd-home .nav-links li.current-menu-item > a,
body.rd-home .nav-links li.current_page_item > a,
body.rd-home .nav-links li.current-menu-ancestor > a {
 color: var(--ink);
 text-decoration: underline;
 text-decoration-color: var(--green);
 text-decoration-thickness: 2px;
 text-underline-offset: 4px;
}

/* Header actions removed */

body.rd-home .hero-cta,
body.rd-home .pastor-btn,
body.rd-home .book-feat-btn,
body.rd-home .nl-btn {
 align-items: center;
 border-radius: 6px;
 display: inline-flex;
 min-width: 44px;
 text-decoration: none;
}

 font-weight: 500;
 height: 44px;
 letter-spacing: var(--ls-wide);
 padding: 0 0.875rem;
 transition: background 150ms var(--ease-color), color 150ms var(--ease-color);
}

body.rd-home .nav-sep {
 background: var(--rule);
 display: block;
 flex-shrink: 0;
 height: 20px;
 width: 1px;
 margin: 0 4px;
}

body.rd-home .btn-donate {
 background: transparent;
 border: 1.5px solid var(--gold);
 color: var(--gold);
 font-family: var(--ff-ui);
 font-size: var(--text-xs);
 font-weight: 500;
 gap: 5px;
 height: 44px;
 letter-spacing: 0.09em;
 padding: 0 0.95rem;
 text-transform: uppercase;
 transition: background 150ms var(--ease-color), border-color 150ms var(--ease-color), color 150ms var(--ease-color);
}

@media (hover: hover) and (pointer: fine) {
 body.rd-home .btn-sub:hover {
 background: var(--rule);
 color: var(--ink);
 }

 body.rd-home .btn-donate:hover {
 background: var(--gold);
 border-color: var(--gold);
 color: #ffffff;
 }
}

body.rd-home .btn-sub:active,
body.rd-home .btn-donate:active,
body.rd-home .hero-cta:active,
body.rd-home .pastor-btn:active,
body.rd-home .book-feat-btn:active,
body.rd-home .nl-btn:active,
body.rd-home .s-play:active {
 transform: scale(0.97);
 transition: transform 100ms var(--ease-out);
}

/* Hero Featured Section */
body.rd-home .hero-featured {
 position: relative;
 min-height: 600px;
 background-size: cover;
 background-position: center;
 overflow: hidden;
 width: 100%;
}

body.rd-home .hero-featured .wrap {
 margin: 0 auto;
 padding: 0 3rem;
 display: flex;
 align-items: center;
 min-height: 600px;
}

body.rd-home .hero-featured-bg {
 position: absolute;
 inset: 0;
 background-size: cover;
 background-position: center;
 z-index: 1;
}

body.rd-home .hero-featured-overlay {
 position: absolute;
 inset: 0;
 background:
 linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.3) 50%, rgba(0, 0, 0, 0.1) 100%),
 linear-gradient(to right, rgba(28, 40, 32, 0.88) 0%, rgba(28, 40, 32, 0.75) 35%, rgba(28, 40, 32, 0.2) 70%, transparent 100%);
 z-index: 2;
}

body.rd-home .hero-featured-content {
 max-width: 620px;
 padding: 4rem 0;
 position: relative;
 z-index: 3;
 color: #fff;
 margin: 0;
}

body.rd-home .hero-featured-cat {
 background: var(--gold);
 border-radius: 4px;
 color: #fff;
 display: inline-block;
 font-family: var(--ff-ui);
 font-size: 11px;
 font-weight: 700;
 letter-spacing: 0.08em;
 margin-bottom: 1.25rem;
 padding: 6px 12px;
 text-transform: uppercase;
}

body.rd-home .hero-featured-title {
 color: #fff;
 font-family: var(--ff-display);
 font-size: 52px;
 font-weight: 700;
 line-height: 1.05;
 letter-spacing: -0.03em;
 margin-bottom: 1.5rem;
 text-wrap: balance;
}

body.rd-home .hero-featured-excerpt {
 color: rgba(255, 255, 255, 0.85);
 font-family: var(--ff-body);
 font-size: 18px;
 font-style: italic;
 line-height: 1.6;
 margin-bottom: 2rem;
 max-width: 600px;
}

body.rd-home .hero-featured-meta {
 align-items: center;
 color: rgba(255, 255, 255, 0.7);
 display: flex;
 font-family: var(--ff-ui);
 font-size: 14px;
 gap: 0.5rem;
 margin-bottom: 2.5rem;
}

body.rd-home .hero-featured-meta .d {
 opacity: 0.4;
}

body.rd-home .hero-featured-btn {
 align-items: center;
 background: var(--green);
 border: none;
 border-radius: 6px;
 color: #fff;
 display: inline-flex;
 font-family: var(--ff-ui);
 font-size: 12px;
 font-weight: 600;
 gap: 6px;
 letter-spacing: 1.5px;
 padding: 14px 28px;
 text-decoration: none;
 text-transform: uppercase;
 transition: background 150ms var(--ease-color), box-shadow 150ms var(--ease-color);
}

@media (hover: hover) and (pointer: fine) {
 body.rd-home .hero-featured-btn:hover {
 background: var(--green-dk);
 box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
 }
}

body.rd-home .hero-featured-btn:active {
 transform: scale(0.97);
 transition: transform 100ms var(--ease-out);
}

body.rd-home .art-main-img img,
body.rd-home .book-cover-lg img,
body.rd-home .book-cover-sm img {
 display: block;
 height: 100%;
 object-fit: cover;
 width: 100%;
}

body.rd-home .sec-articles {
 background: var(--bg-articles);
 color: var(--ink);
}

body.rd-home .sec-pastor {
 background:
 linear-gradient(180deg, rgba(45, 90, 61, 0.08) 0%, rgba(255, 255, 255, 0.98) 18%, #ffffff 100%);
 border-bottom: 1px solid var(--rule);
 border-top: 1px solid var(--rule);
 overflow: hidden;
 position: relative;
}

body.rd-home .sec-pastor::before {
 background:
 radial-gradient(circle at 14% 20%, rgba(45, 90, 61, 0.14) 0%, rgba(45, 90, 61, 0) 24%),
 radial-gradient(circle at 82% 72%, rgba(45, 90, 61, 0.1) 0%, rgba(45, 90, 61, 0) 26%);
 content: "";
 inset: 0;
 pointer-events: none;
 position: absolute;
}

body.rd-home .sec-sermons {
 background: var(--bg-sermons);
 padding: 0;
}

body.rd-home .sermons-sec {
 background: transparent;
 border-radius: 0;
 padding: 6rem 0;
 color: #fff;
 box-shadow: none;
}

body.rd-home .sec-books {
 background: var(--bg-books);
 border-bottom: 1px solid var(--rule);
 border-top: 1px solid rgba(228, 224, 216, 0.6);
}


body.rd-home .sec-nl {
 background: var(--bg-nl);
}

body.rd-home .art-sec {
 padding: 6rem 0;
}

body.rd-home .sermons-sec {
 padding: 6rem 0;
}

body.rd-home .books-sec {
 padding: 6rem 0;
}

body.rd-home .nl-strip {
 align-items: center;
 display: flex;
 gap: 3rem;
 justify-content: space-between;
 padding: 4rem 0 5rem;
}


body.rd-home .art-row1 {
 align-items: start;
 display: grid;
 gap: 3rem;
 grid-template-columns: 1.4fr 1fr;
 margin-bottom: 3.5rem;
 overflow: visible;
 padding: 0.35rem;
}

body.rd-home .art-main {
 animation: editorialFadeUp 360ms var(--ease-out) 70ms both;
 padding: 1rem;
}

body.rd-home .art-row2 {
 column-gap: 2rem;
 display: grid;
 grid-template-columns: repeat(3, 1fr);
 overflow: visible;
 padding: 0.35rem;
 row-gap: 2.5rem;
}

body.rd-home .art-main,
body.rd-home .art-sm,
body.rd-home .art-col,
body.rd-home .book-sm,
body.rd-home .book-featured {
 background: var(--white);
 border-radius: 12px;
 cursor: pointer;
 transition: box-shadow 220ms var(--ease-out), transform 220ms var(--ease-out);
}

body.rd-home .art-main-img {
 aspect-ratio: 16 / 9;
 background: linear-gradient(135deg, #d4cec6 0%, #c4bdb4 100%);
 border-radius: 8px;
 margin-bottom: 1.5rem;
 max-width: 100%;
 overflow: hidden;
 position: relative;
 transition: filter 280ms var(--ease-out), transform 280ms var(--ease-out);
 width: 100%;
}

body.rd-home .art-main-img::after {
 background-color: var(--green);
 content: "";
 inset: 0;
 mix-blend-mode: multiply;
 opacity: 0.15;
 pointer-events: none;
 position: absolute;
 transition: opacity 280ms var(--ease-out);
 z-index: 1;
}

@media (hover: hover) and (pointer: fine) {

 body.rd-home .art-main:hover,
 body.rd-home .art-sm:hover,
 body.rd-home .art-col:hover {
 box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
 transform: translateY(-4px);
 }

 body.rd-home .art-main:hover .art-main-img,
 body.rd-home .art-col:hover .art-main-img {
 filter: saturate(1.02) contrast(1.01);
 transform: translateY(-2px) scale(1.012);
 }

 body.rd-home .art-main:hover .art-main-img::after,
 body.rd-home .art-col:hover .art-main-img::after {
 opacity: 0;
 }

 body.rd-home .art-main:hover .art-main-title,
 body.rd-home .art-sm:hover .art-sm-title,
 body.rd-home .art-col:hover .art-col-title,
 body.rd-home .book-sm:hover .book-sm-title {
 color: var(--green);
 }
}

body.rd-home .art-main-title,
body.rd-home .art-sm-title,
body.rd-home .art-col-title,
body.rd-home .pastor-name,
body.rd-home .sermon-title,
body.rd-home .book-feat-title,
body.rd-home .book-sm-title,
body.rd-home .nl-left h2 {
 color: var(--ink);
 font-family: var(--ff-display);
 letter-spacing: var(--ls-tight);
}

body.rd-home .art-main-title {
 color: var(--ink);
 font-size: clamp(2rem, 2.6vw, 2.2rem);
 font-weight: 700;
 letter-spacing: -0.025em;
 line-height: var(--lh-snug);
 margin-bottom: 1rem;
 max-width: 15ch;
 transition: color 150ms var(--ease-color);
}

body.rd-home .art-sm-title {
 color: var(--ink);
 font-size: var(--text-lg);
 font-weight: 700;
 letter-spacing: -0.02em;
 line-height: var(--lh-snug);
 margin-bottom: 0.4rem;
 max-width: 18ch;
 transition: color 150ms var(--ease-color);
}

body.rd-home .art-col-title {
 color: var(--ink);
 font-size: var(--text-md);
 font-weight: 700;
 letter-spacing: -0.015em;
 line-height: var(--lh-snug);
 margin-bottom: 0.4rem;
 max-width: 22ch;
 transition: color 150ms var(--ease-color);
}

body.rd-home .art-excerpt {
 color: var(--mid);
 font-size: var(--text-base);
 line-height: 1.72;
 margin-bottom: 0.95rem;
 max-width: 62ch;
}

body.rd-home .sec-articles .art-cat {
 background: rgba(17, 17, 17, 0.05); /* Default fallback grey */
 border-radius: 4px;
 color: var(--lt);
 display: inline-block;
 font-family: var(--ff-ui);
 font-size: 11px;
 font-weight: 600;
 letter-spacing: 0.05em;
 margin-bottom: 0.75rem;
 padding: 4px 10px;
 text-transform: uppercase;
}

/* Specific Category Colors */
body.rd-home .sec-articles .art-cat.cat-teologia { background: rgba(45, 90, 61, 0.1); color: var(--green); }
body.rd-home .sec-articles .art-cat.cat-vida-cristiana { background: rgba(140, 96, 32, 0.1); color: var(--gold); }
body.rd-home .sec-articles .art-cat.cat-reflexiones { background: rgba(84, 110, 122, 0.1); color: #546e7a; }
body.rd-home .sec-articles .art-cat.cat-recursos { background: rgba(179, 137, 121, 0.1); color: #8d6e63; }

body.rd-home .sec-articles .art-meta {
 align-items: center;
 color: var(--lt);
 display: flex;
 flex-wrap: wrap;
 font-family: var(--ff-ui);
 font-size: 13px;
 gap: 0.4rem;
}

body.rd-home .sec-articles .art-meta .d::before {
 content: "·";
 color: var(--rule);
}

body.rd-home .art-stack {
 animation: editorialFadeUp 360ms var(--ease-out) 130ms both;
 display: flex;
 flex-direction: column;
 gap: 2rem;
 justify-content: center;
 overflow: visible;
 padding: 0.35rem;
}

body.rd-home .art-sm {
 padding: 1rem;
}

body.rd-home .art-sm .art-excerpt,
body.rd-home .art-col .art-excerpt {
 -webkit-box-orient: vertical;
 display: -webkit-box;
 overflow: hidden;
}

body.rd-home .art-sm .art-excerpt {
 -webkit-line-clamp: 3;
}

body.rd-home .art-col .art-excerpt {
 -webkit-line-clamp: 3;
}

body.rd-home .art-col {
 padding: 1rem;
}

body.rd-home .art-actions,
body.rd-home .sermon-actions,
body.rd-home .books-actions {
 display: flex;
 justify-content: center;
 margin-top: 4rem;
}

body.rd-home .art-actions a,
body.rd-home .sermon-actions a,
body.rd-home .books-actions a {
 align-items: center;
 color: var(--green);
 display: inline-flex;
 font-family: var(--ff-ui);
 font-size: 15px;
 font-weight: 600;
 gap: 6px;
 letter-spacing: 0.02em;
 padding: 8px 0;
 text-decoration: none;
 text-transform: uppercase;
 transition: color 150ms var(--ease-color);
}

body.rd-home .sermon-actions a {
 color: var(--gold);
}

body.rd-home .art-actions a span,
body.rd-home .sermon-actions a span,
body.rd-home .books-actions a span {
 display: inline-block;
 transition: transform 150ms var(--ease-out);
}

@media (hover: hover) and (pointer: fine) {
 body.rd-home .art-actions a:hover,
 body.rd-home .books-actions a:hover {
 color: var(--green-dk);
 }
 body.rd-home .sermon-actions a:hover {
 color: #ffffff;
 }
 body.rd-home .art-actions a:hover span,
 body.rd-home .sermon-actions a:hover span,
 body.rd-home .books-actions a:hover span {
 transform: translateX(6px);
 }
}

body.rd-home .pastor-strip {
 animation: editorialFadeUp 420ms var(--ease-out) 80ms both;
 align-items: center;
 display: flex;
 flex-direction: column;
 gap: 1.5rem;
 margin: 0 auto;
 max-width: 700px;
 padding: 6rem 0;
 position: relative;
 text-align: center;
}

@media (min-width: 768px) {
 body.rd-home .pastor-strip {
 flex-direction: row;
 gap: 2.5rem;
 padding: 7rem 0;
 text-align: left;
 }
}

body.rd-home .pastor-avatar {
 align-items: center;
 background: linear-gradient(145deg, rgba(45, 90, 61, 0.26), rgba(45, 90, 61, 0.1));
 border: 1px solid rgba(45, 90, 61, 0.18);
 border-radius: 50%;
 box-shadow: 0 12px 28px rgba(45, 90, 61, 0.08);
 color: var(--green-dk);
 display: flex;
 flex-shrink: 0;
 font-family: var(--ff-display);
 font-size: var(--text-lg);
 font-style: italic;
 font-weight: 700;
 height: 140px;
 justify-content: center;
 overflow: hidden;
 transition: box-shadow 260ms var(--ease-out), transform 260ms var(--ease-out), filter 260ms var(--ease-out);
 width: 140px;
}

body.rd-home .pastor-avatar img {
 display: block;
 filter: saturate(0.96) contrast(1);
 height: 100%;
 object-fit: cover;
 width: 100%;
}

body.rd-home .pastor-copy {
 display: flex;
 flex-direction: column;
 gap: 1.25rem;
 min-width: 0;
 align-items: center;
}

@media (min-width: 768px) {
 body.rd-home .pastor-copy {
 align-items: flex-start;
 }
}

body.rd-home .pastor-text {
 min-width: 0;
 max-width: 34rem;
}

body.rd-home .pastor-name {
 color: var(--green-dk);
 font-family: var(--ff-display);
 font-size: clamp(1.6rem, 2vw, 2.1rem);
 font-weight: 700;
 line-height: var(--lh-tight);
 margin-bottom: 0.25rem;
 max-width: none;
}

body.rd-home .pastor-role {
 color: var(--green-dk);
 font-size: var(--text-sm);
 font-weight: 500;
 letter-spacing: 0.11em;
 line-height: 1.5;
 margin-bottom: 1.15rem;
 text-transform: uppercase;
}

body.rd-home .pastor-bio {
 color: #1a2d20;
 display: -webkit-box;
 font-size: var(--text-sm);
 line-height: 1.7;
 margin: 0;
 max-width: 100%;
 overflow: hidden;
 -webkit-box-orient: vertical;
 -webkit-line-clamp: 4;
}

body.rd-home .pastor-btn {
 align-self: start;
 border: 0;
 color: var(--green);
 font-family: var(--ff-ui);
 font-size: var(--text-xs);
 font-weight: 500;
 height: auto;
 letter-spacing: 0.06em;
 min-height: 0;
 padding: 0;
 text-transform: none;
 transition: color 150ms var(--ease-color), transform 180ms var(--ease-out);
 white-space: nowrap;
}

body.rd-home .pastor-btn span {
 display: inline-block;
 transform: translateX(0);
 transition: transform 180ms var(--ease-out);
}

@media (hover: hover) and (pointer: fine) {
 body.rd-home .pastor-btn:hover {
 background: transparent;
 color: var(--green-dk);
 transform: none;
 }

 body.rd-home .pastor-btn:hover span {
 transform: translateX(3px);
 }

 body.rd-home .pastor-strip:hover .pastor-avatar {
 box-shadow: 0 24px 48px rgba(45, 90, 61, 0.16);
 filter: saturate(1.02);
 transform: translateY(-3px);
 }
}


body.rd-home .sermon-layout {
 display: flex;
 flex-direction: column;
 gap: 2.5rem;
 margin-top: 3rem;
}

/* Featured Sermon */
body.rd-home .sermon-featured {
 width: 100%;
}

body.rd-home .s-feat-link {
 display: grid;
 grid-template-columns: 1.25fr 1fr;
 gap: 3rem;
 align-items: center;
 text-decoration: none;
 group: hover;
}

body.rd-home .s-feat-media {
 position: relative;
 aspect-ratio: 16 / 9;
 border-radius: 12px;
 overflow: hidden;
 box-shadow: 0 20px 40px rgba(0,0,0,0.4);
}

body.rd-home .s-no-thumb {
 background: linear-gradient(135deg, #2d5a3d 0%, #1e3d29 100%);
 display: flex;
 align-items: center;
 justify-content: center;
}

body.rd-home .s-feat-media img {
 width: 100%;
 height: 100%;
 object-fit: cover;
 transition: transform 0.6s var(--ease-out);
}

body.rd-home .s-feat-overlay {
 position: absolute;
 inset: 0;
 background: linear-gradient(to top, rgba(0,0,0,0.4), transparent);
 transition: opacity 0.3s var(--ease-color);
}

body.rd-home .s-feat-play {
 position: absolute;
 top: 50%;
 left: 50%;
 transform: translate(-50%, -50%) scale(1);
 width: 80px;
 height: 80px;
 background: var(--gold);
 border-radius: 50%;
 display: flex;
 align-items: center;
 justify-content: center;
 z-index: 2;
 transition: transform 0.3s var(--ease-out), background 0.3s var(--ease-color);
 box-shadow: 0 10px 25px rgba(140, 96, 32, 0.4);
}

body.rd-home .s-feat-play-tri {
 border-top: 10px solid transparent;
 border-bottom: 10px solid transparent;
 border-left: 18px solid #ffffff;
 margin-left: 5px;
}

body.rd-home .s-feat-badge {
 position: absolute;
 top: 1.5rem;
 left: 1.5rem;
 background: rgba(255,255,255,0.15);
 backdrop-filter: blur(8px);
 -webkit-backdrop-filter: blur(8px);
 color: #ffffff;
 padding: 6px 14px;
 font-family: var(--ff-ui);
 font-size: 11px;
 font-weight: 700;
 text-transform: uppercase;
 letter-spacing: 0.1em;
 border-radius: 4px;
 border: 1px solid rgba(255,255,255,0.2);
}

body.rd-home .s-feat-content {
 color: #ffffff;
}

body.rd-home .s-meta-top {
 display: flex;
 align-items: center;
 gap: 0.75rem;
 margin-bottom: 1rem;
 font-family: var(--ff-ui);
 font-size: 13px;
 color: rgba(255,255,255,0.6);
 text-transform: uppercase;
 letter-spacing: 0.05em;
}

body.rd-home .s-feat-title {
 font-family: var(--ff-display);
 font-size: 36px;
 font-weight: 700;
 line-height: 1.15;
 margin: 0 0 1rem;
 color: #ffffff;
 transition: color 0.3s var(--ease-color);
}

body.rd-home .s-feat-subtitle {
 font-family: var(--ff-body);
 font-size: 18px;
 line-height: 1.6;
 color: rgba(255,255,255,0.8);
 font-style: italic;
}

/* Grid Sermons */
body.rd-home .sermon-grid {
 display: grid;
 grid-template-columns: repeat(3, 1fr);
 gap: 2.5rem;
 padding-top: 2.5rem;
 border-top: 1px solid rgba(255,255,255,0.1);
}

body.rd-home .sermon-grid-item {
 width: 100%;
}

body.rd-home .s-grid-link {
 display: block;
 text-decoration: none;
}

body.rd-home .s-grid-media {
 position: relative;
 aspect-ratio: 16 / 10;
 border-radius: 8px;
 overflow: hidden;
 margin-bottom: 1.25rem;
 background: #2a3a2e;
}

body.rd-home .s-grid-media img {
 width: 100%;
 height: 100%;
 object-fit: cover;
 transition: transform 0.5s var(--ease-out);
}

body.rd-home .s-grid-overlay {
 position: absolute;
 inset: 0;
 background: rgba(28, 40, 32, 0.4);
 opacity: 0;
 transition: opacity 0.3s var(--ease-color);
}

body.rd-home .s-grid-play {
 position: absolute;
 top: 50%;
 left: 50%;
 transform: translate(-50%, -50%) scale(0.8);
 width: 54px;
 height: 54px;
 background: #ffffff;
 border-radius: 50%;
 display: flex;
 align-items: center;
 justify-content: center;
 opacity: 0;
 transition: all 0.3s var(--ease-out);
 box-shadow: 0 8px 20px rgba(0,0,0,0.3);
}

body.rd-home .s-grid-play-tri {
 border-top: 7px solid transparent;
 border-bottom: 7px solid transparent;
 border-left: 12px solid var(--green-dk);
 margin-left: 3px;
}

body.rd-home .s-grid-meta {
 font-family: var(--ff-ui);
 font-size: 11px;
 color: rgba(255,255,255,0.5);
 text-transform: uppercase;
 letter-spacing: 0.1em;
 margin-bottom: 0.65rem;
}

body.rd-home .s-grid-title {
 font-family: var(--ff-display);
 font-size: 19px;
 font-weight: 600;
 line-height: 1.35;
 color: #ffffff;
 margin: 0;
 transition: color 0.3s var(--ease-color);
}

/* Hover States */
@media (hover: hover) and (pointer: fine) {
 body.rd-home .s-feat-link:hover .s-feat-media img {
 transform: scale(1.05);
 }
 
 body.rd-home .s-feat-link:hover .s-feat-play {
 transform: translate(-50%, -50%) scale(1.1);
 background: var(--gold-dk);
 }
 
 body.rd-home .s-feat-link:hover .s-feat-title {
 color: var(--gold);
 }

 body.rd-home .s-grid-link:hover .s-grid-media img {
 transform: scale(1.08);
 }
 
 body.rd-home .s-grid-link:hover .s-grid-overlay {
 opacity: 1;
 }
 
 body.rd-home .s-grid-link:hover .s-grid-play {
 opacity: 1;
 transform: translate(-50%, -50%) scale(1);
 }
 
 body.rd-home .s-grid-link:hover .s-grid-title {
 color: var(--gold);
 }
}

/* Sermon actions unified in global actions block */

/* Sermon actions hover unified in global actions block */

/* Response */
@media (max-width: 1024px) {
 body.rd-home .s-feat-link {
 grid-template-columns: 1fr;
 gap: 2rem;
 }
 body.rd-home .sermon-grid {
 grid-template-columns: repeat(2, 1fr);
 }
}

@media (max-width: 768px) {
 body.rd-home .sec-sermons {
 padding: 3.5rem 0;
 }
 body.rd-home .s-feat-title {
 font-size: 28px;
 }
 body.rd-home .sermon-grid {
 grid-template-columns: 1fr;
 gap: 2rem;
 }
}

body.rd-home .s-dur {
 background: var(--rule);
 border: none;
 border-radius: 20px;
 color: var(--mid);
 font-family: var(--ff-ui);
 font-size: 12px;
 font-weight: 500;
 font-variant-numeric: tabular-nums;
 padding: 4px 10px;
 white-space: nowrap;
}

@media (hover: hover) and (pointer: fine) {
 body.rd-home .sermon-row:hover {
 background: rgba(45, 90, 61, 0.03);
 }

 body.rd-home .sermon-row:hover .sermon-title {
 color: var(--green);
 }

 body.rd-home .sermon-row:hover .s-play {
 background: var(--gold);
 }
}

@media (max-width: 900px) {
 body.rd-home .sermon-row-link {
 column-gap: 0.75rem;
 grid-template-columns: 48px minmax(0, 1fr);
 row-gap: 0.45rem;
 }

 body.rd-home .s-meta {
 align-items: flex-start;
 grid-column: 2;
 min-width: 0;
 padding-left: 0;
 }

 body.rd-home .s-body {
 padding-right: 0;
 }
}

body.rd-home .books-layout {
 display: flex;
 flex-direction: column;
 gap: 3.5rem;
}

body.rd-home .book-featured {
 animation: editorialFadeUp 420ms var(--ease-out) 90ms both;
 align-items: center;
 display: flex;
 gap: 3rem;
 max-width: 960px;
 margin: 0 auto;
}

body.rd-home .book-cover-link {
 display: block;
 flex-shrink: 0;
}

.short-card-media {
 aspect-ratio: 9 / 16;
 background-color: #2a2a2a;
 border-radius: 12px;
 overflow: hidden;
 position: relative;
 transition: transform 300ms var(--ease-out);
 width: 100%;
}
 

@media (hover: hover) and (pointer: fine) {
 body.rd-home .book-featured:hover .book-cover-lg {
 box-shadow: 0 16px 48px rgba(0, 0, 0, 0.22);
 transform: rotate(-2deg) translateY(-4px);
 }
}

body.rd-home .bc1 {
 background: linear-gradient(150deg, #2d5a3d 0%, #1a3825 100%);
}

body.rd-home .bc2 {
 background: linear-gradient(150deg, #3a2818 0%, #1e1208 100%);
}

body.rd-home .bc3 {
 background: linear-gradient(150deg, #1a2a3a 0%, #0e1820 100%);
}

body.rd-home .bc4 {
 background: linear-gradient(150deg, #3a3830 0%, #201e18 100%);
}

body.rd-home .book-spine,
body.rd-home .book-sm-spine {
 background: rgba(0, 0, 0, 0.25);
 bottom: 0;
 left: 0;
 position: absolute;
 top: 0;
}

body.rd-home .book-spine {
 width: 7px;
}

body.rd-home .book-sm-spine {
 width: 4px;
}

body.rd-home .book-inner {
 padding: 1rem 0.8rem 1rem 1.3rem;
}

body.rd-home .book-inner-t {
 color: rgba(248, 246, 241, 0.75);
 font-family: var(--ff-display);
 font-size: var(--text-base);
 font-weight: 600;
 line-height: var(--lh-snug);
}

body.rd-home .book-badge {
 background: var(--gold);
 border-radius: 3px;
 color: #fff;
 font-family: var(--ff-ui);
 font-size: var(--text-xs);
 font-weight: 700;
 letter-spacing: var(--ls-wider);
 padding: 3px 8px;
 position: absolute;
 right: 0.8rem;
 text-transform: uppercase;
 top: 0.8rem;
}

body.rd-home .book-feat-info {
 flex: 1;
 padding-top: 0.4rem;
}

body.rd-home .book-feat-label {
 color: var(--lt);
 font-family: var(--ff-ui);
 font-size: 11px;
 font-weight: 600;
 letter-spacing: 0.12em;
 margin-bottom: 0.6rem;
 text-transform: uppercase;
}

body.rd-home .book-feat-title {
 font-size: clamp(1.55rem, 2.5vw, 1.95rem);
 font-weight: 700;
 letter-spacing: -0.025em;
 line-height: var(--lh-tight);
 margin-bottom: 0.5rem;
}

body.rd-home .book-feat-sub {
 background: var(--gold);
 border-radius: 20px;
 color: #fff;
 display: inline-block;
 font-family: var(--ff-ui);
 font-size: 12px;
 font-weight: 600;
 margin-bottom: 1rem;
 padding: 4px 12px;
}

body.rd-home .book-feat-publisher,
body.rd-home .book-sm-publisher {
 color: var(--lt);
 font-family: var(--ff-ui);
 font-size: var(--text-xs);
 font-style: italic;
 line-height: 1.5;
}

body.rd-home .book-feat-publisher {
 margin: 0 0 1rem;
}

body.rd-home .book-feat-desc {
 -webkit-box-orient: vertical;
 -webkit-line-clamp: 4;
 color: var(--mid);
 display: -webkit-box;
 font-size: var(--text-base);
 line-height: 1.7;
 margin-bottom: 1.4rem;
 max-width: 52ch;
 overflow: hidden;
}

body.rd-home .book-feat-btn {
 background: var(--gold);
 border-radius: 4px;
 color: #fff;
 font-family: var(--ff-ui);
 font-size: 0.8rem;
 font-weight: 700;
 gap: 8px;
 height: auto;
 letter-spacing: 0.08em;
 padding: 16px 32px;
 text-transform: uppercase;
 transition: all 0.3s var(--ease-out);
 box-shadow: 0 4px 15px rgba(140, 96, 32, 0.2);
}

@media (hover: hover) and (pointer: fine) {
 body.rd-home .book-feat-btn:hover {
 background: var(--gold-dk);
 transform: translateY(-3px);
 box-shadow: 0 8px 25px rgba(140, 96, 32, 0.3);
 }
}

body.rd-home .books-rest {
 display: grid;
 gap: 2.5rem;
 grid-template-columns: repeat(auto-fit, 160px);
 justify-content: center;
 margin: 0 auto;
}

body.rd-home .books-rest-wrap {
 min-width: 0;
}

body.rd-home .books-rest-title {
 color: var(--lt);
 font-family: var(--ff-ui);
 font-size: 11px;
 font-weight: 600;
 letter-spacing: 0.15em;
 line-height: var(--lh-normal);
 margin: 0 0 1.25rem;
 text-transform: uppercase;
 text-align: center;
}

body.rd-home .book-sm {
 align-items: center;
 animation: editorialFadeUp 360ms var(--ease-out) both;
 border-radius: 0;
 display: flex;
 flex-direction: column;
 gap: 0.75rem;
 padding: 0.5rem 0;
 text-align: center;
 transition: transform 220ms var(--ease-out);
}

body.rd-home .book-sm:nth-child(1) {
 animation-delay: 70ms;
}

body.rd-home .book-sm:nth-child(2) {
 animation-delay: 110ms;
}

body.rd-home .book-sm:nth-child(3) {
 animation-delay: 150ms;
}

body.rd-home .book-sm:nth-child(4) {
 animation-delay: 190ms;
}

/* borders removed — column card layout has no row dividers */

body.rd-home .book-sm-link {
 align-items: center;
 color: inherit;
 display: flex;
 flex-direction: column;
 gap: 0.75rem;
 text-decoration: none;
 width: 100%;
}

body.rd-home .book-cover-lg {
 aspect-ratio: 2 / 3;
 background-color: #e4e0d8;
 border-radius: 8px;
 box-shadow: 0 12px 24px rgba(0, 0, 0, 0.1);
 overflow: hidden;
 position: relative;
 transition: transform 200ms var(--ease-out), box-shadow 200ms var(--ease-out);
 width: 240px; /* Restored featured size */
}

body.rd-home .book-cover-sm {
 aspect-ratio: 2 / 3;
 border-radius: 3px;
 box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
 flex-shrink: 0;
 overflow: hidden;
 position: relative;
 transition: transform 200ms var(--ease-out), box-shadow 200ms var(--ease-out);
 width: 120px; /* Restored collab size */
}

@media (hover: hover) and (pointer: fine) {
 body.rd-home .book-sm:hover .book-cover-sm {
 box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
 transform: scale(1.05);
 }

 body.rd-home .book-sm:hover {
 transform: none;
 }
}

body.rd-home .book-sm-title {
 font-size: 14px;
 font-weight: 600;
 letter-spacing: -0.01em;
 line-height: var(--lh-snug);
 margin-bottom: 0.2rem;
 transition: color 150ms var(--ease-color);
}

body.rd-home .book-sm-sub {
 color: var(--lt);
 font-family: var(--ff-ui);
 font-size: 12px;
 letter-spacing: var(--ls-wide);
 margin-bottom: 0.15rem;
}

body.rd-home .book-sm-publisher {
 margin: 0;
}

body.rd-home .nl-left h2 {
 font-size: var(--text-2xl);
 font-weight: 700;
 letter-spacing: -0.03em;
 line-height: var(--lh-tight);
 margin-bottom: 0.4rem;
}

body.rd-home .nl-left p {
 font-size: var(--text-base);
}

body.rd-home .nl-strip {
 animation: editorialFadeUp 420ms var(--ease-out) 90ms both;
 align-items: end;
 border-top: 1px solid var(--rule);
 display: grid;
 gap: 1.75rem 3rem;
 grid-template-columns: minmax(0, 1fr) auto;
 padding: 6rem 0;
}

body.rd-home .nl-form {
 align-items: center;
 display: flex;
 flex-shrink: 0;
 gap: 0.65rem;
}

 body.rd-home .nl-input {
  background: var(--white);
  border: 1px solid var(--rule);
  border-radius: 6px;
  color: var(--ink);
  flex: 1;
  font-family: var(--ff-ui);
  font-size: var(--text-base);
  height: 48px;
  min-width: 0;
  outline: none;
  padding: 0 1rem;
  transition: border-color 150ms var(--ease-color);
 }

body.rd-home .nl-input::placeholder {
 color: var(--lt);
 font-style: italic;
}

body.rd-home .nl-input:focus {
 box-shadow: 0 0 0 4px rgba(45, 90, 61, 0.08);
 border-color: var(--ink);
 transform: translateY(-1px);
}

 body.rd-home .nl-btn {
  background: var(--ink);
  border: 0;
  border-radius: 6px;
  color: #fff;
  font-family: var(--ff-ui);
  font-size: var(--text-sm);
  font-weight: 500;
  height: 48px;
  letter-spacing: var(--ls-wide);
  padding: 0 1.5rem;
  transition: background 150ms var(--ease-color);
  white-space: nowrap;
 }

@media (hover: hover) and (pointer: fine) {
 body.rd-home .nl-btn:hover {
 background: var(--green);
 }
}

/* ==========================================================================
 Editorial Footer (Dark Mode)
 ========================================================================== */

/* ==========================================================================
 Givingli-Style Card Footer
 ========================================================================== */

.rd-site-footer-dark {
 background-color: #1c2820;
 color: #ffffff;
 padding: 8rem 0 10rem;
 position: relative;
 overflow: hidden;
 font-family: var(--ff-body);
}

.rd-footer-main {
 display: grid;
 grid-template-columns: 1.25fr 0.75fr;
 gap: 4rem;
 align-items: start;
 position: relative;
 z-index: 2;
}

.rd-footer-name {
 color: #ffffff;
 font-family: var(--ff-display);
 font-size: clamp(3rem, 6vw, 4.5rem);
 font-weight: 700;
 line-height: 1.05;
 margin: 0 0 2rem;
 letter-spacing: -0.03em;
}

.rd-footer-bio {
 color: rgba(255, 255, 255, 0.7);
 font-size: 1.1rem;
 line-height: 1.7;
 max-width: 540px;
 margin-bottom: 3rem;
}

.rd-bio-link {
 color: var(--gold);
 display: block;
 font-family: var(--ff-ui);
 font-size: 0.85rem;
 font-weight: 700;
 margin-top: 1.2rem;
 text-decoration: none;
 text-transform: uppercase;
 letter-spacing: 0.08em;
 transition: all 0.3s var(--ease-out);
}

.rd-bio-link:hover {
 color: #ffffff;
 transform: translateX(8px);
}

.rd-footer-credits {
 color: rgba(255, 255, 255, 0.4);
 font-family: var(--ff-ui);
 font-size: 0.85rem;
 line-height: 1.6;
 letter-spacing: 0.02em;
}

.rd-footer-credits a {
 color: inherit;
 text-decoration: underline;
}

.rd-footer-credits a:hover {
 color: #ffffff;
}

.rd-footer-social {
 display: flex;
 justify-content: flex-end;
 padding-top: 1rem;
}

.rd-social-grid {
 display: flex;
 gap: 2rem;
}

.rd-social-link {
 color: #ffffff;
 opacity: 0.4;
 transition: opacity 0.3s var(--ease-color), transform 0.3s var(--ease-out);
 display: flex;
 align-items: center;
 justify-content: center;
}

.rd-social-link:hover {
 color: var(--gold);
 opacity: 1;
 transform: translateY(-5px);
}

.rd-social-icon svg {
 width: 44px;
 height: 44px;
}

.rd-footer-bottom-text {
 position: absolute;
 bottom: -0.1em;
 left: 0;
 right: 0;
 text-align: center;
 color: rgba(255, 255, 255, 0.1);
 font-family: var(--ff-display);
 font-size: clamp(6rem, 15vw, 18rem);
 font-weight: 700;
 line-height: 1;
 white-space: nowrap;
 pointer-events: none;
 user-select: none;
 z-index: 1;
 letter-spacing: -0.04em;
}

.rd-footer-bottom-text span {
 display: inline-block;
 pointer-events: auto;
 transition: color 0.4s var(--ease-out), transform 0.4s var(--ease-out);
}

.rd-footer-bottom-text span:hover {
 color: rgba(255, 255, 255, 0.9);
 transform: translateY(-10px) scale(1.05);
 transition-duration: 0.1s;
}

@media (max-width: 960px) {
 .rd-footer-main {
 grid-template-columns: 1fr;
 gap: 4rem;
 }
 .rd-footer-social {
 justify-content: flex-start;
 }
 .rd-footer-bottom-text {
 font-size: 12vw;
 bottom: 1rem;
 }
}

/* Credits Row */
.footer-credits {
 text-align: center;
 border-top: 1px solid rgba(0,0,0,0.05);
 padding-top: 2rem;
}

.footer-credits p {
 color: var(--ft-secondary);
 font-family: var(--ff-ui);
 font-size: 0.75rem;
 letter-spacing: 0.05em;
 text-transform: uppercase;
}

.footer-credits a {
 color: var(--ft-text);
 font-weight: 700;
 text-decoration: none;
}

/* Responsive */
@media (max-width: 900px) {
 .footer-cards-container {
 grid-template-columns: 1fr 1fr;
 }
 .footer-card-social {
 grid-column: span 2;
 }
 .footer-social-column {
 flex-direction: row;
 justify-content: center;
 flex-wrap: wrap;
 }
}

@media (max-width: 767px) {
 .rd-site-footer-givingli {
 padding: 4rem 0 2rem;
 }
 .footer-cards-container {
 grid-template-columns: 1fr;
 gap: 15px;
 }
 .footer-card {
 padding: 2rem;
 min-height: auto;
 }
 .footer-card-social {
 grid-column: span 1;
 }
 .footer-card-main h1 {
 font-size: 2.25rem;
 margin-bottom: 2rem;
 }
}

body.rd-home .rd-empty-state {
 color: var(--mid);
 font-family: var(--ff-ui);
 font-size: var(--text-sm);
 padding-top: 1rem;
}

body.rd-sermon-archive .rd-sermon-archive-main {
 background: var(--bg-sermons);
}

body.rd-sermon-archive .rd-sermon-archive-hero {
 border-bottom: 1px solid #2a3e32;
}

body.rd-sermon-archive .rd-sermon-archive-intro {
 max-width: 46rem;
 padding: 4.5rem 0 2.5rem;
}

body.rd-sermon-archive .rd-sermon-archive-kicker {
 color: #8bc49a;
 font-family: var(--ff-ui);
 font-size: var(--text-xs);
 font-weight: 600;
 letter-spacing: var(--ls-widest);
 margin: 0 0 1rem;
 text-transform: uppercase;
}

body.rd-sermon-archive .rd-sermon-archive-title {
 color: #e8e2d6;
 font-family: var(--ff-display);
 font-size: var(--text-hero);
 font-weight: 700;
 letter-spacing: -0.03em;
 line-height: var(--lh-tight);
 margin: 0 0 1.1rem;
 max-width: 13ch;
}

body.rd-sermon-archive .rd-sermon-archive-rule {
 background: linear-gradient(to right, #8bc49a, rgba(140, 96, 32, 0.8));
 height: 2px;
 margin: 0 0 1.25rem;
 width: 64px;
}

body.rd-sermon-archive .rd-sermon-archive-description {
 color: #b6c2ba;
 font-family: var(--ff-body);
 font-size: var(--text-base);
 line-height: 1.72;
 margin: 0;
 max-width: 52ch;
}

body.rd-sermon-archive .rd-sermon-archive-description p {
 margin: 0;
}

body.rd-sermon-archive .rd-sermon-archive-list-wrap {
 min-height: 50vh;
}

body.rd-sermon-archive .rd-sermon-pagination {
 align-items: center;
 display: flex;
 flex-wrap: wrap;
 gap: 0.75rem;
 justify-content: center;
 margin-top: 2.5rem;
}

body.rd-sermon-archive .rd-sermon-pagination .page-numbers {
 align-items: center;
 border: 1px solid #2e4a38;
 border-radius: 999px;
 color: #8bc49a;
 display: inline-flex;
 font-family: var(--ff-ui);
 font-size: var(--text-xs);
 font-weight: 600;
 justify-content: center;
 min-height: 40px;
 min-width: 40px;
 padding: 0 0.9rem;
 transition: background 150ms var(--ease-color), border-color 150ms var(--ease-color), color 150ms var(--ease-color);
}

body.rd-sermon-archive .rd-sermon-pagination .page-numbers.current {
 background: #8bc49a;
 border-color: #8bc49a;
 color: #132019;
}

@media (hover: hover) and (pointer: fine) {
 body.rd-sermon-archive .rd-sermon-pagination .page-numbers:hover {
 background: rgba(139, 196, 154, 0.08);
 border-color: #8bc49a;
 color: #afdabb;
 }
}

/* ==========================================================================
 Blog Archive
 ========================================================================== */

body.rd-blog-archive .rd-blog-archive-main {
 background: var(--bg-articles);
 min-height: 100vh;
}

body.rd-blog-archive .rd-blog-archive-hero {
 border-bottom: 1px solid var(--rule);
 padding: 4.5rem 0 2.5rem;
}

body.rd-blog-archive .rd-blog-archive-intro {
 max-width: 46rem;
}

body.rd-blog-archive .rd-blog-archive-kicker {
 color: var(--green);
 font-family: var(--ff-ui);
 font-size: var(--text-xs);
 font-weight: 600;
 letter-spacing: var(--ls-widest);
 margin: 0 0 1rem;
 text-transform: uppercase;
}

body.rd-blog-archive .rd-blog-archive-title {
 color: var(--ink);
 font-family: var(--ff-display);
 font-size: var(--text-hero);
 font-weight: 700;
 letter-spacing: -0.03em;
 line-height: var(--lh-tight);
 margin: 0 0 1.1rem;
 max-width: 15ch;
}

body.rd-blog-archive .rd-blog-archive-rule {
 background: linear-gradient(to right, var(--green), rgba(140, 96, 32, 0.8));
 height: 2px;
 margin: 0 0 1.25rem;
 width: 64px;
}

body.rd-blog-archive .rd-blog-archive-description {
 color: var(--mid);
 font-family: var(--ff-body);
 font-size: var(--text-base);
 line-height: 1.72;
 margin: 0;
 max-width: 52ch;
}

body.rd-blog-archive .rd-blog-archive-list-wrap {
 padding: 4rem 0 6rem;
}

body.rd-blog-archive .rd-blog-archive-grid {
 display: grid;
 gap: 3rem;
 grid-template-columns: 1fr;
 margin-bottom: 3.5rem;
}

@media (min-width: 768px) {
 body.rd-blog-archive .rd-blog-archive-grid {
 grid-template-columns: repeat(2, 1fr);
 }
}

@media (min-width: 1024px) {
 body.rd-blog-archive .rd-blog-archive-grid {
 grid-template-columns: repeat(3, 1fr);
 }
}

body.rd-blog-archive .rd-blog-pagination {
 align-items: center;
 display: flex;
 flex-wrap: wrap;
 gap: 0.75rem;
 justify-content: center;
 margin-top: 3rem;
}

body.rd-blog-archive .rd-blog-pagination .page-numbers {
 align-items: center;
 border: 1px solid var(--rule);
 border-radius: 999px;
 color: var(--mid);
 display: inline-flex;
 font-family: var(--ff-ui);
 font-size: var(--text-sm);
 font-weight: 500;
 justify-content: center;
 min-height: 44px;
 min-width: 44px;
 padding: 0 1rem;
 text-decoration: none;
 transition: background 150ms var(--ease-color), border-color 150ms var(--ease-color), color 150ms var(--ease-color);
}

body.rd-blog-archive .rd-blog-pagination .page-numbers.current {
 background: var(--ink);
 border-color: var(--ink);
 color: #fff;
}

@media (hover: hover) and (pointer: fine) {
 body.rd-blog-archive .rd-blog-pagination .page-numbers:not(.current):hover {
 background: var(--rule);
 color: var(--ink);
 }
}

/* ==========================================================================
 About Page
 ========================================================================== */

body.rd-about .rd-about-main {
 background: var(--bg-articles);
 min-height: 100vh;
 padding: 4.5rem 0 6rem;
}

body.rd-about .rd-about-grid {
 display: grid;
 gap: 4rem;
 grid-template-columns: 1fr;
}

@media (min-width: 768px) {
 body.rd-about .rd-about-grid {
 align-items: start;
 gap: 5.5rem;
 grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
 }
}

body.rd-about .rd-about-media {
 position: sticky;
 top: 3rem;
}

body.rd-about .rd-about-img,
body.rd-about .rd-about-img-placeholder {
 aspect-ratio: 4 / 5;
 border-radius: 12px;
 box-shadow: 0 24px 48px rgba(17, 17, 16, 0.08);
 display: block;
 height: auto;
 object-fit: cover;
 width: 100%;
}

body.rd-about .rd-about-img-placeholder {
 background: linear-gradient(135deg, #d4cec6 0%, #c4bdb4 100%);
}

body.rd-about .rd-about-title {
 color: var(--ink);
 font-family: var(--ff-display);
 font-size: clamp(3rem, 5vw, 4.2rem);
 font-weight: 700;
 letter-spacing: -0.03em;
 line-height: var(--lh-tight);
 margin: 0 0 2rem;
 text-wrap: balance;
}

body.rd-about .rd-about-text {
 color: var(--mid);
 font-family: var(--ff-body);
 font-size: var(--text-base);
 line-height: 1.8;
 max-width: 60ch;
}

body.rd-about .rd-about-text p {
 margin: 0 0 1.6rem;
}

body.rd-about .rd-about-text h2,
body.rd-about .rd-about-text h3 {
 color: var(--ink);
 font-family: var(--ff-display);
 font-weight: 700;
 margin: 2.5rem 0 1.25rem;
 line-height: var(--lh-tight);
}

body.rd-about .rd-about-text ul,
body.rd-about .rd-about-text ol {
 margin: 0 0 1.6rem 1.5rem;
}

body.rd-about .rd-about-text a {
 color: var(--green);
 text-decoration: underline;
 text-decoration-color: rgba(45, 90, 61, 0.4);
 text-underline-offset: 4px;
 transition: color 150ms var(--ease-color), text-decoration-color 150ms var(--ease-color);
}

@media (hover: hover) and (pointer: fine) {
 body.rd-about .rd-about-text a:hover {
 color: var(--ink);
 text-decoration-color: var(--ink);
 }
}

/* ==========================================================================
   Mobile Menu Toggle
   ========================================================================== */
.mobile-toggle {
  display: none;
  background: transparent;
  border: 0;
  cursor: pointer;
  padding: 10px;
  margin-right: -10px;
  z-index: 1000;
}

.mobile-toggle-box {
  display: inline-block;
  width: 24px;
  height: 18px;
  position: relative;
}

.mobile-toggle-inner,
.mobile-toggle-inner::before,
.mobile-toggle-inner::after {
  width: 24px;
  height: 2px;
  background-color: var(--ink);
  position: absolute;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.mobile-toggle-inner {
  top: 50%;
  transform: translateY(-50%);
}

.mobile-toggle-inner::before {
  content: "";
  top: -8px;
}

.mobile-toggle-inner::after {
  content: "";
  bottom: -8px;
}

/* Open State */
.mobile-toggle.is-active .mobile-toggle-inner {
  background-color: transparent;
}

.mobile-toggle.is-active .mobile-toggle-inner::before {
  transform: translateY(8px) rotate(45deg);
}

.mobile-toggle.is-active .mobile-toggle-inner::after {
  transform: translateY(-8px) rotate(-45deg);
}

@media (max-width: 900px) {
  .mobile-toggle {
    display: block;
  }

  body.rd-home .nav-links-wrap {
    position: fixed;
    top: 75px; 
    left: 0;
    width: 100%;
    height: calc(100vh - 75px);
    background: var(--white);
    padding: 2rem;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    z-index: 999;
    transform: translateX(100%);
    transition: transform 0.4s var(--ease-out);
    opacity: 0;
    pointer-events: none;
  }

  body.rd-home .nav-links-wrap.is-active {
    transform: translateX(0);
    opacity: 1;
    pointer-events: auto;
  }

  body.rd-home .nav-links {
    flex-direction: column;
    gap: 1.5rem;
    text-align: center;
    width: 100%;
  }

  body.rd-home .nav-links a {
    font-size: var(--text-base);
    justify-content: center;
    width: 100%;
    padding: 1rem;
    border-bottom: 1px solid var(--rule);
  }
}

/* ==========================================================================
   Donation Block Shortcode
   ========================================================================== */

.rd-donation-block {
 align-items: flex-start;
 background: #f7f5ed;
 /* Soft color explicit since --bg-newsletter may be missing */
 border: 1px solid var(--rule);
 border-radius: 12px;
 display: flex;
 flex-direction: column;
 gap: 1.5rem;
 margin: 3rem 0;
 padding: 2.5rem;
 text-align: left;
}

.rd-donation-content {
 flex: 1;
}

body.rd-home .rd-donation-block .rd-donation-title {
 color: var(--ink);
 font-family: var(--ff-display);
 font-size: clamp(1.8rem, 3vw, 2.2rem);
 font-weight: 700;
 letter-spacing: -0.02em;
 margin: 0 0 0.75rem;
}

body.rd-home .rd-donation-block .rd-donation-text {
 color: var(--mid);
 font-family: var(--ff-body);
 font-size: var(--text-base);
 line-height: 1.6;
 margin: 0;
 max-width: none;
}

body.rd-home .rd-donation-block .rd-donation-btn {
 align-items: center;
 background: var(--ink);
 border-radius: 4px;
 color: #fff !important;
 display: inline-flex;
 flex-shrink: 0;
 font-family: var(--ff-ui);
 font-size: var(--text-sm);
 font-weight: 600;
 justify-content: center;
 letter-spacing: 0.05em;
 padding: 1rem 2rem;
 text-decoration: none !important;
 text-transform: uppercase;
 transition: background 150ms var(--ease-color), transform 150ms var(--ease-out);
}

@media (hover: hover) and (pointer: fine) {
 body.rd-home .rd-donation-block .rd-donation-btn:hover {
 background: var(--green);
 color: #fff !important;
 transform: translateY(-2px);
 }
}


@media (prefers-reduced-motion: reduce) {

 body.rd-home .hero-content,
 body.rd-home .hero-media-frame,
 body.rd-home .art-main,
 body.rd-home .art-stack,
 body.rd-home .pastor-strip,
 body.rd-home .sermon-row,
 body.rd-home .book-featured,
 body.rd-home .book-sm,
 body.rd-home .nl-strip {
 animation: none;
 opacity: 1;
 transform: none;
 }

 body.rd-home .gathering-card-media {
 transition: none;
 }

 body.rd-home .art-main-img,
 body.rd-home .pastor-avatar,
 body.rd-home .book-cover-lg,
 body.rd-home .book-cover-sm,
 body.rd-home .nl-input {
 transition: none;
 }

 body.rd-home .hero-media-frame,
 body.rd-home .hero-media-image {
 transform: none;
 will-change: auto;
 }

 body.rd-home .btn-donate:active,
 body.rd-home .btn-sub:active,
 body.rd-home .hero-cta:active,
 body.rd-home .pastor-btn:active,
 body.rd-home .book-feat-btn:active,
 body.rd-home .nl-btn:active,
 body.rd-home .s-play:active {
 transform: none;
 }
}

@media (max-width: 900px) {
 body.rd-home .rd-nav {
 gap: 1rem;
 }

 body.rd-home .wrap,
 body.rd-home .rd-site-header .wrap,
 body.rd-home .hero-featured .wrap,
 body.rd-home .sec-articles .wrap {
 padding-left: 1.5rem;
 padding-right: 1.5rem;
 }

 body.rd-home .hero {
 height: auto;
 min-height: 0;
 }

 body.rd-home .hero-inner {
 column-gap: 2.5rem;
 grid-template-columns: minmax(0, 1fr) 320px;
 min-height: 0;
 padding: 4.75rem 1.5rem 3.5rem;
 }

 body.rd-home .art-row1,
 body.rd-home .books-layout {
 grid-template-columns: 1fr;
 }

 body.rd-home .art-main-img {
 max-width: 100%;
 }

 body.rd-home .books-rest {
 grid-template-columns: repeat(2, minmax(0, 1fr));
 }

 body.rd-home .gatherings-intro {
 align-items: flex-start;
 flex-direction: column;
 margin-bottom: 2rem;
 }

 body.rd-home .gatherings-track {
 gap: 1.25rem;
 }

 body.rd-home .gathering-card {
 flex-basis: calc((100% - 2rem) / 3);
 }

 body.rd-home .art-row2 {
 grid-template-columns: 1fr 1fr;
 }

 body.rd-home .pastor-strip {
 align-items: start;
 gap: 1.5rem 2rem;
 grid-template-columns: 160px minmax(0, 1fr);
 }

 body.rd-home .pastor-btn {
 grid-column: auto;
 justify-self: start;
 }

 body.rd-home .nl-strip,
 body.rd-home .footer-inner {
 grid-template-columns: 1fr;
 gap: 1.5rem;
 }

 body.rd-home .rd-site-footer {
 text-align: center;
 }

 body.rd-home .footer-social {
 justify-content: center;
 }
}

@media (max-width: 600px) {
 body.rd-home .nav-links {
 display: none;
 }

 body.rd-home .nav-actions {
 margin-left: auto;
 }

 body.rd-home .hero-featured {
 min-height: 500px;
 height: auto;
 }

 body.rd-home .hero-featured-content {
 padding: 2rem 1.5rem;
 max-width: 100%;
 }

 body.rd-home .hero-featured-title {
 font-size: 32px;
 }

 body.rd-home .hero-featured-excerpt {
 font-size: 16px;
 }

 body.rd-home .sec-gatherings {
 padding: 3.5rem 0 3.4rem;
 }

 body.rd-home .gatherings-title {
 max-width: 9ch;
 }

 body.rd-home .gathering-card {
 flex-basis: min(72vw, 240px);
 }

 body.rd-home .gatherings-viewport::before,
 body.rd-home .gatherings-viewport::after {
 display: none;
 }

 body.rd-home .gatherings-controls {
 display: none;
 }

 body.rd-home .gatherings-dot {
 height: 6px;
 width: 6px;
 }

 body.rd-home .gatherings-intro {
 align-items: flex-start;
 flex-direction: row;
 margin-bottom: 2rem;
 }

 body.rd-home .gatherings-intro .gatherings-link {
 display: none;
 }

 body.rd-home .gatherings-actions {
 display: flex;
 justify-content: center;
 margin-top: 1.4rem;
 }

 body.rd-home .gatherings-actions a {
 color: var(--green);
 font-family: var(--ff-ui);
 font-size: 14px;
 font-weight: 500;
 text-decoration: none;
 transition: color 150ms var(--ease-color);
 }


 body.rd-home .art-row2 {
 grid-template-columns: 1fr;
 gap: 0;
 }

 body.rd-home .wrap,
 body.rd-home .rd-site-header .wrap,
 body.rd-home .hero-featured .wrap,
 body.rd-home .sec-articles .wrap {
 padding-left: 1.25rem;
 padding-right: 1.25rem;
 }


 body.rd-home .art-row1 {
 gap: 0;
 margin-bottom: 0;
 }

 body.rd-home .art-stack {
 gap: 0;
 }

 body.rd-home .art-main,
 body.rd-home .art-sm,
 body.rd-home .art-col {
 border-bottom: 1px solid rgba(17, 17, 16, 0.08);
 border-radius: 0;
 box-shadow: none;
 }

 body.rd-home .art-col {
 padding: 1rem;
 }

 body.rd-home .art-col-title {
 font-size: var(--text-lg);
 letter-spacing: -0.02em;
 margin-bottom: 0.4rem;
 max-width: 18ch;
 }

 body.rd-home .art-col .art-excerpt {
 -webkit-line-clamp: 3;
 }

 body.rd-home .art-actions {
 justify-content: center;
 }

 body.rd-home .art-actions a {
 font-size: var(--text-base);
 }


 body.rd-home .sermon-actions {
 justify-content: center;
 margin-top: 1.4rem;
 }

 body.rd-home .s-play {
 height: 40px;
 width: 40px;
 }

 body.rd-home .sermon-row-link {
 grid-template-columns: 40px minmax(0, 1fr);
 }

 body.rd-home .pastor-strip {
 justify-items: center;
 gap: 1.35rem;
 grid-template-columns: 1fr;
 padding: 2.75rem 0 2.95rem;
 text-align: center;
 }

 body.rd-home .pastor-copy,
 body.rd-home .pastor-text {
 max-width: 100%;
 padding-top: 0;
 }

 @media (max-width: 480px) {
    body.rd-home .art-row2 {
      grid-template-columns: 1fr;
    }
    
    body.rd-home .hero-featured-title {
      font-size: 28px;
    }
  }

 body.rd-home .pastor-avatar {
 border-radius: 999px;
 height: 184px;
 margin-inline: auto;
 width: 184px;
 }

 body.rd-home .pastor-btn {
 align-self: center;
 font-size: var(--text-base);
 justify-self: center;
 }

 body.rd-home .book-featured,
 body.rd-home .nl-form {
 flex-direction: column;
 }

 body.rd-home .books-sec,
 body.rd-home .book-featured,
 body.rd-home .book-feat-info,
 body.rd-home .books-rest-wrap,
 body.rd-home .books-rest-title,
 body.rd-home .book-sm,
 body.rd-home .book-sm-link {
 text-align: center;
 }

 body.rd-home .book-featured {
 align-items: center;
 gap: 1.6rem;
 }

 body.rd-home .book-cover-link {
 margin-inline: auto;
 }

 body.rd-home .book-feat-info {
 align-items: center;
 display: flex;
 flex-direction: column;
 }

 body.rd-home .book-feat-desc {
 max-width: 100%;
 }

 body.rd-home .books-rest {
 grid-template-columns: repeat(2, minmax(0, 1fr));
 }

 body.rd-home .book-sm,
 body.rd-home .book-sm-link {
 align-items: center;
 border-radius: 0;
 flex-direction: column;
 gap: 0.9rem;
 }

 body.rd-home .nl-strip {
 padding: 2.75rem 0 3.25rem;
 }

 body.rd-home .footer-inner {
 gap: 0.9rem;
 padding: 2rem 1.5rem;
 }

 body.rd-home .footer-brand,
 body.rd-home .footer-social,
 body.rd-home .footer-meta {
 justify-self: center;
 }

 body.rd-home .nl-form {
 align-items: stretch;
 width: 100%;
 }

 body.rd-home .nl-input,
 body.rd-home .nl-btn {
 width: 100%;
 }

 body.rd-home .nl-btn {
 justify-content: center;
 }
}

body.rd-single .rd-single-hero {
 background: var(--white);
 border-bottom: 1px solid var(--rule);
 overflow: hidden;
 padding: 0;
 position: relative;
}

body.rd-single .rd-single-hero-inner {
 align-items: end;
 display: grid;
 gap: 3rem;
 grid-template-columns: minmax(0, 1fr);
 min-height: 34rem;
 padding-bottom: 4rem;
 padding-top: 5rem;
 position: relative;
 z-index: 2;
}

body.rd-single .rd-single-hero-bg {
 inset: 0;
 position: absolute;
}

body.rd-single .rd-single-hero-bg-image {
 display: block;
 height: 100%;
 object-fit: cover;
 width: 100%;
}

body.rd-single .rd-single-hero-overlay {
 background:
 linear-gradient(180deg, rgb(255 255 255 / 27%) 0%, rgb(17 17 17 / 0%) 32%, rgb(255 255 255 / 0%) 100%),
 linear-gradient(90deg, rgb(255 255 255) 0%, rgb(255 255 255) 36%, rgb(255 255 255 / 98%) 50%, rgb(255 255 255 / 83%) 62%, rgb(255 255 255 / 28%) 78%, rgb(255 255 255 / 35%) 100%);
 inset: 0;
 position: absolute;
}

body.rd-single .rd-single-hero-copy {
 max-width: 52rem;
 position: relative;
 z-index: 2;
}

body.rd-single .rd-single-kicker {
 color: var(--gold-dk);
 display: inline-flex;
 font-family: var(--ff-ui);
 font-size: var(--text-xs);
 font-weight: 600;
 gap: 0.7rem;
 letter-spacing: var(--ls-widest);
 line-height: var(--lh-normal);
 margin-bottom: 1rem;
 text-transform: uppercase;
}

body.rd-single .rd-single-kicker::before {
 align-self: center;
 background: var(--gold-dk);
 content: "";
 display: block;
 height: 1px;
 width: 20px;
}

body.rd-single .rd-single-title {
 color: var(--ink);
 font-family: var(--ff-display);
 font-size: var(--text-hero);
 font-weight: 700;
 letter-spacing: -0.03em;
 line-height: var(--lh-tight);
 margin: 0 0 1.25rem;
 max-width: 15ch;
 text-shadow: 0 1px 0 rgba(255, 255, 255, 0.18);
}

body.rd-single .rd-single-title-rule {
 background: linear-gradient(to right, var(--gold-dk), rgba(45, 90, 61, 0.6));
 height: 2px;
 margin: 0 0 1.2rem;
 width: 4rem;
}

body.rd-single .rd-single-excerpt {
 color: #171717;
 font-family: var(--ff-body);
 font-size: var(--text-md);
 font-style: italic;
 line-height: 1.78;
 margin: 0 0 1rem;
 max-width: 50ch;
}

body.rd-single .rd-single-meta {
 align-items: center;
 color: #2f2f2f;
 display: flex;
 flex-wrap: wrap;
 font-variant-numeric: tabular-nums;
 gap: 0.7rem;
 font-family: var(--ff-ui);
 font-size: var(--text-xs);
 font-weight: 500;
 letter-spacing: var(--ls-wide);
 line-height: var(--lh-normal);
}

body.rd-single .rd-single-meta .d {
 background: rgba(17, 17, 17, 0.34);
 border-radius: 50%;
 height: 3px;
 width: 3px;
}

body.rd-single .rd-single-cover {
 margin: 0;
}

body.rd-single .rd-single-cover img {
 aspect-ratio: 4 / 5;
 border-radius: 10px;
 box-shadow: 0 18px 48px rgba(17, 17, 16, 0.16);
 display: block;
 height: auto;
 object-fit: cover;
 width: 100%;
}

body.rd-single .rd-single-body-wrap {
 background: var(--white);
 padding: 4rem 0 5rem;
}

body.rd-single .rd-single-layout {
    display: grid;
    gap: 4rem;
    grid-template-columns: minmax(0, 720px) 220px;
    justify-content: left;
}

body.rd-single .rd-single-article {
 min-width: 0;
}

body.rd-single .rd-single-content {
 color: var(--ink);
 font-family: var(--ff-body);
 max-width: 80ch;
}

body.rd-single .rd-single-content>*:first-child {
 margin-top: 0;
}

body.rd-single .rd-single-content>*:last-child {
 margin-bottom: 0;
}

body.rd-single .rd-single-content p,
body.rd-single .rd-single-content ul,
body.rd-single .rd-single-content ol,
body.rd-single .rd-single-content blockquote {
 color: var(--ink);
 font-size: var(--text-base);
 line-height: 1.76;
 margin: 0 0 1.75rem;
}

body.rd-single .rd-single-content p {
 caret-color: rgb(87, 161, 183);
 color: rgb(36, 36, 36);
 display: block;
 font-family: "pt-serif-pro", var(--ff-body), system-ui, sans-serif;
 font-size: 20px;
 line-height: 36.125px;
 margin-bottom: 0;
 margin-top: 36.125px;
 max-width: 750px;
}

body.rd-single .rd-single-content>p:first-of-type::first-letter {
 background-image: linear-gradient(rgba(139, 196, 154, 0.32) 100%, transparent 0%);
 background-position: 50% 86%;
 background-repeat: no-repeat;
 background-size: 72% 72%;
 color: var(--ink);
 float: left;
 font-family: var(--ff-display);
 font-size: 5.8em;
 font-style: normal;
 font-weight: 700;
 letter-spacing: -0.05em;
 line-height: 0.72;
 margin: -0.15em 0.08em 0 0;
 min-width: 1ch;
 padding-right: 0.04em;
 text-transform: uppercase;
}

body.rd-single .rd-single-content h2,
body.rd-single .rd-single-content h3,
body.rd-single .rd-single-content h4 {
 color: var(--ink);
 font-family: var(--ff-display);
 letter-spacing: -0.025em;
 line-height: var(--lh-snug);
 margin: 3.4rem 0 1rem;
}

body.rd-single .rd-single-content h2 {
 font-size: var(--text-2xl);
 max-width: 16ch;
}

body.rd-single .rd-single-content h3 {
 font-size: var(--text-xl);
 max-width: 18ch;
}

body.rd-single .rd-single-content h4 {
 font-size: var(--text-lg);
}

body.rd-single .rd-single-content a {
 color: var(--green);
 transition: color 150ms var(--ease-color);
}

body.rd-single .rd-single-content strong {
 color: var(--ink);
}

@media (hover: hover) and (pointer: fine) {
 body.rd-single .rd-single-content a:hover {
 color: var(--green-dk);
 }
}

body.rd-single .rd-single-content blockquote {
 background: rgb(139 196 154 / 10%);
 border-radius: 5px;
 border-left: 5px solid rgb(139 196 154 / 39%);
 color: var(--ink);
 font-family: var(--ff-body);
 font-size: var(--text-base);
 font-style: italic;
 line-height: 1.74;
 margin: 2rem 0;
 padding: 1.25rem 2.5rem 1.25rem 1.5rem;
}

body.rd-single .rd-single-content blockquote p {
 margin: 0;
}

body.rd-single .rd-single-content figure {
 margin: 2rem 0;
}

body.rd-single .rd-single-content hr {
 background: var(--rule);
 border: 0;
 height: 1px;
 margin: 2.5rem 0;
}

body.rd-single .rd-single-content img {
 border-radius: 8px;
 display: block;
 height: auto;
 width: 100%;
}

body.rd-single .rd-single-content figcaption {
 color: var(--lt);
 font-family: var(--ff-ui);
 font-size: var(--text-sm);
 line-height: 1.55;
 margin-top: 0.75rem;
}

body.rd-single .rd-single-content ul,
body.rd-single .rd-single-content ol {
 padding-left: 1.25rem;
}

body.rd-single .rd-single-content li {
 margin-bottom: 0.5rem;
}

body.rd-single .rd-single-content pre {
 background: #f5f1e8;
 border: 1px solid var(--rule);
 border-radius: 8px;
 color: var(--ink);
 font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
 font-size: 0.95rem;
 line-height: 1.7;
 margin: 2rem 0;
 overflow-x: auto;
 padding: 1.25rem 1.4rem;
}

body.rd-single .rd-single-content code {
 background: #f5f1e8;
 border-radius: 4px;
 color: var(--ink);
 font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
 font-size: 0.92em;
 padding: 0.1rem 0.35rem;
}

body.rd-single .rd-single-content pre code {
 background: transparent;
 padding: 0;
}

body.rd-single .rd-single-content table {
 border-collapse: collapse;
 margin: 2rem 0;
 width: 100%;
}

body.rd-single .rd-single-content th,
body.rd-single .rd-single-content td {
 border-top: 1px solid var(--rule);
 color: var(--mid);
 font-family: var(--ff-ui);
 font-size: var(--text-sm);
 line-height: var(--lh-normal);
 padding: 0.9rem 0.75rem;
 text-align: left;
 vertical-align: top;
}

body.rd-single .rd-single-content th {
 color: var(--ink);
 font-weight: 600;
}

body.rd-single .rd-single-sidebar {
 display: flex;
 flex-direction: column;
 gap: 1rem;
 position: sticky;
 top: 96px;
 align-self: start;
}

body.rd-single .rd-single-sidecard {
 border-top: 1px solid var(--rule);
 padding-top: 1rem;
}

body.rd-single .rd-single-side-label {
 color: var(--lt);
 font-family: var(--ff-ui);
 font-size: var(--text-xs);
 font-weight: 600;
 letter-spacing: var(--ls-widest);
 line-height: var(--lh-normal);
 margin: 0 0 0.5rem;
 text-transform: uppercase;
}

body.rd-single .rd-single-side-value {
 color: var(--ink);
 font-family: var(--ff-ui);
 font-size: var(--text-sm);
 font-weight: 600;
 letter-spacing: 0;
 line-height: var(--lh-normal);
 margin: 0;
}

body.rd-single .rd-single-share {
 display: flex;
 flex-wrap: wrap;
 gap: 0.5rem;
}

body.rd-single .rd-single-share-wrap {
 border-top: 1px solid var(--rule);
 margin-top: 2.5rem;
 padding-top: 1.5rem;
}

body.rd-single .rd-single-share-link {
 align-items: center;
 background: var(--bg-newsletter);
 border: 1px solid var(--rule);
 border-radius: 99px;
 color: var(--ink);
 cursor: pointer;
 display: inline-flex;
 font-family: var(--ff-ui);
 font-size: var(--text-xs);
 font-weight: 600;
 min-height: 40px;
 justify-content: center;
 padding: 0 1.25rem;
 transition: transform 150ms var(--ease-out), background 150ms var(--ease-color), color 150ms var(--ease-color);
 text-decoration: none;
}

body.rd-single .rd-single-share-link svg {
 margin-right: 0.5rem;
 opacity: 0.85;
 display: block;
}

body.rd-single .rd-single-tags {
 display: flex;
 flex-wrap: wrap;
 gap: 0.75rem;
 margin-top: 2.5rem;
 padding-top: 2rem;
 border-top: 1px solid var(--rule);
}

body.rd-single .rd-single-tag {
 border: 1px solid var(--rule);
 border-radius: 20px;
 color: var(--mid);
 display: inline-flex;
 font-family: var(--ff-ui);
 font-size: var(--text-xs);
 font-weight: 600;
 min-height: 44px;
 align-items: center;
 padding: 0 0.875rem;
 transition: color 150ms var(--ease-color), border-color 150ms var(--ease-color), background 150ms var(--ease-color);
}

body.rd-single .rd-single-nav-wrap {
 background: var(--bg-books);
 border-top: 1px solid var(--rule);
 padding: 3rem 0;
}

body.rd-single .rd-single-related-wrap {
 background: var(--white);
 border-top: 1px solid var(--rule);
 padding: 4rem 0;
}

body.rd-single .rd-single-related-grid {
 display: grid;
 gap: 2rem;
 grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.rd-single .rd-single-related-link {
 color: inherit;
 display: block;
}

body.rd-single .rd-single-rel.art-main-img {
 aspect-ratio: 16 / 9;
 background-color: var(--rule);
 border-radius: 8px;
 margin-bottom: 1.25rem;
 overflow: hidden;
 position: relative;
}

body.rd-single .rd-single-related-thumb img {
 display: block;
 height: 100%;
 object-fit: cover;
 transition: transform 250ms var(--ease-out);
 width: 100%;
}

body.rd-single .rd-single-related-cat {
 color: var(--gold);
 font-family: var(--ff-ui);
 font-size: var(--text-xs);
 font-weight: 600;
 letter-spacing: var(--ls-widest);
 line-height: var(--lh-normal);
 margin: 0 0 0.5rem;
 text-transform: uppercase;
}

body.rd-single .rd-single-related-title {
 color: var(--ink);
 font-family: var(--ff-display);
 font-size: var(--text-lg);
 font-weight: 700;
 letter-spacing: -0.02em;
 line-height: var(--lh-snug);
 margin: 0 0 0.6rem;
 transition: color 150ms var(--ease-color);
}

body.rd-single .rd-single-related-excerpt {
 color: var(--mid);
 font-family: var(--ff-body);
 font-size: var(--text-base);
 line-height: var(--lh-relaxed);
 margin: 0;
}

body.rd-single .rd-single-nav {
 display: grid;
 gap: 1.5rem;
 grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.rd-single .rd-single-nav-card {
 align-items: center;
 background: var(--bg-articles);
 border: 1px solid var(--rule);
 border-radius: 12px;
 color: inherit;
 display: flex;
 flex-direction: row;
 gap: 1.5rem;
 justify-content: flex-start;
 min-height: 140px;
 padding: 2rem;
 text-decoration: none;
 transition: border-color 150ms var(--ease-color), box-shadow 150ms var(--ease-out), transform 150ms var(--ease-out);
}

body.rd-single .rd-single-nav-media {
 flex-shrink: 0;
 width: 84px;
 height: 84px;
 border-radius: 8px;
 overflow: hidden;
 box-shadow: 0 8px 16px rgba(17, 17, 16, 0.05);
}

body.rd-single .rd-single-nav-thumb {
 width: 100%;
 height: 100%;
 object-fit: cover;
 display: block;
}

body.rd-single .rd-single-nav-content {
 flex: 1;
}

body.rd-single .rd-single-nav-card.is-empty {
 visibility: hidden;
}

body.rd-single .rd-single-nav-label {
 color: var(--lt);
 font-family: var(--ff-ui);
 font-size: var(--text-xs);
 font-weight: 600;
 letter-spacing: var(--ls-widest);
 line-height: var(--lh-normal);
 margin: 0 0 0.6rem;
 text-transform: uppercase;
}

body.rd-single .rd-single-nav-title {
 color: var(--ink);
 font-family: var(--ff-display);
 font-size: var(--text-lg);
 font-weight: 700;
 letter-spacing: -0.02em;
 line-height: var(--lh-snug);
 margin: 0;
 transition: color 150ms var(--ease-color);
}

@media (hover: hover) and (pointer: fine) {
 body.rd-single .rd-single-related-card:hover .rd-single-related-thumb img {
 transform: scale(1.015);
 }

 body.rd-single .rd-single-related-card:hover .rd-single-related-title,
 body.rd-single .rd-single-nav-card:hover .rd-single-nav-title {
 color: var(--green);
 }

 body.rd-single .rd-single-share-link:hover,
 body.rd-single .rd-single-tag:hover {
 background: var(--green);
 color: #fff;
 transform: translateY(-2px);
 }

 body.rd-single .rd-single-nav-card:hover {
 border-color: transparent;
 box-shadow: 0 20px 40px rgba(17, 17, 16, 0.08);
 transform: translateY(-4px);
 }
}

@media (max-width: 1024px) {

 body.rd-single .rd-single-hero-inner,
 body.rd-single .rd-single-layout {
 grid-template-columns: 1fr;
 }

 body.rd-single .rd-single-related-grid {
 grid-template-columns: 1fr;
 }

 body.rd-single .rd-single-sidebar {
 display: grid;
 grid-template-columns: repeat(3, minmax(0, 1fr));
 gap: 1rem;
 position: static;
 }
}

@media (max-width: 767px) {
 body.rd-single .rd-single-hero {
 padding: 0;
 }

 body.rd-single .rd-single-title,
 body.rd-single .rd-single-content h2,
 body.rd-single .rd-single-content h3 {
 max-width: 100%;
 }

 body.rd-single .rd-single-hero-inner {
 min-height: 0;
 padding-bottom: 3rem;
 padding-top: 3rem;
 }

 body.rd-single .rd-single-sidebar {
 grid-template-columns: 1fr;
 }

 body.rd-single .rd-single-nav {
 grid-template-columns: 1fr;
 }
}