
:root{--purple:#5B2D8E;--purple-dark:#3D1C63;--purple-light:#7B45B0;--lime:#C8E100;--lime-dark:#A8BC00;--white:#FFFFFF;}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'DM Sans',sans-serif;background:var(--purple-dark);color:var(--white);overflow-x:hidden;}

/* ── NAVBAR ── */
nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:0.85rem 3rem;background:rgba(61,28,99,0.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(200,225,0,0.12);}
.nav-logo-img{width:44px;height:44px;border-radius:50%;object-fit:cover;cursor:pointer;}
.nav-plumbline{display:flex;align-items:center;justify-content:center;flex:1;}
.plumb-wrap{display:flex;flex-direction:column;align-items:center;}
.plumb-line{width:1.5px;height:0;background:linear-gradient(to bottom,rgba(200,225,0,0),rgba(200,225,0,0.9),rgba(200,225,0,0));animation:plumb-drop 2.2s ease-out forwards,plumb-pulse 2.5s 2.2s ease-in-out infinite;border-radius:2px;}
@keyframes plumb-drop{0%{height:0;opacity:0}30%{opacity:1}100%{height:28px;opacity:1}}
@keyframes plumb-pulse{0%,100%{opacity:0.5;height:28px}50%{opacity:1;height:32px}}
.plumb-bob{width:7px;height:10px;background:var(--lime);clip-path:polygon(50% 0%,100% 35%,100% 70%,50% 100%,0% 70%,0% 35%);animation:bob-appear 2.2s ease-out forwards,bob-sway 2.5s 2.2s ease-in-out infinite;opacity:0;transform-origin:top center;}
@keyframes bob-appear{0%,70%{opacity:0;transform:translateY(-4px)}100%{opacity:1;transform:translateY(0)}}
@keyframes bob-sway{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}
.plumb-label{font-size:0.6rem;letter-spacing:0.18em;text-transform:uppercase;color:rgba(200,225,0,0.55);margin-top:4px;font-weight:500;opacity:0;animation:label-fade 0.6s 2.4s ease forwards;}
@keyframes label-fade{to{opacity:1}}

/* ── NAV LINKS ── */
.nav-links{display:flex;gap:0;list-style:none;}
.nav-links li{position:relative;padding:0 0.75rem;}
.nav-links a{color:rgba(255,255,255,0.75);text-decoration:none;font-size:0.85rem;font-weight:500;position:relative;display:inline-block;cursor:pointer;transition:color 0.45s ease,font-size 0.45s cubic-bezier(0.34,1.2,0.64,1),font-weight 0.3s ease,opacity 0.4s ease,transform 0.5s cubic-bezier(0.34,1.1,0.64,1),letter-spacing 0.3s ease;transform:translateX(0px);opacity:1;}
.nav-links a::before{content:'';position:absolute;left:-10px;top:50%;transform:translateY(-50%) translateX(-6px);width:3px;height:0;background:var(--lime);border-radius:4px;transition:height 0.4s cubic-bezier(0.34,1.56,0.64,1),transform 0.4s cubic-bezier(0.34,1.56,0.64,1),opacity 0.35s ease;opacity:0;}
.nav-links a.nav-active{color:var(--lime);font-size:1rem;font-weight:700;letter-spacing:0.03em;transform:translateX(-10px);opacity:1;}
.nav-links a.nav-active::before{height:18px;opacity:1;transform:translateY(-50%) translateX(0);}
.nav-links a.nav-past{color:rgba(200,225,0,0.3);font-size:0.8rem;opacity:0.3;}
.nav-links a.nav-past::before{display:none;}
.nav-links a:not(.nav-active):not(.nav-past):hover{color:var(--lime);}
.nav-cta{background:var(--lime)!important;color:var(--purple-dark)!important;padding:0.45rem 1.1rem;border-radius:25px;font-weight:700!important;transform:none!important;opacity:1!important;font-size:0.85rem!important;}
.nav-cta:hover{background:var(--lime-dark)!important;}
.nav-cta::before{display:none!important;}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px;}
.hamburger span{display:block;width:24px;height:2px;background:var(--white);border-radius:2px;transition:all 0.3s;}
.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px);}

