:root {
  --purple: #4B0082;
  --purple-light: #7B2FBE;
  --purple-deep: #1E0042;
  --purple-mid: #3A006F;
  --gold: #C9A84C;
  --gold-light: #F0D080;
  --gold-bright: #FFD700;
  --black: #07070F;
  --black-soft: #12122A;
  --white: #FDFAF4;
  --text-light: #E8E0D0;
  --text-muted: #9A8E7A;
  --success: #2D7A4F;
  --error: #8B1A1A;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Montserrat',sans-serif;background:var(--black);color:var(--white);overflow-x:hidden;}

/* SHAPES */
.shape-blob{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;}
.shape-ring{position:absolute;border-radius:50%;border:1px solid rgba(201,168,76,0.15);pointer-events:none;}
.shape-diamond{position:absolute;border:1px solid rgba(201,168,76,0.18);transform:rotate(45deg);pointer-events:none;}

/* PARTICLES */
#particles{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden;}
.particle{position:absolute;border-radius:50%;animation:floatUp linear infinite;opacity:0;}
@keyframes floatUp{0%{transform:translateY(110vh) rotate(0deg);opacity:0;}8%{opacity:1;}92%{opacity:.5;}100%{transform:translateY(-10vh) rotate(720deg);opacity:0;}}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:0 6%;height:80px;background:rgba(7,7,15,0.7);backdrop-filter:blur(24px);border-bottom:1px solid rgba(201,168,76,0.18);transition:all 0.4s;}
nav.scrolled{height:64px;background:rgba(7,7,15,0.96);box-shadow:0 2px 40px rgba(75,0,130,0.3),0 0 0 1px rgba(201,168,76,0.12);}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;}
.logo-emblem{width:50px;height:50px;flex-shrink:0;}
.logo-emblem svg{width:100%;height:100%;}
.logo-text .line1{font-family:'Playfair Display',serif;font-size:.85rem;font-weight:700;color:var(--gold);letter-spacing:.12em;text-transform:uppercase;}
.logo-text .line2{font-family:'Cormorant Garamond',serif;font-size:.68rem;color:var(--text-muted);letter-spacing:.06em;}
.nav-links{display:flex;align-items:center;gap:2rem;list-style:none;}
.nav-links a{font-size:.72rem;font-weight:600;color:var(--text-light);text-decoration:none;letter-spacing:.12em;text-transform:uppercase;position:relative;transition:color .3s;}
.nav-links a::after{content:'';position:absolute;bottom:-5px;left:0;right:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s;}
.nav-links a:hover,.nav-links a.active{color:var(--gold);}
.nav-links a:hover::after,.nav-links a.active::after{transform:scaleX(1);}
.nav-cta{background:linear-gradient(135deg,var(--gold),var(--gold-light)) !important;color:var(--black) !important;padding:.6rem 1.4rem !important;border-radius:3px;font-weight:800 !important;box-shadow:0 0 0 1px rgba(201,168,76,.4),0 4px 20px rgba(201,168,76,.25);transition:all .3s !important;}
.nav-cta:hover{box-shadow:0 0 30px rgba(201,168,76,.6) !important;transform:translateY(-2px) !important;}
.nav-cta::after{display:none !important;}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;}
.hamburger span{display:block;width:26px;height:2px;background:var(--gold);transition:all .3s;}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.mobile-menu{display:none;position:fixed;top:80px;left:0;right:0;background:rgba(7,7,15,.98);backdrop-filter:blur(24px);border-bottom:1px solid rgba(201,168,76,.2);padding:2rem 6%;z-index:999;flex-direction:column;gap:1.5rem;}
.mobile-menu.open{display:flex;}
.mobile-menu a{font-size:.85rem;font-weight:600;color:var(--text-light);text-decoration:none;letter-spacing:.1em;text-transform:uppercase;padding:.5rem 0;border-bottom:1px solid rgba(201,168,76,.1);transition:color .3s;}
.mobile-menu a:hover{color:var(--gold);}
.mobile-menu .mob-cta{background:linear-gradient(135deg,var(--gold),var(--gold-light));color:var(--black) !important;padding:1rem 1.5rem !important;text-align:center;border-radius:3px;border-bottom:none !important;font-weight:800 !important;}

