/* ================================================================
   RGA INTERNATIONAL — style.css
   Single harmonized stylesheet (replaces main.css + 7 page CSS files)

   STRUCTURE
   1) SHARED   — reset, tokens, nav, mobile drawer, page-hero pattern,
                 section-eyebrow, filter bar, buttons, audio button,
                 booking modal, AI chat widget, footer, responsive.
                 Used identically on every page.
   2) PAGE SECTIONS — content unique to one page. Where two pages
                 reused the same class name for a *different*
                 component (e.g. .testi-grid, .chapters-grid,
                 .dev-card, .feat-left, .join-tag), the rules are
                 scoped under that page's body class
                 (.page-home, .page-about, ...) so they can't leak
                 into each other.
   ================================================================ */

/* ── 1) SHARED ── */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --red:       #C0272D;
  --red-dark:  #8B1A1E;
  --red-light: #E8474D;
  --red-bg:    #FDF2F2;
  --black:     #111111;
  --warm:      #1A1A1A;
  --cream:     #FAF9F7;
  --border:    #E8E4DF;
  --muted:     #6B6360;
  --radius:    12px;
}
body {
  font-family: "DM Sans", sans-serif;
  background: var(--cream);
  color: var(--black);
  line-height: 1.6;
  font-size: 16px;
  overflow-x: hidden;
}
nav {
  position: sticky; top: 0; z-index: 100;
  background: rgba(17,17,17,0.97);
  backdrop-filter: blur(10px);
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 clamp(1rem, 5vw, 3.5rem);
  height: 62px;
  border-bottom: 1px solid rgba(192,39,45,0.25);
}
.nav-logo { display: flex; align-items: center; gap: 10px; text-decoration: none; }
.logo-img { height: 64px; width: 64px; border-radius: 50%; object-fit: cover; display: block; }
.nav-links { display: flex; gap: 1.75rem; list-style: none; }
.nav-links a { color: rgba(255,255,255,0.62); text-decoration: none; font-size: 14px; transition: color .2s; }
.nav-links a:hover, .nav-links a.active { color: var(--red-light); }
.nav-right { display: flex; align-items: center; gap: 1rem; }
.nav-donate { color: rgba(255,255,255,0.5); font-size: 13px; text-decoration: none; transition: color .2s; }
.nav-donate:hover { color: #fff; }
.nav-cta {
  background: var(--red); color: #fff; border: none;
  padding: 8px 20px; border-radius: 6px; font-size: 13px; font-weight: 500;
  cursor: pointer; font-family: "DM Sans", sans-serif;
  text-decoration: none; transition: background .2s; white-space: nowrap;
}
.nav-cta:hover { background: var(--red-dark); }
.hamburger { display: none; background: none; border: none; color: #fff; font-size: 22px; cursor: pointer; padding: 4px; }
.mob-drawer { position: fixed; inset: 0; z-index: 200; pointer-events: none; }
.mob-overlay { position: absolute; inset: 0; background: rgba(0,0,0,0); transition: background .3s; }
.mob-panel {
  position: absolute; top: 0; right: 0; bottom: 0;
  width: min(300px, 85vw);
  background: var(--black);
  transform: translateX(100%);
  transition: transform .3s cubic-bezier(.4,0,.2,1);
  display: flex; flex-direction: column;
  padding: 2rem 1.5rem;
  border-left: 3px solid var(--red);
}
.mob-drawer.open { pointer-events: all; }
.mob-drawer.open .mob-overlay { background: rgba(0,0,0,0.6); }
.mob-drawer.open .mob-panel { transform: translateX(0); }
.mob-close { background: none; border: none; color: rgba(255,255,255,0.5); font-size: 22px; cursor: pointer; align-self: flex-end; margin-bottom: 2rem; }
.mob-links { list-style: none; display: flex; flex-direction: column; }
.mob-links li a {
  display: block; color: rgba(255,255,255,0.75); text-decoration: none;
  font-family: "Cormorant Garamond", serif; font-size: 1.4rem;
  padding: .9rem 0; border-bottom: 1px solid rgba(255,255,255,0.06);
  transition: color .2s;
}
.mob-links li a:hover { color: var(--red-light); }
.mob-cta {
  margin-top: 2rem; background: var(--red); color: #fff; border: none;
  padding: 14px; border-radius: 8px; font-size: 15px; font-weight: 500;
  cursor: pointer; font-family: "DM Sans", sans-serif; width: 100%;
}
.page-hero { background: var(--black); padding: clamp(3.5rem,8vw,6rem) clamp(1.5rem,8vw,5.5rem); position: relative; overflow: hidden; }
.page-hero::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--red), var(--red-light), var(--red)); }
.hero-watermark {
  position: absolute; right: -2%; top: 50%; transform: translateY(-50%);
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(150px, 25vw, 340px);
  font-weight: 700; color: rgba(192,39,45,0.05); line-height: 1; user-select: none;
}
.hero-inner { position: relative; z-index: 2; max-width: 720px; }
.breadcrumb { font-size: 12px; color: rgba(255,255,255,0.3); margin-bottom: 1.5rem; }
.breadcrumb a { color: rgba(255,255,255,0.3); text-decoration: none; }
.breadcrumb a:hover { color: var(--red-light); }
.breadcrumb span { color: var(--red-light); }
.page-hero h1 { font-family: "Cormorant Garamond", serif; font-size: clamp(2.8rem,7vw,5.5rem); font-weight: 600; color: #fff; line-height: 1.05; margin-bottom: 1.25rem; }
.page-hero h1 em { color: var(--red-light); font-style: normal; }
.page-hero p { color: rgba(255,255,255,0.52); font-size: 15px; max-width: 520px; font-weight: 300; line-height: 1.9; }
.section-eyebrow {
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--red); font-weight: 500; margin-bottom: .9rem;
  display: flex; align-items: center; gap: 8px;
}
.section-eyebrow::before { content: ""; display: block; width: 22px; height: 2px; background: var(--red); border-radius: 2px; }
.filter-bar {
  background: #fff; border-bottom: 1px solid var(--border);
  padding: 0 clamp(1.5rem, 8vw, 5.5rem);
  display: flex; align-items: center; gap: 1rem; flex-wrap: wrap;
  position: sticky; top: 62px; z-index: 90; min-height: 56px;
}
.filter-tabs { display: flex; gap: .25rem; flex: 1; flex-wrap: wrap; padding: .6rem 0; }
.ftab {
  padding: 6px 14px; border-radius: 100px; font-size: 13px;
  border: 1px solid transparent; cursor: pointer; background: none;
  color: var(--muted); font-family: "DM Sans", sans-serif; transition: all .18s; white-space: nowrap;
}
.ftab:hover { color: var(--red); background: var(--red-bg); }
.ftab.active { background: var(--red); color: #fff; border-color: var(--red); font-weight: 500; }
.search-wrap { position: relative; flex-shrink: 0; }
.search-wrap input {
  border: 1px solid var(--border); border-radius: 100px;
  padding: 7px 14px 7px 34px; font-size: 13px;
  font-family: "DM Sans", sans-serif; outline: none; width: 180px;
  transition: all .2s; background: var(--cream); color: var(--black);
}
.search-wrap input:focus { border-color: var(--red); width: 220px; }
.search-icon { position: absolute; left: 11px; top: 50%; transform: translateY(-50%); font-size: 13px; color: var(--muted); pointer-events: none; }
.btn-primary {
  background: var(--red); color: #fff; padding: 13px 26px; border-radius: 8px;
  font-weight: 500; font-size: 15px; text-decoration: none; border: none; cursor: pointer;
  font-family: "DM Sans", sans-serif; transition: all .2s; display: inline-flex; align-items: center; gap: 8px;
}
.btn-primary:hover { background: var(--red-dark); transform: translateY(-1px); }
.btn-ghost {
  background: transparent; color: var(--black); padding: 13px 26px; border-radius: 8px;
  font-weight: 400; font-size: 15px; text-decoration: none; border: 1px solid var(--border);
  transition: all .2s; cursor: pointer; font-family: "DM Sans", sans-serif; display: inline-flex; align-items: center; gap: 8px;
}
.btn-ghost:hover { border-color: var(--red); color: var(--red); }
.btn-white {
  background: #fff; color: var(--red); padding: 13px 26px; border-radius: 8px;
  font-weight: 500; font-size: 15px; text-decoration: none; border: none; cursor: pointer;
  font-family: "DM Sans", sans-serif; transition: all .2s;
}
.btn-white:hover { background: var(--cream); transform: translateY(-1px); }
.btn-outline-white {
  background: transparent; color: #fff; padding: 13px 26px; border-radius: 8px;
  font-size: 15px; text-decoration: none; border: 2px solid rgba(255,255,255,0.4);
  transition: all .2s; cursor: pointer; font-family: "DM Sans", sans-serif;
}
.btn-outline-white:hover { border-color: #fff; background: rgba(255,255,255,0.1); }
.audio-btn {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--black); color: #fff; padding: 9px 18px;
  border-radius: 100px; font-size: 13px; font-weight: 400; border: none; cursor: pointer;
  font-family: "DM Sans", sans-serif; transition: background .2s;
}
.audio-btn:hover, .audio-btn.playing { background: var(--red); }
.play-dot { width: 24px; height: 24px; border-radius: 50%; background: var(--red); display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: background .2s; }
.audio-btn.playing .play-dot { background: rgba(255,255,255,0.2); }
.play-dot svg { width: 9px; height: 9px; fill: #fff; margin-left: 1px; }
.dur-lbl { font-size: 12px; }
.wave-mini { display: none; align-items: center; gap: 2px; }
.audio-btn.playing .wave-mini { display: flex; }
.audio-btn.playing .dur-lbl { display: none; }
.wm { width: 3px; background: rgba(255,255,255,0.75); border-radius: 2px; animation: wv .9s ease-in-out infinite; }
.wm:nth-child(1){height:7px}
.wm:nth-child(2){height:13px;animation-delay:.12s}
.wm:nth-child(3){height:9px;animation-delay:.24s}
.wm:nth-child(4){height:15px;animation-delay:.06s}
.wm:nth-child(5){height:7px;animation-delay:.18s}
@keyframes wv { 0%,100%{transform:scaleY(1)} 50%{transform:scaleY(0.35)} }
.modal-overlay { position: fixed; inset: 0; z-index: 300; background: rgba(0,0,0,0.7); display: none; align-items: center; justify-content: center; padding: 1rem; }
.modal-overlay.open { display: flex; }
.modal-box { background: #fff; border-radius: 16px; padding: 2rem; width: 100%; max-width: 480px; max-height: 90vh; overflow-y: auto; }
.modal-hd { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; }
.modal-hd h3 { font-family: "Cormorant Garamond", serif; font-size: 1.7rem; color: var(--black); }
.modal-hd button { background: none; border: none; font-size: 22px; cursor: pointer; color: var(--muted); }
.fg { margin-bottom: 1.1rem; }
.fg label { display: block; font-size: 12px; font-weight: 500; color: var(--black); margin-bottom: 5px; }
.fg input, .fg select, .fg textarea {
  width: 100%; padding: 10px 13px; border: 1px solid var(--border); border-radius: 8px;
  font-size: 14px; font-family: "DM Sans", sans-serif; color: var(--black);
  outline: none; transition: border-color .2s; background: #fff;
}
.fg input:focus, .fg select:focus, .fg textarea:focus { border-color: var(--red); }
.fg-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.modal-submit {
  width: 100%; background: var(--red); color: #fff; border: none;
  padding: 13px; border-radius: 8px; font-size: 15px; font-weight: 500;
  cursor: pointer; font-family: "DM Sans", sans-serif; transition: background .2s;
}
.modal-submit:hover { background: var(--red-dark); }
.modal-confirm { display: none; text-align: center; padding: .5rem 0; }
.confirm-icon { font-size: 2.5rem; margin-bottom: .75rem; }
.modal-confirm h3 { font-family: "Cormorant Garamond", serif; font-size: 1.5rem; color: var(--black); margin-bottom: .5rem; }
.modal-confirm p { color: var(--muted); font-size: 14px; }
.chat-bubble {
  position: fixed; bottom: 1.5rem; right: 1.5rem; z-index: 150;
  width: 52px; height: 52px; border-radius: 50%; background: var(--red);
  border: none; cursor: pointer; box-shadow: 0 4px 20px rgba(192,39,45,0.45);
  display: flex; align-items: center; justify-content: center;
  font-size: 20px; transition: transform .2s;
}
.chat-bubble:hover { transform: scale(1.08); }
.chat-badge { position: absolute; top: -2px; right: -2px; width: 14px; height: 14px; background: #22C55E; border: 2px solid #0A0A0A; border-radius: 50%; }
.chat-window {
  position: fixed; bottom: 5rem; right: 1.5rem; z-index: 150;
  width: min(360px, calc(100vw - 2rem)); background: #fff;
  border-radius: 16px; box-shadow: 0 12px 48px rgba(0,0,0,0.2);
  display: none; flex-direction: column; border: 1px solid #EEE; max-height: 500px;
}
.chat-window.open { display: flex; }
.chat-header {
  background: var(--black); padding: .85rem 1rem; border-radius: 16px 16px 0 0;
  display: flex; align-items: center; justify-content: space-between;
  border-bottom: 2px solid var(--red);
}
.ch-left { display: flex; align-items: center; gap: 8px; }
.ch-logo { height: 26px; width: 26px; background: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.ch-logo-img { height: 100%; width: 100%; object-fit: cover; display: block; }
.ch-title { color: #fff; font-size: 13px; font-weight: 500; }
.ch-sub { color: rgba(255,255,255,0.35); font-size: 11px; }
.close-chat { background: none; border: none; color: rgba(255,255,255,0.45); font-size: 17px; cursor: pointer; }
.chat-messages { flex: 1; overflow-y: auto; padding: 1rem; display: flex; flex-direction: column; gap: .6rem; min-height: 160px; }
.msg { max-width: 83%; padding: 8px 12px; border-radius: 12px; font-size: 13px; line-height: 1.65; }
.msg.bot { background: #F4F2EF; color: var(--black); align-self: flex-start; border-bottom-left-radius: 3px; }
.msg.user { background: var(--red); color: #fff; align-self: flex-end; border-bottom-right-radius: 3px; }
.typing-dots { display: flex; gap: 4px; padding: 4px 0; }
.typing-dots span { width: 6px; height: 6px; background: var(--muted); border-radius: 50%; animation: dot 1.2s infinite; }
.typing-dots span:nth-child(2){animation-delay:.2s}
.typing-dots span:nth-child(3){animation-delay:.4s}
@keyframes dot { 0%,60%,100%{opacity:.3;transform:scale(.8)} 30%{opacity:1;transform:scale(1)} }
.chat-input-row { display: flex; gap: 7px; padding: .6rem .8rem; border-top: 1px solid #EEE; }
.chat-input-row input { flex: 1; border: 1px solid #DDD; border-radius: 100px; padding: 7px 12px; font-size: 13px; font-family: "DM Sans", sans-serif; outline: none; }
.chat-input-row input:focus { border-color: var(--red); }
.chat-send { background: var(--red); border: none; border-radius: 50%; width: 32px; height: 32px; cursor: pointer; display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: background .2s; }
.chat-send:hover { background: var(--red-dark); }
.chat-send svg { width: 13px; height: 13px; fill: #fff; }
footer { background: #0A0A0A; padding: clamp(3rem,5vw,4rem) clamp(1.5rem,8vw,5.5rem) 1.75rem; }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 3rem; margin-bottom: 2.5rem; }
.ft-logo-img { height: 40px; width: 40px; border-radius: 50%; object-fit: cover; display: block; margin-bottom: .75rem; }
.footer-brand p { color: rgba(255,255,255,0.35); font-size: 13px; line-height: 1.8; max-width: 260px; margin-top: .6rem; }
.footer-contact { margin-top: .85rem; }
.footer-contact a { display: block; color: rgba(255,255,255,0.35); font-size: 12px; text-decoration: none; margin-bottom: 3px; transition: color .2s; }
.footer-contact a:hover { color: var(--red-light); }
.footer-socials { display: flex; gap: .6rem; margin-top: .85rem; }
.fsoc { width: 30px; height: 30px; border-radius: 6px; border: 1px solid rgba(255,255,255,0.1); display: flex; align-items: center; justify-content: center; font-size: 12px; text-decoration: none; color: rgba(255,255,255,0.4); transition: all .2s; }
.fsoc:hover { border-color: var(--red); color: var(--red-light); }
.footer-col h4 { color: rgba(255,255,255,0.6); font-size: 11px; font-weight: 500; letter-spacing: .07em; text-transform: uppercase; margin-bottom: .85rem; }
.footer-col ul { list-style: none; display: flex; flex-direction: column; gap: .45rem; }
.footer-col ul a { color: rgba(255,255,255,0.35); font-size: 13px; text-decoration: none; transition: color .2s; }
.footer-col ul a:hover { color: var(--red-light); }
.footer-bottom { border-top: 1px solid rgba(255,255,255,0.06); padding-top: 1.5rem; display: flex; justify-content: space-between; font-size: 12px; color: rgba(255,255,255,0.22); flex-wrap: wrap; gap: .5rem; }
@media (max-width: 900px) {
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
}
@media (max-width: 768px) {
  .nav-links, .nav-donate { display: none; }
  .hamburger { display: block; }
  .filter-bar { top: 62px; }
}
@media (max-width: 560px) {
  .footer-grid { grid-template-columns: 1fr; }
  .fg-row { grid-template-columns: 1fr; }
}
.main-wrap{padding:clamp(2rem,5vw,3rem) clamp(1.5rem,8vw,5.5rem)}


/* ── 2.1) HOME PAGE — page-specific ── */
.nav-links a:hover{color:var(--red-light)}
.hero{
  min-height:92vh;display:flex;align-items:center;
  background:var(--black);
  padding:clamp(4rem,10vw,8rem) clamp(1.5rem,8vw,5.5rem);
  position:relative;overflow:hidden;
}
.hero-bg-text{
  position:absolute;right:-2%;top:50%;transform:translateY(-50%);
  font-family:"Cormorant Garamond",serif;font-size:clamp(200px,32vw,420px);
  font-weight:700;color:rgba(192,39,45,0.05);line-height:1;
  user-select:none;letter-spacing:-0.02em;
}
.hero-line{
  position:absolute;left:0;top:0;bottom:0;width:4px;
  background:linear-gradient(to bottom,transparent,var(--red) 20%,var(--red) 80%,transparent);
}
.hero-content{position:relative;z-index:2;max-width:660px}
.hero-badge{
  display:inline-flex;align-items:center;gap:9px;
  background:rgba(192,39,45,0.18);border:1px solid rgba(192,39,45,0.55);
  color:#fff;font-size:12.5px;letter-spacing:0.18em;text-transform:uppercase;
  padding:9px 20px;border-radius:100px;margin-bottom:2rem;font-weight:700;
}
.badge-dot{width:6px;height:6px;border-radius:50%;background:var(--red);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.hero h1{
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(3rem,7.5vw,6rem);
  font-weight:600;color:#fff;line-height:1.05;margin-bottom:1.5rem;
}
.hero h1 .accent{color:var(--red-light);display:block}
.hero-sub{font-size:clamp(1rem,2vw,1.15rem);color:rgba(255,255,255,0.55);max-width:500px;margin-bottom:2.5rem;font-weight:300;line-height:1.85}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}
.page-index .btn-ghost{
  background:transparent;color:rgba(255,255,255,0.75);padding:14px 28px;border-radius:8px;
  font-weight:400;font-size:15px;text-decoration:none;border:1px solid rgba(255,255,255,0.18);
  transition:all .2s;cursor:pointer;font-family:"DM Sans",sans-serif;display:inline-flex;align-items:center;gap:8px;
}
.page-index .btn-ghost:hover{border-color:var(--red);color:var(--red-light)}
.hero-stats{
  margin-top:3.5rem;padding-top:2.5rem;
  border-top:1px solid rgba(255,255,255,0.08);
  display:flex;gap:3rem;flex-wrap:wrap;
}
.stat-num{font-family:"Cormorant Garamond",serif;font-size:2.6rem;font-weight:700;color:#fff;line-height:1}
.stat-num span{color:var(--red-light)}
.stat-lbl{font-size:11px;color:rgba(255,255,255,0.38);text-transform:uppercase;letter-spacing:0.08em;margin-top:4px}
.ticker{
  background:var(--red);color:#fff;
  height:40px;display:flex;align-items:center;overflow:hidden;
  position:relative;
}
.ticker-label{
  background:var(--red-dark);padding:0 1.25rem;height:100%;
  display:flex;align-items:center;font-size:11px;font-weight:500;
  letter-spacing:0.1em;text-transform:uppercase;white-space:nowrap;flex-shrink:0;
}
.ticker-track{display:flex;animation:ticker 24s linear infinite;white-space:nowrap}
.ticker-item{padding:0 3rem;font-size:13px;opacity:.9}
@keyframes ticker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.about{
  background:#fff;padding:clamp(4rem,8vw,6rem) clamp(1.5rem,8vw,5.5rem);
  display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;
}
.about h2{
  font-family:"Cormorant Garamond",serif;font-size:clamp(2rem,4vw,3.2rem);
  font-weight:600;color:var(--black);line-height:1.2;margin-bottom:1.25rem;
}
.about p{color:var(--muted);line-height:1.85;margin-bottom:1rem;font-size:15px}
.about-visual{
  background:var(--black);border-radius:16px;padding:2rem;
  display:flex;flex-direction:column;gap:1rem;position:relative;overflow:hidden;
}
.about-visual::before{
  content:"RGa";position:absolute;right:-10px;bottom:-20px;
  font-family:"Cormorant Garamond",serif;font-size:120px;font-weight:700;
  color:rgba(192,39,45,0.07);line-height:1;user-select:none;
}
.pillars{display:grid;grid-template-columns:1fr 1fr;gap:0.85rem}
.pillar{
  background:rgba(255,255,255,0.04);border:1px solid rgba(192,39,45,0.18);
  border-radius:10px;padding:1.1rem;transition:border-color .2s;
}
.pillar:hover{border-color:rgba(192,39,45,0.5)}
.pillar-icon{font-size:20px;margin-bottom:0.5rem}
.pillar h4{font-family:"Cormorant Garamond",serif;color:var(--red-light);font-size:1.05rem;margin-bottom:3px}
.pillar p{color:rgba(255,255,255,0.45);font-size:12px;margin:0;line-height:1.5}
.nations-strip{
  background:rgba(192,39,45,0.1);border:1px solid rgba(192,39,45,0.2);
  border-radius:8px;padding:0.85rem 1rem;
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0.5rem;
}
.nations-strip span{color:var(--red-light);font-size:12px;font-weight:500}
.nation-flags{display:flex;gap:4px;flex-wrap:wrap}
.flag{font-size:18px}
.dev-preview{
  background:var(--cream);padding:clamp(4rem,8vw,6rem) clamp(1.5rem,8vw,5.5rem);
}
.dev-preview-inner{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:start}
.dev-left h2{font-family:"Cormorant Garamond",serif;font-size:clamp(2rem,4vw,3rem);font-weight:600;color:var(--black);line-height:1.2;margin-bottom:1rem}
.dev-left p{color:var(--muted);font-size:15px;line-height:1.8;margin-bottom:1.5rem}
.page-index .dev-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);
  overflow:hidden;box-shadow:0 4px 24px rgba(0,0,0,0.06);}
.page-index .dev-card-stripe{height:4px;background:var(--red)}
.page-index .dev-card-body{padding:1.5rem}
.dev-date-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:0.75rem}
.dev-date{font-size:11px;color:var(--red);font-weight:500;letter-spacing:0.08em;text-transform:uppercase}
.dev-badge{background:var(--red-bg);color:var(--red-dark);font-size:10px;padding:3px 9px;border-radius:100px;font-weight:500}
.dev-title{font-family:"Cormorant Garamond",serif;font-size:1.4rem;font-weight:600;color:var(--black);margin-bottom:0.75rem;line-height:1.25}
.dev-scripture{background:var(--red-bg);border-left:3px solid var(--red);padding:.75rem 1rem;border-radius:0 6px 6px 0;margin-bottom:1rem;font-family:"Cormorant Garamond",serif;font-style:italic;color:var(--red-dark);font-size:.95rem;line-height:1.65}
.dev-ref{font-size:11px;color:var(--muted);font-weight:500;margin-top:4px;font-style:normal}
.page-index .dev-excerpt{color:var(--muted);font-size:13.5px;line-height:1.8;margin-bottom:1.25rem}
.dev-footer{display:flex;align-items:center;justify-content:space-between;padding-top:1rem;border-top:1px solid var(--border);flex-wrap:wrap;gap:.5rem}
.audio-btn:hover{background:var(--red-dark)}
.audio-btn.playing{background:var(--red)}
.page-index .read-link{color:var(--red);font-size:13px;font-weight:500;text-decoration:none}
.page-index .read-link:hover{text-decoration:underline}
.services{background:var(--black);padding:clamp(4rem,8vw,6rem) clamp(1.5rem,8vw,5.5rem)}
.services-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:2.5rem;flex-wrap:wrap;gap:1rem}
.services-head h2{font-family:"Cormorant Garamond",serif;font-size:clamp(2rem,4vw,3rem);font-weight:600;color:#fff;line-height:1.2}
.services-head p{color:rgba(255,255,255,0.45);font-size:14px;max-width:340px;text-align:right}
.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.25rem}
.svc-card{
  background:rgba(255,255,255,0.03);border:1px solid rgba(192,39,45,0.15);
  border-radius:var(--radius);padding:1.5rem;
  transition:border-color .2s,background .2s;cursor:pointer;display:flex;flex-direction:column;
}
.svc-card:hover{border-color:rgba(192,39,45,0.5);background:rgba(192,39,45,0.05)}
.svc-icon{font-size:1.75rem;margin-bottom:1rem}
.svc-card h3{font-family:"Cormorant Garamond",serif;color:#fff;font-size:1.2rem;margin-bottom:.5rem}
.svc-card p{color:rgba(255,255,255,0.45);font-size:13px;line-height:1.7;flex:1;margin-bottom:1.25rem}
.svc-book{
  background:transparent;color:var(--red-light);border:1px solid rgba(192,39,45,0.35);
  padding:7px 16px;border-radius:6px;font-size:12px;cursor:pointer;
  font-family:"DM Sans",sans-serif;transition:all .2s;width:fit-content;
}
.svc-card:hover .svc-book{background:var(--red);color:#fff;border-color:var(--red)}
.community{
  background:#fff;padding:clamp(4rem,8vw,6rem) clamp(1.5rem,8vw,5.5rem);
  display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;
}
.community h2{font-family:"Cormorant Garamond",serif;font-size:clamp(2rem,4vw,3rem);font-weight:600;color:var(--black);line-height:1.2;margin-bottom:1rem}
.community p{color:var(--muted);font-size:15px;line-height:1.8;margin-bottom:1.75rem}
.social-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.soc-btn{
  display:flex;align-items:center;gap:10px;
  background:var(--cream);border:1px solid var(--border);border-radius:10px;
  padding:.85rem 1rem;text-decoration:none;color:var(--black);
  transition:all .2s;font-size:13px;font-weight:500;
}
.soc-btn:hover{border-color:var(--red);background:var(--red-bg);color:var(--red-dark)}
.soc-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}
.soc-fb{background:#1877F2;color:#fff}
.soc-ig{background:linear-gradient(135deg,#E1306C,#833AB4);color:#fff}
.soc-wa{background:#25D366;color:#fff}
.soc-tg{background:#229ED9;color:#fff}
.soc-yt{background:#FF0000;color:#fff}
.soc-info{line-height:1.2}
.soc-name{display:block;font-size:13px;font-weight:500}
.soc-sub{display:block;font-size:11px;color:var(--muted);margin-top:1px}
.community-right{
  background:var(--black);border-radius:16px;padding:2rem;
  display:flex;flex-direction:column;gap:1rem;
}
.join-card{
  background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);
  border-radius:10px;padding:1rem 1.25rem;display:flex;align-items:center;
  justify-content:space-between;gap:1rem;
}
.join-card-left h4{color:#fff;font-size:14px;font-weight:500;margin-bottom:2px}
.join-card-left p{color:rgba(255,255,255,0.4);font-size:12px}
.join-btn{
  background:var(--red);color:#fff;border:none;padding:7px 16px;
  border-radius:6px;font-size:12px;cursor:pointer;font-family:"DM Sans",sans-serif;
  white-space:nowrap;transition:background .2s;
}
.join-btn:hover{background:var(--red-dark)}
.testimonies{background:var(--cream);padding:clamp(4rem,8vw,6rem) clamp(1.5rem,8vw,5.5rem);text-align:center}
.testimonies h2{font-family:"Cormorant Garamond",serif;font-size:clamp(2rem,4vw,3rem);font-weight:600;color:var(--black);margin-bottom:.75rem}
.testimonies>p{color:var(--muted);font-size:15px;max-width:480px;margin:0 auto 2.5rem}
.page-index .testi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem;text-align:left}
.page-index .testi-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);
  padding:1.5rem;display:flex;flex-direction:column;gap:1rem;}
.testi-card blockquote{
  font-family:"Cormorant Garamond",serif;font-style:italic;
  font-size:1.05rem;color:var(--black);line-height:1.7;flex:1;
}
.testi-card blockquote::before{content:"\"";font-size:3rem;color:var(--red);line-height:.5;display:block;margin-bottom:.5rem;font-style:normal}
.testi-author{display:flex;align-items:center;gap:10px}
.testi-avatar{
  width:36px;height:36px;border-radius:50%;background:var(--red);
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:13px;font-weight:600;flex-shrink:0;
}
.testi-name{font-size:13px;font-weight:500;color:var(--black)}
.testi-loc{font-size:11px;color:var(--muted)}
.cta-banner{
  background:var(--red);padding:clamp(3rem,6vw,5rem) clamp(1.5rem,8vw,5.5rem);
  text-align:center;position:relative;overflow:hidden;
}
.cta-banner::before{
  content:"RGa";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  font-family:"Cormorant Garamond",serif;font-size:clamp(120px,20vw,260px);
  font-weight:700;color:rgba(255,255,255,0.06);line-height:1;user-select:none;pointer-events:none;
}
.cta-banner h2{font-family:"Cormorant Garamond",serif;font-size:clamp(2rem,5vw,3.5rem);color:#fff;font-weight:600;margin-bottom:1rem;position:relative}
.cta-banner p{color:rgba(255,255,255,0.8);font-size:15px;max-width:460px;margin:0 auto 2rem;position:relative}
.cta-buttons{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;position:relative}
@media(max-width:900px){
  .about,.community{grid-template-columns:1fr;gap:2.5rem}
  .dev-preview-inner{grid-template-columns:1fr;gap:2.5rem}
  .footer-grid{grid-template-columns:1fr 1fr;gap:2rem}
}
@media(max-width:768px){
  .nav-links,.nav-donate{display:none}
  .hamburger{display:block}
  .hero-stats{gap:2rem}
  .services-head p{text-align:left}
}
@media(max-width:500px){
  .footer-grid{grid-template-columns:1fr}
  .social-grid{grid-template-columns:1fr}
  .page-index .testi-grid{grid-template-columns:1fr}
  .cta-buttons{flex-direction:column;align-items:center}
}

/* ── 2.2) ABOUT PAGE — page-specific ── */
.section-eyebrow.light::before{background:rgba(232,71,77,0.7)}
.page-about section{padding:clamp(4rem,8vw,6rem) clamp(1.5rem,8vw,5.5rem)}
.story{background:#fff;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.story-text h2{font-family:"Cormorant Garamond",serif;font-size:clamp(2rem,4vw,3rem);font-weight:600;color:var(--black);line-height:1.2;margin-bottom:1.25rem}
.story-text p{color:var(--muted);line-height:1.9;margin-bottom:1rem;font-size:15px}
.story-visual{position:relative}
.story-quote-card{
  background:var(--black);border-radius:16px;padding:2.5rem;position:relative;overflow:hidden;
}
.story-quote-card::before{content:"\"";position:absolute;right:-10px;top:-20px;font-family:"Cormorant Garamond",serif;font-size:180px;color:rgba(192,39,45,0.08);line-height:1;user-select:none}
.story-quote{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:clamp(1.2rem,2.5vw,1.6rem);color:#fff;line-height:1.6;position:relative;margin-bottom:1.5rem}
.story-quote-attr{color:var(--red-light);font-size:13px;font-weight:500}
.story-founded{
  margin-top:1.25rem;background:var(--red-bg);border:1px solid rgba(192,39,45,0.2);
  border-radius:10px;padding:1rem 1.25rem;display:flex;align-items:center;gap:1rem;
}
.founded-year{font-family:"Cormorant Garamond",serif;font-size:3rem;font-weight:700;color:var(--red);line-height:1}
.founded-text{font-size:13px;color:var(--muted);line-height:1.5}
.founded-text strong{display:block;color:var(--black);font-size:14px;margin-bottom:2px}
.vision-mission{background:var(--cream);display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.vm-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:2.5rem;position:relative;overflow:hidden}
.vm-card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px}
.vm-card.vision::before{background:var(--red)}
.vm-card.mission::before{background:var(--black)}
.vm-icon{font-size:2.5rem;margin-bottom:1.25rem}
.vm-card h3{font-family:"Cormorant Garamond",serif;font-size:1.8rem;font-weight:600;color:var(--black);margin-bottom:1rem}
.vm-card p{color:var(--muted);font-size:15px;line-height:1.85}
.vm-card ul{margin-top:1rem;display:flex;flex-direction:column;gap:.6rem;list-style:none}
.vm-card ul li{display:flex;align-items:flex-start;gap:.65rem;font-size:14px;color:var(--muted);line-height:1.6}
.vm-card ul li::before{content:"✦";color:var(--red);font-size:10px;margin-top:4px;flex-shrink:0}
.leadership{background:#fff}
.leadership h2{font-family:"Cormorant Garamond",serif;font-size:clamp(2rem,4vw,3rem);font-weight:600;color:var(--black);margin-bottom:.5rem}
.leadership>p{color:var(--muted);font-size:15px;margin-bottom:2.5rem;max-width:520px}
.leaders-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.5rem}
.leader-card{
  border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;
  transition:box-shadow .2s,transform .2s;background:#fff;
}
.leader-card:hover{box-shadow:0 8px 32px rgba(0,0,0,0.1);transform:translateY(-3px)}
.leader-avatar{
  height:180px;background:var(--black);display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;
}
.leader-initials{
  font-family:"Cormorant Garamond",serif;font-size:4rem;font-weight:700;
  color:rgba(255,255,255,0.12);user-select:none;
}
.leader-badge{
  position:absolute;bottom:0;left:0;right:0;
  background:linear-gradient(to top,rgba(192,39,45,0.9),transparent);
  padding:1rem .75rem .5rem;
}
.leader-card-body{padding:1.25rem}
.leader-name{font-family:"Cormorant Garamond",serif;font-size:1.2rem;font-weight:600;color:var(--black);margin-bottom:2px}
.leader-title{font-size:12px;color:var(--red);font-weight:500;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.6rem}
.leader-bio{font-size:13px;color:var(--muted);line-height:1.7}
.arms{background:var(--black);padding:clamp(4rem,8vw,6rem) clamp(1.5rem,8vw,5.5rem)}
.arms-head{margin-bottom:2.5rem}
.arms-head h2{font-family:"Cormorant Garamond",serif;font-size:clamp(2rem,4vw,3rem);font-weight:600;color:#fff;margin-bottom:.5rem}
.arms-head p{color:rgba(255,255,255,0.45);font-size:15px;max-width:500px}
.arms-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem}
.arm-card{
  background:rgba(255,255,255,0.03);border:1px solid rgba(192,39,45,0.15);
  border-radius:var(--radius);padding:1.75rem;transition:all .2s;
}
.arm-card:hover{background:rgba(192,39,45,0.06);border-color:rgba(192,39,45,0.4)}
.arm-icon{font-size:2rem;margin-bottom:1rem}
.arm-card h3{font-family:"Cormorant Garamond",serif;color:#fff;font-size:1.2rem;margin-bottom:.5rem}
.arm-card p{color:rgba(255,255,255,0.45);font-size:13px;line-height:1.75}
.arm-tag{display:inline-block;background:rgba(192,39,45,0.15);color:var(--red-light);font-size:10px;padding:3px 9px;border-radius:100px;margin-top:.85rem;letter-spacing:.05em}
.chapters{background:var(--cream)}
.chapters h2{font-family:"Cormorant Garamond",serif;font-size:clamp(2rem,4vw,3rem);font-weight:600;color:var(--black);margin-bottom:.5rem}
.chapters>p{color:var(--muted);font-size:15px;margin-bottom:2.5rem;max-width:520px}
.page-about .chapters-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}
.page-about .chapter-card{background:#fff;border:1px solid var(--border);border-radius:10px;
  padding:1.1rem 1.25rem;display:flex;align-items:center;gap:.85rem;
  transition:all .2s;}
.page-about .chapter-card:hover{border-color:var(--red);background:var(--red-bg)}
.page-about .ch-flag{font-size:2rem;flex-shrink:0}
.ch-info
.page-about .ch-country{font-size:14px;font-weight:500;color:var(--black)}
.ch-city{font-size:12px;color:var(--muted)}
.aims{background:#fff;display:grid;grid-template-columns:1fr 1.4fr;gap:4rem;align-items:start}
.aims-left h2{font-family:"Cormorant Garamond",serif;font-size:clamp(2rem,4vw,3rem);font-weight:600;color:var(--black);line-height:1.2;margin-bottom:1rem}
.aims-left p{color:var(--muted);font-size:15px;line-height:1.85;margin-bottom:1.5rem}
.aims-list{display:flex;flex-direction:column;gap:.85rem}
.aim-item{
  display:flex;align-items:flex-start;gap:1rem;
  background:var(--cream);border:1px solid var(--border);border-radius:10px;padding:1rem 1.25rem;
  transition:border-color .2s;
}
.aim-item:hover{border-color:var(--red)}
.aim-num{
  width:32px;height:32px;border-radius:50%;background:var(--red);
  display:flex;align-items:center;justify-content:center;
  font-size:13px;font-weight:600;color:#fff;flex-shrink:0;
}
.aim-text h4{font-size:14px;font-weight:500;color:var(--black);margin-bottom:2px}
.aim-text p{font-size:13px;color:var(--muted);line-height:1.6}
.about-cta{
  background:var(--red);padding:clamp(3rem,6vw,4.5rem) clamp(1.5rem,8vw,5.5rem);
  text-align:center;position:relative;overflow:hidden;
}
.about-cta::before{content:"RGa";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:"Cormorant Garamond",serif;font-size:clamp(120px,20vw,260px);font-weight:700;color:rgba(255,255,255,0.06);line-height:1;user-select:none}
.about-cta h2{font-family:"Cormorant Garamond",serif;font-size:clamp(2rem,4vw,3rem);color:#fff;font-weight:600;margin-bottom:.75rem;position:relative}
.about-cta p{color:rgba(255,255,255,0.78);font-size:15px;max-width:440px;margin:0 auto 2rem;position:relative}
@media(max-width:900px){
  .story,.aims{grid-template-columns:1fr;gap:2.5rem}
  .vision-mission{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr;gap:2rem}
}
@media(max-width:768px){
  .nav-links,.nav-donate{display:none}
  .hamburger{display:block}
}
@media(max-width:500px){
  .footer-grid{grid-template-columns:1fr}
  .cta-buttons{flex-direction:column;align-items:center}
  .page-about .chapters-grid{grid-template-columns:1fr 1fr}
}

/* ── 2.3) CONTACT PAGE — page-specific ── */
.hero-quick-links{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:2rem}
.hql{display:inline-flex;align-items:center;gap:7px;padding:9px 18px;border-radius:100px;font-size:13px;font-weight:500;text-decoration:none;transition:all .2s}
.hql-wa{background:#25D366;color:#fff}
.hql-wa:hover{background:#1EA853}
.hql-tel{background:rgba(255,255,255,0.1);color:#fff;border:1px solid rgba(255,255,255,0.15)}
.hql-tel:hover{background:rgba(255,255,255,0.18)}
.hql-email{background:var(--red);color:#fff}
.hql-email:hover{background:var(--red-dark)}
.contact-main{padding:clamp(3rem,7vw,5rem) clamp(1.5rem,8vw,5.5rem);display:grid;grid-template-columns:1fr 1.1fr;gap:4rem;align-items:start}
.contact-info h2{font-family:"Cormorant Garamond",serif;font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:600;color:var(--black);line-height:1.2;margin-bottom:1rem}
.contact-info p{color:var(--muted);font-size:15px;line-height:1.85;margin-bottom:2rem}
.contact-blocks{display:flex;flex-direction:column;gap:1rem}
.contact-block{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1.5rem;display:flex;align-items:flex-start;gap:1rem;transition:border-color .2s}
.contact-block:hover{border-color:rgba(192,39,45,0.3)}
.cb-icon{width:42px;height:42px;border-radius:10px;background:var(--red-bg);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.cb-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:500;margin-bottom:.3rem}
.cb-value{font-size:14px;font-weight:500;color:var(--black);line-height:1.5}
.cb-value a{color:var(--black);text-decoration:none;transition:color .2s}
.cb-value a:hover{color:var(--red)}
.cb-sub{font-size:12px;color:var(--muted);margin-top:2px}
.social-row{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.5rem}
.soc-pill{display:inline-flex;align-items:center;gap:7px;padding:8px 16px;border-radius:100px;font-size:13px;font-weight:500;text-decoration:none;transition:all .18s;border:1px solid var(--border);color:var(--black);background:#fff}
.soc-pill:hover{transform:translateY(-1px);box-shadow:0 3px 12px rgba(0,0,0,0.1)}
.soc-pill.fb{background:#1877F2;color:#fff;border-color:#1877F2}
.soc-pill.ig{background:linear-gradient(135deg,#E1306C,#833AB4);color:#fff;border:none}
.soc-pill.wa{background:#25D366;color:#fff;border-color:#25D366}
.soc-pill.tg{background:#229ED9;color:#fff;border-color:#229ED9}
.contact-form-wrap{background:#fff;border:1px solid var(--border);border-radius:16px;padding:2rem;box-shadow:0 4px 24px rgba(0,0,0,0.06)}
.contact-form-wrap h3{font-family:"Cormorant Garamond",serif;font-size:1.6rem;font-weight:600;color:var(--black);margin-bottom:.4rem}
.contact-form-wrap>p{color:var(--muted);font-size:13.5px;margin-bottom:1.5rem}
.page-contact .fg input,.page-contact .fg select,.page-contact .fg textarea{width:100%;padding:11px 13px;border:1px solid var(--border);border-radius:8px;font-size:14px;font-family:"DM Sans",sans-serif;color:var(--black);background:#fff;outline:none;transition:border-color .2s}
.form-submit{width:100%;background:var(--red);color:#fff;border:none;padding:13px;border-radius:8px;font-size:15px;font-weight:500;cursor:pointer;font-family:"DM Sans",sans-serif;transition:background .2s;margin-top:.5rem}
.form-submit:hover{background:var(--red-dark)}
.form-confirm{display:none;text-align:center;padding:1rem 0}
.form-confirm .icon{font-size:2.5rem;margin-bottom:.75rem}
.form-confirm h3{font-family:"Cormorant Garamond",serif;font-size:1.5rem;color:var(--black);margin-bottom:.5rem}
.form-confirm p{color:var(--muted);font-size:14px;line-height:1.7}
.form-confirm .back-btn{margin-top:1.25rem;background:var(--black);color:#fff;border:none;padding:11px 24px;border-radius:8px;cursor:pointer;font-family:"DM Sans",sans-serif;font-size:14px}
.chapters-section{background:var(--black);padding:clamp(3rem,6vw,5rem) clamp(1.5rem,8vw,5.5rem)}
.chapters-section h2{font-family:"Cormorant Garamond",serif;font-size:clamp(2rem,4vw,3rem);font-weight:600;color:#fff;margin-bottom:.5rem}
.chapters-section>p{color:rgba(255,255,255,0.45);font-size:15px;max-width:520px;margin-bottom:2.5rem}
.page-contact .chapters-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}
.page-contact .chapter-card{background:rgba(255,255,255,0.04);border:1px solid rgba(192,39,45,0.15);border-radius:10px;padding:1.25rem;display:flex;align-items:flex-start;gap:.85rem;transition:all .2s}
.page-contact .chapter-card:hover{background:rgba(192,39,45,0.07);border-color:rgba(192,39,45,0.4)}
.page-contact .ch-flag{font-size:1.75rem;flex-shrink:0;margin-top:2px}
.page-contact .ch-country{font-size:14px;font-weight:500;color:#fff;margin-bottom:.25rem}
.ch-cities{font-size:12px;color:rgba(255,255,255,0.45);line-height:1.6;margin-bottom:.5rem}
.ch-contact-link{font-size:12px;color:var(--red-light);text-decoration:none;transition:color .2s}
.ch-contact-link:hover{color:#fff}
.map-section{background:#fff;padding:clamp(3rem,6vw,4.5rem) clamp(1.5rem,8vw,5.5rem)}
.map-section h2{font-family:"Cormorant Garamond",serif;font-size:clamp(1.8rem,3.5vw,2.5rem);font-weight:600;color:var(--black);margin-bottom:.5rem}
.map-section>p{color:var(--muted);font-size:15px;margin-bottom:1.75rem}
.map-wrap{border-radius:16px;overflow:hidden;border:1px solid var(--border);height:380px;background:var(--cream);display:flex;align-items:center;justify-content:center;position:relative}
.map-placeholder{text-align:center;padding:2rem}
.map-placeholder .map-icon{font-size:3rem;margin-bottom:1rem}
.map-placeholder h4{font-family:"Cormorant Garamond",serif;font-size:1.4rem;color:var(--black);margin-bottom:.5rem}
.map-placeholder p{font-size:14px;color:var(--muted);margin-bottom:1.25rem}
.map-link{display:inline-flex;align-items:center;gap:7px;background:var(--red);color:#fff;padding:10px 22px;border-radius:8px;text-decoration:none;font-size:14px;font-weight:500;transition:background .2s}
.map-link:hover{background:var(--red-dark)}
.address-strip{margin-top:1.25rem;display:flex;gap:1rem;flex-wrap:wrap}
.addr-item{background:var(--cream);border:1px solid var(--border);border-radius:8px;padding:.75rem 1rem;font-size:13px;color:var(--muted);display:flex;align-items:center;gap:.5rem}
.addr-item strong{color:var(--black)}
.faq-section{background:var(--cream);padding:clamp(3rem,6vw,5rem) clamp(1.5rem,8vw,5.5rem)}
.faq-section h2{font-family:"Cormorant Garamond",serif;font-size:clamp(2rem,4vw,3rem);font-weight:600;color:var(--black);margin-bottom:.5rem}
.faq-section>p{color:var(--muted);font-size:15px;max-width:480px;margin-bottom:2rem}
.faq-list{display:flex;flex-direction:column;gap:.75rem;max-width:720px}
.faq-item{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:border-color .2s}
.faq-item.open{border-color:rgba(192,39,45,0.3)}
.faq-q{display:flex;justify-content:space-between;align-items:center;padding:1.1rem 1.25rem;cursor:pointer;font-size:15px;font-weight:500;color:var(--black);gap:1rem;user-select:none}
.faq-q:hover{color:var(--red)}
.faq-arrow{font-size:16px;color:var(--red);flex-shrink:0;transition:transform .25s}
.faq-item.open .faq-arrow{transform:rotate(180deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s}
.faq-item.open .faq-a{max-height:200px;padding:0 1.25rem 1.1rem}
.faq-a p{font-size:14px;color:var(--muted);line-height:1.8}
.faq-a a{color:var(--red);text-decoration:none}
.footer-contact-links{margin-top:.85rem}
.footer-contact-links a{display:block;color:rgba(255,255,255,0.35);font-size:12px;text-decoration:none;margin-bottom:3px;transition:color .2s}
.footer-contact-links a:hover{color:var(--red-light)}
@media(max-width:900px){.contact-main{grid-template-columns:1fr;gap:2.5rem}.footer-grid{grid-template-columns:1fr 1fr;gap:2rem}}
@media(max-width:560px){.footer-grid{grid-template-columns:1fr}.fg-row{grid-template-columns:1fr}.hero-quick-links{flex-direction:column}}

/* ── 2.4) DEVOTIONALS PAGE — page-specific ── */
.featured-dev{
  background:var(--black);border-radius:16px;overflow:hidden;
  display:grid;grid-template-columns:1fr 1fr;
  margin-bottom:3rem;box-shadow:0 4px 32px rgba(0,0,0,0.15);
}
.page-devotionals .feat-left{background:var(--red);padding:2.5rem;
  display:flex;flex-direction:column;justify-content:space-between;
  position:relative;overflow:hidden;}
.feat-left::before{
  content:"✝";position:absolute;right:-15px;bottom:-20px;
  font-size:180px;color:rgba(0,0,0,0.12);line-height:1;user-select:none;
}
.feat-day-badge{
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(0,0,0,0.2);color:rgba(255,255,255,0.9);
  font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;
  padding:5px 12px;border-radius:100px;width:fit-content;
}
.feat-left h2{
  font-family:"Cormorant Garamond",serif;font-size:clamp(1.8rem,3vw,2.6rem);
  font-weight:600;color:#fff;line-height:1.2;margin:1.5rem 0 1rem;position:relative;
}
.feat-verse-preview{
  font-family:"Cormorant Garamond",serif;font-style:italic;
  color:rgba(255,255,255,0.7);font-size:15px;line-height:1.65;position:relative;
}
.page-devotionals .feat-right{padding:2.5rem;display:flex;flex-direction:column;gap:1.25rem}
.page-devotionals .feat-tags{display:flex;gap:.5rem;flex-wrap:wrap}
.tag{background:rgba(192,39,45,0.12);color:var(--red-dark);font-size:11px;font-weight:500;padding:3px 10px;border-radius:100px;letter-spacing:.04em}
.scripture-block{
  background:var(--red-bg);border-left:3px solid var(--red);
  padding:.85rem 1.1rem;border-radius:0 8px 8px 0;
}
.scripture-text{font-family:"Cormorant Garamond",serif;font-style:italic;color:var(--red-dark);font-size:1.05rem;line-height:1.7}
.scripture-ref{font-size:11px;color:var(--muted);margin-top:5px;font-weight:500;font-style:normal}
.feat-excerpt{color:var(--muted);font-size:14px;line-height:1.85;flex:1}
.feat-actions{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap;padding-top:1rem;border-top:1px solid var(--border)}
.page-devotionals .read-link{color:var(--red);font-size:14px;font-weight:500;text-decoration:none;display:inline-flex;align-items:center;gap:4px;transition:gap .15s}
.page-devotionals .read-link:hover{gap:8px}
.section-hd{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:1.5rem;flex-wrap:wrap;gap:.5rem}
.section-hd h3{font-family:"Cormorant Garamond",serif;font-size:1.7rem;font-weight:600;color:var(--black)}
.see-all{color:var(--red);font-size:13px;font-weight:500;text-decoration:none}
.see-all:hover{text-decoration:underline}
.dev-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1.25rem;margin-bottom:2.5rem}
.page-devotionals .dev-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}
.dev-card:hover{box-shadow:0 8px 32px rgba(0,0,0,0.1);transform:translateY(-2px)}
.page-devotionals .dev-card-stripe{height:3px;background:var(--red)}
.page-devotionals .dev-card-body{padding:1.25rem;flex:1;display:flex;flex-direction:column}
.dev-card-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:.65rem}
.dev-day{font-size:11px;color:var(--red);font-weight:500;letter-spacing:.08em;text-transform:uppercase}
.dev-topic{background:var(--red-bg);color:var(--red-dark);font-size:10px;padding:2px 9px;border-radius:100px;font-weight:500}
.dev-card h4{font-family:"Cormorant Garamond",serif;font-size:1.2rem;font-weight:600;color:var(--black);line-height:1.3;margin-bottom:.6rem}
.dev-mini-verse{font-family:"Cormorant Garamond",serif;font-style:italic;color:var(--muted);font-size:13px;line-height:1.6;margin-bottom:.75rem}
.page-devotionals .dev-excerpt{color:var(--muted);font-size:13px;line-height:1.75;flex:1;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.dev-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:.85rem;border-top:1px solid var(--border)}
.mini-audio-btn{
  display:inline-flex;align-items:center;gap:6px;
  background:none;border:1px solid var(--border);border-radius:100px;
  padding:5px 12px;font-size:12px;cursor:pointer;font-family:"DM Sans",sans-serif;
  color:var(--black);transition:all .18s;
}
.mini-audio-btn:hover,.mini-audio-btn.playing{border-color:var(--red);color:var(--red);background:var(--red-bg)}
.mini-play{width:18px;height:18px;border-radius:50%;background:var(--red);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.mini-play svg{width:7px;height:7px;fill:#fff;margin-left:1px}
.mini-read{color:var(--red);font-size:12px;font-weight:500;text-decoration:none}
.mini-read:hover{text-decoration:underline}
.pagination{display:flex;justify-content:center;align-items:center;gap:.5rem;padding:1.5rem 0 .5rem}
.pg-btn{width:36px;height:36px;border-radius:8px;border:1px solid var(--border);background:#fff;cursor:pointer;font-size:14px;font-family:"DM Sans",sans-serif;color:var(--black);transition:all .18s;display:flex;align-items:center;justify-content:center}
.pg-btn:hover,.pg-btn.active{background:var(--red);color:#fff;border-color:var(--red)}
.subscribe-strip{
  background:var(--black);border-radius:16px;
  padding:2.5rem;margin:0 clamp(1.5rem,8vw,5.5rem) 3.5rem;
  display:flex;align-items:center;justify-content:space-between;
  gap:2rem;flex-wrap:wrap;position:relative;overflow:hidden;
}
.subscribe-strip::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--red)}
.sub-text h3{font-family:"Cormorant Garamond",serif;color:#fff;font-size:1.6rem;font-weight:600;margin-bottom:.35rem}
.sub-text p{color:rgba(255,255,255,0.45);font-size:14px}
.sub-form{display:flex;gap:.5rem;flex-wrap:wrap}
.sub-form input{
  border:1px solid rgba(255,255,255,0.15);background:rgba(255,255,255,0.07);
  color:#fff;padding:10px 16px;border-radius:8px;font-size:14px;
  font-family:"DM Sans",sans-serif;outline:none;width:220px;transition:border-color .2s;
}
.sub-form input::placeholder{color:rgba(255,255,255,0.28)}
.sub-form input:focus{border-color:var(--red)}
.sub-btn{background:var(--red);color:#fff;border:none;padding:10px 22px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;font-family:"DM Sans",sans-serif;transition:background .2s;white-space:nowrap}
.sub-btn:hover{background:var(--red-dark)}
.schedule-strip{background:var(--red);padding:clamp(2.5rem,5vw,4rem) clamp(1.5rem,8vw,5.5rem)}
.schedule-strip h2{font-family:"Cormorant Garamond",serif;font-size:clamp(1.8rem,3.5vw,2.5rem);font-weight:600;color:#fff;margin-bottom:.5rem}
.schedule-strip>p{color:rgba(255,255,255,0.75);font-size:15px;margin-bottom:2rem;max-width:480px}
.schedule-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}
.sched-card{background:rgba(0,0,0,0.2);border:1px solid rgba(255,255,255,0.15);border-radius:10px;padding:1.25rem;transition:all .2s}
.sched-card:hover{background:rgba(0,0,0,0.35)}
.sched-day{font-size:11px;color:rgba(255,255,255,0.65);font-weight:500;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.4rem}
.sched-time{font-family:"Cormorant Garamond",serif;font-size:1.6rem;font-weight:600;color:#fff;margin-bottom:.3rem}
.sched-name{font-size:14px;font-weight:500;color:rgba(255,255,255,0.9);margin-bottom:.4rem}
.sched-card p{font-size:12px;color:rgba(255,255,255,0.55);line-height:1.6}
.page-devotionals .join-tag{display:inline-block;background:rgba(255,255,255,0.15);color:#fff;font-size:10px;padding:3px 9px;border-radius:100px;margin-top:.75rem;cursor:pointer;border:1px solid rgba(255,255,255,0.2);transition:all .2s;text-decoration:none}
.page-devotionals .join-tag:hover{background:rgba(255,255,255,0.3)}
@media(max-width:900px){
  .featured-dev{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr;gap:2rem}
}
@media(max-width:768px){
  .nav-links,.nav-donate{display:none}
  .hamburger{display:block}
  .filter-bar{top:62px}
}
@media(max-width:560px){
  .footer-grid{grid-template-columns:1fr}
  .subscribe-strip{flex-direction:column;text-align:center}
  .sub-form{justify-content:center}
  .sub-form input{width:100%}
}

/* ── 2.5) DONATE PAGE — page-specific ── */
.scripture-banner{margin-top:2rem;background:rgba(192,39,45,0.12);border:1px solid rgba(192,39,45,0.25);border-radius:10px;padding:1rem 1.25rem}
.scripture-banner p{font-family:"Cormorant Garamond",serif;font-style:italic;color:rgba(255,255,255,0.75);font-size:1.05rem;line-height:1.7}
.scripture-banner cite{display:block;font-size:12px;color:var(--red-light);font-style:normal;font-weight:500;margin-top:.4rem;letter-spacing:.04em}
.impact-strip{background:#fff;padding:clamp(3rem,6vw,4.5rem) clamp(1.5rem,8vw,5.5rem);display:flex;justify-content:center;gap:clamp(1.5rem,4vw,5rem);flex-wrap:wrap;text-align:center;border-bottom:1px solid var(--border)}
.impact-item
.impact-num{font-family:"Cormorant Garamond",serif;font-size:3rem;font-weight:700;color:var(--red);line-height:1}
.impact-label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:.25rem}
.give-section{padding:clamp(3rem,7vw,5rem) clamp(1.5rem,8vw,5.5rem);display:grid;grid-template-columns:1.1fr 1fr;gap:4rem;align-items:start}
.give-left h2{font-family:"Cormorant Garamond",serif;font-size:clamp(2rem,4vw,3rem);font-weight:600;color:var(--black);line-height:1.2;margin-bottom:1rem}
.give-left p{color:var(--muted);font-size:15px;line-height:1.85;margin-bottom:1rem}
.donate-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:2rem;box-shadow:0 4px 24px rgba(0,0,0,0.06)}
.donate-card h3{font-family:"Cormorant Garamond",serif;font-size:1.5rem;font-weight:600;color:var(--black);margin-bottom:1.5rem}
.currency-tabs{display:flex;gap:.4rem;margin-bottom:1.25rem;background:var(--cream);border-radius:8px;padding:4px}
.ctab{flex:1;padding:7px;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;font-family:"DM Sans",sans-serif;background:transparent;color:var(--muted);transition:all .18s}
.ctab.active{background:#fff;color:var(--black);box-shadow:0 1px 4px rgba(0,0,0,0.1)}
.amount-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-bottom:1rem}
.amt-btn{padding:11px 8px;border:2px solid var(--border);border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;background:#fff;color:var(--black);font-family:"DM Sans",sans-serif;transition:all .18s;text-align:center}
.amt-btn:hover{border-color:var(--red);color:var(--red)}
.amt-btn.active{border-color:var(--red);background:var(--red-bg);color:var(--red)}
.custom-amount{width:100%;padding:11px 14px;border:2px solid var(--border);border-radius:8px;font-size:15px;font-family:"DM Sans",sans-serif;color:var(--black);outline:none;transition:border-color .2s;margin-bottom:1rem;background:#fff}
.custom-amount:focus{border-color:var(--red)}
.freq-tabs{display:flex;gap:.4rem;margin-bottom:1.25rem}
.freq-btn{flex:1;padding:9px;border:1px solid var(--border);border-radius:8px;font-size:13px;cursor:pointer;background:#fff;color:var(--muted);font-family:"DM Sans",sans-serif;transition:all .18s}
.freq-btn.active{background:var(--black);color:#fff;border-color:var(--black)}
.give-purpose{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px;font-family:"DM Sans",sans-serif;color:var(--black);outline:none;margin-bottom:1.25rem;background:#fff;transition:border-color .2s}
.give-purpose:focus{border-color:var(--red)}
.donate-btn{width:100%;background:var(--red);color:#fff;border:none;padding:15px;border-radius:10px;font-size:16px;font-weight:500;cursor:pointer;font-family:"DM Sans",sans-serif;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}
.donate-btn:hover{background:var(--red-dark);transform:translateY(-1px)}
.secure-note{text-align:center;font-size:12px;color:var(--muted);margin-top:.75rem;display:flex;align-items:center;justify-content:center;gap:5px}
.donate-confirm{display:none;text-align:center;padding:1.5rem 0}
.donate-confirm .icon{font-size:3rem;margin-bottom:1rem}
.donate-confirm h3{font-family:"Cormorant Garamond",serif;font-size:1.6rem;color:var(--black);margin-bottom:.5rem}
.donate-confirm p{color:var(--muted);font-size:14px;line-height:1.7}
.funds-section{background:var(--black);padding:clamp(3rem,6vw,5rem) clamp(1.5rem,8vw,5.5rem)}
.funds-section h2{font-family:"Cormorant Garamond",serif;font-size:clamp(2rem,4vw,3rem);font-weight:600;color:#fff;margin-bottom:.5rem}
.funds-section>p{color:rgba(255,255,255,0.45);font-size:15px;max-width:520px;margin-bottom:2.5rem}
.funds-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.25rem}
.fund-card{background:rgba(255,255,255,0.04);border:1px solid rgba(192,39,45,0.15);border-radius:var(--radius);padding:1.5rem;transition:all .2s}
.fund-card:hover{background:rgba(192,39,45,0.06);border-color:rgba(192,39,45,0.4)}
.fund-icon{font-size:1.75rem;margin-bottom:.85rem}
.fund-card h4{font-family:"Cormorant Garamond",serif;color:#fff;font-size:1.1rem;margin-bottom:.4rem}
.fund-card p{color:rgba(255,255,255,0.45);font-size:13px;line-height:1.7}
.fund-pct{display:inline-block;background:rgba(192,39,45,0.15);color:var(--red-light);font-size:11px;padding:3px 9px;border-radius:100px;margin-top:.75rem;font-weight:500}
.bank-section{background:#fff;padding:clamp(3rem,6vw,5rem) clamp(1.5rem,8vw,5.5rem)}
.bank-section h2{font-family:"Cormorant Garamond",serif;font-size:clamp(2rem,4vw,3rem);font-weight:600;color:var(--black);margin-bottom:.5rem}
.bank-section>p{color:var(--muted);font-size:15px;max-width:520px;margin-bottom:2.5rem}
.bank-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}
.bank-card{background:var(--cream);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;position:relative;overflow:hidden}
.bank-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--red)}
.bank-flag{font-size:1.5rem;margin-bottom:.75rem}
.bank-country{font-size:11px;color:var(--red);font-weight:500;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.85rem}
.bank-detail{margin-bottom:.5rem}
.bank-detail label{display:block;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-weight:500;margin-bottom:2px}
.bank-detail .val{font-size:14px;font-weight:500;color:var(--black);display:flex;align-items:center;gap:.5rem}
.copy-btn{background:none;border:none;cursor:pointer;color:var(--muted);font-size:13px;padding:2px 4px;border-radius:4px;transition:all .18s;line-height:1}
.copy-btn:hover{background:var(--red-bg);color:var(--red)}
.copy-toast{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%);background:var(--black);color:#fff;padding:8px 18px;border-radius:100px;font-size:13px;font-weight:500;z-index:500;opacity:0;transition:opacity .3s;pointer-events:none}
.copy-toast.show{opacity:1}
.giving-quote{background:var(--red);padding:clamp(3rem,6vw,4.5rem) clamp(1.5rem,8vw,5.5rem);text-align:center;position:relative;overflow:hidden}
.giving-quote::before{content:"\"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:"Cormorant Garamond",serif;font-size:clamp(200px,30vw,400px);font-weight:700;color:rgba(255,255,255,0.05);line-height:1;user-select:none}
.giving-quote blockquote{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:clamp(1.3rem,3vw,2rem);color:#fff;line-height:1.65;max-width:700px;margin:0 auto 1.25rem;position:relative}
.giving-quote cite{color:rgba(255,255,255,0.65);font-size:13px;font-style:normal;font-weight:500}
@media(max-width:900px){.give-section{grid-template-columns:1fr;gap:2.5rem}.footer-grid{grid-template-columns:1fr 1fr;gap:2rem}}
@media(max-width:768px){.nav-links{display:none}.hamburger{display:block}}
@media(max-width:500px){.footer-grid{grid-template-columns:1fr}.impact-strip{gap:1.5rem}.amount-grid{grid-template-columns:repeat(2,1fr)}}

/* ── 2.6) EVENTS PAGE — page-specific ── */
.view-toggle{display:flex;gap:4px}
.vtog{width:32px;height:32px;border:1px solid var(--border);border-radius:6px;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .18s}
.vtog.active,.vtog:hover{background:var(--red);border-color:var(--red);color:#fff}
.featured-event{
  background:var(--black);border-radius:16px;overflow:hidden;
  display:grid;grid-template-columns:auto 1fr;margin-bottom:3rem;
  box-shadow:0 4px 32px rgba(0,0,0,0.15);
}
.feat-date-col{
  background:var(--red);padding:2.5rem 2rem;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;min-width:130px;
}
.feat-month{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,0.7);font-weight:500}
.feat-day{font-family:"Cormorant Garamond",serif;font-size:5rem;font-weight:700;color:#fff;line-height:.9}
.feat-year{font-size:13px;color:rgba(255,255,255,0.6);margin-top:.25rem}
.feat-body{padding:2.5rem;display:flex;flex-direction:column;justify-content:center}
.feat-badge{display:inline-block;background:rgba(192,39,45,0.2);color:var(--red-light);font-size:11px;padding:4px 12px;border-radius:100px;letter-spacing:.07em;text-transform:uppercase;font-weight:500;margin-bottom:1rem;width:fit-content}
.feat-body h2{font-family:"Cormorant Garamond",serif;font-size:clamp(1.8rem,3vw,2.8rem);font-weight:600;color:#fff;line-height:1.2;margin-bottom:.75rem}
.feat-meta{display:flex;gap:1.5rem;flex-wrap:wrap;margin-bottom:1.25rem}
.feat-meta-item{display:flex;align-items:center;gap:.4rem;color:rgba(255,255,255,0.5);font-size:13px}
.feat-meta-item span:first-child{color:var(--red-light)}
.feat-body p{color:rgba(255,255,255,0.55);font-size:14px;line-height:1.8;margin-bottom:1.5rem;max-width:560px}
.register-btn{background:var(--red);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;font-family:"DM Sans",sans-serif;transition:background .2s;display:inline-flex;align-items:center;gap:6px}
.register-btn:hover{background:var(--red-dark)}
.events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem;margin-bottom:3rem}
.event-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}
.event-card:hover{box-shadow:0 8px 32px rgba(0,0,0,0.1);transform:translateY(-2px)}
.event-card-header{display:flex;align-items:stretch}
.ec-date{background:var(--black);padding:.85rem 1rem;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:64px}
.ec-month{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--red-light)}
.ec-day{font-family:"Cormorant Garamond",serif;font-size:2.2rem;font-weight:700;color:#fff;line-height:.9}
.ec-type{flex:1;padding:.85rem 1rem;background:var(--cream);display:flex;align-items:center}
.ec-type-tag{font-size:11px;color:var(--red);font-weight:500;letter-spacing:.06em;text-transform:uppercase}
.event-card-body{padding:1.25rem;flex:1;display:flex;flex-direction:column}
.event-card-body h4{font-family:"Cormorant Garamond",serif;font-size:1.2rem;font-weight:600;color:var(--black);line-height:1.3;margin-bottom:.6rem}
.ev-meta{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.85rem}
.ev-meta-row{display:flex;align-items:center;gap:.5rem;font-size:12px;color:var(--muted)}
.ev-meta-row span:first-child{width:14px;text-align:center;flex-shrink:0}
.event-card-body p{font-size:13px;color:var(--muted);line-height:1.7;flex:1;margin-bottom:1rem}
.event-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:1rem;border-top:1px solid var(--border)}
.ec-spots{font-size:12px;color:var(--muted)}
.ec-spots strong{color:var(--red)}
.reg-link{color:var(--red);font-size:13px;font-weight:500;text-decoration:none;border:1px solid rgba(192,39,45,0.3);padding:5px 14px;border-radius:6px;transition:all .2s}
.reg-link:hover{background:var(--red);color:#fff;border-color:var(--red)}
.recurring{background:var(--black);padding:clamp(3rem,6vw,4.5rem) clamp(1.5rem,8vw,5.5rem);margin-top:1rem}
.recurring h2{font-family:"Cormorant Garamond",serif;font-size:clamp(1.8rem,3.5vw,2.5rem);font-weight:600;color:#fff;margin-bottom:.5rem}
.recurring>p{color:rgba(255,255,255,0.45);font-size:14px;margin-bottom:2rem;max-width:480px}
.recurring-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}
.rec-card{background:rgba(255,255,255,0.04);border:1px solid rgba(192,39,45,0.15);border-radius:10px;padding:1.25rem;transition:all .2s}
.rec-card:hover{background:rgba(192,39,45,0.07);border-color:rgba(192,39,45,0.4)}
.rec-day{font-size:12px;color:var(--red-light);font-weight:500;letter-spacing:.07em;text-transform:uppercase;margin-bottom:.4rem}
.rec-time{font-family:"Cormorant Garamond",serif;font-size:1.6rem;font-weight:600;color:#fff;margin-bottom:.3rem}
.rec-card h4{font-size:14px;font-weight:500;color:rgba(255,255,255,0.8);margin-bottom:.5rem}
.rec-card p{font-size:12px;color:rgba(255,255,255,0.4);line-height:1.6}
.page-events .join-tag{display:inline-block;background:rgba(192,39,45,0.15);color:var(--red-light);font-size:10px;padding:3px 9px;border-radius:100px;margin-top:.75rem;cursor:pointer;border:1px solid rgba(192,39,45,0.2);transition:all .2s}
.page-events .join-tag:hover{background:var(--red);color:#fff;border-color:var(--red)}
.modal-event-name{background:var(--red-bg);border:1px solid rgba(192,39,45,0.2);border-radius:8px;padding:.85rem 1rem;margin-bottom:1.25rem;font-size:14px;color:var(--red-dark);font-weight:500}
.fg input,.fg select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px;font-family:"DM Sans",sans-serif;color:var(--black);outline:none;transition:border-color .2s}
.fg input:focus,.fg select:focus{border-color:var(--red)}
.modal-confirm .icon{font-size:2.5rem;margin-bottom:.75rem}
@media(max-width:768px){
  .nav-links,.nav-donate{display:none}
  .hamburger{display:block}
  .featured-event{grid-template-columns:1fr}
  .feat-date-col{flex-direction:row;justify-content:flex-start;gap:1rem;padding:1rem 1.5rem}
  .feat-day{font-size:2.5rem}
  .footer-grid{grid-template-columns:1fr 1fr;gap:2rem}
}
@media(max-width:500px){
  .footer-grid{grid-template-columns:1fr}
  .fg-row{grid-template-columns:1fr}
}

/* ── 2.7) TESTIMONIES PAGE — page-specific ── */
.hero-share-btn{margin-top:2rem;display:inline-flex;align-items:center;gap:8px;background:var(--red);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;font-family:"DM Sans",sans-serif;transition:background .2s}
.hero-share-btn:hover{background:var(--red-dark)}
.featured-testi{background:var(--black);border-radius:16px;padding:clamp(2rem,5vw,3rem);margin-bottom:3rem;position:relative;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.featured-testi::before{content:"\"";position:absolute;right:-10px;top:-40px;font-family:"Cormorant Garamond",serif;font-size:280px;color:rgba(192,39,45,0.06);line-height:1;user-select:none}
.page-testimonies .feat-left{position:relative}
.feat-cat-badge{display:inline-block;background:var(--red);color:#fff;font-size:10px;padding:4px 12px;border-radius:100px;letter-spacing:.08em;text-transform:uppercase;font-weight:500;margin-bottom:1.25rem}
.feat-quote-text{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:clamp(1.15rem,2.2vw,1.55rem);color:#fff;line-height:1.7;margin-bottom:1.5rem}
.feat-author{display:flex;align-items:center;gap:.85rem}
.feat-avatar{width:44px;height:44px;border-radius:50%;background:var(--red);display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px;font-weight:600;flex-shrink:0;font-family:"Cormorant Garamond",serif}
.feat-name{color:#fff;font-size:14px;font-weight:500}
.feat-loc{color:rgba(255,255,255,0.4);font-size:12px;margin-top:2px}
.page-testimonies .feat-right{background:rgba(255,255,255,0.04);border:1px solid rgba(192,39,45,0.2);border-radius:12px;padding:1.75rem;overflow-y:auto;max-height:400px}
.feat-full-title{font-size:11px;color:var(--red-light);letter-spacing:.1em;text-transform:uppercase;font-weight:500;margin-bottom:.85rem}
.feat-full-text{color:rgba(255,255,255,0.55);font-size:13.5px;line-height:1.9}
.feat-full-text p{margin-bottom:.85rem}
.feat-full-text p:last-child{margin-bottom:0}
.feat-full-text strong{color:rgba(255,255,255,0.8)}
.page-testimonies .feat-tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1.25rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,0.07)}
.ftag{background:rgba(192,39,45,0.14);color:var(--red-light);font-size:11px;padding:3px 9px;border-radius:100px}
.page-testimonies .testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-bottom:3rem}
.page-testimonies .testi-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}
.testi-card:hover{box-shadow:0 8px 28px rgba(0,0,0,0.09);transform:translateY(-2px)}
.tc-cat{font-size:10px;color:var(--red);font-weight:500;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.6rem}
.tc-quote-mark{font-family:"Cormorant Garamond",serif;font-size:3.5rem;color:var(--red);line-height:.2;display:block;margin-bottom:.8rem;font-style:normal}
.tc-highlight{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.02rem;color:var(--black);line-height:1.72}
.tc-full{display:none;margin-top:.85rem;padding-top:.85rem;border-top:1px dashed var(--border);font-size:13.5px;color:var(--muted);line-height:1.85}
.tc-full p{margin-bottom:.7rem}
.tc-full p:last-child{margin-bottom:0}
.testi-card.expanded .tc-full{display:block}
.read-toggle{background:none;border:none;color:var(--red);font-size:12.5px;font-weight:500;cursor:pointer;font-family:"DM Sans",sans-serif;padding:.65rem 0 0;text-align:left;display:inline-flex;align-items:center;gap:4px;transition:gap .15s;margin-top:auto}
.read-toggle:hover{gap:8px}
.tc-author{display:flex;align-items:center;gap:.7rem;padding-top:1rem;margin-top:auto;border-top:1px solid var(--border)}
.tc-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:600;flex-shrink:0;font-family:"Cormorant Garamond",serif}
.tc-name{font-size:13px;font-weight:500;color:var(--black)}
.tc-loc{font-size:11px;color:var(--muted)}
.tc-year{font-size:10px;color:rgba(192,39,45,0.6);margin-top:1px;font-weight:500}
.stats-strip{background:var(--red);padding:clamp(2.5rem,5vw,4rem) clamp(1.5rem,8vw,5.5rem);display:flex;justify-content:center;gap:clamp(2rem,6vw,6rem);flex-wrap:wrap;text-align:center}
.ts-num{font-family:"Cormorant Garamond",serif;font-size:3.5rem;font-weight:700;color:#fff;line-height:1}
.ts-label{font-size:12px;color:rgba(255,255,255,0.72);text-transform:uppercase;letter-spacing:.1em;margin-top:.3rem}
.share-section{background:var(--black);padding:clamp(3.5rem,7vw,5rem) clamp(1.5rem,8vw,5.5rem)}
.share-inner{max-width:640px;margin:0 auto;text-align:center}
.share-inner .section-eyebrow{justify-content:center;color:rgba(232,71,77,0.8)}
.share-inner h2{font-family:"Cormorant Garamond",serif;font-size:clamp(2rem,4vw,3rem);font-weight:600;color:#fff;margin-bottom:.75rem}
.share-inner>p{color:rgba(255,255,255,0.5);font-size:15px;margin-bottom:2rem}
.share-form{background:rgba(255,255,255,0.04);border:1px solid rgba(192,39,45,0.2);border-radius:16px;padding:2rem;text-align:left}
.page-testimonies .fg input,.page-testimonies .fg select,.page-testimonies .fg textarea{width:100%;padding:10px 12px;border:1px solid rgba(255,255,255,0.1);border-radius:8px;font-size:14px;font-family:"DM Sans",sans-serif;color:#fff;background:rgba(255,255,255,0.06);outline:none;transition:border-color .2s}
.page-testimonies .fg label{display:block;font-size:12px;font-weight:500;color:rgba(255,255,255,0.6);margin-bottom:5px}
.fg input::placeholder,.fg textarea::placeholder{color:rgba(255,255,255,0.22)}
.fg select option{background:#1a1a1a;color:#fff}
.anon-row{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}
.anon-row input{width:auto;padding:0}
.anon-row label{font-size:13px;color:rgba(255,255,255,0.5);cursor:pointer}
.share-submit{width:100%;background:var(--red);color:#fff;border:none;padding:13px;border-radius:8px;font-size:15px;font-weight:500;cursor:pointer;font-family:"DM Sans",sans-serif;transition:background .2s}
.share-submit:hover{background:var(--red-dark)}
.share-confirm{display:none;text-align:center;padding:.5rem 0}
.share-confirm .icon{font-size:2.5rem;margin-bottom:.75rem}
.share-confirm h3{font-family:"Cormorant Garamond",serif;font-size:1.6rem;color:#fff;margin-bottom:.5rem}
.share-confirm p{color:rgba(255,255,255,0.5);font-size:14px}
@media(max-width:900px){.featured-testi{grid-template-columns:1fr;gap:2rem}.page-testimonies .testi-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr;gap:2rem}}
@media(max-width:560px){.page-testimonies .testi-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.fg-row{grid-template-columns:1fr}}

.script-font {
  font-family: 'Parisienne', cursive;
  font-weight: 400;
  font-size: 1.35em; /* Increases size slightly so script text remains legible */
  line-height: 1;
}