/* ── SHARED ── */
section{padding:5rem 2rem;}
.container{max-width:1100px;margin:0 auto;}
.section-label{font-size:0.75rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--lime);font-weight:600;margin-bottom:0.75rem;}
.section-title{font-family:'Playfair Display',serif;font-size:clamp(2rem,4vw,3rem);font-weight:700;line-height:1.15;margin-bottom:1.25rem;}
.section-desc{font-size:1.05rem;color:rgba(255,255,255,0.7);max-width:600px;line-height:1.75;}
.hl{color:var(--lime);}
.btn-primary{background:var(--lime);color:var(--purple-dark);padding:0.85rem 2rem;border-radius:30px;font-weight:700;font-size:0.95rem;text-decoration:none;border:none;cursor:pointer;transition:transform 0.2s,background 0.2s;display:inline-block;}
.btn-primary:hover{background:var(--lime-dark);transform:translateY(-2px);}
.btn-outline{background:transparent;color:var(--white);padding:0.85rem 2rem;border-radius:30px;font-weight:600;font-size:0.95rem;text-decoration:none;border:2px solid rgba(255,255,255,0.35);cursor:pointer;display:inline-block;transition:border-color 0.2s,transform 0.2s,color 0.2s;}
.btn-outline:hover{border-color:var(--lime);color:var(--lime);transform:translateY(-2px);}
.reveal{opacity:0;transform:translateY(28px);transition:opacity 0.7s ease,transform 0.7s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}

