:root{
  --teal-950:#0A2E29;
  --teal-900:#0E4A41;
  --teal-800:#0F5E52;
  --teal-700:#137E6D;
  --teal-500:#1C9C89;
  --teal-200:#BFE3DB;
  --teal-100:#E4F3EF;
  --gold-700:#9C7A2E;
  --gold-500:#C6A15B;
  --gold-300:#E4CC93;
  --cream:#FBF8F2;
  --cream-dim:#F3EEE2;
  --ink:#152420;
  --ink-soft:#41564F;
  --white:#FFFFFF;
  --shadow: 0 20px 50px -20px rgba(10,46,41,0.35);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:'Inter', sans-serif;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.display{
  font-family:'Fraunces', serif;
  font-weight:500;
  letter-spacing:-0.01em;
  margin:0;
  color:var(--teal-950);
}
.eyebrow{
  font-family:'Inter Tight', sans-serif;
  font-weight:600;
  letter-spacing:0.14em;
  text-transform:uppercase;
  font-size:0.72rem;
  color:var(--gold-700);
  display:flex;
  align-items:center;
  gap:10px;
}
.eyebrow::before{
  content:"";
  width:22px;height:1px;
  background:var(--gold-500);
  display:inline-block;
}
.eyebrow.center{justify-content:center;}
.eyebrow.center::before{display:none;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.wrap{max-width:1180px; margin:0 auto; padding:0 32px;}
section{position:relative;}

/* ---------- NAV ---------- */
header.site-header{
  position:fixed; top:0; left:0; right:0; z-index:100;
  padding:18px 0;
  transition:background .35s ease, padding .35s ease, box-shadow .35s ease;
}
header.site-header.solid{
  background:rgba(10,46,41,0.96);
  backdrop-filter:blur(6px);
  padding:12px 0;
  box-shadow:0 8px 24px -12px rgba(0,0,0,0.4);
}
.nav-row{display:flex; align-items:center; justify-content:space-between;}
.brand{display:flex; align-items:center; gap:12px;}
.brand-word{font-family:'Fraunces', serif; color:var(--white); font-size:1.05rem; line-height:1.15;}
.brand-word b{display:block; font-weight:600; letter-spacing:0.01em;}
.brand-word span{
  display:block; font-family:'Inter Tight',sans-serif;
  font-size:0.6rem; letter-spacing:0.22em; text-transform:uppercase;
  color:var(--gold-300); font-weight:600; margin-top:2px;
}
nav.main-nav ul{list-style:none; display:flex; gap:30px; margin:0; padding:0;}
nav.main-nav a{color:var(--teal-100); font-size:0.87rem; font-weight:500; position:relative; padding-bottom:4px;}
nav.main-nav a::after{
  content:""; position:absolute; left:0; bottom:0; width:0; height:1.5px;
  background:var(--gold-500); transition:width .25s ease;
}
nav.main-nav a:hover::after, nav.main-nav a.active::after{width:100%;}
.nav-right{display:flex; align-items:center; gap:16px;}
.cart-link{position:relative; color:var(--white); font-size:1.1rem;}
.cart-badge{
  position:absolute; top:-8px; right:-10px; background:var(--gold-500); color:var(--teal-950);
  font-size:0.65rem; font-weight:700; border-radius:50%; width:18px; height:18px;
  display:flex; align-items:center; justify-content:center;
}

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:13px 26px; font-family:'Inter Tight', sans-serif; font-weight:600; font-size:0.85rem;
  border-radius:3px; cursor:pointer; border:1px solid transparent;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
  white-space:nowrap;
}
.btn-gold{background:var(--gold-500); color:var(--teal-950);}
.btn-gold:hover{background:var(--gold-300); transform:translateY(-2px); color:var(--teal-950);}
.btn-outline{border-color:rgba(255,255,255,0.5); color:var(--white);}
.btn-outline:hover{background:rgba(255,255,255,0.12); transform:translateY(-2px); color:var(--white);}
.btn-outline-dark{border-color:rgba(15,94,82,0.4); color:var(--teal-900);}
.btn-outline-dark:hover{background:var(--teal-100); color:var(--teal-900);}
.btn-sm{padding:11px 18px; font-size:0.78rem;}

/* ---------- PAGE HERO (inner pages) ---------- */
.page-hero{
  background:
    radial-gradient(1000px 600px at 80% -20%, rgba(198,161,91,0.22), transparent 60%),
    linear-gradient(190deg, var(--teal-950) 0%, var(--teal-900) 60%, var(--teal-800) 100%);
  padding:170px 0 90px;
  text-align:center;
}
.page-hero .eyebrow{justify-content:center; color:var(--gold-300);}
.page-hero .eyebrow::before{display:none;}
.page-hero h1{color:var(--white); font-size:clamp(2.2rem,4.4vw,3.4rem); margin:18px 0 14px; line-height:1.1;}
.page-hero p{color:var(--teal-100); max-width:60ch; margin:0 auto; font-size:1.05rem; line-height:1.8;}

/* ---------- HERO (home) ---------- */
.hero{
  min-height:100vh; display:flex; flex-direction:column; justify-content:center;
  background:
    radial-gradient(1200px 700px at 78% -10%, rgba(198,161,91,0.25), transparent 60%),
    linear-gradient(190deg, var(--teal-950) 0%, var(--teal-900) 45%, var(--teal-800) 100%);
  position:relative; overflow:hidden; padding:150px 0 130px;
}
.hero::before{
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(115deg, transparent 40%, rgba(255,255,255,0.05) 41%, transparent 43%),
    linear-gradient(115deg, transparent 55%, rgba(255,255,255,0.045) 56%, transparent 58%),
    linear-gradient(115deg, transparent 70%, rgba(255,255,255,0.04) 71%, transparent 73%);
  pointer-events:none;
}
.hero-grid{display:grid; grid-template-columns:1.15fr 0.85fr; gap:60px; align-items:center; position:relative; z-index:2;}
.hero .eyebrow{color:var(--gold-300);}
.hero .eyebrow::before{background:var(--gold-300);}
.hero h1{color:var(--white); font-size:clamp(2.6rem, 5.2vw, 4.4rem); line-height:1.03; margin:22px 0 26px; max-width:12ch;}
.hero h1 em{font-style:italic; color:var(--gold-300); font-weight:400;}
.hero p.lede{color:var(--teal-100); font-size:1.12rem; line-height:1.7; max-width:46ch; margin-bottom:38px;}
.hero-ctas{display:flex; gap:16px; flex-wrap:wrap;}
.hero-visual{position:relative; display:flex; align-items:center; justify-content:center;}
.hero-orbit{width:min(420px, 100%); aspect-ratio:1/1; position:relative;}
.hero-orbit svg{width:100%; height:100%;}
.orbit-spin{animation:spin 60s linear infinite; transform-origin:150px 150px;}
@keyframes spin{ to{ transform:rotate(360deg); } }

.service-bar{position:relative; z-index:3; margin-top:-64px;}
.service-card{background:var(--white); border-radius:6px; box-shadow:var(--shadow); display:flex; flex-wrap:wrap; align-items:stretch;}
.service-item{flex:1 1 220px; padding:26px 30px; display:flex; align-items:center; gap:16px; border-right:1px solid var(--cream-dim);}
.service-item:last-child{border-right:none;}
.service-item .ic{width:38px; height:38px; flex:0 0 38px; border-radius:50%; background:var(--teal-100); display:flex; align-items:center; justify-content:center; color:var(--teal-800);}
.service-item h4{font-family:'Inter Tight',sans-serif; font-size:0.68rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--ink-soft); font-weight:600; margin:0 0 3px;}
.service-item p{margin:0; font-weight:600; color:var(--teal-950); font-size:0.98rem;}
.service-item.cta-item{flex:0 0 auto; background:var(--teal-950); align-items:center; justify-content:center; border-right:none;}