/* PAGE HERO */
.page-hero{min-height:60vh;display:flex;align-items:center;justify-content:center;position:relative;text-align:center;padding:120px 5% 80px;overflow:hidden;}
.ph-bg{position:absolute;inset:0;background:radial-gradient(ellipse 100% 80% at 50% 0%,rgba(75,0,130,.8) 0%,transparent 70%),radial-gradient(ellipse 60% 50% at 80% 100%,rgba(201,168,76,.15) 0%,transparent 60%),linear-gradient(180deg,#07070F 0%,#1E0042 50%,#07070F 100%);}
.ph-rays{position:absolute;inset:0;background:repeating-conic-gradient(from 0deg at 50% 50%,transparent 0deg,rgba(201,168,76,.03) 1deg,transparent 2deg);}
.ph-ring-1{width:600px;height:600px;top:50%;left:50%;transform:translate(-50%,-50%);border:1px solid rgba(201,168,76,.07);animation:spinSlow 40s linear infinite;}
.ph-ring-2{width:400px;height:400px;top:50%;left:50%;transform:translate(-50%,-50%);border:1px solid rgba(201,168,76,.1);animation:spinSlow 25s linear infinite reverse;}
.ph-d1{width:500px;height:500px;background:radial-gradient(circle,rgba(75,0,130,.45),transparent 70%);top:-150px;left:-150px;}
.ph-d2{width:350px;height:350px;background:radial-gradient(circle,rgba(201,168,76,.15),transparent 70%);bottom:-80px;right:-80px;}
.ph-content{position:relative;z-index:5;max-width:800px;}
.ph-breadcrumb{display:inline-flex;align-items:center;gap:8px;margin-bottom:1.5rem;animation:fadeDown .8s ease both;}
.ph-breadcrumb a{font-size:.65rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);text-decoration:none;transition:color .3s;}
.ph-breadcrumb a:hover{color:var(--gold);}
.ph-breadcrumb span{color:var(--text-muted);font-size:.65rem;}
.ph-breadcrumb strong{font-size:.65rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);}
.ph-tag{display:inline-flex;align-items:center;gap:10px;background:rgba(201,168,76,.1);border:1px solid rgba(201,168,76,.4);backdrop-filter:blur(10px);padding:.5rem 1.6rem;border-radius:50px;margin-bottom:1.8rem;animation:fadeDown .8s .1s ease both;}
.ph-tag span{font-size:.65rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-light);}
.tag-dot{width:6px;height:6px;background:var(--gold);border-radius:50%;animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.6;transform:scale(1.4);}}
.ph-title{font-family:'Playfair Display',serif;font-size:clamp(2.5rem,7vw,5rem);font-weight:900;line-height:1.05;margin-bottom:1.5rem;animation:fadeUp 1s .2s ease both;}
.ph-title em{font-style:italic;color:var(--gold-light);}
.ph-sub{font-size:clamp(.9rem,2vw,1.05rem);font-weight:300;color:var(--text-light);line-height:1.85;max-width:640px;margin:0 auto 2.5rem;animation:fadeUp 1s .4s ease both;}
.ph-cta-wrap{animation:fadeUp 1s .6s ease both;}

/* SCROLL INDICATOR */
.scroll-ind{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;z-index:5;}
.scroll-ind span{font-size:.55rem;letter-spacing:.25em;text-transform:uppercase;color:var(--text-muted);}
.scroll-line{width:1px;height:46px;background:linear-gradient(to bottom,var(--gold),transparent);animation:scrollPulse 2s ease-in-out infinite;}
@keyframes scrollPulse{0%,100%{opacity:1;}50%{opacity:.3;}}

/* SECTION BASE */
section{position:relative;z-index:1;}
.section-inner{max-width:1200px;margin:0 auto;padding:100px 5%;}
.section-tag{display:inline-flex;align-items:center;gap:10px;margin-bottom:1.2rem;}
.section-tag-line{width:40px;height:1px;background:linear-gradient(90deg,transparent,var(--gold));}
.section-tag-line.rev{background:linear-gradient(90deg,var(--gold),transparent);}
.section-tag span{font-size:.62rem;font-weight:800;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);}
.section-title{font-family:'Playfair Display',serif;font-size:clamp(2rem,5vw,3.5rem);font-weight:700;line-height:1.15;margin-bottom:1.4rem;}
.section-title .accent{color:var(--gold-light);font-style:italic;}
.section-body{font-size:.98rem;font-weight:300;line-height:1.9;color:var(--text-light);}
.gold-divider{width:60px;height:2px;background:linear-gradient(90deg,var(--gold),transparent);margin:1.5rem 0;}