/* ── INNER PAGE HERO (Events / Gallery / Prayer) ── */
.section-hero{padding:7rem 2rem 3.5rem;text-align:center;background:radial-gradient(ellipse at 60% 40%,#7B3AB5 0%,#3D1C63 50%,#1A0B30 100%);position:relative;overflow:hidden;}
.section-hero-bg{position:absolute;inset:0;opacity:0.05;background-image:repeating-linear-gradient(0deg,transparent,transparent 49px,rgba(200,225,0,0.8) 50px),repeating-linear-gradient(90deg,transparent,transparent 49px,rgba(200,225,0,0.8) 50px);pointer-events:none;}
.section-hero h2{font-family:'Playfair Display',serif;font-size:clamp(2.2rem,5vw,4rem);font-weight:900;margin-bottom:0.85rem;}
.section-hero p{color:rgba(255,255,255,0.7);font-size:1.05rem;max-width:540px;margin:0 auto;line-height:1.7;}

/* ── HERO ── */
.hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:6rem 2rem 4rem;position:relative;overflow:hidden;background:radial-gradient(ellipse at 60% 40%,#7B3AB5 0%,#3D1C63 50%,#1A0B30 100%);}
.hero-bg-lines{position:absolute;inset:0;pointer-events:none;opacity:0.07;background-image:repeating-linear-gradient(0deg,transparent,transparent 49px,rgba(200,225,0,0.8) 50px),repeating-linear-gradient(90deg,transparent,transparent 49px,rgba(200,225,0,0.8) 50px);}
.hero-plumb{position:absolute;top:8%;left:50%;transform:translateX(-50%);width:2px;height:80px;background:linear-gradient(to bottom,rgba(200,225,0,0.8),transparent);animation:plumb-swing 3s ease-in-out infinite;}
.hero-plumb::after{content:'';position:absolute;bottom:-10px;left:50%;transform:translateX(-50%);width:14px;height:14px;border-radius:50%;background:var(--lime);}
@keyframes plumb-swing{0%,100%{transform:translateX(-50%) rotate(-3deg)}50%{transform:translateX(-50%) rotate(3deg)}}
.hero-eyebrow{font-size:0.8rem;font-weight:600;letter-spacing:0.3em;color:var(--lime);text-transform:uppercase;margin-bottom:1.5rem;animation:fadeUp 0.8s ease both;}
.hero h1{font-family:'Playfair Display',serif;font-size:clamp(3rem,7vw,6rem);font-weight:900;line-height:1.05;margin-bottom:1.5rem;animation:fadeUp 0.8s 0.2s ease both;}
.hero-sub{font-size:1.15rem;font-weight:300;color:rgba(255,255,255,0.75);max-width:600px;line-height:1.7;margin-bottom:2.5rem;animation:fadeUp 0.8s 0.4s ease both;}
.hero-btns{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;animation:fadeUp 0.8s 0.6s ease both;}
.hero-scripture{margin-top:4rem;font-size:0.85rem;font-style:italic;color:rgba(255,255,255,0.4);animation:fadeUp 0.8s 0.8s ease both;}
@keyframes fadeUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}

/* ── ABOUT ── */
.about{background:var(--purple-dark);}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;margin-top:3rem;}
.about-text p{color:rgba(255,255,255,0.75);line-height:1.8;margin-bottom:1.25rem;}
.about-card{background:rgba(200,225,0,0.08);border:1px solid rgba(200,225,0,0.25);border-radius:20px;padding:2.5rem;text-align:center;}
.about-logo{width:130px;height:130px;border-radius:50%;object-fit:cover;margin:0 auto 1.5rem;display:block;box-shadow:0 0 40px rgba(200,225,0,0.25);}
.scripture-ref{font-family:'Playfair Display',serif;font-size:1.4rem;color:var(--lime);font-weight:700;margin-bottom:0.5rem;}
.scripture-text{font-size:0.9rem;color:rgba(255,255,255,0.6);font-style:italic;line-height:1.6;}

/* ── VISION ── */
.vision-banner{background:var(--lime);padding:4rem 2rem;text-align:center;}
.vision-banner .section-label{color:var(--purple);}
.vision-banner .section-title{color:var(--purple-dark);max-width:800px;margin:0 auto 1rem;}
.vision-banner p{color:rgba(61,28,99,0.8);font-size:1.1rem;max-width:600px;margin:0 auto;}

/* ── PROCESS ── */
.process{background:#1A0B30;}
.process-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-top:3rem;}
.process-card{background:rgba(255,255,255,0.04);border:1px solid rgba(200,225,0,0.15);border-radius:16px;padding:1.75rem;transition:border-color 0.3s,transform 0.3s;position:relative;overflow:hidden;}
.process-card:hover{border-color:rgba(200,225,0,0.5);transform:translateY(-4px);}
.process-number{font-family:'Playfair Display',serif;font-size:3rem;font-weight:900;color:rgba(200,225,0,0.1);position:absolute;top:1rem;right:1.25rem;line-height:1;}
.process-card h3{font-size:1rem;font-weight:600;color:var(--lime);margin-bottom:0.75rem;text-transform:uppercase;letter-spacing:0.05em;}
.process-card p{font-size:0.92rem;color:rgba(255,255,255,0.65);line-height:1.7;}

/* ── INITIATIVES ── */
.initiatives{background:var(--purple-dark);}
.initiatives-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.75rem;margin-top:3rem;}
.initiative-card{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);border-radius:20px;padding:2rem;transition:all 0.3s;}
.initiative-card:hover{background:rgba(200,225,0,0.08);border-color:rgba(200,225,0,0.4);transform:translateY(-4px);}
.initiative-icon{width:50px;height:50px;border-radius:14px;background:rgba(200,225,0,0.15);display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;font-size:1.4rem;}
.initiative-card h3{font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:700;margin-bottom:0.75rem;}
.initiative-card p{font-size:0.9rem;color:rgba(255,255,255,0.6);line-height:1.7;}

/* ── LOGO STORY ── */
.logo-story{background:#1A0B30;}
.logo-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;}
.logo-story-text p{color:rgba(255,255,255,0.7);line-height:1.8;margin-bottom:1rem;}
.logo-display{display:flex;flex-direction:column;align-items:center;gap:1.5rem;}
.logo-big{width:180px;height:180px;border-radius:50%;object-fit:cover;box-shadow:0 0 60px rgba(200,225,0,0.3);border:3px solid rgba(200,225,0,0.35);}
.zech-ref{text-align:center;background:rgba(200,225,0,0.08);border:1px solid rgba(200,225,0,0.3);border-radius:12px;padding:1.25rem 2rem;}
.zech-ref .ref{font-family:'Playfair Display',serif;font-size:1.6rem;color:var(--lime);font-weight:700;}
.zech-ref .verse{font-size:0.85rem;color:rgba(255,255,255,0.6);font-style:italic;line-height:1.6;margin-top:0.5rem;}