/* ---------- WELCOME ---------- */
.welcome{padding:150px 0 110px;}
.welcome-grid{display:grid; grid-template-columns:0.9fr 1.1fr; gap:70px; align-items:center;}
.photo-stack{position:relative; height:460px;}
.photo{position:absolute; border-radius:6px; overflow:hidden; box-shadow:var(--shadow);}
.photo-a{width:78%; height:82%; top:0; left:0; background:linear-gradient(150deg,#1C9C89,#0E4A41 65%);}
.photo-b{width:52%; height:52%; bottom:0; right:0; background:linear-gradient(150deg,#E4CC93,#C6A15B 70%); border:6px solid var(--cream);}
.photo-caption{position:absolute; inset:0; display:flex; align-items:flex-end; padding:22px;}
.photo-caption span{color:var(--white); font-family:'Inter Tight',sans-serif; font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase; font-weight:600; background:rgba(10,46,41,0.35); padding:6px 12px; border-radius:20px;}
.welcome h2{font-size:clamp(1.9rem, 3vw, 2.6rem); line-height:1.12; margin:16px 0 22px; max-width:14ch;}
.welcome p{font-size:1.03rem; line-height:1.8; color:var(--ink-soft); max-width:52ch; margin:0 0 18px;}
.welcome-links{display:flex; gap:28px; margin-top:26px; flex-wrap:wrap;}
.link-arrow{font-weight:600; color:var(--teal-800); font-size:0.92rem; display:inline-flex; align-items:center; gap:8px; border-bottom:1px solid var(--teal-800); padding-bottom:3px;}

/* ---------- MISSION / VISION ---------- */
.mv-band{background:var(--teal-950); padding:90px 0;}
.mv-grid{display:grid; grid-template-columns:1fr 1fr; gap:2px; background:rgba(255,255,255,0.12); border-radius:6px; overflow:hidden;}
.mv-cell{padding:48px 46px;}
.mv-cell.mission{background:var(--teal-950);}
.mv-cell.vision{background:var(--teal-900);}
.mv-cell .eyebrow{color:var(--gold-300);}
.mv-cell .eyebrow::before{background:var(--gold-300);}
.mv-cell .quote{font-family:'Fraunces',serif; font-style:italic; font-weight:400; font-size:1.35rem; line-height:1.55; color:var(--white); margin:20px 0 0;}
.mv-cell .statement{font-family:'Fraunces',serif; font-weight:500; font-size:2.1rem; line-height:1.2; color:var(--white); margin:20px 0 0;}

/* ---------- CORE VALUES ---------- */
.core-values-section{background:var(--cream); padding:120px 0 100px;}
.mission-band{text-align:center; max-width:760px; margin:0 auto 70px;}
.mission-band h2{font-size:clamp(1.9rem,3.4vw,2.7rem); margin:18px 0; line-height:1.18;}
.mission-band p{color:var(--ink-soft); font-size:1.05rem; line-height:1.8;}
.core-values-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--cream-dim); border:1px solid var(--cream-dim); border-radius:6px; overflow:hidden;}
.cv-item{background:var(--white); padding:34px 20px; text-align:center; border:1px solid var(--cream-dim); display:flex; align-items:center; justify-content:center; transition:background .2s ease, color .2s ease;}
.cv-item span{font-family:'Fraunces',serif; font-style:italic; font-weight:500; font-size:1.15rem; color:var(--teal-900);}
.cv-item:hover{background:var(--teal-950);}
.cv-item:hover span{color:var(--gold-300);}

/* ---------- WHAT WE DO ---------- */
.whatwedo{background:var(--cream-dim); padding:110px 0;}
.wwd-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:30px; margin-top:20px;}
.wwd-item{padding:8px 6px;}
.wwd-num{font-family:'Fraunces',serif; font-style:italic; color:var(--gold-500); font-size:1.4rem; display:block; margin-bottom:14px;}
.wwd-item h3{font-size:1.15rem; margin-bottom:10px;}
.wwd-item p{color:var(--ink-soft); font-size:0.92rem; line-height:1.7; margin:0;}

/* ---------- SERMON PLAYER / GRID ---------- */
.sermon{background:linear-gradient(180deg, var(--teal-950), var(--teal-900)); padding:110px 0; color:var(--white);}
.sermon-grid{display:grid; grid-template-columns:1.05fr 0.95fr; gap:64px; align-items:center;}
.sermon .eyebrow{color:var(--gold-300);}
.sermon .eyebrow::before{background:var(--gold-300);}
.sermon h2{color:var(--white); font-size:clamp(1.9rem,3vw,2.5rem); margin:16px 0 20px; max-width:14ch;}
.sermon p{color:var(--teal-100); line-height:1.8; max-width:48ch; margin-bottom:30px;}
.player{position:relative; border-radius:8px; overflow:hidden; aspect-ratio:16/10.5; background:radial-gradient(circle at 30% 30%, rgba(198,161,91,0.35), transparent 55%), linear-gradient(135deg, #103E37, #0A2E29 70%); box-shadow:var(--shadow); display:flex; align-items:center; justify-content:center;}
.player iframe{width:100%; height:100%; border:0; position:absolute; inset:0;}
.play-btn{width:74px; height:74px; border-radius:50%; background:var(--gold-500); display:flex; align-items:center; justify-content:center; box-shadow:0 0 0 14px rgba(198,161,91,0.14); cursor:pointer; position:relative; z-index:2;}
.player-tag{position:absolute; left:20px; top:20px; background:rgba(10,46,41,0.55); color:var(--gold-300); font-family:'Inter Tight',sans-serif; font-weight:600; font-size:0.68rem; letter-spacing:0.1em; text-transform:uppercase; padding:7px 12px; border-radius:20px; z-index:2;}
.player-meta{position:absolute; left:20px; bottom:18px; right:20px; z-index:2;}
.player-meta p{margin:0; color:var(--white); font-weight:600;}
.player-meta span{color:var(--teal-200); font-size:0.82rem;}
.channel-links{display:flex; gap:14px; margin-top:28px; flex-wrap:wrap;}
.chip{display:flex; align-items:center; gap:8px; padding:9px 16px; border-radius:20px; border:1px solid rgba(255,255,255,0.25); font-size:0.82rem; font-weight:500; color:var(--teal-100);}

.sermon-list{padding:120px 0;}
.sermon-card{background:var(--white); border-radius:6px; overflow:hidden; border:1px solid var(--cream-dim); box-shadow:0 12px 30px -20px rgba(10,46,41,0.18); margin-bottom:26px; display:grid; grid-template-columns:280px 1fr; align-items:stretch;}
.sermon-card .thumb{background:linear-gradient(150deg, var(--teal-700), var(--teal-950)); display:flex; align-items:center; justify-content:center; min-height:180px;}
.sermon-card .body{padding:28px 32px;}
.sermon-card .series-tag{font-family:'Inter Tight',sans-serif; font-size:0.68rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold-700); font-weight:700;}
.sermon-card h3{font-size:1.3rem; margin:8px 0 10px;}
.sermon-card p{color:var(--ink-soft); font-size:0.92rem; line-height:1.7; margin:0 0 14px;}
.sermon-card .meta{display:flex; gap:16px; font-size:0.8rem; color:var(--ink-soft); flex-wrap:wrap;}

/* ---------- EVENTS ---------- */
.events{padding:120px 0;}
.section-head{display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:52px; gap:20px; flex-wrap:wrap;}
.section-head h2{font-size:clamp(1.9rem,3vw,2.5rem); margin-top:14px; max-width:16ch;}
.events-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
.event-card{background:var(--white); border-radius:6px; overflow:hidden; box-shadow:0 12px 30px -18px rgba(10,46,41,0.25); border:1px solid var(--cream-dim); transition:transform .25s ease, box-shadow .25s ease;}
.event-card:hover{transform:translateY(-6px); box-shadow:var(--shadow);}
.event-top{height:150px; position:relative; background:linear-gradient(150deg, var(--teal-700), var(--teal-950)); display:flex; align-items:center; justify-content:center;}
.event-card:nth-child(3n+2) .event-top{background:linear-gradient(150deg, var(--gold-500), #8C6A28);}
.event-card:nth-child(3n+3) .event-top{background:linear-gradient(150deg, #1C9C89, var(--teal-950));}
.date-seal{width:66px; height:66px; border-radius:50%; background:rgba(255,255,255,0.14); border:1px solid rgba(255,255,255,0.4); display:flex; flex-direction:column; align-items:center; justify-content:center; color:var(--white);}
.date-seal .d{font-family:'Fraunces',serif; font-size:1.4rem; line-height:1;}
.date-seal .m{font-family:'Inter Tight',sans-serif; font-size:0.6rem; letter-spacing:0.1em; text-transform:uppercase; margin-top:2px;}
.event-body{padding:24px 24px 26px;}
.event-tag{font-family:'Inter Tight',sans-serif; font-size:0.68rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold-700); font-weight:700; margin-bottom:8px; display:block;}
.event-body h3{font-size:1.15rem; margin-bottom:8px; line-height:1.3;}
.event-body p{color:var(--ink-soft); font-size:0.9rem; line-height:1.6; margin:0 0 16px;}
.event-meta{display:flex; gap:14px; font-size:0.8rem; color:var(--ink-soft); font-weight:500;}

/* ---------- BOOKS / STORE ---------- */
.books{padding:120px 0 110px;}
.books-intro{max-width:64ch; color:var(--ink-soft); font-size:1rem; line-height:1.8; margin:-24px 0 54px;}
.books-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:26px;}
.book-card{background:var(--white); border-radius:6px; overflow:hidden; border:1px solid var(--cream-dim); box-shadow:0 12px 30px -18px rgba(10,46,41,0.2); display:flex; flex-direction:column; transition:transform .25s ease, box-shadow .25s ease;}
.book-card:hover{transform:translateY(-6px); box-shadow:var(--shadow);}
.book-cover{aspect-ratio:3/4; padding:26px 22px; display:flex; flex-direction:column; justify-content:space-between; position:relative;}
.book-cover h3{color:var(--white); font-size:1.28rem; line-height:1.25; margin:0;}
.book-sub{color:rgba(255,255,255,0.78); font-size:0.78rem; line-height:1.5; font-family:'Inter Tight',sans-serif;}
.book-spine-tag{align-self:flex-start; font-family:'Inter Tight',sans-serif; font-weight:700; font-size:0.64rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--teal-950); background:rgba(255,255,255,0.85); padding:5px 10px; border-radius:20px;}
.cover-1{background:linear-gradient(150deg, var(--teal-700), var(--teal-950) 75%);}
.cover-2{background:linear-gradient(150deg, var(--gold-500), #8C6A28 75%);}
.cover-3{background:linear-gradient(150deg, #1C9C89, var(--teal-950) 75%);}
.cover-4{background:linear-gradient(150deg, var(--teal-950), #051815 75%);}
.book-info{padding:22px 22px 24px; display:flex; flex-direction:column; flex:1;}
.book-price-row{display:flex; align-items:center; justify-content:space-between; margin-bottom:12px;}
.book-price{font-family:'Fraunces',serif; font-weight:600; color:var(--teal-950); font-size:1.1rem;}
.book-format{font-size:0.7rem; color:var(--ink-soft); text-transform:uppercase; letter-spacing:0.05em;}
.book-info p{color:var(--ink-soft); font-size:0.86rem; line-height:1.65; margin:0 0 18px; flex:1;}
.books-note{text-align:center; margin-top:44px; color:var(--ink-soft); font-size:0.82rem;}

/* ---------- CART / CHECKOUT ---------- */
.cart-section{padding:150px 0 120px;}
.cart-table{width:100%; border-collapse:collapse; background:var(--white); border-radius:6px; overflow:hidden; box-shadow:0 12px 30px -20px rgba(10,46,41,0.18);}
.cart-table th{background:var(--teal-950); color:var(--white); text-align:left; padding:16px 20px; font-family:'Inter Tight',sans-serif; font-size:0.72rem; text-transform:uppercase; letter-spacing:0.08em;}
.cart-table td{padding:18px 20px; border-bottom:1px solid var(--cream-dim); font-size:0.92rem; vertical-align:middle;}
.cart-table tr:last-child td{border-bottom:none;}
.qty-input{width:64px; padding:8px; border:1px solid var(--cream-dim); border-radius:4px; text-align:center;}
.cart-summary{background:var(--cream-dim); border-radius:6px; padding:28px 30px; margin-top:30px; max-width:420px; margin-left:auto;}
.cart-summary .row{display:flex; justify-content:space-between; margin-bottom:12px; font-size:0.92rem;}
.cart-summary .row.total{font-weight:700; font-size:1.15rem; color:var(--teal-950); border-top:1px solid rgba(10,46,41,0.12); padding-top:14px; margin-top:14px;}
.empty-cart{text-align:center; padding:80px 20px; color:var(--ink-soft);}

.checkout-grid{display:grid; grid-template-columns:1.2fr 0.8fr; gap:50px; align-items:start;}
.checkout-form-card, .order-summary-card{background:var(--white); border-radius:8px; padding:34px; border:1px solid var(--cream-dim); box-shadow:0 12px 30px -20px rgba(10,46,41,0.18);}
.form-label{font-family:'Inter Tight',sans-serif; font-size:0.7rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--ink-soft); font-weight:700; margin:16px 0 8px; display:block;}
.form-label:first-of-type{margin-top:0;}
.form-control-gcc, .form-select-gcc{width:100%; padding:13px 14px; border-radius:4px; border:1px solid var(--cream-dim); background:var(--cream); font-family:'Inter',sans-serif; font-size:0.9rem; color:var(--ink);}
.order-line{display:flex; justify-content:space-between; padding:10px 0; border-bottom:1px solid var(--cream-dim); font-size:0.88rem;}

/* ---------- VALUES / BELIEFS ---------- */
.values{background:var(--cream-dim); padding:120px 0;}
.values-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:var(--teal-950); border-radius:6px; overflow:hidden;}
.value-card{background:var(--white); padding:42px 34px;}
.value-card .num{font-family:'Fraunces',serif; font-style:italic; font-size:1.1rem; color:var(--gold-700); margin-bottom:18px; display:block;}
.value-card h3{font-size:1.2rem; margin-bottom:12px;}
.value-card p{color:var(--ink-soft); font-size:0.92rem; line-height:1.7; margin:0;}

/* ---------- BLOG ---------- */
.blog{background:var(--cream-dim); padding:120px 0;}
.blog-grid{display:grid; grid-template-columns:1.3fr 1fr; grid-auto-rows:auto; gap:26px;}
.blog-card{background:var(--white); border-radius:6px; padding:34px 32px; border:1px solid var(--cream-dim); box-shadow:0 12px 30px -20px rgba(10,46,41,0.18); transition:transform .25s ease, box-shadow .25s ease; display:flex; flex-direction:column;}
.blog-card:hover{transform:translateY(-5px); box-shadow:var(--shadow);}
.blog-feature{grid-row:span 2; background:linear-gradient(165deg, var(--teal-950), var(--teal-900)); border:none;}
.blog-feature h3{color:var(--white);}
.blog-feature p{color:var(--teal-100);}
.blog-feature .link-arrow{color:var(--gold-300); border-bottom-color:var(--gold-300);}
.blog-feature .blog-tag{background:var(--gold-500); color:var(--teal-950);}
.blog-feature .blog-date{color:var(--teal-200);}
.blog-tag-row{display:flex; align-items:center; gap:12px; margin-bottom:16px;}
.blog-tag{font-family:'Inter Tight',sans-serif; font-weight:700; font-size:0.65rem; letter-spacing:0.09em; text-transform:uppercase; color:var(--gold-700); background:var(--teal-100); padding:5px 11px; border-radius:20px;}
.blog-date{font-size:0.78rem; color:var(--ink-soft);}
.blog-card h3{font-size:1.28rem; line-height:1.32; margin-bottom:14px;}
.blog-feature h3{font-size:1.55rem;}
.blog-card p{color:var(--ink-soft); font-size:0.92rem; line-height:1.75; margin:0 0 14px;}
.blog-card .link-arrow{margin-top:auto; align-self:flex-start;}
.blog-post-body{max-width:70ch; margin:0 auto; font-size:1.05rem; line-height:1.9; color:var(--ink-soft);}
.blog-post-body p{margin:0 0 22px;}

/* ---------- SALVATION ---------- */
.salvation{background:radial-gradient(900px 500px at 50% -20%, rgba(198,161,91,0.18), transparent 60%), linear-gradient(180deg, var(--teal-900), var(--teal-950)); padding:120px 0; text-align:center;}
.salvation-inner{max-width:700px; margin:0 auto;}
.seal-mini{width:70px; height:70px; margin:0 auto 26px;}
.salvation h2{color:var(--white); font-size:clamp(1.9rem,3.4vw,2.6rem); margin:16px 0 34px; line-height:1.2;}
.salvation blockquote{margin:0 0 26px; padding:36px 40px; border:1px solid rgba(255,255,255,0.16); border-radius:6px; background:rgba(255,255,255,0.04); font-family:'Fraunces',serif; font-style:italic; font-weight:400; font-size:1.18rem; line-height:1.75; color:var(--teal-100);}
.salvation .congrats{color:var(--gold-300); font-weight:600; font-size:0.95rem; margin-bottom:30px;}

/* ---------- NEWSLETTER ---------- */
.newsletter{background:linear-gradient(120deg, var(--gold-500), var(--gold-700)); padding:70px 0;}
.newsletter-row{display:flex; align-items:center; justify-content:space-between; gap:40px; flex-wrap:wrap;}
.newsletter h3{font-size:1.6rem; color:var(--teal-950); max-width:16ch;}
.newsletter p{margin:8px 0 0; color:rgba(10,46,41,0.75); max-width:40ch;}
.nl-form{display:flex; gap:10px; flex-wrap:wrap;}
.nl-form input{padding:15px 18px; border-radius:3px; border:1px solid rgba(10,46,41,0.25); font-family:'Inter',sans-serif; min-width:260px; font-size:0.92rem;}

/* ---------- GIVE ---------- */
.give{background:radial-gradient(800px 500px at 15% 10%, rgba(198,161,91,0.16), transparent 60%), linear-gradient(180deg, var(--teal-950), var(--teal-900)); padding:130px 0;}
.give-grid{display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center;}
.give-copy h2{color:var(--white); font-size:clamp(1.9rem,3vw,2.5rem); margin:16px 0 20px; max-width:15ch; line-height:1.18;}
.give-copy p{color:var(--teal-100); line-height:1.8; max-width:44ch; margin-bottom:26px;}
.give-points{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:14px;}
.give-points li{color:var(--teal-100); font-size:0.92rem; display:flex; align-items:flex-start; gap:10px;}
.give-points .tick{color:var(--gold-300); font-weight:700;}
.give-card{background:var(--white); border-radius:8px; padding:14px; box-shadow:var(--shadow);}
.give-tabs{display:flex; gap:6px; padding:8px; background:var(--cream-dim); border-radius:6px; margin-bottom:22px;}
.give-tab{flex:1; padding:11px; border:none; border-radius:4px; background:transparent; font-family:'Inter Tight',sans-serif; font-weight:600; font-size:0.85rem; color:var(--ink-soft); cursor:pointer;}
.give-tab.active{background:var(--white); color:var(--teal-950); box-shadow:0 2px 8px rgba(10,46,41,0.1);}
.give-form{display:flex; flex-direction:column; padding:6px 16px 18px;}
.amount-row{display:grid; grid-template-columns:repeat(4,1fr); gap:8px;}
.amount-chip{padding:12px 6px; border-radius:4px; border:1px solid var(--cream-dim); background:var(--cream); font-family:'Inter Tight',sans-serif; font-weight:600; font-size:0.8rem; color:var(--teal-950); cursor:pointer; transition:border-color .2s ease, background .2s ease;}
.amount-chip:hover{border-color:var(--gold-500); background:var(--teal-100);}
.amount-chip.active{border-color:var(--gold-500); background:var(--teal-950); color:var(--white);}
.give-fineprint{font-size:0.74rem; color:var(--ink-soft); margin-top:12px; text-align:center;}

/* ---------- CONTACT ---------- */
.contact{padding:130px 0;}
.contact-grid{display:grid; grid-template-columns:0.85fr 1.15fr; gap:60px;}
.contact-info{display:flex; flex-direction:column; gap:26px;}
.ci-item{display:flex; align-items:flex-start; gap:16px;}
.ci-item .ic{width:38px; height:38px; flex:0 0 38px; border-radius:50%; background:var(--teal-100); color:var(--teal-800); display:flex; align-items:center; justify-content:center; margin-top:2px;}
.ci-item h4{font-family:'Inter Tight',sans-serif; font-size:0.7rem; letter-spacing:0.09em; text-transform:uppercase; color:var(--ink-soft); font-weight:700; margin:0 0 4px;}
.ci-item p{margin:0; font-weight:500; color:var(--teal-950); font-size:0.95rem;}
.contact .socials a{border-color:rgba(10,46,41,0.2); color:var(--teal-950);}
.contact .socials a:hover{background:var(--gold-500); border-color:var(--gold-500); color:var(--teal-950);}
.contact-form{background:var(--cream-dim); border-radius:8px; padding:38px; display:flex; flex-direction:column;}
.cf-row{display:grid; grid-template-columns:1fr 1fr; gap:20px;}

/* ---------- FOOTER ---------- */
footer.site-footer{background:var(--teal-950); color:var(--teal-100); padding:90px 0 30px;}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:50px; padding-bottom:60px; border-bottom:1px solid rgba(255,255,255,0.1);}
.footer-brand{display:flex; gap:14px; align-items:flex-start; margin-bottom:18px;}
footer h5{font-family:'Inter Tight',sans-serif; font-size:0.72rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold-300); margin:0 0 18px; font-weight:700;}
footer p{color:var(--teal-200); font-size:0.9rem; line-height:1.8; margin:0;}
footer ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px;}
footer ul a{color:var(--teal-100); font-size:0.9rem;}
footer ul a:hover{color:var(--gold-300);}
.socials{display:flex; gap:12px; margin-top:20px;}
.socials a{width:36px; height:36px; border-radius:50%; border:1px solid rgba(255,255,255,0.25); display:flex; align-items:center; justify-content:center;}
.socials a:hover{background:var(--gold-500); border-color:var(--gold-500); color:var(--teal-950);}
.bottom-row{display:flex; justify-content:space-between; padding-top:26px; font-size:0.8rem; color:var(--teal-200); flex-wrap:wrap; gap:12px;}

/* ---------- ALERTS / FLASH ---------- */
.gcc-alert{border-radius:6px; padding:16px 20px; font-size:0.9rem; margin-bottom:24px; border:1px solid transparent;}
.gcc-alert.success{background:#E4F3EF; color:var(--teal-900); border-color:var(--teal-200);}
.gcc-alert.error{background:#FBEAEA; color:#8A2E2E; border-color:#F1C6C6;}

/* ---------- ADMIN ---------- */
.admin-body{background:var(--cream-dim); font-family:'Inter',sans-serif; color:var(--ink);}
.admin-shell{display:flex; min-height:100vh;}
.admin-sidebar{width:240px; background:var(--teal-950); color:var(--teal-100); flex-shrink:0; padding:26px 20px;}
.admin-sidebar .brand-word{margin-bottom:30px;}
.admin-sidebar a{display:block; padding:11px 14px; border-radius:4px; color:var(--teal-100); font-size:0.9rem; margin-bottom:4px;}
.admin-sidebar a.active, .admin-sidebar a:hover{background:rgba(255,255,255,0.08); color:var(--white);}
.admin-main{flex:1; padding:34px 40px;}
.admin-card{background:var(--white); border-radius:8px; padding:26px; box-shadow:0 8px 24px -16px rgba(10,46,41,0.2); margin-bottom:24px;}
.admin-table{width:100%; border-collapse:collapse;}
.admin-table th, .admin-table td{padding:12px 14px; border-bottom:1px solid var(--cream-dim); font-size:0.88rem; text-align:left;}
.admin-table th{font-family:'Inter Tight',sans-serif; text-transform:uppercase; font-size:0.68rem; letter-spacing:0.06em; color:var(--ink-soft);}
.stat-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-bottom:30px;}
.stat-card{background:var(--white); border-radius:8px; padding:22px; box-shadow:0 8px 24px -16px rgba(10,46,41,0.2);}
.stat-card .num{font-family:'Fraunces',serif; font-size:2rem; color:var(--teal-950);}
.stat-card .label{font-size:0.78rem; color:var(--ink-soft); text-transform:uppercase; letter-spacing:0.06em;}
.login-shell{min-height:100vh; display:flex; align-items:center; justify-content:center; background:var(--teal-950);}
.login-card{background:var(--white); padding:44px; border-radius:8px; width:380px; box-shadow:var(--shadow);}

/* ---------- RESPONSIVE ---------- */
@media (max-width: 980px){
  nav.main-nav{display:none;}
  .hero-grid{grid-template-columns:1fr;}
  .hero-visual{order:-1; max-width:280px; margin:0 auto 20px;}
  .welcome-grid, .sermon-grid{grid-template-columns:1fr;}
  .photo-stack{height:340px;}
  .events-grid, .values-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr; gap:36px;}
  .core-values-grid{grid-template-columns:repeat(2,1fr);}
  .wwd-grid{grid-template-columns:repeat(2,1fr);}
  .books-grid{grid-template-columns:repeat(2,1fr);}
  .blog-grid{grid-template-columns:1fr;}
  .blog-feature{grid-row:auto;}
  .give-grid{grid-template-columns:1fr; gap:44px;}
  .contact-grid{grid-template-columns:1fr; gap:44px;}
  .cf-row{grid-template-columns:1fr;}
  .mv-grid{grid-template-columns:1fr;}
  .checkout-grid{grid-template-columns:1fr;}
  .sermon-card{grid-template-columns:1fr;}
  .admin-sidebar{display:none;}
}
@media (max-width:560px){
  .core-values-grid{grid-template-columns:1fr;}
  .wwd-grid{grid-template-columns:1fr;}
  .books-grid{grid-template-columns:1fr;}
  .amount-row{grid-template-columns:repeat(2,1fr);}
  .contact-form{padding:26px;}
  .footer-grid{grid-template-columns:1fr;}
  .service-item{border-right:none; border-bottom:1px solid var(--cream-dim);}
  .stat-grid{grid-template-columns:1fr 1fr;}
}