/* BUTTONS */
.btn-primary{background:linear-gradient(135deg,var(--gold),var(--gold-light));color:var(--black);padding:1rem 2.5rem;border:none;border-radius:3px;font-size:.78rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;text-decoration:none;display:inline-block;transition:all .3s;box-shadow:0 4px 25px rgba(201,168,76,.35),0 0 0 1px rgba(201,168,76,.4);}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 10px 40px rgba(201,168,76,.55);}
.btn-outline{background:transparent;color:var(--gold-light);padding:1rem 2.5rem;border:1px solid rgba(201,168,76,.4);border-radius:3px;font-size:.78rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;text-decoration:none;display:inline-block;transition:all .3s;}
.btn-outline:hover{background:rgba(201,168,76,.1);border-color:var(--gold);transform:translateY(-3px);}

/* ABOUT CRUSADE */
#about-crusade{overflow:hidden;background:linear-gradient(180deg,#07070F 0%,#0F0028 55%,#07070F 100%);}
.ac-d1{width:600px;height:600px;background:radial-gradient(circle,rgba(75,0,130,.35),transparent 70%);top:-150px;right:-200px;}
.ac-d2{width:350px;height:350px;background:radial-gradient(circle,rgba(201,168,76,.12),transparent 70%);bottom:0;left:-100px;}
.about-crusade-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;position:relative;z-index:1;}
.ac-visual{display:flex;flex-direction:column;gap:1.5rem;}
.ac-stat-box{background:linear-gradient(135deg,rgba(75,0,130,.4),rgba(201,168,76,.06));border:1px solid rgba(201,168,76,.2);border-radius:12px;padding:2.5rem;position:relative;overflow:hidden;}
.ac-stat-box::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--purple-light),var(--gold),transparent);}
.ac-stat-box .big-num{font-family:'Playfair Display',serif;font-size:4.5rem;font-weight:900;background:linear-gradient(135deg,var(--gold-bright),var(--gold-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;display:block;}
.ac-stat-box .big-label{font-size:.65rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);display:block;margin-top:.3rem;}
.ac-stat-box p{font-size:.83rem;font-weight:300;color:var(--text-muted);line-height:1.7;margin-top:.8rem;}
.ac-info-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.ac-info-item{background:rgba(255,255,255,.025);border:1px solid rgba(201,168,76,.1);border-radius:8px;padding:1.4rem;text-align:center;transition:all .3s;}
.ac-info-item:hover{border-color:rgba(201,168,76,.3);background:rgba(75,0,130,.15);}
.ac-info-item .icon{font-size:1.6rem;display:block;margin-bottom:.6rem;filter:drop-shadow(0 0 8px rgba(201,168,76,.3));}
.ac-info-item .val{font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:900;color:var(--gold-light);display:block;line-height:1;}
.ac-info-item .lbl{font-size:.62rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);display:block;margin-top:.3rem;}
.why-list{display:flex;flex-direction:column;gap:1rem;margin-top:2rem;}
.why-item{display:flex;align-items:flex-start;gap:1.2rem;padding:1.1rem 1.4rem;background:linear-gradient(135deg,rgba(75,0,130,.15),rgba(201,168,76,.03));border:1px solid rgba(201,168,76,.1);border-radius:6px;transition:all .3s;position:relative;overflow:hidden;}
.why-item::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(to bottom,var(--purple-light),var(--gold));border-radius:6px 0 0 6px;}
.why-item:hover{border-color:rgba(201,168,76,.3);transform:translateX(5px);}
.why-icon{width:40px;height:40px;flex-shrink:0;background:linear-gradient(135deg,var(--purple),var(--purple-light));border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;border:1px solid rgba(201,168,76,.3);box-shadow:0 4px 15px rgba(75,0,130,.4);}
.why-text h4{font-size:.78rem;font-weight:700;color:var(--gold-light);margin-bottom:.3rem;}
.why-text p{font-size:.8rem;font-weight:300;color:var(--text-muted);line-height:1.6;}