/* ── EVENTS ── */
.events-section{background:var(--purple-dark);}
.filter-bar{display:flex;gap:0.75rem;flex-wrap:wrap;margin:2.5rem 0;}
.filter-btn{padding:0.5rem 1.25rem;border-radius:25px;border:1.5px solid rgba(200,225,0,0.35);background:transparent;color:rgba(255,255,255,0.75);font-family:'DM Sans',sans-serif;font-size:0.85rem;font-weight:500;cursor:pointer;transition:all 0.2s;}
.filter-btn:hover,.filter-btn.active{background:var(--lime);border-color:var(--lime);color:var(--purple-dark);font-weight:700;}
.events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.75rem;}
.event-card{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);border-radius:20px;overflow:hidden;transition:all 0.3s;display:flex;flex-direction:column;}
.event-card:hover{transform:translateY(-5px);border-color:rgba(200,225,0,0.4);box-shadow:0 12px 40px rgba(0,0,0,0.3);}
.event-header{padding:1.5rem 1.5rem 0;display:flex;justify-content:space-between;align-items:flex-start;}
.event-badge{font-size:0.7rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;padding:0.3rem 0.85rem;border-radius:20px;}
.badge-upcoming{background:rgba(200,225,0,0.15);color:var(--lime);border:1px solid rgba(200,225,0,0.35);}
.badge-past{background:rgba(255,255,255,0.08);color:rgba(255,255,255,0.5);border:1px solid rgba(255,255,255,0.15);}
.event-date-block{text-align:right;}
.event-day{font-family:'Playfair Display',serif;font-size:2rem;font-weight:900;color:var(--lime);line-height:1;}
.event-month{font-size:0.75rem;color:rgba(255,255,255,0.5);text-transform:uppercase;letter-spacing:0.1em;}
.event-body{padding:1.25rem 1.5rem;flex:1;}
.event-body h3{font-family:'Playfair Display',serif;font-size:1.25rem;font-weight:700;margin-bottom:0.6rem;}
.event-meta{display:flex;gap:1rem;margin-bottom:0.9rem;flex-wrap:wrap;}
.event-meta span{font-size:0.82rem;color:rgba(255,255,255,0.55);}
.event-body p{font-size:0.9rem;color:rgba(255,255,255,0.65);line-height:1.7;}
.event-footer{padding:1rem 1.5rem 1.5rem;}
.btn-past{width:100%;text-align:center;font-size:0.9rem;padding:0.75rem;background:transparent;border:1.5px solid rgba(255,255,255,0.2);color:rgba(255,255,255,0.5);border-radius:30px;cursor:default;display:block;}

/* ── GALLERY ── */
.gallery-section{background:#1A0B30;}
.gallery-grid{columns:3 260px;gap:1rem;margin-top:1rem;}
.gallery-item{break-inside:avoid;margin-bottom:1rem;position:relative;border-radius:14px;overflow:hidden;cursor:pointer;}
.gallery-thumb{width:100%;display:block;transition:transform 0.45s ease;border-radius:14px;}
.gallery-item:hover .gallery-thumb{transform:scale(1.06);}
.gallery-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(40,10,80,0.88) 0%,transparent 60%);opacity:0;transition:opacity 0.35s;border-radius:14px;display:flex;flex-direction:column;justify-content:flex-end;padding:1.1rem;}
.gallery-item:hover .gallery-overlay{opacity:1;}
.gallery-overlay span{font-size:0.78rem;font-weight:700;color:var(--lime);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:0.2rem;}
.gallery-overlay p{font-size:0.9rem;color:rgba(255,255,255,0.9);font-weight:500;}
.upload-note{margin-top:3rem;padding:1.5rem 2rem;background:rgba(200,225,0,0.06);border:1px dashed rgba(200,225,0,0.25);border-radius:14px;text-align:center;color:rgba(255,255,255,0.5);font-size:0.9rem;line-height:1.7;}
.upload-note strong{color:var(--lime);}

