/*
Theme Name: Evangelism in Pakistan | Good Samaritan Ministries
Theme URI: https://www.evangelisminpakistan.com
Author: Rev. Dr. Naeem Nasir
Author URI: https://www.gsministries.org
Description: A bold, Gospel-centered WordPress theme built for Good Samaritan Ministries Pakistan — proclaiming the life-transforming power of JESUS CHRIST to every village, every home, and every heart across Pakistan. From open-air Gospel Crusades in the Punjab, to Free Urdu Bibles placed in the hands of the unreached, to the planting of new churches in persecuted regions, this theme is crafted for ministries with a fire for the lost and a heart for revival. Every home a church. Every church a lighthouse. Know God — make Him known. Built for the harvest. Designed for the glory of JESUS CHRIST.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: evangelism-in-pakistan
Tags: translation-ready, custom-menu, custom-logo, featured-images, threaded-comments, theme-options, full-width-template, blog, ministry, nonprofit
*/

/* =====================================================
   EVANGELISM IN PAKISTAN — CUSTOM WORDPRESS THEME
   Based on Mockup 3: Warmth
   (c) 2026 Good Samaritan Ministries Pakistan
   ===================================================== */

:root{
  --orange:#e8913a;
  --orange-deep:#c46a1a;
  --forest:#1a3c2a;
  --forest-light:#2f6d4d;
  --cream:#fdf6e7;
  --cream-warm:#f5ead1;
  --maroon:#8b1a35;
  --maroon-deep:#6a0f25;
  --ink:#1e1710;
  --muted:#6a5b4a;
  --white:#ffffff;
  --radius:22px;
  --shadow:0 14px 40px rgba(26,60,42,.12);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Source Sans 3','Inter','Segoe UI',sans-serif;
  color:var(--ink);
  background:var(--cream);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,h6{font-family:'Merriweather','Georgia',serif;color:var(--forest);margin:0 0 12px}
h1{font-size:clamp(38px,5vw,64px);letter-spacing:-1px;line-height:1.1}
h2{font-size:clamp(32px,4vw,48px);letter-spacing:-.6px;line-height:1.15}
h3{font-size:24px;line-height:1.3}
h4{font-size:20px}
p{margin:0 0 16px;color:var(--muted)}
a{color:var(--maroon);text-decoration:none;transition:.2s}
a:hover{color:var(--orange-deep)}
img{max-width:100%;height:auto;display:block}

/* ============ LAYOUT ============ */
.container{max-width:1340px;margin:0 auto;padding:0 40px}
.container-narrow{max-width:1100px;margin:0 auto;padding:0 40px}
.section{padding:110px 0}
.section-cream{background:var(--cream)}
.section-warm{background:var(--cream-warm)}
.section-white{background:var(--white)}
.section-dark{background:var(--forest);color:#f0e7d1}
.section-dark h1,.section-dark h2,.section-dark h3,.section-dark h4{color:#fff}
.section-dark p{color:rgba(255,255,255,.82)}

/* ============ TOP ANNOUNCE BAR ============ */
.announce{
  background:var(--forest);color:var(--cream);
  font-size:13.5px;padding:10px 0;text-align:center;
  display:flex;justify-content:center;gap:16px;flex-wrap:wrap;
}
.announce b{color:var(--orange)}
.announce a{color:var(--cream);text-decoration:underline}
.announce a:hover{color:var(--orange)}

/* ============ STICKY TOP WRAPPER (announce + header together) ============ */
.site-top{
  position:sticky;top:0;z-index:50;
  box-shadow:0 3px 14px rgba(26,60,42,.08);
}

/* ============ NAV / HEADER ============ */
.site-header{
  background:rgba(255,253,250,.94);
  backdrop-filter:blur(12px);
  padding:18px 40px;display:flex;align-items:center;gap:30px;
  border-bottom:1px solid rgba(234,217,181,.5);
}
.brand{display:flex;align-items:center;gap:14px}
.brand-mark{
  width:50px;height:50px;border-radius:50%;
  background:var(--orange);color:var(--white);
  display:flex;align-items:center;justify-content:center;
  font-weight:800;font-family:serif;font-size:24px;
  box-shadow:0 6px 18px rgba(232,145,58,.35);
}
.brand-mark img{width:100%;height:100%;object-fit:cover;border-radius:50%}

/* Rectangular logo image (baked-in default) — shown when no Custom Logo is set */
.brand-logo-img{display:flex;align-items:center;flex-shrink:0}
.brand-logo-img img{height:72px;width:auto;max-width:280px;object-fit:contain;display:block}
.footer-logo img{height:80px;filter:brightness(0) invert(1) drop-shadow(0 2px 6px rgba(0,0,0,.4))}

/* When the brand logo image is showing, hide the text next to it
   (keeping it in the DOM for screen readers and SEO). The logo image
   already contains the ministry name, so visible text would duplicate. */
.brand-logo-img + .brand-text{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

@media (max-width:640px){
  .brand-logo-img img{height:56px;max-width:200px}
}
.brand-text{display:flex;flex-direction:column;line-height:1.1;gap:4px}
.brand-name{display:block;font-family:'Merriweather',serif;font-size:20px;font-weight:800;color:var(--forest);letter-spacing:-.3px;margin:0}
.brand-sub{display:block;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--maroon);font-weight:700;margin:0}

/* Centered pillars variant (used on homepage "What We Do") */
.grid4.centered .card-soft{text-align:center}
.grid4.centered .card-soft .ring{margin-left:auto;margin-right:auto}
.grid4.centered .card-soft .lnk{justify-content:center;display:inline-flex}

/* Ministry family — two-column grouped layout */
.family-group{margin-bottom:56px}
.family-group:last-child{margin-bottom:0}
.family-group-title{display:flex;align-items:center;gap:16px;margin-bottom:28px;justify-content:center;text-align:center;flex-direction:column}
.family-group-title .kicker{font-size:12px;letter-spacing:4px;text-transform:uppercase;color:var(--maroon);font-weight:800}
.family-group-title h3{font-family:'Merriweather',serif;font-size:34px;color:var(--forest);margin:0;letter-spacing:-.5px}
.family-group-title .line{width:70px;height:3px;background:var(--orange);border-radius:2px}
.grid-orgs{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grid-projects{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.sitem.org{border-top:4px solid var(--forest);min-height:220px}
.sitem.project{border-top:4px solid var(--orange);min-height:180px}
@media (max-width:900px){
  .grid-orgs,.grid-projects{grid-template-columns:1fr}
}
.main-nav{margin-left:auto}
.main-nav ul{list-style:none;display:flex;gap:26px;margin:0;padding:0;font-weight:600;font-size:15.5px;color:var(--ink);flex-wrap:wrap}
.main-nav a{color:var(--ink);padding:6px 0;border-bottom:2px solid transparent;transition:.2s}
.main-nav a:hover,.main-nav .current-menu-item > a{border-color:var(--orange);color:var(--orange-deep)}
.main-nav .sub-menu{position:absolute;background:#fff;border:1px solid #eadfc2;border-radius:10px;padding:10px;margin-top:10px;display:none;flex-direction:column;gap:8px;min-width:200px;box-shadow:var(--shadow);z-index:30}
.main-nav li:hover > .sub-menu{display:flex}
.main-nav .sub-menu li{margin:0}
.menu-toggle{display:none;background:none;border:none;cursor:pointer;font-size:22px;color:var(--forest)}

/* ============ BUTTONS ============ */
.btn{
  display:inline-flex;align-items:center;gap:8px;padding:13px 24px;
  border-radius:999px;font-weight:700;font-size:14px;letter-spacing:.3px;
  cursor:pointer;border:none;transition:.25s;text-decoration:none;line-height:1;
}
.btn-orange{background:var(--orange);color:var(--white)}
.btn-orange:hover{background:var(--orange-deep);color:#fff;transform:translateY(-2px)}
.btn-forest{background:var(--forest);color:var(--cream)}
.btn-forest:hover{background:var(--forest-light);color:#fff}
.btn-outline{background:transparent;color:var(--forest);border:2px solid var(--forest)}
.btn-outline:hover{background:var(--forest);color:#fff}
.btn-white{background:#fff;color:var(--forest)}
.btn-white:hover{background:var(--orange);color:#fff}

/* ============ HERO / HOME BANNER ============ */
.hero{
  position:relative;min-height:780px;
  background:
    radial-gradient(900px 600px at 90% 95%,rgba(232,145,58,.45) 0,transparent 55%),
    radial-gradient(850px 700px at 0% 5%,rgba(47,109,77,.22) 0,transparent 55%),
    radial-gradient(700px 500px at 50% 55%,rgba(253,246,231,.55) 0,transparent 70%),
    linear-gradient(170deg,#f3d8a7 0%,#edc888 50%,#e8b66a 100%);
  padding:90px 40px 120px;overflow:hidden;
  border-top:1px solid rgba(232,145,58,.35);
  box-shadow:inset 0 6px 24px rgba(26,60,42,.08);
}
.hero::before{
  content:"";position:absolute;top:-150px;right:-150px;width:600px;height:600px;border-radius:50%;
  background:radial-gradient(circle,rgba(232,145,58,.22) 0,rgba(232,145,58,0) 65%);
  pointer-events:none;
}
.hero::after{
  content:"";position:absolute;inset:0;opacity:.08;pointer-events:none;
  background-image:radial-gradient(circle,var(--forest) 1.5px,transparent 1.5px);
  background-size:28px 28px;
}
.hero-wrap{position:relative;z-index:2;max-width:1340px;margin:0 auto;display:grid;grid-template-columns:1.3fr 1fr;gap:70px;align-items:start}
.ribbon{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--forest);color:var(--cream);
  padding:8px 18px;border-radius:999px;
  font-size:12.5px;letter-spacing:3px;text-transform:uppercase;font-weight:700;margin-bottom:26px;
}
.ribbon .star{color:var(--orange)}
.hero h1{font-size:clamp(44px,6.5vw,84px);color:var(--forest);letter-spacing:-1.5px;margin-bottom:22px}
.hero h1 .mk1{position:relative;display:inline-block;color:var(--maroon)}
.hero h1 .mk1::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:14px;background:rgba(232,145,58,.38);z-index:-1;border-radius:4px}
.hero .intro{font-size:20px;color:var(--muted);max-width:620px;margin-bottom:32px}
.hero .verse{
  background:var(--white);border-left:5px solid var(--orange);
  padding:18px 22px;border-radius:0 12px 12px 0;
  font-style:italic;font-size:17px;color:var(--forest);max-width:560px;margin-bottom:32px;
  box-shadow:0 10px 30px rgba(26,60,42,.06);
}
.hero .ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:44px}
.hero .trust{display:flex;gap:28px;flex-wrap:wrap;align-items:center;color:var(--muted);font-size:13.5px;font-weight:600}
.hero .trust b{color:var(--forest);font-size:22px;font-family:'Merriweather',serif;display:block}
.hero .trust .sep{width:3px;height:3px;background:var(--orange);border-radius:50%;display:inline-block}

/* Full-width stats strip across the bottom of the hero banner */
.hero-stats{
  position:relative;z-index:2;
  max-width:1340px;margin:70px auto 0;padding:0 40px;
  display:grid;grid-template-columns:repeat(4,1fr);gap:30px;
}
.hero-stats .stat-item{
  text-align:center;padding:26px 18px;
  background:rgba(255,255,255,.6);
  backdrop-filter:blur(6px);
  border:1px solid rgba(232,145,58,.35);
  border-radius:20px;
  transition:.25s;
}
.hero-stats .stat-item:hover{
  background:rgba(255,255,255,.82);
  border-color:var(--orange);
  transform:translateY(-3px);
}
.hero-stats .stat-item b{
  display:block;
  font-family:'Merriweather',serif;
  font-size:clamp(38px,4.5vw,56px);
  font-weight:900;
  color:var(--maroon);
  line-height:1;
  letter-spacing:-1px;
}
.hero-stats .stat-item span{
  display:block;margin-top:10px;
  font-size:12px;letter-spacing:3px;text-transform:uppercase;
  color:var(--forest);font-weight:700;
}
@media (max-width:900px){
  .hero-stats{grid-template-columns:repeat(2,1fr);gap:16px;margin-top:40px;padding:0 20px}
  .hero-stats .stat-item{padding:20px 14px}
}

/* HERO COLLAGE — 4 tiles + floating badge */
.collage{position:relative;height:680px}
.collage .tile{
  position:absolute;border-radius:22px;overflow:hidden;
  box-shadow:0 20px 50px rgba(26,60,42,.18);
  color:#fff;padding:20px;display:flex;flex-direction:column;justify-content:flex-end;
  border:5px solid var(--white);background-size:cover;background-position:center;
}
.tile.a{top:0;left:0;width:62%;height:50%;transform:rotate(-2deg);z-index:2;
  background:linear-gradient(180deg,rgba(26,60,42,.1) 40%,rgba(26,60,42,.85) 100%),radial-gradient(circle at 30% 30%,#2a6f47 0,#1a3c2a 70%);}
.tile.b{top:8%;right:0;width:48%;height:48%;transform:rotate(3deg);z-index:3;
  background:linear-gradient(180deg,rgba(139,26,53,.12) 40%,rgba(139,26,53,.9) 100%),radial-gradient(circle at 70% 30%,#c46a1a 0,#8b1a35 70%);}
.tile.c{top:50%;left:2%;width:50%;height:42%;transform:rotate(-4deg);z-index:4;
  background:linear-gradient(180deg,rgba(26,60,42,.1) 40%,rgba(47,109,77,.9) 100%),radial-gradient(circle at 40% 40%,#3d7a5a 0,#1a3c2a 70%);}
.tile.d{top:54%;right:2%;width:46%;height:40%;transform:rotate(4deg);z-index:5;
  background:linear-gradient(180deg,rgba(232,145,58,.1) 40%,rgba(200,100,30,.9) 100%),radial-gradient(circle at 40% 40%,#e8913a 0,#c46a1a 75%);}
.tile .lbl{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.85);font-weight:700}
.tile h4{font-family:'Merriweather',serif;font-size:18px;margin-top:6px;line-height:1.2;color:#fff}
.float-badge{
  position:absolute;top:47%;right:-18px;z-index:20;
  transform:translateY(-50%);
  background:var(--white);border-radius:20px;padding:16px 20px;
  box-shadow:0 20px 40px rgba(26,60,42,.28);
  display:flex;align-items:center;gap:12px;
}
.float-badge .num{font-family:'Merriweather',serif;font-size:36px;font-weight:900;color:var(--maroon);line-height:1}
.float-badge .txt{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--forest);font-weight:700;line-height:1.3}

/* ============ SECTION HEADINGS ============ */
.eyebrow{font-size:13px;letter-spacing:4px;color:var(--maroon);text-transform:uppercase;font-weight:700;margin-bottom:14px;display:block}
.sec-intro{text-align:center;max-width:720px;margin:0 auto 60px}
.sec-intro h2 em{color:var(--orange-deep);font-style:italic}

/* ============ PILLARS / 4-CARD GRID ============ */
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}
.card-soft{
  background:var(--white);border-radius:22px;padding:34px 28px;
  border:1px solid #eadfc2;transition:.3s;position:relative;overflow:hidden;
}
.card-soft::before{content:"";position:absolute;top:0;left:50%;width:0;height:4px;background:var(--orange);transition:.35s}
.card-soft:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(26,60,42,.1)}
.card-soft:hover::before{left:0;width:100%}
.card-soft .ring{
  width:64px;height:64px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:28px;
  background:var(--cream-warm);color:var(--orange-deep);
  border:2px dashed var(--orange);margin-bottom:20px;
}
.card-soft h3{color:var(--forest);margin-bottom:10px}
.card-soft p{font-size:14.5px}
.card-soft .lnk{margin-top:18px;color:var(--maroon);font-weight:700;font-size:13px;letter-spacing:1px;text-transform:uppercase;display:inline-flex;gap:6px}

/* ============ WELCOME LETTER (Pres) ============ */
/* Centered heading row above the two columns */
.welcome-head{max-width:900px;margin:0 auto 50px;padding:0 30px;text-align:center}
.welcome-head .eyebrow{display:inline-block}
.welcome-head h2{margin-top:12px}
.welcome-head h2 em{color:var(--orange-deep);font-style:italic}

/* Prominent styling for "JESUS CHRIST" — used via <span class="jc"> */
.jc{
  color:var(--maroon);
  font-weight:900;
  letter-spacing:1px;
  font-family:'Merriweather','Georgia',serif;
  text-shadow:0 1px 0 rgba(232,145,58,.15);
}

/* Italic styled pull-paragraph inside the letter */
.letter-body .letter-pull{
  font-family:'Merriweather','Georgia',serif;
  font-style:italic;
  font-size:20px;line-height:1.55;
  color:var(--forest);
  background:var(--cream-warm);
  border-left:5px solid var(--orange);
  padding:22px 26px;
  border-radius:0 14px 14px 0;
  margin:22px 0;
  box-shadow:0 6px 24px rgba(26,60,42,.06);
}
.letter-body .letter-pull strong{font-style:normal;color:var(--maroon);font-weight:800}

.welcome-wrap{display:grid;grid-template-columns:1.15fr 1.2fr;gap:60px;align-items:center}
.portrait{
  position:relative;height:640px;border-radius:24px;overflow:hidden;
  background:linear-gradient(180deg,rgba(26,60,42,.05) 60%,rgba(26,60,42,.85) 100%),radial-gradient(circle at 50% 35%,#3d7a5a 0,#1a3c2a 70%);
  color:#fff;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;
  box-shadow:0 25px 70px rgba(26,60,42,.25);background-size:cover;background-position:center top;
}
.portrait .sig{font-family:'Merriweather',serif;font-size:22px;font-weight:800;color:#fff;margin:0}
.portrait .role{font-size:13px;letter-spacing:2px;text-transform:uppercase;opacity:.85;margin-top:6px}
.portrait .frame{position:absolute;inset:18px;border:2px solid rgba(232,145,58,.6);border-radius:16px;pointer-events:none}
.sigline{margin-top:28px;font-family:'Brush Script MT',cursive;font-size:34px;color:var(--maroon);font-weight:700;line-height:1}

/* ============ CRUSADE FEATURE ============ */
.frame-img{
  position:relative;height:540px;border-radius:24px;overflow:hidden;
  background:linear-gradient(180deg,rgba(26,60,42,.1) 50%,rgba(26,60,42,.88) 100%),radial-gradient(circle at 50% 30%,#c46a1a 0,#8b1a35 75%);
  color:#fff;padding:30px;display:flex;flex-direction:column;justify-content:space-between;
  box-shadow:0 30px 80px rgba(139,26,53,.25);background-size:cover;background-position:center;
}
.frame-img .chip{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.3);padding:8px 14px;border-radius:999px;font-size:11px;letter-spacing:2px;text-transform:uppercase;width:max-content;font-weight:700;color:#fff}
.frame-img .quote{font-family:'Merriweather',serif;font-size:28px;line-height:1.3;font-style:italic;color:#fff;margin:0}
.frame-img .quote b{color:var(--orange);font-weight:800}
.frame-img .who{font-size:13px;letter-spacing:1.5px;text-transform:uppercase;opacity:.85;margin-top:16px}
.pull{background:var(--cream);border-left:5px solid var(--orange);padding:20px 22px;border-radius:0 12px 12px 0;margin:22px 0;color:var(--forest);font-style:italic;font-size:17px}

/* ============ STORIES / BLOG CARDS ============ */
.story{background:var(--white);border-radius:22px;overflow:hidden;border:1px solid #eadfc2;transition:.3s;display:flex;flex-direction:column}
.story:hover{transform:translateY(-4px);box-shadow:0 20px 50px rgba(26,60,42,.1)}
.story .thumb{
  height:200px;padding:22px;color:#fff;display:flex;align-items:flex-end;
  background:radial-gradient(circle at 30% 30%,#2f6d4d,#1a3c2a);background-size:cover;background-position:center;
}
.story:nth-child(3n+2) .thumb{background:radial-gradient(circle at 30% 30%,#c46a1a,#8b1a35)}
.story:nth-child(3n) .thumb{background:radial-gradient(circle at 30% 30%,#e8913a,#c46a1a)}
.story .thumb .mini{background:rgba(0,0,0,.32);padding:5px 12px;border-radius:999px;font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:700}
.story .body{padding:26px 28px;flex-grow:1;display:flex;flex-direction:column}
.story h4{font-size:22px;color:var(--forest);margin-bottom:10px;line-height:1.3}
.story h4 a{color:var(--forest)}
.story h4 a:hover{color:var(--orange-deep)}
.story p{font-size:14.5px;flex-grow:1}
.story .meta{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--maroon);font-weight:700;margin-bottom:8px}
.story .readmore{color:var(--maroon);font-weight:700;font-size:13px;letter-spacing:1px;text-transform:uppercase;margin-top:14px;align-self:flex-start}

/* ============ SISTER SITES GRID ============ */
.sitem{background:var(--cream);border-radius:18px;padding:26px;border:1px solid #eadfc2;transition:.25s;position:relative;display:flex;flex-direction:column;min-height:200px}
.sitem:hover{background:var(--white);border-color:var(--orange);transform:translateY(-3px);box-shadow:0 16px 36px rgba(26,60,42,.08)}
.sitem .badge{font-size:10px;letter-spacing:2px;text-transform:uppercase;font-weight:800;color:var(--maroon);margin-bottom:10px}
.sitem h5{font-family:'Merriweather',serif;font-size:18px;color:var(--forest);margin:0 0 8px;line-height:1.25}
.sitem p{font-size:13.5px;margin-bottom:12px;flex-grow:1}
.sitem a.visit{color:var(--orange-deep);font-weight:700;font-size:12.5px;letter-spacing:1px;text-transform:uppercase}

/* ============ EVENT CARDS (Gospel Crusades page) ============ */
.events-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;margin-top:50px}
.event-card{
  background:#fff;border-radius:22px;overflow:hidden;
  border:1px solid #eadfc2;
  transition:.3s;display:flex;flex-direction:column;
  box-shadow:0 6px 20px rgba(26,60,42,.05);
}
.event-card:hover{transform:translateY(-5px);box-shadow:0 22px 50px rgba(26,60,42,.14)}

.event-banner{
  position:relative;
  min-height:180px;padding:28px 30px;color:#fff;
  display:flex;flex-direction:column;justify-content:space-between;
  overflow:hidden;
}
.event-banner::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.18;
  background-image:radial-gradient(circle,rgba(255,255,255,.6) 1.5px,transparent 1.5px);
  background-size:22px 22px;
}
.event-banner > *{position:relative;z-index:2}

/* When a photo is used as the banner background, give it breathing room */
.event-card.has-image .event-banner{
  min-height:230px;
}
/* Clean white text with strong shadows — no blur box */
.event-card.has-image .event-date{
  background:transparent;
  backdrop-filter:none;
  padding:0;
  margin-left:0;
}
.event-card.has-image .event-date .day{
  text-shadow:0 2px 4px rgba(0,0,0,.7), 0 4px 16px rgba(0,0,0,.5);
}
.event-card.has-image .event-date .month{
  text-shadow:0 2px 4px rgba(0,0,0,.7), 0 3px 10px rgba(0,0,0,.5);
}
.event-card.has-image .event-city-badge{
  background:rgba(255,255,255,.2);
  border-color:rgba(255,255,255,.5);
  text-shadow:0 2px 6px rgba(0,0,0,.6);
  box-shadow:0 4px 14px rgba(0,0,0,.3);
}
.event-card.has-image .event-banner::before{
  opacity:.05; /* even softer dot pattern over the photo */
}

/* Tone variants — each event has its own gradient identity */
.event-card.tone-forest   .event-banner{background:radial-gradient(500px 300px at 20% 20%,rgba(232,145,58,.25),transparent 60%),linear-gradient(135deg,#0c2016 0%,#1a3c2a 55%,#2f6d4d 100%)}
.event-card.tone-maroon   .event-banner{background:radial-gradient(500px 300px at 80% 80%,rgba(232,145,58,.25),transparent 60%),linear-gradient(135deg,#1a3c2a 0%,#5a0e28 60%,#8b1a35 100%)}
.event-card.tone-orange   .event-banner{background:radial-gradient(500px 300px at 30% 30%,rgba(26,60,42,.3),transparent 60%),linear-gradient(135deg,#c46a1a 0%,#e8913a 60%,#6a0f25 100%)}
.event-card.tone-mixed    .event-banner{background:radial-gradient(500px 300px at 70% 20%,rgba(232,145,58,.3),transparent 55%),linear-gradient(135deg,#1a3c2a 0%,#6a0f25 55%,#c46a1a 100%)}
.event-card.tone-christmas .event-banner{background:radial-gradient(500px 300px at 50% 30%,rgba(255,223,128,.4),transparent 60%),linear-gradient(135deg,#1a3c2a 0%,#6a0f25 60%,#e8913a 100%)}

.event-date{display:flex;flex-direction:column;gap:2px;align-items:flex-start}
.event-date .day{
  font-family:'Merriweather',serif;
  font-size:72px;font-weight:900;line-height:.85;
  letter-spacing:-2px;
  text-shadow:0 2px 8px rgba(0,0,0,.35);
}
.event-date .month{
  font-size:14px;letter-spacing:4px;text-transform:uppercase;
  font-weight:800;margin-top:8px;
  color:rgba(255,255,255,.95);
}
.event-city-badge{
  align-self:flex-start;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.35);
  backdrop-filter:blur(4px);
  padding:6px 14px;border-radius:999px;
  font-size:11px;letter-spacing:3px;text-transform:uppercase;font-weight:800;
  margin-top:14px;
}
.event-extra-chip{
  position:absolute;top:20px;right:20px;z-index:3;
  background:#fff;color:var(--maroon);
  padding:6px 12px;border-radius:999px;
  font-size:10px;letter-spacing:2px;font-weight:900;
  box-shadow:0 4px 14px rgba(0,0,0,.25);
}

.event-body{padding:28px 30px 32px;flex-grow:1;display:flex;flex-direction:column}
.event-datetxt{
  font-size:11px;letter-spacing:3px;text-transform:uppercase;
  color:var(--maroon);font-weight:800;margin-bottom:8px;display:block;
}
.event-body h3{
  font-family:'Merriweather',serif;
  font-size:26px;color:var(--forest);margin:0 0 18px;line-height:1.2;letter-spacing:-.5px;
}
.event-features{list-style:none;padding:0;margin:0 0 24px;display:flex;flex-direction:column;gap:10px}
.event-features li{
  display:flex;align-items:flex-start;gap:12px;
  font-size:14.5px;color:var(--ink);line-height:1.5;
  padding:10px 14px;
  background:var(--cream);border-radius:12px;
  border-left:3px solid var(--orange);
}
.event-features .ic{font-size:18px;flex-shrink:0;line-height:1.2}
.event-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto}
.event-actions .btn{font-size:13px;padding:11px 18px}

@media (max-width:900px){
  .events-grid{grid-template-columns:1fr;gap:20px}
  .event-date .day{font-size:56px}
}

/* ============ CTA / GIVE ============ */
.join-cta{
  padding:130px 40px;color:#fff;text-align:center;
  background:radial-gradient(600px 400px at 15% 20%,rgba(232,145,58,.3),transparent 60%),radial-gradient(600px 400px at 85% 80%,rgba(139,26,53,.4),transparent 60%),linear-gradient(135deg,var(--forest) 0%,#0c2016 100%);
}
.join-cta .eyebrow{color:var(--orange)}
.join-cta h2{color:#fff;font-size:clamp(36px,5.5vw,66px);line-height:1.05;margin-bottom:22px}
.join-cta h2 em{color:var(--orange);font-style:italic}
.join-cta p{max-width:640px;margin:0 auto 34px;font-size:18px;color:rgba(255,255,255,.82)}
.give-row{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
.pill-give{background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.2);border-radius:16px;padding:18px 28px;text-align:left;min-width:200px;color:#fff;text-decoration:none;transition:.25s}
.pill-give:hover{background:var(--orange);border-color:var(--orange);color:#0e1820}
.pill-give .amt{font-family:'Merriweather',serif;font-size:28px;font-weight:900;color:#fff}
.pill-give:hover .amt{color:#0e1820}
.pill-give .dsc{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.8);margin-top:4px}
.pill-give:hover .dsc{color:#0c2016}

/* ============ PAGE HEADER (inner pages) ============ */
/* Rich dark gradient banner — related to the Partner CTA palette
   (forest + maroon + orange) but with distinct angles/accents so each
   feels like its own section rather than one big piece. */
.page-hero{
  position:relative;
  padding:110px 40px 90px;
  color:#fff;
  background:
    radial-gradient(820px 520px at 18% 22%,rgba(232,145,58,.28) 0,transparent 55%),
    radial-gradient(700px 500px at 82% 78%,rgba(139,26,53,.5) 0,transparent 55%),
    linear-gradient(160deg,#0c2016 0%,#1a3c2a 55%,#5a0e28 100%);
  text-align:center;overflow:hidden;
}
.page-hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.18;
  background-image:radial-gradient(circle,rgba(255,255,255,.55) 1.5px,transparent 1.5px);
  background-size:28px 28px;
}
.page-hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(180deg,rgba(0,0,0,.18) 0%,transparent 30%,transparent 70%,rgba(0,0,0,.25) 100%);
}
.page-hero > *{position:relative;z-index:2}
.page-hero .eip-crumbs,
.page-hero .eip-crumbs ol,
.page-hero .eip-crumbs a,
.page-hero .eip-crumbs span{color:var(--orange) !important}
.page-hero .eip-crumbs a:hover{color:#fff !important}
.page-hero .crumbs{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--orange);font-weight:700;margin-bottom:14px}
.page-hero .eyebrow{color:var(--orange) !important;display:inline-block;margin-top:14px}
.page-hero h1{max-width:900px;margin:0 auto 16px;color:#fff}
.page-hero h1 em{color:var(--orange);font-style:italic;font-weight:700}
.page-hero .sub{max-width:700px;margin:0 auto;font-size:19px;color:rgba(255,255,255,.9)}
.page-hero .post-meta{color:var(--orange)}
.page-hero .post-meta a{color:var(--orange) !important}
.page-hero .post-meta a:hover{color:#fff !important}

/* ============ CONTENT BLOCKS (the_content) ============ */
.entry-content{max-width:820px;margin:0 auto;padding:70px 30px;font-size:17.5px;color:#2a2318}
.entry-content p{color:#2a2318}
.entry-content h2,.entry-content h3{margin-top:36px}
.entry-content ul,.entry-content ol{margin:0 0 20px 24px}
.entry-content li{margin-bottom:8px}
.entry-content blockquote{border-left:5px solid var(--orange);background:var(--cream-warm);padding:22px 26px;margin:30px 0;font-style:italic;color:var(--forest);border-radius:0 12px 12px 0;font-size:19px}
.entry-content a{color:var(--maroon);border-bottom:1px solid rgba(139,26,53,.3)}
.entry-content a:hover{color:var(--orange-deep);border-color:var(--orange-deep)}
.entry-content img{border-radius:16px;margin:20px 0;box-shadow:var(--shadow)}

/* ============ SINGLE POST ============ */
.single-post-wrap{max-width:820px;margin:0 auto;padding:70px 30px}
.post-meta{display:flex;gap:18px;color:var(--maroon);font-size:12px;letter-spacing:2px;text-transform:uppercase;font-weight:700;margin-bottom:16px}
.post-meta span{display:inline-flex;gap:6px}
.post-thumb{margin:30px 0 40px;border-radius:18px;overflow:hidden;height:420px;background:linear-gradient(135deg,var(--forest),var(--maroon));display:flex;align-items:flex-end;padding:30px;color:#fff}
.post-thumb.has-image{background:none}

/* ============ SIDEBAR / WIDGETS ============ */
.with-sidebar{display:grid;grid-template-columns:1fr 340px;gap:50px;max-width:1240px;margin:0 auto;padding:70px 40px}
.sidebar .widget{background:#fff;border-radius:18px;padding:24px 22px;border:1px solid #eadfc2;margin-bottom:20px;box-shadow:0 4px 16px rgba(26,60,42,.04)}
.sidebar .widget-title{font-family:'Merriweather',serif;font-size:15px;color:var(--maroon);letter-spacing:2.5px;text-transform:uppercase;font-weight:800;margin:0 0 16px;padding-bottom:10px;border-bottom:2px solid var(--orange)}
.sidebar ul{list-style:none;padding:0;margin:0}
.sidebar li{font-size:14.5px}
.sidebar a{color:var(--forest)}
.sidebar a:hover{color:var(--orange-deep)}

/* Sticky post sidebar — stays visible while the article scrolls */
.post-sidebar{
  position:sticky;
  top:140px; /* below the sticky announce bar + primary nav */
  align-self:flex-start;
  max-height:calc(100vh - 160px);
  overflow-y:auto;
  scrollbar-width:thin;
  scrollbar-color:var(--orange) transparent;
}
.post-sidebar::-webkit-scrollbar{width:6px}
.post-sidebar::-webkit-scrollbar-track{background:transparent}
.post-sidebar::-webkit-scrollbar-thumb{background:rgba(232,145,58,.35);border-radius:999px}
.post-sidebar::-webkit-scrollbar-thumb:hover{background:var(--orange)}

@media (max-width:1024px){
  .post-sidebar{position:static;max-height:none;overflow:visible}
}

/* --- Post sidebar widgets (modeled on gsministries.org) --- */
/* Share row */
.widget-share .share-row{display:flex;gap:8px;flex-wrap:wrap}
.share-btn{display:flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;font-size:13px;font-weight:700;color:#fff !important;text-decoration:none;transition:.2s;flex:1;justify-content:center}
.share-btn svg{width:14px;height:14px;fill:currentColor}
.share-btn:hover{transform:translateY(-2px);opacity:.9}
.share-fb{background:#1877F2}
.share-wa{background:#25D366}
.share-x{background:#000}

/* Author card */
.widget-author{text-align:center;padding-top:30px !important}
.widget-author .author-photo{
  width:110px;height:110px;border-radius:50%;
  background-size:cover;background-position:center 20%;
  margin:0 auto 16px;
  border:4px solid var(--cream-warm);
  box-shadow:0 10px 24px rgba(26,60,42,.18);
}
.widget-author .author-name{font-family:'Merriweather',serif;font-size:18px;color:var(--forest);margin:0 0 4px}
.widget-author .author-role{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--maroon);font-weight:700;margin:0 0 14px;line-height:1.5}
.widget-author .author-bio{font-size:14px;color:var(--muted);margin:0 0 16px;line-height:1.6}
.widget-author .author-link{display:inline-block;color:var(--maroon);font-weight:700;font-size:13px;letter-spacing:1px;text-transform:uppercase;border-bottom:2px solid var(--orange);padding-bottom:2px}

/* Partner CTA box (orange-filled) */
.widget-cta{
  background:linear-gradient(135deg,var(--orange) 0%,var(--orange-deep) 100%) !important;
  border:none !important;color:#fff;
  box-shadow:0 12px 30px rgba(232,145,58,.35) !important;
}
.widget-cta .cta-kicker{font-size:11px;letter-spacing:3px;text-transform:uppercase;font-weight:800;color:rgba(255,255,255,.9);margin-bottom:10px}
.widget-cta h4{font-family:'Merriweather',serif;color:#fff;font-size:19px;line-height:1.3;margin:0 0 12px}
.widget-cta p{color:rgba(255,255,255,.95);font-size:14px;margin:0 0 18px;line-height:1.55}
.cta-btn{
  display:inline-block;width:100%;text-align:center;
  background:#fff;color:var(--maroon) !important;
  padding:13px 20px;border-radius:999px;
  font-weight:800;font-size:14px;letter-spacing:.5px;text-decoration:none;
  transition:.2s;
}
.cta-btn:hover{background:var(--forest);color:#fff !important;transform:translateY(-2px)}
.cta-btn-outline{background:transparent;color:#fff !important;border:2px solid #fff}
.cta-btn-outline:hover{background:#fff;color:var(--forest) !important}

/* Recent articles with thumbnails */
.widget-recent .recent-list{margin:0 0 14px;display:flex;flex-direction:column;gap:14px}
.widget-recent .recent-list li{padding:0}
.recent-item{display:flex;gap:12px;align-items:flex-start;text-decoration:none;transition:.2s}
.recent-item:hover{transform:translateX(3px)}
.recent-thumb{flex-shrink:0;width:72px;height:72px;border-radius:10px;background-size:cover;background-position:center;background-color:var(--cream-warm);background-image:linear-gradient(135deg,var(--forest),var(--maroon))}
.recent-meta{display:flex;flex-direction:column;gap:4px;flex-grow:1}
.recent-title{font-size:14px;font-weight:700;color:var(--forest);line-height:1.35}
.recent-item:hover .recent-title{color:var(--orange-deep)}
.recent-date{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);font-weight:600}
.view-all{display:inline-block;color:var(--maroon);font-weight:700;font-size:12.5px;letter-spacing:1px;text-transform:uppercase;padding:8px 0;border-top:1px solid #eadfc2;width:100%;text-align:center;margin-top:6px}

/* Follow social icons - reuse brand-socials */
.widget-follow .brand-socials{justify-content:center;gap:10px}
.widget-follow .bsoc{width:40px;height:40px}
.widget-follow .bsoc svg{width:16px;height:16px}

/* Categories list */
.widget-cats .cat-list li{padding:8px 0;border-bottom:1px dashed #ead9b5;font-size:14.5px}
.widget-cats .cat-list li:last-child{border-bottom:none}
.widget-cats .cat-list a{color:var(--forest);font-weight:600}
.widget-cats .cat-list a:hover{color:var(--orange-deep)}

/* Final give CTA box (outlined maroon) */
.widget-give-end{
  background:var(--forest) !important;
  border:none !important;color:#fff;
}
.widget-give-end h4{font-family:'Merriweather',serif;color:var(--orange);font-size:19px;margin:0 0 10px;line-height:1.3}
.widget-give-end p{color:rgba(255,255,255,.9);font-size:14px;margin:0 0 18px;line-height:1.55}

/* Blog grid styling */
.blog-grid{gap:28px}
.blog-pagination{margin-top:50px}
.blog-pagination .page-numbers{display:inline-block;padding:10px 16px;margin:0 3px;background:#fff;border:1px solid #eadfc2;border-radius:10px;color:var(--forest);font-weight:700;text-decoration:none;transition:.2s}
.blog-pagination .page-numbers:hover,.blog-pagination .page-numbers.current{background:var(--orange);color:#fff;border-color:var(--orange)}

/* ============ COMMENTS ============ */
.comments-area{max-width:820px;margin:0 auto;padding:40px 30px 90px}
.comments-title{font-size:24px;margin-bottom:20px}
.comment-list{list-style:none;padding:0}
.comment-body{background:#fff;border-radius:14px;padding:22px;border:1px solid #eadfc2;margin-bottom:14px}
.comment-meta{font-size:13px;color:var(--maroon);margin-bottom:8px;font-weight:700}
.comment-form input,.comment-form textarea{width:100%;padding:12px 16px;border-radius:10px;border:1px solid #eadfc2;background:#fff;font-family:inherit;font-size:15px;margin-bottom:12px}
.comment-form textarea{min-height:130px}

/* ============ CONTACT FORM ============ */
.contact-form{max-width:700px;margin:0 auto;background:#fff;border-radius:22px;padding:40px;box-shadow:var(--shadow)}
.contact-form label{display:block;font-size:13px;letter-spacing:2px;text-transform:uppercase;font-weight:700;color:var(--maroon);margin-bottom:6px}
.contact-form input,.contact-form textarea,.contact-form select{width:100%;padding:13px 16px;border-radius:10px;border:1px solid #eadfc2;font-family:inherit;font-size:15px;margin-bottom:18px;background:var(--cream)}
.contact-form textarea{min-height:160px}

/* ============ FOOTER — redesigned, darker, distinct from Partner CTA ============ */
.site-footer{
  position:relative;
  padding:90px 40px 40px;
  color:rgba(255,255,255,.82);
  background:
    radial-gradient(900px 400px at 85% 110%,rgba(139,26,53,.18) 0,transparent 60%),
    radial-gradient(700px 400px at 10% 0%,rgba(232,145,58,.08) 0,transparent 55%),
    linear-gradient(180deg,#13090d 0%,#080406 60%,#050203 100%);
  border-top:1px solid rgba(232,145,58,.2);
}
.site-footer::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.04;
  background-image:radial-gradient(circle,#fff 1px,transparent 1px);
  background-size:32px 32px;
}
.site-footer .wrap{
  position:relative;z-index:2;
  max-width:1340px;margin:0 auto;
  display:grid;grid-template-columns:repeat(4,1fr);gap:36px;align-items:start;
}
.footer-col{min-width:0}
.site-footer h6{
  font-family:'Merriweather',serif;color:#fff;font-size:16px;margin:0 0 20px;
  letter-spacing:.3px;padding-bottom:10px;
  border-bottom:2px solid rgba(232,145,58,.25);
}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer li{margin-bottom:10px;font-size:14.5px}
.site-footer a{color:rgba(255,255,255,.78);transition:.2s}
.site-footer a:hover{color:var(--orange)}

/* Widget 1 — centered logo + description + socials */
.footer-col-center{text-align:center;display:flex;flex-direction:column;align-items:center;gap:18px}

/* Centered link lists (used for Top Pages widget) */
.footer-col-centered-list{text-align:center}
.footer-col-centered-list h6{display:inline-block}
.footer-col-centered-list ul{list-style:none}
.footer-logo-link{display:inline-block}
/* Footer logo — explicit rules so WP's custom-logo wrapper
   doesn't inherit the header's circular .brand-mark styling */
.footer-col-center .custom-logo-link,
.footer-col-center .footer-logo{
  display:inline-block;
  max-width:260px;
  width:auto;
  height:auto;
  background:transparent !important;
  border-radius:0 !important;
  box-shadow:none !important;
  padding:0 !important;
}
.footer-col-center .footer-logo img,
.footer-col-center .custom-logo,
.footer-col-center img.custom-logo,
.footer-col-center .custom-logo-link img{
  height:76px !important;
  width:auto !important;
  max-width:260px !important;
  max-height:76px !important;
  object-fit:contain !important;
  border-radius:0 !important;
  display:block !important;
  filter:brightness(0) invert(1) drop-shadow(0 3px 8px rgba(0,0,0,.5));
}
.footer-about{
  text-align:center;margin:0;
  font-size:13.5px;line-height:1.65;
  color:rgba(255,255,255,.78);max-width:320px;
}
.footer-about strong{color:var(--orange);font-weight:800}

/* Social icons — shared brand-color styling */
.footer-socials,
.contact-socials{display:flex;gap:12px;justify-content:center;margin-top:8px;flex-wrap:wrap}
.contact-socials{justify-content:flex-start}

/* Base pill */
.footer-socials a,
.bsoc{
  width:44px;height:44px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:#fff;text-decoration:none;transition:.25s;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 6px 16px rgba(0,0,0,.25);
}
.footer-socials svg,
.bsoc svg{width:18px;height:18px;fill:currentColor;display:block}
.footer-socials a:hover,
.bsoc:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.4)}

/* Real brand colors — applied by platform class */
.bsoc-fb,
.footer-socials a[aria-label*="Facebook"]{background:#1877F2;border-color:#1877F2}
.bsoc-fb:hover,
.footer-socials a[aria-label*="Facebook"]:hover{background:#0d65d9;border-color:#0d65d9;box-shadow:0 12px 28px rgba(24,119,242,.5)}

.bsoc-yt,
.footer-socials a[aria-label*="YouTube"]{background:#FF0000;border-color:#FF0000}
.bsoc-yt:hover,
.footer-socials a[aria-label*="YouTube"]:hover{background:#cc0000;border-color:#cc0000;box-shadow:0 12px 28px rgba(255,0,0,.5)}

.bsoc-x,
.footer-socials a[aria-label*="X "]{background:#000;border-color:#333}
.bsoc-x:hover,
.footer-socials a[aria-label*="X "]:hover{background:#222;border-color:#555;box-shadow:0 12px 28px rgba(0,0,0,.55)}

.bsoc-ig,
.footer-socials a[aria-label*="Instagram"]{
  background:radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
  border-color:transparent;
}
.bsoc-ig:hover,
.footer-socials a[aria-label*="Instagram"]:hover{filter:saturate(1.2);box-shadow:0 12px 28px rgba(214,36,159,.55)}

.bsoc-wa,
.footer-socials a[aria-label*="WhatsApp"]{background:#25D366;border-color:#25D366}
.bsoc-wa:hover,
.footer-socials a[aria-label*="WhatsApp"]:hover{background:#1ebe5a;border-color:#1ebe5a;box-shadow:0 12px 28px rgba(37,211,102,.55)}

/* Copyright — white, larger, prominent */
.copyf{
  text-align:center;
  margin-top:70px;padding-top:28px;
  border-top:1px solid rgba(232,145,58,.2);
  font-size:15px;line-height:1.7;
  color:#fff;
  opacity:1;
  font-weight:500;
  position:relative;z-index:2;
}

@media (max-width:1024px){
  .site-footer .wrap{grid-template-columns:repeat(2,1fr);gap:40px}
  .footer-col-center{grid-column:1 / -1}
}
@media (max-width:640px){
  .site-footer .wrap{grid-template-columns:1fr}
  .footer-col-center{grid-column:auto}
  .copyf{font-size:13.5px;margin-top:50px}
}

/* ============ UTILITIES ============ */
.text-center{text-align:center}
.mt-0{margin-top:0}
.mb-0{margin-bottom:0}
.flex{display:flex}
.gap-14{gap:14px}
.wrap-flex{flex-wrap:wrap}

/* ============ RESPONSIVE ============ */
@media (max-width:1024px){
  .hero-wrap{grid-template-columns:1fr}
  .collage{height:440px;margin-top:30px}
  .welcome-wrap{grid-template-columns:1fr}
  .portrait{height:520px}
  .grid4{grid-template-columns:repeat(2,1fr)}
  .grid3{grid-template-columns:1fr}
  .with-sidebar{grid-template-columns:1fr}
  .site-footer .wrap{grid-template-columns:1fr 1fr}
  .main-nav{position:absolute;top:100%;left:0;right:0;background:var(--cream);padding:20px;display:none;border-bottom:1px solid #ead9b5}
  .main-nav.open{display:block}
  .main-nav ul{flex-direction:column;gap:12px}
  .menu-toggle{display:block;margin-left:auto}
  .section{padding:70px 0}
  .container,.container-narrow{padding:0 20px}
}
@media (max-width:640px){
  .grid4{grid-template-columns:1fr}
  .site-footer .wrap{grid-template-columns:1fr}
  .give-row{flex-direction:column;align-items:center}
  .page-hero,.hero{padding-left:20px;padding-right:20px}
}