/* FORMATS */
#formats{overflow:hidden;background:linear-gradient(160deg,#07070F 0%,#160040 50%,#07070F 100%);}
.fmt-d1{width:500px;height:500px;background:radial-gradient(circle,rgba(75,0,130,.3),transparent 70%);top:-100px;left:-150px;}
.fmt-d2{width:400px;height:400px;background:radial-gradient(circle,rgba(201,168,76,.1),transparent 70%);bottom:0;right:-100px;}
.formats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.8rem;position:relative;z-index:1;}
.format-card{background:linear-gradient(145deg,rgba(255,255,255,.025),rgba(75,0,130,.08));border:1px solid rgba(201,168,76,.12);border-radius:12px;padding:2.2rem;position:relative;overflow:hidden;transition:all .4s;}
.format-card::after{content:'';position:absolute;inset:0;border-radius:12px;background:linear-gradient(135deg,rgba(75,0,130,.25),rgba(201,168,76,.05));opacity:0;transition:opacity .4s;}
.format-card:hover{border-color:rgba(201,168,76,.3);transform:translateY(-8px);box-shadow:0 20px 50px rgba(75,0,130,.35);}
.format-card:hover::after{opacity:1;}
.format-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;border-radius:12px 12px 0 0;background:linear-gradient(90deg,var(--purple-light),var(--gold),transparent);}
.fc-icon{font-size:2.2rem;margin-bottom:1rem;display:block;position:relative;z-index:1;filter:drop-shadow(0 0 10px rgba(201,168,76,.3));}
.fc-title{font-family:'Playfair Display',serif;font-size:1.25rem;font-weight:700;color:var(--gold-light);margin-bottom:.6rem;position:relative;z-index:1;}
.fc-desc{font-size:.82rem;font-weight:300;color:var(--text-muted);line-height:1.7;position:relative;z-index:1;margin-bottom:1.2rem;}
.fc-meta{display:flex;flex-wrap:wrap;gap:.5rem;position:relative;z-index:1;}
.fc-badge{font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:.3rem .8rem;background:rgba(201,168,76,.1);border:1px solid rgba(201,168,76,.2);border-radius:50px;color:var(--gold-light);}