/* ── LIGHTBOX ── */
.lightbox{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:rgba(10,3,25,0);pointer-events:none;transition:background 0.4s ease;}
.lightbox.active{background:rgba(10,3,25,0.95);pointer-events:all;}
.lb-inner{position:relative;max-width:88vw;max-height:88vh;opacity:0;transform:scale(0.82) translateY(30px);transition:opacity 0.4s cubic-bezier(0.34,1.4,0.64,1),transform 0.4s cubic-bezier(0.34,1.4,0.64,1);}
.lightbox.active .lb-inner{opacity:1;transform:scale(1) translateY(0);}
.lb-media{max-width:88vw;max-height:76vh;border-radius:18px;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.lb-close{position:absolute;top:-16px;right:-16px;width:38px;height:38px;border-radius:50%;background:var(--lime);border:none;cursor:pointer;font-size:1.1rem;color:var(--purple-dark);font-weight:700;display:flex;align-items:center;justify-content:center;transition:transform 0.25s,background 0.2s;}
.lb-close:hover{transform:scale(1.15) rotate(90deg);background:var(--lime-dark);}
.lb-prev,.lb-next{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,0.1);border:1.5px solid rgba(255,255,255,0.2);color:var(--white);font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.2s;backdrop-filter:blur(8px);}
.lb-prev{left:-60px;}.lb-next{right:-60px;}
.lb-prev:hover,.lb-next:hover{background:var(--lime);border-color:var(--lime);color:var(--purple-dark);}
.lb-caption{text-align:center;margin-top:1rem;}
.lb-caption span{font-size:0.78rem;color:var(--lime);text-transform:uppercase;letter-spacing:0.1em;display:block;margin-bottom:0.2rem;}
.lb-caption p{color:rgba(255,255,255,0.8);font-size:0.95rem;}

