/* ============================================================
   ACTIVE IN CHRIST (GO) — styles.css
   Warm Editorial "Golden Hour" Church Aesthetic
   Fonts: Cormorant Garamond (headings) + Lato (body)
   ============================================================ */

/* ----------------------------------------------------------
   1. CSS CUSTOM PROPERTIES
   ---------------------------------------------------------- */
:root {
  --gold-deep:     #B8860B;
  --gold-warm:     #D4A017;
  --gold-light:    #F0C040;
  --gold-pale:     #FBF0D0;
  --amber:         #E8A020;
  --cream:         #FAF6EE;
  --ivory:         #FDF9F2;
  --linen:         #F5EDD8;
  --parchment:     #EDE0C4;
  --brown-dark:    #3D2B1F;
  --brown-mid:     #6B4226;
  --brown-light:   #A0724A;
  --brown-tan:     #C49A6C;
  --navy:          #1C2B4A;
  --navy-light:    #2E4070;
  --sky-soft:      #B8CAE0;
  --white:         #FFFFFF;
  --text-primary:  #2C1F14;
  --text-mid:      #5A3E2B;
  --text-muted:    #8C7055;
  --border-soft:   rgba(180,140,80,0.22);
  --font-display:  'Cormorant Garamond', Georgia, serif;
  --font-body:     'Lato', 'Helvetica Neue', sans-serif;
  --font-accent:   'Cormorant SC', Georgia, serif;
  --gap-xs: 0.5rem; --gap-sm: 1rem; --gap-md: 2rem; --gap-lg: 4rem; --gap-xl: 6rem;
  --radius-sm: 6px; --radius-md: 14px; --radius-lg: 24px; --radius-xl: 40px;
  --shadow-soft: 0 4px 24px rgba(60,35,15,0.10);
  --shadow-card: 0 8px 40px rgba(60,35,15,0.13);
  --shadow-glow: 0 0 40px rgba(212,160,23,0.18);
  --ease: cubic-bezier(0.4,0,0.2,1);
  --dur: 0.35s;
}

/* ----------------------------------------------------------
   2. RESET & BASE
   ---------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--font-body);background:var(--ivory);color:var(--text-primary);line-height:1.7;overflow-x:hidden}
::-webkit-scrollbar{width:7px}::-webkit-scrollbar-track{background:var(--linen)}::-webkit-scrollbar-thumb{background:var(--gold-warm);border-radius:4px}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}

/* ----------------------------------------------------------
   3. TYPOGRAPHY
   ---------------------------------------------------------- */
h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;line-height:1.2;color:var(--brown-dark)}
h1{font-size:clamp(2.6rem,6vw,5rem);font-weight:700}
h2{font-size:clamp(2rem,4vw,3.2rem)}
h3{font-size:clamp(1.4rem,2.5vw,2rem)}
h4{font-size:1.25rem}
p{font-size:1rem;color:var(--text-mid);margin-bottom:1rem}
p:last-child{margin-bottom:0}
.lead{font-size:1.18rem;font-family:var(--font-display);font-style:italic;color:var(--brown-mid);line-height:1.85}
.section-label{font-family:var(--font-accent);font-size:0.78rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--gold-deep);display:block;margin-bottom:var(--gap-xs)}

.scripture{font-family:var(--font-display);font-size:1.15rem;font-style:italic;color:var(--brown-mid);border-left:3px solid var(--gold-warm);padding:1rem 1.5rem;background:linear-gradient(135deg,var(--gold-pale) 0%,transparent 100%);border-radius:0 var(--radius-md) var(--radius-md) 0;margin:var(--gap-md) 0}
.scripture cite{display:block;font-size:0.88rem;font-style:normal;margin-top:0.5rem;color:var(--gold-deep);font-family:var(--font-accent);letter-spacing:0.1em}

/* ----------------------------------------------------------
   4. UTILITIES
   ---------------------------------------------------------- */
.container{max-width:1200px;margin-inline:auto;padding-inline:clamp(1rem,4vw,2.5rem)}
.container--narrow{max-width:820px}
.text-center{text-align:center}
.text-gold{color:var(--gold-deep)}
.mt-md{margin-top:var(--gap-md)}
.mt-lg{margin-top:var(--gap-lg)}