/* HOW IT WORKS */
#how-it-works{overflow:hidden;background:linear-gradient(180deg,#07070F 0%,#100030 55%,#07070F 100%);}
.hiw-d1{width:500px;height:500px;background:radial-gradient(circle,rgba(75,0,130,.35),transparent 70%);top:-100px;right:-150px;}
.steps-timeline{display:flex;flex-direction:column;gap:0;position:relative;z-index:1;max-width:760px;margin:3rem auto 0;}
.steps-timeline::before{content:'';position:absolute;left:38px;top:0;bottom:0;width:1px;background:linear-gradient(to bottom,transparent,var(--gold),rgba(201,168,76,.3),transparent);}
.timeline-step{display:flex;gap:2.5rem;position:relative;padding-bottom:3rem;}
.timeline-step:last-child{padding-bottom:0;}
.ts-num{width:76px;height:76px;flex-shrink:0;border-radius:50%;background:linear-gradient(135deg,var(--purple-deep),var(--purple-mid));border:2px solid rgba(201,168,76,.4);display:flex;align-items:center;justify-content:center;position:relative;z-index:2;box-shadow:0 0 0 6px rgba(75,0,130,.2),0 8px 30px rgba(75,0,130,.5);}
.ts-num span{font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:900;background:linear-gradient(135deg,var(--gold-bright),var(--gold-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.ts-content{padding-top:1rem;flex:1;}
.ts-content h3{font-family:'Playfair Display',serif;font-size:1.3rem;font-weight:700;color:var(--gold-light);margin-bottom:.5rem;}
.ts-content p{font-size:.85rem;font-weight:300;color:var(--text-muted);line-height:1.7;}
.ts-content .ts-tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.8rem;}
.ts-tag{font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.3rem .8rem;background:rgba(201,168,76,.08);border:1px solid rgba(201,168,76,.18);border-radius:50px;color:var(--gold);}

/* VIDEO SECTION */
#crusade-videos{overflow:hidden;background:linear-gradient(160deg,#07070F 0%,#1A0045 50%,#07070F 100%);}
.cv-d1{width:600px;height:600px;background:radial-gradient(circle,rgba(75,0,130,.4),transparent 70%);top:-150px;right:-150px;}
.cv-d2{width:400px;height:400px;background:radial-gradient(circle,rgba(201,168,76,.1),transparent 70%);bottom:0;left:-100px;}
.cv-dm1{width:100px;height:100px;top:15%;left:5%;border-color:rgba(201,168,76,.15);}

/* Gold corner brackets */
.vfc{position:absolute;width:28px;height:28px;z-index:5;pointer-events:none;}
.vfc.tl{top:-6px;left:-6px;border-top:2px solid var(--gold);border-left:2px solid var(--gold);}
.vfc.tr{top:-6px;right:-6px;border-top:2px solid var(--gold);border-right:2px solid var(--gold);}
.vfc.bl{bottom:-6px;left:-6px;border-bottom:2px solid var(--gold);border-left:2px solid var(--gold);}
.vfc.br{bottom:-6px;right:-6px;border-bottom:2px solid var(--gold);border-right:2px solid var(--gold);}

/* Plyr main player wrapper */
.video-main-frame{position:relative;max-width:900px;margin:0 auto 3rem;}
.plyr-wrap{border-radius:12px;overflow:hidden;box-shadow:0 0 0 1px rgba(201,168,76,.25),0 30px 80px rgba(75,0,130,.6),0 0 100px rgba(75,0,130,.25);}
/* Plyr colour overrides to match brand */
.plyr--video .plyr__control--overlaid{background:linear-gradient(135deg,var(--gold),var(--gold-light)) !important;}
.plyr--video .plyr__control--overlaid:hover{background:var(--gold-bright) !important;}
:root{--plyr-color-main:#C9A84C;--plyr-video-control-color:#F0D080;--plyr-video-control-background-hover:rgba(201,168,76,.25);--plyr-range-fill-background:#C9A84C;--plyr-video-progress-buffered-background:rgba(201,168,76,.25);}

/* ── Slick video slider ── */
.video-slider-wrap{position:relative;padding:0 40px;}
.video-slider .slick-slide{padding:0 8px;outline:none;}
.video-slider .slick-track{display:flex;align-items:stretch;}
.slick-prev,.slick-next{width:36px;height:36px;z-index:10;}
.slick-prev{left:0;}
.slick-next{right:0;}
.slick-prev::before,.slick-next::before{font-size:20px;color:var(--gold);opacity:1;}
.slick-prev:hover::before,.slick-next:hover::before{color:var(--gold-bright);}
/* Slick dots */
.video-slider .slick-dots{bottom:-30px;}
.video-slider .slick-dots li button::before{color:var(--gold);font-size:7px;opacity:.4;}
.video-slider .slick-dots li.slick-active button::before{color:var(--gold);opacity:1;}

/* Video slide card */
.vid-slide-card{border-radius:10px;overflow:hidden;position:relative;cursor:pointer;background:linear-gradient(135deg,#1A0040,#2D0060);aspect-ratio:16/9;transition:transform .3s,box-shadow .3s;}
.vid-slide-card:hover{transform:translateY(-5px);box-shadow:0 16px 40px rgba(75,0,130,.5);}
.vs-bg{position:absolute;inset:0;background:radial-gradient(ellipse 70% 70% at 50% 50%,rgba(75,0,130,.65),transparent),linear-gradient(135deg,#1A0040,#2D0060);}
.vs-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(201,168,76,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(201,168,76,.05) 1px,transparent 1px);background-size:40px 40px;}
.vs-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(7,7,15,.9) 0%,transparent 55%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem;}
.vs-play{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--gold-light));display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 10px rgba(201,168,76,.12),0 10px 30px rgba(201,168,76,.4);transition:transform .3s;}
.vid-slide-card:hover .vs-play{transform:scale(1.12);}
.vs-play svg{width:18px;height:18px;fill:var(--black);margin-left:3px;}
.vs-label{position:absolute;bottom:1rem;left:0;right:0;text-align:center;font-size:.65rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--gold-light);padding:0 .8rem;}
/* Border accent on each card */
.vid-slide-card::after{content:'';position:absolute;inset:0;border-radius:10px;border:1px solid rgba(201,168,76,.15);pointer-events:none;transition:border-color .3s;}
.vid-slide-card:hover::after{border-color:rgba(201,168,76,.4);}

/* GALLERY */
#crusade-gallery{overflow:hidden;background:linear-gradient(180deg,#07070F 0%,#0E0025 50%,#07070F 100%);}
.gal-d1{width:500px;height:500px;background:radial-gradient(circle,rgba(75,0,130,.3),transparent 70%);top:-100px;left:-150px;}
.gal-d2{width:400px;height:400px;background:radial-gradient(circle,rgba(201,168,76,.08),transparent 70%);bottom:0;right:-100px;}

/* Filter buttons */
.gallery-filter{display:flex;gap:.8rem;flex-wrap:wrap;margin-bottom:2.5rem;position:relative;z-index:1;}
.gf-btn{font-size:.65rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;padding:.55rem 1.3rem;border-radius:50px;border:1px solid rgba(201,168,76,.2);background:transparent;color:var(--text-muted);cursor:pointer;transition:all .3s;}
.gf-btn:hover,.gf-btn.active{background:linear-gradient(135deg,var(--gold),var(--gold-light));color:var(--black);border-color:transparent;box-shadow:0 4px 20px rgba(201,168,76,.35);}

/* Masonry gallery grid */
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:10px;position:relative;z-index:1;}
.gallery-grid .g-item:nth-child(1){grid-column:span 2;grid-row:span 2;}
.gallery-grid .g-item:nth-child(5){grid-column:span 2;}

/* Each item */
.g-item{border-radius:8px;overflow:hidden;position:relative;cursor:pointer;transition:transform .3s,box-shadow .3s;}
.g-item:hover{transform:scale(1.02);box-shadow:0 12px 40px rgba(75,0,130,.45);}
.g-item-inner{width:100%;height:100%;position:relative;overflow:hidden;}
.g-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s ease;}
.g-item:hover .g-img{transform:scale(1.07);}
/* Placeholder gradients for demo — replace with real <img> */
.g-ph-1{background:linear-gradient(135deg,#2D0060 0%,#4B0082 45%,#7B2FBE 100%);}
.g-ph-2{background:linear-gradient(135deg,#1A0040 0%,#6B2FA0 55%,#2D5A27 100%);}
.g-ph-3{background:linear-gradient(135deg,#4B0082 0%,#8B6914 100%),repeating-linear-gradient(45deg,rgba(201,168,76,.05) 0,rgba(201,168,76,.05) 1px,transparent 1px,transparent 20px);}
.g-ph-4{background:linear-gradient(135deg,#0D0025 0%,#7B2FBE 65%,#1A3A1A 100%);}
.g-ph-5{background:linear-gradient(135deg,#3A006F 0%,#C9A84C 100%);}
.g-ph-6{background:linear-gradient(160deg,#1E0042 0%,#4B0082 55%,#8B6914 100%);}
.g-ph-7{background:linear-gradient(135deg,#0A0018 0%,#7B2FBE 70%,#1A4A2A 100%);}
/* Caption overlay */
.g-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(7,7,15,.88) 0%,rgba(75,0,130,.25) 55%,transparent 100%);opacity:0;transition:opacity .35s;display:flex;align-items:flex-end;padding:1rem 1.1rem;pointer-events:none;}
.g-item:hover .g-overlay{opacity:1;}
.g-caption{font-size:.68rem;font-weight:600;letter-spacing:.1em;color:var(--gold-light);}
/* Small zoom-in icon badge */
.g-zoom-icon{position:absolute;top:.8rem;right:.8rem;width:30px;height:30px;border-radius:50%;background:rgba(201,168,76,.2);border:1px solid rgba(201,168,76,.4);display:flex;align-items:center;justify-content:center;font-size:.75rem;opacity:0;transition:opacity .3s;backdrop-filter:blur(6px);}
.g-item:hover .g-zoom-icon{opacity:1;}

/* GLightbox brand overrides */
.glightbox-clean .gclose,.glightbox-clean .gnext,.glightbox-clean .gprev{background-color:rgba(75,0,130,.8) !important;border:1px solid rgba(201,168,76,.3) !important;}
.glightbox-clean .gclose svg,.glightbox-clean .gnext svg,.glightbox-clean .gprev svg{fill:var(--gold) !important;}
.glightbox-clean .gdesc-inner{background:rgba(7,7,15,.92) !important;padding:1rem 1.4rem !important;}
.glightbox-clean .gslide-description{font-family:'Montserrat',sans-serif !important;font-size:.78rem !important;color:var(--gold-light) !important;letter-spacing:.05em !important;}

/* CTA BANNER */
#cta-banner{overflow:hidden;background:linear-gradient(135deg,var(--purple-deep) 0%,#240060 40%,#0D0028 70%,#07070F 100%);border-top:1px solid rgba(201,168,76,.15);border-bottom:1px solid rgba(201,168,76,.15);}
.cta-b-inner{max-width:900px;margin:0 auto;padding:90px 5%;text-align:center;position:relative;z-index:1;}
.cta-b-d1{width:600px;height:600px;background:radial-gradient(circle,rgba(75,0,130,.5),transparent 65%);top:-200px;left:-200px;}
.cta-b-d2{width:400px;height:400px;background:radial-gradient(circle,rgba(201,168,76,.12),transparent 70%);bottom:-100px;right:-100px;}
.cta-b-title{font-family:'Playfair Display',serif;font-size:clamp(2rem,5vw,3.5rem);font-weight:700;line-height:1.2;margin-bottom:1.2rem;}
.cta-b-title em{color:var(--gold-light);font-style:italic;}
.cta-b-sub{font-size:.95rem;font-weight:300;color:var(--text-light);line-height:1.85;max-width:620px;margin:0 auto 2.5rem;}
.cta-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}

/* FOOTER */
footer{background:#040410;border-top:1px solid rgba(201,168,76,.1);position:relative;z-index:1;overflow:hidden;}
.footer-top{padding:4rem 6% 3rem;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:3rem;border-bottom:1px solid rgba(201,168,76,.08);}
.footer-brand p{font-size:.82rem;font-weight:300;color:var(--text-muted);line-height:1.8;margin-top:1rem;max-width:280px;}
.footer-col-title{font-size:.65rem;font-weight:800;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:1.2rem;display:block;}
.footer-col a{display:block;font-size:.82rem;font-weight:300;color:var(--text-muted);text-decoration:none;margin-bottom:.7rem;transition:color .3s;}
.footer-col a:hover{color:var(--gold-light);}
.footer-bottom{padding:1.5rem 6%;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;}
.footer-copy{font-size:.72rem;font-weight:300;color:var(--text-muted);}
.footer-copy span{color:var(--gold);font-weight:600;}
.footer-social{display:flex;gap:1rem;}
.social-btn{width:36px;height:36px;border-radius:50%;border:1px solid rgba(201,168,76,.2);display:flex;align-items:center;justify-content:center;font-size:.85rem;color:var(--text-muted);text-decoration:none;transition:all .3s;}
.social-btn:hover{border-color:var(--gold);color:var(--gold);background:rgba(201,168,76,.1);}

/* MODAL */
.modal-overlay{position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center;padding:1.5rem;opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s;}
.modal-overlay.open{opacity:1;visibility:visible;}
.modal-backdrop{position:absolute;inset:0;background:rgba(7,7,15,.88);backdrop-filter:blur(16px);}
.modal{position:relative;z-index:1;width:100%;max-width:580px;max-height:90vh;overflow-y:auto;background:linear-gradient(145deg,#1A0040,#0D0028);border:1px solid rgba(201,168,76,.3);border-radius:16px;box-shadow:0 0 0 1px rgba(201,168,76,.15),0 40px 80px rgba(75,0,130,.7),0 0 120px rgba(75,0,130,.3);transform:translateY(30px) scale(.97);transition:transform .4s;}
.modal-overlay.open .modal{transform:translateY(0) scale(1);}
/* Scrollbar */
.modal::-webkit-scrollbar{width:4px;}
.modal::-webkit-scrollbar-track{background:transparent;}
.modal::-webkit-scrollbar-thumb{background:rgba(201,168,76,.3);border-radius:2px;}
.modal-top-bar{height:3px;background:linear-gradient(90deg,var(--purple-light),var(--gold),var(--purple-light));border-radius:16px 16px 0 0;}
.modal-header{padding:2.5rem 2.5rem 1.5rem;position:relative;}
.modal-close{position:absolute;top:1.5rem;right:1.5rem;width:36px;height:36px;border-radius:50%;border:1px solid rgba(201,168,76,.2);background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.1rem;transition:all .3s;}
.modal-close:hover{border-color:var(--gold);color:var(--gold);background:rgba(201,168,76,.08);}
.modal-icon{font-size:2.5rem;display:block;margin-bottom:1rem;filter:drop-shadow(0 0 15px rgba(201,168,76,.4));}
.modal-title{font-family:'Playfair Display',serif;font-size:1.8rem;font-weight:700;color:var(--white);margin-bottom:.5rem;}
.modal-subtitle{font-size:.78rem;font-weight:300;color:var(--text-muted);line-height:1.6;}
.modal-body{padding:0 2.5rem 2.5rem;}
.modal-form{display:flex;flex-direction:column;gap:1.2rem;}
.mf-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.mf-group{display:flex;flex-direction:column;gap:.5rem;}
.mf-group label{font-size:.6rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-light);}
.mf-group label .req{color:#ff6b6b;margin-left:2px;}
.mf-group input,.mf-group select,.mf-group textarea{background:rgba(255,255,255,.04);border:1px solid rgba(201,168,76,.15);border-radius:6px;padding:.9rem 1.1rem;color:var(--white);font-family:'Montserrat',sans-serif;font-size:.85rem;font-weight:300;outline:none;transition:all .3s;width:100%;}
.mf-group input:focus,.mf-group select:focus,.mf-group textarea:focus{border-color:rgba(201,168,76,.5);background:rgba(255,255,255,.07);box-shadow:0 0 0 3px rgba(201,168,76,.08);}
.mf-group input.error,.mf-group select.error{border-color:#e74c3c !important;background:rgba(231,76,60,.05) !important;}
.mf-group .field-error{font-size:.6rem;color:#e74c3c;font-weight:600;letter-spacing:.05em;margin-top:.2rem;display:none;}
.mf-group.has-error .field-error{display:block;}
.mf-group select option{background:#1A1A2E;}
.modal-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(201,168,76,.15),transparent);margin:.5rem 0;}
.modal-submit{width:100%;padding:1.1rem;border:none;border-radius:6px;background:linear-gradient(135deg,var(--gold),var(--gold-light));color:var(--black);font-family:'Montserrat',sans-serif;font-size:.78rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;transition:all .3s;box-shadow:0 4px 25px rgba(201,168,76,.35);display:flex;align-items:center;justify-content:center;gap:.6rem;margin-top:.5rem;}
.modal-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 35px rgba(201,168,76,.5);}
.modal-submit:disabled{opacity:.7;cursor:not-allowed;transform:none;}
.modal-submit .btn-spinner{width:16px;height:16px;border:2px solid rgba(0,0,0,.3);border-top-color:#000;border-radius:50%;animation:spin .7s linear infinite;display:none;}
.modal-submit.loading .btn-spinner{display:block;}
.modal-submit.loading .btn-text{opacity:.7;}
@keyframes spin{to{transform:rotate(360deg);}}
.modal-note{font-size:.68rem;color:var(--text-muted);text-align:center;margin-top:.8rem;line-height:1.6;}
.modal-note a{color:var(--gold);text-decoration:none;}

/* ANIMATIONS */
@keyframes fadeUp{from{opacity:0;transform:translateY(35px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeDown{from{opacity:0;transform:translateY(-20px);}to{opacity:1;transform:translateY(0);}}
@keyframes spinSlow{to{transform:translate(-50%,-50%) rotate(360deg);}}
.reveal{opacity:0;transform:translateY(40px);transition:opacity .85s ease,transform .85s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}

/* RESPONSIVE */
@media(max-width:900px){
  .nav-links{display:none;}.hamburger{display:flex;}
  .about-crusade-grid{grid-template-columns:1fr;gap:3rem;}
  .gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:180px;}
  .gallery-grid .g-item:nth-child(1){grid-column:span 2;grid-row:span 1;}
  .gallery-grid .g-item:nth-child(5){grid-column:span 1;}
  .footer-top{grid-template-columns:1fr;gap:2rem;}
  .mf-row{grid-template-columns:1fr;}
  .video-slider-wrap{padding:0 30px;}
}
@media(max-width:600px){
  .section-inner{padding:70px 5%;}
  .gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:160px;}
  .gallery-grid .g-item:nth-child(1){grid-column:span 2;grid-row:span 1;}
  .gallery-grid .g-item:nth-child(5){grid-column:span 2;}
  .modal{border-radius:12px;}
  .modal-header{padding:2rem 1.5rem 1rem;}
  .modal-body{padding:0 1.5rem 1.5rem;}
  .footer-bottom{flex-direction:column;text-align:center;}
  .video-slider-wrap{padding:0 24px;}
}

.swal2-container {
  z-index: 10000 !important;
}