/* ── PRAYER ── */
.prayer-section{background:var(--purple-dark);}
.prayer-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:4rem;align-items:start;margin-top:3rem;}
.prayer-info p{color:rgba(255,255,255,0.7);line-height:1.8;margin-bottom:1.25rem;font-size:0.97rem;}
.prayer-promises{display:flex;flex-direction:column;gap:1rem;margin-top:2rem;}
.promise-card{background:rgba(200,225,0,0.07);border-left:3px solid var(--lime);border-radius:0 12px 12px 0;padding:1rem 1.25rem;}
.promise-card .ref{font-size:0.75rem;color:var(--lime);font-weight:700;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:0.35rem;}
.promise-card p{font-size:0.88rem;color:rgba(255,255,255,0.7);font-style:italic;line-height:1.6;margin:0;}
.prayer-form-wrap{background:rgba(255,255,255,0.04);border:1px solid rgba(200,225,0,0.15);border-radius:24px;padding:2.5rem;}
.prayer-form-wrap h3{font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:700;margin-bottom:0.5rem;}
.prayer-form-wrap .sub{font-size:0.9rem;color:rgba(255,255,255,0.55);margin-bottom:2rem;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:1.25rem;}
.form-group{display:flex;flex-direction:column;gap:0.45rem;margin-bottom:1.25rem;}
.form-group label{font-size:0.82rem;font-weight:600;color:rgba(255,255,255,0.7);text-transform:uppercase;letter-spacing:0.08em;}
.form-group input,.form-group select,.form-group textarea{background:rgba(255,255,255,0.07);border:1.5px solid rgba(255,255,255,0.12);border-radius:12px;padding:0.85rem 1.1rem;color:var(--white);font-family:'DM Sans',sans-serif;font-size:0.95rem;outline:none;transition:border-color 0.25s,background 0.25s;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--lime);background:rgba(200,225,0,0.06);}
.form-group input::placeholder,.form-group textarea::placeholder{color:rgba(255,255,255,0.3);}
.form-group select option{background:#3D1C63;color:var(--white);}
.form-group textarea{resize:vertical;min-height:130px;line-height:1.6;}
.form-group select{appearance:none;cursor:pointer;}
.privacy-note{display:flex;align-items:flex-start;gap:0.75rem;background:rgba(200,225,0,0.06);border:1px solid rgba(200,225,0,0.2);border-radius:12px;padding:1rem 1.25rem;margin-bottom:1.75rem;}
.privacy-note .icon{font-size:1.1rem;flex-shrink:0;margin-top:0.1rem;}
.privacy-note p{font-size:0.84rem;color:rgba(255,255,255,0.6);line-height:1.6;margin:0;}
.privacy-note strong{color:var(--lime);}
.anon-check{display:flex;align-items:center;gap:0.75rem;margin-bottom:1.5rem;cursor:pointer;}
.anon-check input{width:18px;height:18px;accent-color:var(--lime);cursor:pointer;}
.anon-check span{font-size:0.88rem;color:rgba(255,255,255,0.65);}
.submit-btn{width:100%;padding:1rem;background:var(--lime);color:var(--purple-dark);border:none;border-radius:50px;font-family:'DM Sans',sans-serif;font-size:1rem;font-weight:700;cursor:pointer;transition:background 0.2s,transform 0.2s;}
.submit-btn:hover{background:var(--lime-dark);transform:translateY(-2px);}
.success-msg{display:none;text-align:center;padding:3rem 2rem;}
.success-msg .check-circle{width:70px;height:70px;border-radius:50%;background:rgba(200,225,0,0.15);border:2px solid var(--lime);display:flex;align-items:center;justify-content:center;font-size:2rem;margin:0 auto 1.5rem;animation:pop 0.5s cubic-bezier(0.34,1.56,0.64,1);}
@keyframes pop{from{transform:scale(0)}to{transform:scale(1)}}
.success-msg h3{font-family:'Playfair Display',serif;font-size:1.8rem;margin-bottom:0.75rem;}
.success-msg p{color:rgba(255,255,255,0.65);line-height:1.7;margin-bottom:1.5rem;}

/* ── JOIN ── */
.join{background:var(--lime);padding:5rem 2rem;text-align:center;}
.join .section-label{color:var(--purple);}
.join .section-title{color:var(--purple-dark);}
.join p{color:rgba(61,28,99,0.75);max-width:500px;margin:0 auto 2rem;font-size:1.05rem;line-height:1.7;}
.join-email-wrap {
    margin: 2.25rem auto 2.5rem;
}
.join-email-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    background: var(--purple);
    color: var(--white);
    padding: 0.95rem 2.25rem;
    border-radius: 50px;
    font-weight: 700;
    font-size: 1.05rem;
    text-decoration: none;
    box-shadow: 0 6px 20px rgba(61, 28, 99, 0.2);
    transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.join-email-btn:hover {
    background: var(--purple-dark);
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(61, 28, 99, 0.35);
}
.join-email-btn .icon {
    font-size: 1.2rem;
}

/* ── JOIN SOCIALS ── */
.join-socials {
    margin-top: 2.75rem;
}
.join-socials-label {
    font-size: 0.82rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--purple-dark);
    margin-bottom: 1rem !important;
}
.join-social-icons {
    display: flex;
    justify-content: center;
    gap: 1.25rem;
}
.join-social-icons .social-icon {
    background: var(--purple);
    color: var(--white);
    border: 1.5px solid var(--purple);
}
.join-social-icons .social-icon:hover {
    background: var(--purple-dark);
    color: var(--white);
    border-color: var(--purple-dark);
    transform: translateY(-4px);
    box-shadow: 0 8px 20px rgba(61, 28, 99, 0.3);
}