.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 2rem;border-radius:var(--radius-xl);font-family:var(--font-accent);font-size:.88rem;letter-spacing:.12em;text-transform:uppercase;transition:all var(--dur) var(--ease);cursor:pointer;border:none}
.btn--primary{background:linear-gradient(135deg,var(--gold-warm),var(--gold-deep));color:var(--white);box-shadow:0 4px 20px rgba(180,130,10,.35)}
.btn--primary:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(180,130,10,.5)}
.btn--outline{background:transparent;color:var(--white);border:2px solid rgba(255,255,255,.65)}
.btn--outline:hover{background:rgba(255,255,255,.1);border-color:var(--white)}
.btn--dark{background:var(--brown-dark);color:var(--gold-pale);border:2px solid var(--gold-warm)}
.btn--dark:hover{background:var(--brown-mid);transform:translateY(-2px)}
.btn--gold{background:var(--gold-pale);color:var(--brown-dark);border:1.5px solid var(--gold-warm)}
.btn--gold:hover{background:var(--gold-warm);color:var(--white)}

/* ----------------------------------------------------------
   5. ANIMATIONS
   ---------------------------------------------------------- */
.fade-in{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.fade-in.visible{opacity:1;transform:translateY(0)}
.fade-in--d1{transition-delay:.1s}.fade-in--d2{transition-delay:.22s}.fade-in--d3{transition-delay:.36s}.fade-in--d4{transition-delay:.5s}

/* ----------------------------------------------------------
   6. NAVIGATION
   ---------------------------------------------------------- */
.site-nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:.8rem 0;transition:background var(--dur),box-shadow var(--dur),padding var(--dur)}
.site-nav.scrolled{background:rgba(250,246,238,.97);backdrop-filter:blur(12px);box-shadow:0 2px 24px rgba(60,35,15,.12);padding:.45rem 0}
.nav-inner{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin-inline:auto;padding-inline:clamp(1rem,4vw,2.5rem)}
.nav-logo{display:flex;flex-direction:column;line-height:1.15}
.nav-logo__main{font-family:var(--font-display);font-size:1.35rem;font-weight:700;color:var(--white);transition:color var(--dur)}
.nav-logo__sub{font-family:var(--font-accent);font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-light);transition:color var(--dur)}
.site-nav.scrolled .nav-logo__main{color:var(--brown-dark)}
.site-nav.scrolled .nav-logo__sub{color:var(--gold-deep)}
.nav-links{display:flex;align-items:center;gap:.15rem}
.nav-item{position:relative}
.nav-link{display:block;padding:.5rem .9rem;font-family:var(--font-accent);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.88);border-radius:var(--radius-sm);transition:color var(--dur),background var(--dur)}
.nav-link:hover,.nav-link.active{color:var(--gold-light);background:rgba(255,255,255,.08)}
.site-nav.scrolled .nav-link{color:var(--brown-mid)}
.site-nav.scrolled .nav-link:hover,.site-nav.scrolled .nav-link.active{color:var(--gold-deep);background:var(--gold-pale)}
.nav-dropdown{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(8px);min-width:195px;background:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow-card);border:1px solid var(--border-soft);opacity:0;pointer-events:none;transition:all .25s var(--ease);z-index:100;padding:.5rem}
.nav-item:hover .nav-dropdown,.nav-item:focus-within .nav-dropdown{opacity:1;pointer-events:all;transform:translateX(-50%) translateY(0)}
.nav-dropdown a{display:block;padding:.5rem .9rem;font-size:.82rem;color:var(--brown-mid);border-radius:var(--radius-sm);transition:background var(--dur),color var(--dur)}
.nav-dropdown a:hover{background:var(--gold-pale);color:var(--brown-dark)}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--white);border-radius:2px;transition:all var(--dur) var(--ease)}
.site-nav.scrolled .nav-toggle span{background:var(--brown-dark)}
.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav-mobile{display:none;position:fixed;inset:0;background:var(--brown-dark);z-index:999;flex-direction:column;align-items:center;justify-content:center;gap:var(--gap-sm)}
.nav-mobile.open{display:flex;animation:mobileIn .3s var(--ease)}
@keyframes mobileIn{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}
.nav-mobile a{font-family:var(--font-display);font-size:2rem;color:var(--cream);transition:color var(--dur)}
.nav-mobile a:hover{color:var(--gold-light)}
.nav-mobile .close-btn{position:absolute;top:1.5rem;right:1.5rem;font-size:2rem;background:none;border:none;color:var(--cream);cursor:pointer;line-height:1}
.nav-mobile .mobile-divider{width:60px;height:1px;background:rgba(180,140,80,.3);margin:.5rem 0}

/* ----------------------------------------------------------
   7. PAGE HEADER (inner pages)
   ---------------------------------------------------------- */
.page-header{min-height:40vh;display:flex;align-items:flex-end;padding-bottom:var(--gap-lg);position:relative;overflow:hidden;background:linear-gradient(160deg,var(--brown-dark) 0%,var(--navy) 55%,var(--brown-mid) 100%)}
.page-header::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 80% 30%,rgba(212,160,23,.22) 0%,transparent 70%),radial-gradient(ellipse 50% 50% at 20% 80%,rgba(100,60,30,.3) 0%,transparent 60%)}
.page-header__label{font-family:var(--font-accent);font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-light);display:block;margin-bottom:.4rem}
.page-header__title{color:var(--white);text-shadow:0 2px 12px rgba(0,0,0,.3)}
.page-header__desc{font-family:var(--font-display);font-style:italic;font-size:1.1rem;color:rgba(255,255,255,.7);margin-top:.75rem;max-width:600px}
.page-header .container{position:relative;z-index:1}
.page-header::after{content:'';position:absolute;bottom:-2px;left:0;right:0;height:60px;background:var(--ivory);clip-path:polygon(0 100%,100% 0,100% 100%)}
/* linen variant */
.page-header--linen::after{background:var(--linen)}
.page-header--cream::after{background:var(--cream)}

/* ----------------------------------------------------------
   8. HERO
   ---------------------------------------------------------- */
.hero{min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden;background:linear-gradient(165deg,#1C1A14 0%,#2A2010 20%,#3D2B1F 45%,#1C2B4A 100%)}
.hero__rays{position:absolute;inset:0;overflow:hidden}
.hero__rays::before{content:'';position:absolute;top:-20%;left:35%;width:130%;height:130%;background:conic-gradient(from -10deg at 50% 0%,transparent 0deg,rgba(212,160,23,.055) 8deg,transparent 16deg,rgba(240,192,64,.038) 24deg,transparent 32deg,rgba(212,160,23,.048) 40deg,transparent 50deg);animation:rayPulse 8s ease-in-out infinite alternate}
.hero__rays::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 55% at 50% -5%,rgba(240,192,64,.18) 0%,transparent 70%)}
@keyframes rayPulse{from{opacity:.6;transform:rotate(-3deg)}to{opacity:1;transform:rotate(3deg)}}
.hero__content{position:relative;z-index:2;max-width:820px;padding-top:8rem;padding-bottom:5rem}
.hero__eyebrow{font-family:var(--font-accent);font-size:.76rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-light);opacity:0;animation:heroIn 1s var(--ease) .3s forwards}
.hero__title{color:var(--white);font-weight:700;margin:1rem 0 1.5rem;text-shadow:0 4px 24px rgba(0,0,0,.4);opacity:0;animation:heroIn 1s var(--ease) .6s forwards}
.hero__title em{font-style:italic;color:var(--gold-light)}
.hero__tagline{font-family:var(--font-display);font-size:clamp(1.05rem,2vw,1.35rem);font-style:italic;color:rgba(255,255,255,.78);margin-bottom:2.5rem;line-height:1.7;max-width:580px;opacity:0;animation:heroIn 1s var(--ease) .85s forwards}
.hero__actions{display:flex;gap:1rem;flex-wrap:wrap;opacity:0;animation:heroIn 1s var(--ease) 1.1s forwards}
@keyframes heroIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.hero__scroll{position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;z-index:2;opacity:0;animation:heroIn 1s var(--ease) 1.5s forwards}
.hero__scroll span{font-family:var(--font-accent);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.45)}
.hero__scroll-line{width:1px;height:40px;background:linear-gradient(to bottom,rgba(255,255,255,.45),transparent);animation:scrollBounce 2s ease-in-out infinite}
@keyframes scrollBounce{0%,100%{transform:scaleY(1);opacity:.55}50%{transform:scaleY(1.2) translateY(4px);opacity:1}}

/* ----------------------------------------------------------
   9. SECTIONS
   ---------------------------------------------------------- */