/* ── JOIN GRID / TEAMS ── */
.join-grid {
    display: grid;
    grid-template-columns: 1fr 1.3fr 1fr;
    gap: 3rem;
    align-items: start;
    max-width: 1200px;
    margin: 0 auto;
}
.join-col {
    width: 100%;
}
.team-col {
    background: rgba(61, 28, 99, 0.04);
    border: 1px dashed rgba(61, 28, 99, 0.2);
    border-radius: 20px;
    padding: 2.25rem 1.75rem;
    text-align: left;
}
.team-col h3 {
    font-family: 'Playfair Display', serif;
    font-size: 1.35rem;
    color: var(--purple-dark);
    margin-bottom: 1.25rem;
    border-bottom: 1.5px solid rgba(61, 28, 99, 0.15);
    padding-bottom: 0.5rem;
    text-align: center;
}
.team-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    padding: 0;
}
.team-list li {
    font-size: 0.95rem;
    color: var(--purple-dark);
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.team-list li::before {
    content: '❖';
    color: var(--purple);
    font-size: 0.75rem;
}
.team-list li:hover {
    transform: translateX(5px);
}

@media (max-width: 1024px) {
    .join-grid {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }
    .team-col {
        max-width: 450px;
        margin: 0 auto;
    }
    .contact-col {
        order: -1; /* Keep contact details at the top when stacked on tablet/mobile */
        margin-bottom: 1rem;
    }
}

/* ── FOOTER ── */
footer{background:#0F0620;padding:3rem 2rem;text-align:center;border-top:1px solid rgba(200,225,0,0.1);}
.footer-inner{max-width:1100px;margin:0 auto;}
.footer-logo-img{width:65px;height:65px;border-radius:50%;object-fit:cover;margin:0 auto 1.25rem;display:block;cursor:pointer;}
.footer-links{display:flex;gap:2rem;justify-content:center;list-style:none;margin-bottom:1.5rem;flex-wrap:wrap;}
.footer-links a{color:rgba(255,255,255,0.5);text-decoration:none;font-size:0.88rem;transition:color 0.2s;cursor:pointer;}
.footer-links a:hover{color:var(--lime);}
.footer-scripture{font-style:italic;font-size:0.85rem;color:rgba(255,255,255,0.3);margin-bottom:0.75rem;}
.footer-copy{font-size:0.78rem;color:rgba(255,255,255,0.2);}

/* ── FOOTER SOCIALS ── */
.footer-socials {
    display: flex;
    justify-content: center;
    gap: 1.25rem;
    margin: 1.5rem 0 1.75rem;
}
.social-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.05);
    color: rgba(255, 255, 255, 0.55);
    border: 1px solid rgba(255, 255, 255, 0.1);
    transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.social-icon svg {
    width: 20px;
    height: 20px;
    transition: transform 0.35s ease;
}
.social-icon:hover {
    color: var(--purple-dark);
    background: var(--lime);
    border-color: var(--lime);
    transform: translateY(-4px);
    box-shadow: 0 8px 20px rgba(200, 225, 0, 0.35);
}
.social-icon:hover svg {
    transform: scale(1.15);
}

/* ── STICKY SOCIAL SIDEBAR ── */
.sticky-social-bar {
    position: fixed;
    left: 1.5rem;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    z-index: 150;
    transition: opacity 0.4s ease, transform 0.4s ease; /* Enables smooth transitions when fading/sliding */
}
.sticky-social-bar.sidebar-hidden {
    opacity: 0;
    pointer-events: none;
    transform: translateY(-50%) translateX(-25px); /* Slides smoothly off-screen to the left */
}
.sticky-social-bar .social-icon {
    background: rgba(15, 6, 32, 0.7);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(200, 225, 0, 0.2);
    color: var(--white);
}
.sticky-social-bar .social-icon:hover {
    color: var(--purple-dark);
    background: var(--lime);
    border-color: var(--lime);
    transform: translateX(6px); /* Slides slightly inwards to respond to left-hand docking */
}

/* ── RESPONSIVE ── */
@media(max-width:900px){.prayer-grid{grid-template-columns:1fr;gap:2.5rem;}.form-row{grid-template-columns:1fr;}}
@media(max-width:768px){
  nav{padding:0.85rem 1.25rem;}
  .nav-links{display:none;flex-direction:column;position:fixed;top:70px;left:0;right:0;background:rgba(40,15,75,0.98);padding:1.5rem 2rem;gap:0.25rem;border-bottom:1px solid rgba(200,225,0,0.15);z-index:199;}
  .nav-links.open{display:flex;}
  .nav-links li{padding:0.6rem 0;}
  .nav-plumbline{display:none;}
  .hamburger{display:flex;}
  .about-grid,.logo-story-grid{grid-template-columns:1fr;gap:2rem;}
  .join-form{flex-direction:column;border-radius:16px;}
  .join-btn{border-radius:0 0 14px 14px;}
  .join-input{border-radius:14px 14px 0 0;}
  .gallery-grid{columns:2 160px;}
  .lb-prev{left:-44px;}.lb-next{right:-44px;}
  .sticky-social-bar{display:none;}
}
@media(max-width:480px){.gallery-grid{columns:1;}.lb-prev,.lb-next{display:none;}}