.section{padding:var(--gap-xl) 0}
.section--cream{background:var(--cream)}
.section--linen{background:var(--linen)}
.section--white{background:var(--white)}
.section--dark{background:var(--brown-dark);color:var(--cream)}
.section--dark h2,.section--dark h3{color:var(--gold-pale)}
.section--dark p{color:rgba(235,220,195,.78)}
.section__header{max-width:680px;margin:0 auto var(--gap-lg);text-align:center}
.section__header h2{margin-bottom:1rem}
.divider{display:flex;align-items:center;gap:1rem;margin:.75rem auto;max-width:200px}
.divider__line{flex:1;height:1px;background:linear-gradient(to right,transparent,var(--gold-warm),transparent)}
.divider__cross{font-size:1rem;color:var(--gold-warm);line-height:1}

/* ----------------------------------------------------------
   10. FEATURE CARDS
   ---------------------------------------------------------- */
.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--gap-md)}
.feature-card{background:var(--white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);border:1px solid var(--border-soft);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);display:flex;flex-direction:column}
.feature-card:hover{transform:translateY(-6px);box-shadow:0 20px 60px rgba(60,35,15,.18)}
.feature-card__icon{height:170px;background:linear-gradient(135deg,var(--linen),var(--parchment));display:flex;align-items:center;justify-content:center;font-size:4rem}
.feature-card__body{padding:1.75rem;flex:1;display:flex;flex-direction:column}
.feature-card__title{font-family:var(--font-display);font-size:1.5rem;margin-bottom:.6rem;color:var(--brown-dark)}
.feature-card__text{font-size:.92rem;color:var(--text-muted);margin-bottom:1.25rem;flex:1}
.feature-card__link{font-family:var(--font-accent);font-size:.76rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold-deep);display:inline-flex;align-items:center;gap:.4rem;transition:gap var(--dur);align-self:flex-start}
.feature-card__link:hover{gap:.8rem}
.feature-card__link::after{content:'→'}

/* ----------------------------------------------------------
   11. CAROUSEL
   ---------------------------------------------------------- */
.carousel{position:relative;overflow:hidden;border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}
.carousel__track{display:flex;transition:transform .6s var(--ease)}
.carousel__slide{min-width:100%;position:relative;min-height:400px;display:flex;align-items:flex-end}
.carousel__bg{position:absolute;inset:0;background-size:cover;background-position:center;background-color:var(--brown-dark)}
.carousel__overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(20,12,5,.88) 0%,transparent 60%)}
.carousel__caption{position:relative;z-index:1;padding:2.5rem}
.carousel__caption h3{color:var(--white);font-size:1.8rem;margin-bottom:.5rem}
.carousel__caption p{color:rgba(255,255,255,.75);font-style:italic;font-family:var(--font-display);font-size:1.1rem}
.carousel__btn{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;background:rgba(255,255,255,.14);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.28);border-radius:50%;color:var(--white);font-size:1.2rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--dur);z-index:3}
.carousel__btn:hover{background:rgba(212,160,23,.48)}
.carousel__btn--prev{left:1rem}.carousel__btn--next{right:1rem}
.carousel__dots{position:absolute;bottom:1rem;left:50%;transform:translateX(-50%);display:flex;gap:.5rem;z-index:3}
.carousel__dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.38);border:none;cursor:pointer;transition:background var(--dur),transform var(--dur)}
.carousel__dot.active{background:var(--gold-light);transform:scale(1.3)}

/* ----------------------------------------------------------
   12. VERSE BANNER
   ---------------------------------------------------------- */
.verse-banner{background:linear-gradient(135deg,var(--brown-dark) 0%,var(--navy) 100%);padding:var(--gap-lg) 0;position:relative;overflow:hidden;text-align:center}
.verse-banner::before{content:'"';position:absolute;top:-.5rem;left:1.5rem;font-family:var(--font-display);font-size:22rem;color:rgba(212,160,23,.055);line-height:1;pointer-events:none}
.verse-banner__text{font-family:var(--font-display);font-size:clamp(1.35rem,3vw,2.1rem);font-style:italic;color:var(--white);max-width:780px;margin:0 auto 1rem;line-height:1.65;position:relative;z-index:1}
.verse-banner__ref{font-family:var(--font-accent);font-size:.82rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-light);position:relative;z-index:1}

/* ----------------------------------------------------------
   13. WELCOME SECTION
   ---------------------------------------------------------- */
.welcome-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap-lg);align-items:center}
.welcome-visual{position:relative;padding-bottom:1.5rem;padding-right:1.5rem}
.welcome-visual__img{width:100%;border-radius:var(--radius-lg);box-shadow:var(--shadow-card);background:var(--parchment);min-height:320px;display:flex;align-items:center;justify-content:center;font-size:5.5rem}
.welcome-visual__badge{position:absolute;bottom:0;right:0;width:108px;height:108px;background:linear-gradient(135deg,var(--gold-warm),var(--amber));border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:var(--shadow-glow);color:var(--white);text-align:center;line-height:1.25;font-family:var(--font-accent);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase}
.welcome-text h2{margin-bottom:1rem}
.welcome-text .lead{margin-bottom:1.5rem}

/* ----------------------------------------------------------
   14. PILLARS
   ---------------------------------------------------------- */
.pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--gap-md)}
.pillar-card{background:var(--white);border-radius:var(--radius-lg);padding:2rem 1.75rem;box-shadow:var(--shadow-soft);border:1px solid var(--border-soft);position:relative;overflow:hidden;transition:transform var(--dur)}
.pillar-card:hover{transform:translateY(-4px)}
.pillar-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold-warm),var(--amber));border-radius:var(--radius-sm) var(--radius-sm) 0 0}
.pillar-card__icon{font-size:2.2rem;margin-bottom:1rem}
.pillar-card__title{font-family:var(--font-display);font-size:1.2rem;color:var(--brown-dark);margin-bottom:.5rem}
.pillar-card p{font-size:.9rem}

/* ----------------------------------------------------------
   15. JOURNEY STEPS
   ---------------------------------------------------------- */
.journey-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--gap-md);counter-reset:steps}
.journey-step{background:var(--white);border-radius:var(--radius-lg);padding:2rem 1.75rem;box-shadow:var(--shadow-soft);border:1px solid var(--border-soft);position:relative;counter-increment:steps}
.journey-step::before{content:counter(steps,decimal-leading-zero);position:absolute;top:-1rem;left:1.5rem;font-family:var(--font-display);font-size:3rem;font-weight:700;color:var(--gold-light);line-height:1;opacity:.55}
.journey-step h3{margin-top:1rem;margin-bottom:.75rem}
.journey-step p{font-size:.92rem}

/* ----------------------------------------------------------
   16. BIBLE PAGE
   ---------------------------------------------------------- */
.bible-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(265px,1fr));gap:var(--gap-md)}
.bible-section-card{background:var(--white);border-radius:var(--radius-lg);padding:1.75rem;box-shadow:var(--shadow-soft);border:1px solid var(--border-soft)}
.bible-section-card__header{font-family:var(--font-accent);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-deep);padding-bottom:.75rem;border-bottom:1px solid var(--border-soft);margin-bottom:1rem}
.bible-section-card h3{font-size:1.25rem;margin-bottom:.75rem}
.bible-links{display:flex;flex-wrap:wrap;gap:.4rem}
.bible-link{display:inline-block;padding:.28rem .68rem;background:var(--gold-pale);color:var(--brown-mid);border-radius:var(--radius-xl);font-size:.8rem;transition:background var(--dur),color var(--dur);border:1px solid transparent}
.bible-link:hover{background:var(--gold-warm);color:var(--white)}
.resources-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--gap-sm);margin-top:var(--gap-md)}
.resource-item{display:flex;align-items:center;gap:.75rem;background:var(--white);border-radius:var(--radius-md);padding:1rem 1.25rem;box-shadow:var(--shadow-soft);border:1px solid var(--border-soft);transition:transform var(--dur),box-shadow var(--dur);color:var(--brown-mid);font-size:.88rem}
.resource-item:hover{transform:translateY(-3px);box-shadow:var(--shadow-card);color:var(--gold-deep)}
.resource-item__icon{font-size:1.35rem;flex-shrink:0}

/* ----------------------------------------------------------
   17. TOPIC CARDS
   ---------------------------------------------------------- */
.topic-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--gap-md)}
.topic-card{background:var(--white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);transition:transform var(--dur),box-shadow var(--dur)}
.topic-card:hover{transform:translateY(-5px);box-shadow:0 24px 60px rgba(60,35,15,.2)}
.topic-card__banner{height:130px;display:flex;align-items:center;justify-content:center;font-size:3.2rem}
.topic-card__banner--spirit{background:linear-gradient(135deg,#1C2B4A,#2E4070)}
.topic-card__banner--prayer{background:linear-gradient(135deg,#3D2B1F,#6B4226)}
.topic-card__banner--bible{background:linear-gradient(135deg,#4A3010,#8B5E20)}
.topic-card__body{padding:1.5rem}
.topic-card__body h3{margin-bottom:.5rem;font-size:1.35rem}
.topic-card__body p{font-size:.9rem;margin-bottom:1rem}

/* Psalm section */
.psalm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:var(--gap-sm)}
.psalm-verse{background:linear-gradient(135deg,var(--white),var(--gold-pale));border-radius:var(--radius-md);padding:1.25rem;border-left:3px solid var(--gold-warm)}
.psalm-verse__text{font-family:var(--font-display);font-style:italic;font-size:.95rem;color:var(--brown-dark);margin-bottom:.4rem}
.psalm-verse__theme{font-family:var(--font-accent);font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold-deep)}

/* ----------------------------------------------------------
   18. DEVOTION CARD
   ---------------------------------------------------------- */
.devotion-card{background:linear-gradient(160deg,var(--ivory) 0%,var(--linen) 100%);border-radius:var(--radius-lg);padding:2.5rem 3rem;box-shadow:var(--shadow-card);border:1px solid var(--border-soft);max-width:760px;margin:var(--gap-md) auto;text-align:center;position:relative}
.devotion-card::before{content:'✟';position:absolute;top:1.25rem;left:50%;transform:translateX(-50%);font-size:1rem;color:var(--gold-warm)}
.devotion-card__label{font-size:.68rem;letter-spacing:.25em;color:var(--gold-deep);font-family:var(--font-accent);text-transform:uppercase;margin-bottom:1rem;margin-top:.5rem}
.devotion-card h3{margin-bottom:1.25rem;color:var(--brown-dark)}
.devotion-card p{font-family:var(--font-display);font-style:italic;font-size:1.08rem;line-height:1.88;color:var(--brown-mid)}
.devotion-cta{background:linear-gradient(135deg,var(--navy),var(--brown-dark));border-radius:var(--radius-lg);padding:3rem 2rem;text-align:center;position:relative;overflow:hidden}
.devotion-cta::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 60% at 50% 0%,rgba(212,160,23,.14),transparent 70%)}
.devotion-cta h3{color:var(--white);margin-bottom:.75rem;position:relative}
.devotion-cta p{color:rgba(255,255,255,.65);margin-bottom:1.75rem;position:relative;font-style:italic;font-family:var(--font-display)}

/* ----------------------------------------------------------
   19. MEDIA
   ---------------------------------------------------------- */
.video-embed{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}
.video-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}
.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--gap-md)}
.media-card{background:var(--white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-soft);border:1px solid var(--border-soft);transition:transform var(--dur)}
.media-card:hover{transform:translateY(-4px)}
.media-card__body{padding:1.25rem}
.media-card__body h4{font-size:1.1rem;margin-bottom:.4rem}
.media-card__body p{font-size:.85rem;color:var(--text-muted)}

/* ----------------------------------------------------------
   20. SEARCH
   ---------------------------------------------------------- */
.search-bar{display:flex;max-width:520px;margin:0 auto var(--gap-lg);background:var(--white);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft);border:1.5px solid var(--border-soft);overflow:hidden;transition:box-shadow var(--dur)}
.search-bar:focus-within{box-shadow:var(--shadow-card);border-color:var(--gold-warm)}
.search-bar input{flex:1;padding:.85rem 1.25rem;border:none;background:transparent;font-size:.95rem;font-family:var(--font-body);color:var(--text-primary)}
.search-bar input:focus{outline:none}
.search-bar input::placeholder{color:var(--text-muted)}
.search-bar button{padding:.85rem 1.5rem;background:linear-gradient(135deg,var(--gold-warm),var(--gold-deep));color:var(--white);border:none;cursor:pointer;font-family:var(--font-accent);font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;transition:opacity var(--dur)}
.search-bar button:hover{opacity:.88}
.search-result{transition:all .3s}
.search-result.hidden{display:none}

/* ----------------------------------------------------------
   21. CONTACT
   ---------------------------------------------------------- */
.contact-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:var(--gap-lg);align-items:start}
.contact-info__item{display:flex;gap:1rem;align-items:flex-start;margin-bottom:2rem}
.contact-info__icon{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--gold-warm),var(--amber));display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0;box-shadow:0 4px 16px rgba(180,130,10,.28)}
.contact-info__text strong{display:block;font-family:var(--font-accent);font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:.25rem}
.contact-form{background:var(--white);border-radius:var(--radius-lg);padding:2.5rem;box-shadow:var(--shadow-card);border:1px solid var(--border-soft)}
.form-group{margin-bottom:1.5rem}
.form-group label{display:block;font-family:var(--font-accent);font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:var(--brown-mid);margin-bottom:.5rem}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:.85rem 1.1rem;border:1.5px solid var(--border-soft);border-radius:var(--radius-md);font-family:var(--font-body);font-size:.95rem;color:var(--text-primary);background:var(--ivory);transition:border-color var(--dur),box-shadow var(--dur);resize:vertical}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--gold-warm);box-shadow:0 0 0 3px rgba(212,160,23,.12)}
.form-group textarea{min-height:130px}
.form-success{background:linear-gradient(135deg,var(--gold-pale),var(--linen));border:1.5px solid var(--gold-warm);border-radius:var(--radius-md);padding:1.5rem;text-align:center;display:none}
.form-success.show{display:block}

/* ----------------------------------------------------------
   22. FOOTER
   ---------------------------------------------------------- */
.site-footer{background:var(--brown-dark);color:rgba(235,220,195,.72);padding:var(--gap-xl) 0 var(--gap-md)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--gap-lg);margin-bottom:var(--gap-lg)}
.footer-brand__name{font-family:var(--font-display);font-size:1.6rem;color:var(--gold-pale);margin-bottom:.4rem}
.footer-brand__sub{font-family:var(--font-accent);font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:1rem}
.footer-brand p{font-size:.9rem;line-height:1.7}
.footer-nav__title{font-family:var(--font-accent);font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-warm);margin-bottom:1rem}
.footer-nav__list li{margin-bottom:.5rem}
.footer-nav__list a{font-size:.88rem;color:rgba(235,220,195,.62);transition:color var(--dur)}
.footer-nav__list a:hover{color:var(--gold-light)}
.footer-bottom{border-top:1px solid rgba(180,140,80,.14);padding-top:var(--gap-md);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-size:.8rem;color:rgba(235,220,195,.38)}
.footer-cross{font-size:1.2rem;color:var(--gold-deep)}

/* ----------------------------------------------------------
   23. RESPONSIVE
   ---------------------------------------------------------- */
@media(max-width:1024px){
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:span 2}
  .contact-grid{grid-template-columns:1fr}
}
@media(max-width:768px){
  .nav-links{display:none}
  .nav-toggle{display:flex}
  .welcome-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .footer-brand{grid-column:1}
  .hero__scroll{display:none}
  .carousel__caption{padding:1.5rem}
  .devotion-card{padding:2rem 1.5rem}
  .section{padding:3rem 0}
}
@media(max-width:520px){
  .hero__actions{flex-direction:column}
  .btn{width:100%;justify-content:center}
  .page-header{min-height:35vh;padding-bottom:3rem}
}

/* ----------------------------------------------------------
   24. REAL IMAGES IN CARDS (replaces emoji icon divs)
   ---------------------------------------------------------- */
.feature-card__img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  display: block;
  background: var(--parchment);
}

/* Welcome section visual with real img */
.welcome-visual__img img,
img.welcome-visual__img {
  width: 100%;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
  display: block;
  min-height: 280px;
  object-fit: cover;
}

/* Page header with bg image — ensure overlay still visible */
.page-header[style*="background-image"] {
  background-blend-mode: normal;
}
.page-header[style*="background-image"]::before {
  background:
    radial-gradient(ellipse 100% 100% at 50% 50%, rgba(0,0,0,0.52) 0%, rgba(0,0,0,0.38) 100%),
    radial-gradient(ellipse 70% 60% at 80% 30%, rgba(212,160,23,0.15) 0%, transparent 70%);
}

/* Hero with real background image */
.hero[style*="background-image"] {
  background-blend-mode: normal;
}
.hero[style*="background-image"]::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(165deg,rgba(28,26,20,.88) 0%,rgba(42,32,16,.75) 35%,rgba(28,43,74,.7) 100%);
  z-index: 1;
}
.hero[style*="background-image"] .hero__rays,
.hero[style*="background-image"] .container {
  position: relative;
  z-index: 2;
}
