/* =======================================================
  Note: If you're going through this code: 
  This is the Grace Apostolic Ministries Int'l homepage css. I primarily built it around a 'cathedral' setting to make it truly feel more like an inviting website and a home for long-lasting fellowship, a unique church webpage. As the creator, I confirm that I did not entirely write this code on my own but got some sections assisted from external libraries and LLMs. I also confirm that this resource (code) is authentic to Grace Apostolic Ministries Int'l. I hope it goes through, amen. 
  =======================================================
  */
  
/* Grace Apostolic Ministries Int'l */
:root{
  --royal:#4169e1;
  --royal-2:#3158c9;
  --sapphire:#183f9d;
  --deep:#07184a;
  --deep-2:#0b2361;
  --midnight:#050f2d;
  --topaz:#ffc857;
  --topaz-soft:#ffe29a;
  --topaz-deep:#d99a16;
  --ivory:#fbf7ed;
  --parchment:#f1e8d5;
  --pearl:#fffdf8;
  --ink:#101b36;
  --muted:#61708f;
  --line:rgba(24,63,157,.14);
  --white:#fff;
  --shadow:0 30px 90px rgba(7,24,74,.16);
  --serif:"Cormorant Garamond", Georgia, serif;
  --sans:"DM Sans", system-ui, sans-serif;
  --max:1440px;
  --ease:cubic-bezier(.22,1,.36,1);
  --ease-soft:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;background:var(--midnight)}
body{font-family:var(--sans);color:var(--ink);background:var(--pearl);overflow-x:hidden}
body.menu-open{overflow:hidden}
::selection{background:var(--topaz);color:var(--deep)}
a{color:inherit;text-decoration:none}
button{font:inherit;border:0;background:none;color:inherit}
img{display:block;max-width:100%}

/* atmospheric grain */
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:9990;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E")}

/* PRELOADER */
.preloader{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,#173b8b 0,#0a215e 28%,#050f2d 72%);transition:opacity 1s var(--ease),visibility 1s var(--ease)}
.preloader::before,.preloader::after{content:"";position:absolute;inset:8%;border:1px solid rgba(255,200,87,.18);border-radius:50% 50% 4% 4% / 28% 28% 4% 4%;transform:scale(.96);animation:portalBreath 3.5s ease-in-out infinite}
.preloader::after{inset:14%;opacity:.5;animation-delay:.5s}
.preloader.hide{opacity:0;visibility:hidden}
.loader{text-align:center;color:var(--white);position:relative;z-index:2}
.loader-mark{width:92px;height:92px;margin:0 auto 22px;display:grid;place-items:center;border:1px solid rgba(255,200,87,.55);border-radius:50%;box-shadow:0 0 0 10px rgba(255,200,87,.04),0 20px 70px rgba(0,0,0,.35);animation:loaderBreath 2.8s ease-in-out infinite;background:rgba(5,15,45,.22)}
.loader-mark img{width:66px;height:66px;object-fit:contain}
.loader small{display:block;font-size:10px;letter-spacing:.34em;text-transform:uppercase;color:var(--topaz-soft)}
.loader-line{width:170px;height:1px;background:rgba(255,255,255,.12);margin:18px auto 0;overflow:hidden}
.loader-line span{display:block;width:35%;height:100%;background:linear-gradient(90deg,transparent,var(--topaz),transparent);animation:loadLine 1.7s ease-in-out infinite}

/* NAVIGATION */
.nav-shell{position:fixed;top:0;left:0;right:0;z-index:500;padding:18px 20px;transition:transform .8s var(--ease),padding .7s var(--ease)}
.nav-shell.scrolled{padding:10px 20px}
.nav{max-width:var(--max);margin:auto;display:flex;align-items:center;justify-content:space-between;padding:10px 12px 10px 16px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(5,15,45,.26);backdrop-filter:blur(18px) saturate(120%);box-shadow:0 15px 50px rgba(0,0,0,.12);color:#fff;transition:background .6s var(--ease),box-shadow .6s var(--ease),border-color .6s var(--ease)}
.nav-shell.scrolled .nav{background:rgba(7,24,74,.82);border-color:rgba(255,200,87,.16);box-shadow:0 18px 60px rgba(5,15,45,.22)}
.brand{display:flex;align-items:center;gap:11px;min-width:220px}
.brand-mark{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,200,87,.42);background:rgba(255,255,255,.06);box-shadow:0 0 0 5px rgba(255,200,87,.035)}
.brand-mark img{width:32px;height:32px;object-fit:contain}
.brand-copy{display:flex;flex-direction:column;line-height:1}
.brand-copy strong{font-family:var(--serif);font-size:20px;font-weight:600;letter-spacing:.01em}
.brand-copy small{font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.62);margin-top:5px}
.nav-links{display:flex;align-items:center;gap:4px}
.nav-links a{position:relative;padding:11px 13px;border-radius:999px;font-size:12px;color:rgba(255,255,255,.78);transition:color .35s ease,background .35s ease,transform .35s var(--ease)}
.nav-links a::after{content:"";position:absolute;left:50%;bottom:5px;width:0;height:1px;background:var(--topaz);transform:translateX(-50%);transition:width .45s var(--ease)}
.nav-links a:hover{color:#fff;background:rgba(255,255,255,.06);transform:translateY(-1px)}
.nav-links a:hover::after{width:16px}
.nav-links .give-link{color:var(--deep);background:var(--topaz);font-weight:700;padding-inline:17px;margin-left:5px;box-shadow:0 8px 24px rgba(255,200,87,.2)}
.nav-links .give-link:hover{background:#ffd875;color:var(--deep)}
.menu-toggle{display:none;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.16);place-items:center;cursor:pointer}
.menu-toggle span{width:17px;height:1px;background:#fff;display:block;margin:3px 0;transition:transform .45s var(--ease),opacity .3s ease}

/* HERO */
.hero{min-height:940px;position:relative;display:grid;grid-template-columns:minmax(0,1.03fr) minmax(460px,.97fr);align-items:center;gap:40px;padding:150px 6vw 90px;overflow:hidden;color:#fff;background:radial-gradient(circle at 72% 32%,rgba(65,105,225,.42),transparent 27%),radial-gradient(circle at 30% 65%,rgba(255,200,87,.09),transparent 25%),linear-gradient(135deg,#050f2d 0%,#07184a 42%,#102d77 100%)}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,200,87,.06),transparent 22%,transparent 74%,rgba(255,255,255,.03));pointer-events:none}
.hero::after{content:"";position:absolute;left:50%;top:-15%;width:46%;height:130%;transform:translateX(-50%) rotate(8deg);background:linear-gradient(90deg,transparent,rgba(255,226,154,.11),transparent);filter:blur(22px);opacity:.8;animation:lightSway 11s ease-in-out infinite}
.cathedral-lines{position:absolute;inset:0;pointer-events:none;opacity:.45}
.cathedral-lines span{position:absolute;bottom:-12%;width:18vw;height:82vh;border:1px solid rgba(255,255,255,.08);border-bottom:0;border-radius:50% 50% 0 0}
.cathedral-lines span:nth-child(1){left:-2vw}.cathedral-lines span:nth-child(2){left:19vw;transform:scale(.82)}.cathedral-lines span:nth-child(3){right:19vw;transform:scale(.82)}.cathedral-lines span:nth-child(4){right:-2vw}
.hero-inner{position:relative;z-index:2;max-width:var(--max);width:100%;margin:auto;display:contents}
.hero-copy{max-width:760px;position:relative;z-index:3}
.eyebrow{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--topaz-soft);margin-bottom:20px}
.eyebrow::before{content:"";width:36px;height:1px;background:var(--topaz)}
.hero h1{font-family:var(--serif);font-size:clamp(60px,7.2vw,112px);font-weight:500;line-height:.86;letter-spacing:-.035em;max-width:850px}
.hero h1 em{font-style:normal;color:var(--topaz);display:block}
.hero-lead{font-family:var(--serif);font-size:clamp(23px,2.1vw,34px);line-height:1.12;color:#fff;margin-top:28px;max-width:640px}
.hero-description{max-width:640px;margin-top:20px;font-size:15px;line-height:1.9;color:rgba(255,255,255,.72)}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:50px;padding:0 21px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.02em;transition:transform .45s var(--ease),box-shadow .45s var(--ease),background .45s ease,border-color .45s ease}
.button:hover{transform:translateY(-3px)}
.button-primary{background:var(--topaz);color:var(--deep);box-shadow:0 16px 45px rgba(255,200,87,.18)}
.button-primary:hover{box-shadow:0 20px 60px rgba(255,200,87,.27);background:#ffd875}
.button-ghost{color:#fff;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.04)}
.button-ghost:hover{border-color:rgba(255,200,87,.5);background:rgba(255,200,87,.07)}
.arrow{font-size:16px;line-height:1}
.hero-signature{display:flex;align-items:center;gap:13px;margin-top:40px;color:rgba(255,255,255,.55);font-size:11px}
.hero-signature .line{width:52px;height:1px;background:rgba(255,200,87,.5)}
.hero-signature strong{font-family:var(--serif);font-size:18px;font-weight:500;color:#fff}

/* cathedral arch visual */
.hero-visual{position:relative;min-height:650px;display:grid;place-items:center;z-index:2}
.arch{position:relative;width:min(500px,80vw);height:620px;border:1px solid rgba(255,200,87,.35);border-bottom:0;border-radius:50% 50% 0 0;box-shadow:0 0 0 16px rgba(255,200,87,.035),0 0 80px rgba(65,105,225,.2);overflow:hidden;background:linear-gradient(180deg,rgba(65,105,225,.25),rgba(7,24,74,.72))}
.arch::before{content:"";position:absolute;inset:18px;border:1px solid rgba(255,255,255,.11);border-bottom:0;border-radius:50% 50% 0 0}
.arch::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 35%,rgba(255,226,154,.2),transparent 30%),linear-gradient(90deg,rgba(255,255,255,.03),transparent 25%,rgba(255,255,255,.04) 50%,transparent 75%,rgba(255,255,255,.03));mix-blend-mode:screen}
.stained-glass{position:absolute;inset:70px 50px 0;display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(6,1fr);gap:2px;opacity:.86;transform:perspective(800px) rotateX(3deg);animation:glassBreath 8s ease-in-out infinite}
.stained-glass span{border:1px solid rgba(255,255,255,.08);background:linear-gradient(145deg,rgba(65,105,225,.55),rgba(255,200,87,.15))}
.stained-glass span:nth-child(3n){background:linear-gradient(145deg,rgba(255,200,87,.44),rgba(65,105,225,.22))}.stained-glass span:nth-child(4n){background:linear-gradient(145deg,rgba(24,63,157,.6),rgba(255,255,255,.04))}.stained-glass span:nth-child(5n){background:linear-gradient(145deg,rgba(125,152,255,.38),rgba(255,200,87,.26))}
.arch-cross{position:absolute;left:50%;top:33%;transform:translate(-50%,-50%);width:54px;height:84px;z-index:3;filter:drop-shadow(0 0 18px rgba(255,200,87,.24))}
.arch-cross::before{content:"";position:absolute;left:50%;top:0;width:12px;height:84px;transform:translateX(-50%);background:linear-gradient(var(--topaz-soft),var(--topaz))}.arch-cross::after{content:"";position:absolute;top:28px;left:0;width:54px;height:12px;background:linear-gradient(90deg,var(--topaz),var(--topaz-soft),var(--topaz))}
.arch-caption{position:absolute;left:0;right:0;bottom:38px;text-align:center;z-index:4}
.arch-caption span{display:block;font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:var(--topaz-soft)}
.arch-caption strong{display:block;font-family:var(--serif);font-size:34px;font-weight:500;margin-top:7px}
.floating-inscription{position:absolute;z-index:5;left:-36px;bottom:68px;width:250px;padding:18px 19px;border:1px solid rgba(255,200,87,.25);background:rgba(5,15,45,.78);backdrop-filter:blur(15px);box-shadow:0 20px 60px rgba(0,0,0,.24);animation:floatCard 6s ease-in-out infinite}
.floating-inscription small{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--topaz-soft)}
.floating-inscription p{font-family:var(--serif);font-size:21px;line-height:1.15;margin-top:8px}.floating-inscription cite{display:block;font-size:9px;font-style:normal;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-top:10px}

.scroll-cue{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);z-index:4;display:flex;align-items:center;gap:11px;font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:rgba(255,255,255,.48)}
.scroll-cue i{display:block;width:44px;height:1px;background:linear-gradient(90deg,transparent,var(--topaz));position:relative;overflow:hidden}.scroll-cue i::after{content:"";position:absolute;inset:0;background:var(--topaz);transform:translateX(-100%);animation:scan 2.2s ease-in-out infinite}

/* SCRIPTURE RIBBON */
.scripture-ribbon{position:relative;z-index:4;background:var(--topaz);color:var(--deep);overflow:hidden;border-bottom:1px solid rgba(7,24,74,.15)}
.scripture-track{display:flex;gap:44px;width:max-content;padding:14px 0;animation:marquee 38s linear infinite;font-family:var(--serif);font-size:17px;white-space:nowrap}.scripture-track b{font-family:var(--sans);font-size:9px;letter-spacing:.16em;text-transform:uppercase;align-self:center;opacity:.7}

/* COMMON SECTIONS */
.section{padding:120px 6vw;position:relative;background:var(--pearl)}
.section.dark{background:var(--deep);color:#fff}
.section.alt{background:var(--ivory)}
.container{max-width:var(--max);margin:auto}
.section-kicker{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--sapphire);font-weight:700;margin-bottom:14px}.dark .section-kicker{color:var(--topaz-soft)}
.section-title{font-family:var(--serif);font-size:clamp(48px,6vw,84px);line-height:.92;font-weight:500;letter-spacing:-.025em;color:var(--deep)}.dark .section-title{color:#fff}
.section-intro{max-width:690px;margin-top:22px;color:var(--muted);font-size:15px;line-height:1.9}.dark .section-intro{color:rgba(255,255,255,.68)}
.section-header{text-align:center;max-width:820px;margin:0 auto 60px}.section-header .section-intro{margin-inline:auto}

/* reveal */
.reveal{opacity:0;transform:translateY(35px);transition:opacity 1s var(--ease),transform 1.1s var(--ease)}.reveal.visible{opacity:1;transform:none}
.reveal-left{opacity:0;transform:translateX(-42px);transition:opacity 1s var(--ease),transform 1.1s var(--ease)}.reveal-left.visible{opacity:1;transform:none}.reveal-right{opacity:0;transform:translateX(42px);transition:opacity 1s var(--ease),transform 1.1s var(--ease)}.reveal-right.visible{opacity:1;transform:none}

/* WELCOME - nave */
.welcome{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.welcome-copy p{max-width:620px;margin-top:24px;color:var(--muted);line-height:1.9;font-size:15px}.quote{margin-top:34px;padding:24px 0 0;border-top:1px solid var(--line);max-width:620px}.quote p{margin:0;font-family:var(--serif);font-size:28px;line-height:1.15;color:var(--deep)}.quote small{display:block;margin-top:12px;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--topaz-deep)}
.cathedral-window{min-height:560px;position:relative;border-radius:48% 48% 8px 8px / 42% 42% 8px 8px;overflow:hidden;background:linear-gradient(180deg,#183f9d,#07184a);box-shadow:var(--shadow)}
.cathedral-window::before{content:"";position:absolute;inset:22px;border:1px solid rgba(255,200,87,.38);border-radius:48% 48% 5px 5px / 42% 42% 5px 5px}
.window-light{position:absolute;inset:0;background:radial-gradient(circle at 50% 26%,rgba(255,226,154,.35),transparent 20%),linear-gradient(120deg,rgba(255,200,87,.14),transparent 30%,rgba(65,105,225,.18) 65%,rgba(255,200,87,.1));animation:windowGlow 8s ease-in-out infinite}
.window-mosaic{position:absolute;inset:80px 48px 30px;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;opacity:.8}.window-mosaic span{border:1px solid rgba(255,255,255,.08);background:rgba(65,105,225,.4)}.window-mosaic span:nth-child(2n){background:rgba(255,200,87,.18)}.window-mosaic span:nth-child(3n){background:rgba(24,63,157,.65)}
.window-cross{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);width:56px;height:90px;filter:drop-shadow(0 0 20px rgba(255,200,87,.3))}.window-cross::before{content:"";position:absolute;left:50%;top:0;width:10px;height:90px;transform:translateX(-50%);background:var(--topaz-soft)}.window-cross::after{content:"";position:absolute;top:30px;left:0;width:56px;height:10px;background:var(--topaz-soft)}
.window-caption{position:absolute;left:30px;right:30px;bottom:28px;display:flex;justify-content:space-between;align-items:end;color:#fff}.window-caption strong{font-family:var(--serif);font-size:30px;font-weight:500}.window-caption span{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--topaz-soft)}

/* MISSION/VISION */
.calling{background:linear-gradient(180deg,#07184a 0%,#0a2361 100%);color:#fff;overflow:hidden}.calling::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(255,200,87,.08),transparent 28%),radial-gradient(circle at 82% 70%,rgba(65,105,225,.2),transparent 30%)}
.calling .container{position:relative;z-index:2}.calling-heading{text-align:center;max-width:850px;margin:0 auto 64px}.calling-heading p{max-width:690px;margin:20px auto 0;color:rgba(255,255,255,.65);line-height:1.9}
.chambers{display:grid;grid-template-columns:1fr 1fr;gap:22px}.chamber{position:relative;padding:52px 48px;min-height:430px;border:1px solid rgba(255,200,87,.2);background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.018));overflow:hidden}.chamber::before{content:"";position:absolute;left:50%;top:-50px;width:420px;height:420px;transform:translateX(-50%);border:1px solid rgba(255,200,87,.14);border-radius:50%;box-shadow:0 0 0 18px rgba(255,200,87,.02),0 0 100px rgba(255,200,87,.06)}.chamber::after{content:"";position:absolute;inset:auto -20% -60% -20%;height:60%;background:radial-gradient(circle,rgba(255,200,87,.13),transparent 65%);pointer-events:none}.chamber>*{position:relative;z-index:2}.chamber-label{font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--topaz-soft)}.chamber h3{font-family:var(--serif);font-size:clamp(36px,4vw,58px);line-height:.95;font-weight:500;margin-top:22px}.chamber p{margin-top:24px;max-width:650px;color:rgba(255,255,255,.72);line-height:1.9;font-size:15px}.chamber-scripture{position:absolute;right:40px;bottom:28px;color:rgba(255,255,255,.48);font-family:var(--serif);font-size:18px;font-style:italic}

/* core values pillars */
.values-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:45px}.values-heading span{font-size:11px;color:var(--muted);max-width:280px;line-height:1.6;text-align:right}.pillars-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.value-pillar{background:var(--pearl);padding:34px 28px 38px;min-height:330px;position:relative;transition:transform .55s var(--ease),background .55s ease,box-shadow .55s var(--ease)}.value-pillar:hover{transform:translateY(-6px);background:#fff;box-shadow:0 20px 60px rgba(7,24,74,.08);z-index:2}.value-number{font-size:9px;letter-spacing:.2em;color:var(--topaz-deep)}.value-symbol{width:46px;height:46px;margin:32px 0 24px;border:1px solid rgba(65,105,225,.2);display:grid;place-items:center;border-radius:50%;color:var(--royal);font-family:var(--serif);font-size:22px}.value-pillar h3{font-family:var(--serif);font-size:29px;font-weight:600;color:var(--deep);line-height:1}.value-pillar p{margin-top:14px;color:var(--muted);font-size:13px;line-height:1.75}.value-pillar .scripture{display:block;margin-top:20px;padding-top:14px;border-top:1px solid var(--line);font-family:var(--serif);font-size:15px;line-height:1.15;color:var(--sapphire)}

/* WORLDWIDE */
.world{background:var(--ivory);overflow:hidden}.world-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:60px;align-items:center}.world-copy{max-width:560px}.world-copy p{margin-top:22px;color:var(--muted);line-height:1.9}.nations{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.nation{padding:9px 13px;border:1px solid rgba(24,63,157,.15);border-radius:999px;color:var(--sapphire);font-size:10px;letter-spacing:.06em;background:rgba(255,255,255,.55)}
.world-stage{position:relative;min-height:540px;display:grid;place-items:center}.world-glow{position:absolute;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(65,105,225,.16),transparent 65%);animation:worldBreath 8s ease-in-out infinite}.world-map{position:relative;width:min(650px,95%);aspect-ratio:1.55;border-radius:50%;border:1px solid rgba(24,63,157,.2);background:radial-gradient(circle at 35% 40%,rgba(65,105,225,.12),transparent 28%),linear-gradient(180deg,rgba(65,105,225,.05),rgba(7,24,74,.02));box-shadow:0 30px 100px rgba(24,63,157,.12),inset 0 0 80px rgba(65,105,225,.08);overflow:hidden}.world-map::before{content:"";position:absolute;inset:12%;border:1px solid rgba(24,63,157,.11);border-radius:50%}.world-map::after{content:"";position:absolute;left:12%;right:12%;top:50%;height:1px;background:rgba(24,63,157,.12);box-shadow:0 -75px 0 rgba(24,63,157,.07),0 75px 0 rgba(24,63,157,.07)}
.continents{position:absolute;inset:17%;opacity:.65}.land{position:absolute;background:linear-gradient(145deg,rgba(24,63,157,.22),rgba(65,105,225,.08));border:1px solid rgba(24,63,157,.1);filter:drop-shadow(0 5px 12px rgba(24,63,157,.05))}.land.a{width:22%;height:23%;left:14%;top:22%;border-radius:60% 45% 50% 35%;transform:rotate(-12deg)}.land.b{width:14%;height:28%;left:42%;top:26%;border-radius:60% 35% 55% 45%;transform:rotate(8deg)}.land.c{width:17%;height:31%;left:54%;top:21%;border-radius:45% 55% 42% 55%;transform:rotate(-8deg)}.land.d{width:13%;height:23%;left:67%;top:28%;border-radius:40% 60% 50% 40%;transform:rotate(13deg)}.land.e{width:12%;height:27%;left:37%;top:55%;border-radius:55% 40% 60% 45%;transform:rotate(18deg)}.land.f{width:16%;height:17%;left:72%;top:62%;border-radius:60% 40% 55% 50%;transform:rotate(-9deg)}
.beacon{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--topaz);box-shadow:0 0 0 7px rgba(255,200,87,.09),0 0 24px rgba(255,200,87,.55);animation:beacon 2.8s ease-in-out infinite}.beacon::after{content:"";position:absolute;inset:-10px;border:1px solid rgba(255,200,87,.22);border-radius:50%;animation:ripple 2.8s ease-out infinite}.b1{left:24%;top:39%}.b2{left:47%;top:43%;animation-delay:.5s}.b3{left:60%;top:35%;animation-delay:1s}.b4{left:71%;top:48%;animation-delay:1.5s}.b5{left:54%;top:68%;animation-delay:2s}.b6{left:79%;top:69%;animation-delay:2.4s}
.world-caption{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);text-align:center;white-space:nowrap}.world-caption span{display:block;font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:var(--sapphire)}.world-caption strong{display:block;font-family:var(--serif);font-size:30px;font-weight:500;color:var(--deep);margin-top:5px}

/* MINISTRIES */
.ministry-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.ministry-card{min-height:330px;padding:34px 28px;border:1px solid var(--line);background:linear-gradient(180deg,#fff,#f8f4e9);position:relative;overflow:hidden;transition:transform .55s var(--ease),box-shadow .55s var(--ease),border-color .55s ease}.ministry-card::before{content:"";position:absolute;left:50%;top:-140px;width:260px;height:260px;border:1px solid rgba(65,105,225,.12);border-radius:50%;transform:translateX(-50%)}.ministry-card:hover{transform:translateY(-7px);box-shadow:0 25px 70px rgba(7,24,74,.1);border-color:rgba(255,200,87,.4)}.ministry-card .number{font-size:9px;letter-spacing:.2em;color:var(--topaz-deep)}.ministry-card .icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(65,105,225,.18);color:var(--royal);font-family:var(--serif);font-size:22px;margin:35px 0 20px}.ministry-card h3{font-family:var(--serif);font-size:30px;line-height:.95;color:var(--deep);font-weight:600}.ministry-card p{margin-top:14px;color:var(--muted);font-size:13px;line-height:1.75}

/* WORD / LIBRARY */
.word-room{background:var(--deep);color:#fff;position:relative;overflow:hidden}.word-room::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 10%,rgba(255,200,87,.11),transparent 27%),linear-gradient(90deg,rgba(65,105,225,.06),transparent 30%,transparent 70%,rgba(65,105,225,.06))}.word-layout{position:relative;z-index:2;display:grid;grid-template-columns:.95fr 1.05fr;gap:80px;align-items:center}.word-arch{height:520px;border:1px solid rgba(255,200,87,.24);border-bottom:0;border-radius:50% 50% 0 0;position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(65,105,225,.24),rgba(5,15,45,.3));display:grid;place-items:center}.word-arch::before{content:"";position:absolute;inset:22px;border:1px solid rgba(255,255,255,.08);border-bottom:0;border-radius:50% 50% 0 0}.word-arch-inner{text-align:center;position:relative;z-index:2}.word-arch-inner small{display:block;font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--topaz-soft)}.word-arch-inner strong{display:block;font-family:var(--serif);font-size:clamp(50px,6vw,78px);line-height:.9;font-weight:500;margin-top:12px}.word-arch-inner span{display:block;font-family:var(--serif);font-size:20px;color:rgba(255,255,255,.62);margin-top:18px}.word-content .section-kicker{color:var(--topaz-soft)}.word-content p{max-width:640px;margin-top:22px;color:rgba(255,255,255,.68);line-height:1.9}.reference{display:inline-block;margin-top:28px;padding-top:15px;border-top:1px solid rgba(255,255,255,.12);font-family:var(--serif);font-size:18px;color:var(--topaz-soft)}

/* FELLOWSHIP */
.fellowship{background:var(--ivory)}.fellowship-panel{display:grid;grid-template-columns:1.1fr .9fr;min-height:500px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow);overflow:hidden}.fellowship-main{padding:62px;background:linear-gradient(135deg,#0b2361,#07184a);color:#fff;position:relative;overflow:hidden}.fellowship-main::after{content:"";position:absolute;width:380px;height:380px;right:-100px;bottom:-140px;border:1px solid rgba(255,200,87,.25);border-radius:50%;box-shadow:0 0 0 20px rgba(255,200,87,.025),0 0 0 60px rgba(255,200,87,.02)}.fellowship-main>*{position:relative;z-index:2}.fellowship-main .section-kicker{color:var(--topaz-soft)}.fellowship-main h3{font-family:var(--serif);font-size:clamp(52px,6vw,82px);line-height:.82;font-weight:500;margin-top:25px}.fellowship-main p{max-width:580px;color:rgba(255,255,255,.68);line-height:1.9;margin-top:25px}.fellowship-side{padding:42px;display:grid;align-content:center;gap:1px;background:var(--pearl)}.gathering{padding:26px 0;border-bottom:1px solid var(--line)}.gathering:last-child{border-bottom:0}.gathering small{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--topaz-deep)}.gathering h4{font-family:var(--serif);font-size:29px;color:var(--deep);margin-top:7px}.gathering p{font-size:13px;line-height:1.75;color:var(--muted);margin-top:8px}

/* PRAYER */
.prayer{background:linear-gradient(180deg,var(--pearl),var(--ivory));padding-bottom:130px}.prayer-room{max-width:1120px;margin:auto;text-align:center;position:relative;padding:100px 40px 90px;border:1px solid rgba(24,63,157,.13);background:radial-gradient(circle at 50% 15%,rgba(255,200,87,.12),transparent 30%),#fff}.prayer-room::before{content:"";position:absolute;inset:24px;border:1px solid rgba(255,200,87,.25);border-bottom:0;border-radius:50% 50% 0 0;pointer-events:none}.prayer-room>*{position:relative;z-index:2}.prayer-room .section-kicker{color:var(--sapphire)}.prayer-room h2{font-family:var(--serif);font-size:clamp(54px,7vw,90px);font-weight:500;line-height:.84;color:var(--deep);max-width:800px;margin:0 auto}.prayer-room p{max-width:680px;margin:24px auto 0;color:var(--muted);line-height:1.9}.prayer-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:30px}.button-dark{background:var(--deep);color:#fff;box-shadow:0 14px 40px rgba(7,24,74,.15)}.button-dark:hover{background:var(--sapphire)}

/* FINAL INVITATION */
.invitation{padding:120px 6vw;background:var(--deep);color:#fff;text-align:center;position:relative;overflow:hidden}.invitation::before{content:"";position:absolute;left:50%;top:-250px;width:650px;height:650px;transform:translateX(-50%);border:1px solid rgba(255,200,87,.18);border-radius:50%;box-shadow:0 0 0 24px rgba(255,200,87,.025),0 0 0 80px rgba(255,200,87,.015)}.invitation .container{position:relative;z-index:2}.invitation .section-kicker{color:var(--topaz-soft)}.invitation h2{font-family:var(--serif);font-size:clamp(58px,8vw,110px);line-height:.82;font-weight:500}.invitation p{max-width:650px;margin:24px auto 0;color:rgba(255,255,255,.65);line-height:1.8}.invitation .button{margin-top:30px}
footer{background:#030a20;color:#fff;padding:80px 6vw 30px;border-top:1px solid rgba(255,200,87,.12)}.footer-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:55px}.footer-brand h3{font-family:var(--serif);font-size:34px;font-weight:500}.footer-brand p{max-width:440px;color:rgba(255,255,255,.52);font-size:13px;line-height:1.8;margin-top:14px}.footer-column h4{font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:var(--topaz-soft);margin-bottom:18px}.footer-column a{display:block;color:rgba(255,255,255,.58);font-size:12px;margin:10px 0;transition:color .3s ease,transform .3s ease}.footer-column a:hover{color:#fff;transform:translateX(3px)}.footer-bottom{max-width:var(--max);margin:55px auto 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.09);display:flex;justify-content:space-between;gap:20px;color:rgba(255,255,255,.35);font-size:10px;letter-spacing:.04em}


/* FROM: V6.1 — APOSTOLIC WELCOME */
.apostolic-banner{position:relative;background:linear-gradient(135deg,#0b2361 0%,#183f9d 52%,#0b2361 100%);color:#fff;overflow:hidden;border-top:1px solid rgba(255,200,87,.18);border-bottom:1px solid rgba(255,200,87,.18)}
.apostolic-banner::before{content:"";position:absolute;inset:-30%;background:radial-gradient(circle at 50% 50%,rgba(255,200,87,.12),transparent 42%);animation:bannerBreath 8s ease-in-out infinite}
.apostolic-banner::after{content:"";position:absolute;left:50%;top:0;width:1px;height:100%;background:linear-gradient(transparent,rgba(255,200,87,.35),transparent);box-shadow:-190px 0 0 rgba(255,255,255,.035),190px 0 0 rgba(255,255,255,.035)}
.apostolic-inner{position:relative;z-index:2;max-width:var(--max);margin:auto;padding:48px 6vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:35px;text-align:center}
.apostolic-side{font-size:11px;line-height:1.8;color:rgba(255,255,255,.64)}
.apostolic-side strong{display:block;color:var(--topaz-soft);font-family:var(--serif);font-size:20px;font-weight:500;margin-bottom:5px}
.apostolic-emblem{width:72px;height:72px;border:1px solid rgba(255,200,87,.45);border-radius:50%;display:grid;place-items:center;margin:auto;position:relative;background:rgba(255,255,255,.035);box-shadow:0 0 0 9px rgba(255,200,87,.035),0 15px 45px rgba(0,0,0,.14)}
.apostolic-emblem::before,.apostolic-emblem::after{content:"";position:absolute;border:1px solid rgba(255,200,87,.16);border-radius:50%;inset:-14px}.apostolic-emblem::after{inset:-25px;opacity:.55}
.apostolic-emblem span{font-family:var(--serif);font-size:30px;color:var(--topaz);line-height:1}
.apostolic-title{font-family:var(--serif);font-size:clamp(25px,3vw,39px);font-weight:500;line-height:1}
.apostolic-title em{font-style:normal;color:var(--topaz)}
.apostolic-sub{margin-top:8px;font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:rgba(255,255,255,.5)}

/* Membership - the open door into the ministry family */
.membership{background:linear-gradient(180deg,#f1e8d5 0%,#fbf7ed 100%);position:relative;overflow:hidden}
.membership::before{content:"";position:absolute;left:50%;top:-240px;width:760px;height:760px;transform:translateX(-50%);border:1px solid rgba(65,105,225,.1);border-radius:50%;box-shadow:0 0 0 24px rgba(65,105,225,.018),0 0 0 80px rgba(65,105,225,.012);pointer-events:none}
.membership-intro{max-width:760px;margin:0 auto 52px;text-align:center;position:relative;z-index:2}
.membership-intro .section-kicker{color:var(--sapphire)}
.membership-intro .section-title{margin-inline:auto}
.membership-intro p{max-width:690px;margin:20px auto 0;color:var(--muted);line-height:1.9}
.membership-door{position:relative;z-index:2;max-width:1180px;margin:auto;display:grid;grid-template-columns:1.05fr .95fr;min-height:480px;border:1px solid rgba(24,63,157,.13);background:#fff;box-shadow:var(--shadow);overflow:hidden}
.membership-copy{padding:64px;background:linear-gradient(145deg,#0b2361,#07184a);color:#fff;position:relative;overflow:hidden}
.membership-copy::before{content:"";position:absolute;width:420px;height:420px;left:-160px;bottom:-230px;border:1px solid rgba(255,200,87,.22);border-radius:50%;box-shadow:0 0 0 20px rgba(255,200,87,.025),0 0 0 65px rgba(255,200,87,.015)}
.membership-copy>*{position:relative;z-index:2}
.membership-copy .section-kicker{color:var(--topaz-soft)}
.membership-copy h3{font-family:var(--serif);font-size:clamp(48px,5vw,72px);line-height:.86;font-weight:500;margin-top:22px;max-width:600px}
.membership-copy p{max-width:590px;margin-top:22px;color:rgba(255,255,255,.68);line-height:1.9}
.membership-seal{display:flex;align-items:center;gap:13px;margin-top:30px;color:rgba(255,255,255,.58);font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.membership-seal i{display:block;width:34px;height:1px;background:var(--topaz)}
.membership-path{padding:46px 42px;background:var(--pearl);display:grid;align-content:center;gap:0}
.member-step{display:grid;grid-template-columns:44px 1fr;gap:18px;padding:19px 0;border-bottom:1px solid var(--line)}
.member-step:last-child{border-bottom:0}
.member-step-number{width:44px;height:44px;border:1px solid rgba(65,105,225,.18);border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:19px;color:var(--royal)}
.member-step h4{font-family:var(--serif);font-size:26px;line-height:1;color:var(--deep);font-weight:600}
.member-step p{font-size:12px;line-height:1.7;color:var(--muted);margin-top:5px}
.membership-action{text-align:center;margin-top:30px;position:relative;z-index:2}

/*Make identity visible in smaller details*/
.section-header .section-kicker,.values-heading .section-kicker{letter-spacing:.32em}
.hero .eyebrow{font-weight:600}
.quote{position:relative}
.quote::before{content:"✦";position:absolute;left:-2px;top:-34px;color:var(--topaz-deep);font-size:13px}
.ministry-card .icon,.value-symbol{font-weight:600}

@keyframes bannerBreath{0%,100%{transform:scale(.92);opacity:.65}50%{transform:scale(1.05);opacity:1}}

/* progress */
.scroll-progress{position:fixed;top:0;left:0;width:0;height:2px;background:var(--topaz);z-index:1000;box-shadow:0 0 12px rgba(255,200,87,.5)}

/* MOTION */
@keyframes portalBreath{0%,100%{transform:scale(.96);opacity:.55}50%{transform:scale(1);opacity:1}}
@keyframes loaderBreath{0%,100%{transform:translateY(0);box-shadow:0 0 0 10px rgba(255,200,87,.04),0 20px 70px rgba(0,0,0,.35)}50%{transform:translateY(-7px);box-shadow:0 0 0 14px rgba(255,200,87,.06),0 25px 90px rgba(0,0,0,.4)}}
@keyframes loadLine{0%{transform:translateX(-130%)}100%{transform:translateX(380%)}}
@keyframes lightSway{0%,100%{transform:translateX(-50%) rotate(8deg);opacity:.55}50%{transform:translateX(-38%) rotate(12deg);opacity:.9}}
@keyframes glassBreath{0%,100%{filter:brightness(.88)}50%{filter:brightness(1.12)}}
@keyframes floatCard{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-12px) rotate(0deg)}}
@keyframes windowGlow{0%,100%{opacity:.65}50%{opacity:1}}
@keyframes worldBreath{0%,100%{transform:scale(.96);opacity:.6}50%{transform:scale(1.04);opacity:1}}
@keyframes beacon{0%,100%{transform:scale(.8);opacity:.55}50%{transform:scale(1.15);opacity:1}}
@keyframes ripple{0%{transform:scale(.4);opacity:.7}80%,100%{transform:scale(1.7);opacity:0}}
@keyframes scan{0%{transform:translateX(-100%)}50%,100%{transform:translateX(100%)}}
@keyframes marquee{to{transform:translateX(-50%)}}

/* responsive: If you're editing this code, please don't delete this part. */
@media(max-width:1180px){
  .nav-links a{padding-inline:9px}.brand{min-width:190px}.hero{grid-template-columns:1fr .8fr}.hero h1{font-size:clamp(58px,7vw,90px)}
  .pillars-grid,.ministry-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1.5fr 1fr 1fr}.footer-grid>div:last-child{display:none}
}
@media(max-width:900px){
  .nav-links{position:fixed;top:80px;left:18px;right:18px;display:grid;gap:5px;padding:18px;border:1px solid rgba(255,200,87,.16);border-radius:26px;background:rgba(7,24,74,.96);backdrop-filter:blur(20px);box-shadow:0 25px 70px rgba(0,0,0,.28);opacity:0;visibility:hidden;transform:translateY(-12px);transition:opacity .45s var(--ease),transform .55s var(--ease),visibility .45s ease}.nav-links.open{opacity:1;visibility:visible;transform:none}.nav-links a{padding:14px 15px}.nav-links .give-link{margin-left:0;text-align:center}.menu-toggle{display:grid}.nav-shell{padding:10px 12px}.nav{padding:8px 9px 8px 12px}.hero{grid-template-columns:1fr;min-height:auto;padding-top:150px;padding-bottom:100px}.hero-copy{max-width:780px}.hero-visual{min-height:600px}.welcome,.world-layout,.word-layout{grid-template-columns:1fr;gap:55px}.chambers{grid-template-columns:1fr}.world-stage{min-height:480px}.fellowship-panel{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:last-child{display:block}
}
@media(max-width:620px){
  .nav-shell.scrolled{padding-inline:8px}.brand-copy strong{font-size:17px}.brand-copy small{font-size:7px}.hero{padding:130px 22px 90px}.hero h1{font-size:clamp(54px,16vw,76px)}.hero-lead{font-size:25px}.hero-description{font-size:14px}.hero-actions{display:grid;grid-template-columns:1fr}.button{width:100%}.hero-visual{min-height:500px}.arch{width:100%;height:500px}.stained-glass{inset:60px 34px 0}.floating-inscription{left:4px;bottom:45px;width:220px}.section{padding:88px 22px}.section-title{font-size:clamp(45px,14vw,66px)}.welcome{gap:40px}.cathedral-window{min-height:470px}.values-heading{display:block}.values-heading span{display:block;text-align:left;margin-top:14px}.pillars-grid,.ministry-grid{grid-template-columns:1fr}.value-pillar,.ministry-card{min-height:auto}.chamber{padding:42px 28px;min-height:480px}.chamber-scripture{position:static;display:block;margin-top:25px}.world-stage{min-height:400px}.world-map{width:100%}.word-arch{height:430px}.fellowship-main{padding:42px 28px}.fellowship-side{padding:28px}.prayer-room{padding:80px 24px 65px}.prayer-room::before{inset:14px}.prayer-room h2{font-size:clamp(52px,16vw,74px)}.invitation{padding:90px 22px}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;margin-top:40px}
}

@media(max-width:900px){
  .apostolic-inner{grid-template-columns:1fr;gap:24px;padding:42px 22px}.apostolic-side{max-width:420px;margin:auto}.apostolic-emblem{width:64px;height:64px}.membership-door{grid-template-columns:1fr}.membership-copy{padding:52px 30px}.membership-path{padding:30px 26px}
}
@media(max-width:640px){
  .apostolic-inner{padding:36px 22px}.apostolic-side{font-size:10px}.apostolic-side strong{font-size:18px}.apostolic-title{font-size:28px}.membership-intro{margin-bottom:34px}.membership-copy{padding:46px 26px}.membership-copy h3{font-size:52px}.membership-path{padding:24px 22px}.member-step{grid-template-columns:40px 1fr;gap:14px}.member-step-number{width:40px;height:40px}.member-step h4{font-size:24px}.membership-action .button{width:100%}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.preloader::before,.preloader::after,.loader-mark,.loader-line span,.hero::after,.stained-glass,.floating-inscription,.window-light,.world-glow,.beacon,.beacon::after,.scripture-track{animation:none!important}.reveal,.reveal-left,.reveal-right{opacity:1!important;transform:none!important;transition:none!important}.button,.nav-links a,.value-pillar,.ministry-card{transition:none!important}}


:root{
  --v6plus-blue:#123f91;
  --v6plus-blue-deep:#071b46;
  --v6plus-topaz:#d9a441
  --v6plus-ivory:#fffaf0;
  --v6plus-glow:rgba(217,164,65,.22);
  --v6plus-shadow:0 24px 70px rgba(4,20,55,.16);
}
html{scroll-behavior:smooth}
body{
  background:
    radial-gradient(circle at 15% 10%, rgba(217,164,65,.08), transparent 28rem),
    radial-gradient(circle at 85% 18%, rgba(18,63,145,.08), transparent 30rem),
    #fbfaf6;
  overflow-x:hidden;
}
body::before{
  content:"";
  position:fixed; inset:0; pointer-events:none; z-index:9998;
  background:linear-gradient(115deg,transparent 0 42%,rgba(255,255,255,.11) 48%,transparent 54% 100%);
  transform:translateX(-120%);
  animation:v6plusLight 16s ease-in-out infinite;
  mix-blend-mode:screen;
}
@keyframes v6plusLight{
  0%,55%{transform:translateX(-120%);opacity:0}
  65%{opacity:.65}
  82%,100%{transform:translateX(120%);opacity:0}
}

/* The elegant reveal system */
.v6plus-reveal{
  opacity:0;
  transform:translateY(26px) scale(.985);
  filter:blur(5px);
  transition:
    opacity .9s cubic-bezier(.22,.8,.24,1),
    transform 1s cubic-bezier(.22,.8,.24,1),
    filter 1s cubic-bezier(.22,.8,.24,1);
  transition-delay:var(--v6-delay,0ms);
}
.v6plus-reveal.is-visible{
  opacity:1; transform:none; filter:none;
}

/* to give existing cards depth */
section article, section .card, section .value-card, section .pillar,
section .feature, section .panel, section .tile{
  transition:transform .45s cubic-bezier(.2,.8,.2,1), box-shadow .45s ease, border-color .45s ease;
}
section article:hover, section .card:hover, section .value-card:hover,
section .pillar:hover, section .feature:hover, section .panel:hover, section .tile:hover{
  transform:translateY(-6px);
  box-shadow:var(--v6plus-shadow);
  border-color:rgba(217,164,65,.42);
}

/* Modern navigation polish */
header, nav{
  backdrop-filter:blur(18px) saturate(125%);
  -webkit-backdrop-filter:blur(18px) saturate(125%);
}
nav a{
  position:relative;
  transition:color .25s ease, transform .25s ease;
}
nav a::after{
  content:"";
  position:absolute; left:50%; bottom:-7px; width:0; height:2px;
  border-radius:99px;
  background:linear-gradient(90deg,var(--v6plus-blue),var(--v6plus-topaz));
  transform:translateX(-50%);
  transition:width .3s cubic-bezier(.2,.8,.2,1);
}
nav a:hover{transform:translateY(-1px)}
nav a:hover::after, nav a[aria-current="page"]::after{width:70%}

/* glow on primary actions */
a[class*="button"], button, .btn, .cta{
  transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease, filter .3s ease;
}
a[class*="button"]:hover, button:hover, .btn:hover, .cta:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 34px rgba(18,63,145,.18),0 0 0 1px rgba(217,164,65,.18);
}

/* Soft topaz focus ring */
:focus-visible{
  outline:3px solid rgba(217,164,65,.72);
  outline-offset:4px;
}

/* Ambient particles */
.v6plus-atmosphere{
  position:fixed; inset:0; pointer-events:none; z-index:-1; overflow:hidden;
}
.v6plus-atmosphere i{
  position:absolute; width:5px; height:5px; border-radius:50%;
  background:rgba(217,164,65,.32);
  box-shadow:0 0 18px rgba(217,164,65,.22);
  animation:v6plusFloat 10s ease-in-out infinite;
}
.v6plus-atmosphere i:nth-child(1){left:12%;top:28%;animation-delay:-2s}
.v6plus-atmosphere i:nth-child(2){left:72%;top:19%;animation-delay:-6s}
.v6plus-atmosphere i:nth-child(3){left:84%;top:62%;animation-delay:-4s}
.v6plus-atmosphere i:nth-child(4){left:29%;top:76%;animation-delay:-8s}
@keyframes v6plusFloat{
  0%,100%{transform:translate3d(0,12px,0);opacity:.15}
  50%{transform:translate3d(8px,-16px,0);opacity:.75}
}

/* To keep motion graceful on smaller screens. If you're editing this code, please consider leaving this section untouched. */
@media (max-width:700px){
  body::before{animation-duration:22s}
  .v6plus-reveal{transform:translateY(18px);filter:blur(3px)}
  section article:hover, section .card:hover, section .value-card:hover,
  section .pillar:hover, section .feature:hover, section .panel:hover, section .tile:hover{
    transform:translateY(-3px);
  }
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
  }
  .v6plus-reveal{opacity:1;transform:none;filter:none}
  body::before,.v6plus-atmosphere{display:none}
}

:root{--v62-royal:#123f91;--v62-deep:#06183f;--v62-topaz:#ffc857}
.logo img,.brand img,.site-logo img,img[alt*="Grace Apostolic" i],img[alt*="logo" i]{
  object-fit:contain;filter:drop-shadow(0 7px 18px rgba(6,24,63,.18));
  transition:transform .45s cubic-bezier(.2,.8,.2,1),filter .45s ease
}
.logo:hover img,.brand:hover img,.site-logo:hover img{transform:translateY(-2px) scale(1.035);filter:drop-shadow(0 10px 24px rgba(255,200,87,.22))}
section{scroll-margin-top:96px}
section+section{position:relative}
section+section:before{content:"";position:absolute;top:0;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,rgba(18,63,145,.12),rgba(255,200,87,.3),rgba(18,63,145,.12),transparent)}
.v62-action{position:relative;overflow:hidden}
.v62-action:before{content:"";position:absolute;inset:-2px -45%;background:linear-gradient(105deg,transparent 42%,rgba(255,255,255,.28) 50%,transparent 58%);transform:translateX(-70%);transition:transform .75s ease}
.v62-action:hover:before{transform:translateX(70%)}
@media(max-width:700px){section+section:before{left:7%;right:7%}}
@media(prefers-reduced-motion:reduce){.logo img,.brand img,.site-logo img{transition:none!important;transform:none!important}}


:root{
  --v63-royal:#123f91;--v63-blue:#4169e1;--v63-deep:#06183f;
  --v63-topaz:#ffc857;--v63-cream:#fffaf0;
}
.v63-inspiration-grid{
  display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px;
  margin:34px 0 10px;
}
.v63-visual{
  position:relative;min-height:210px;border-radius:28px;overflow:hidden;
  isolation:isolate;background:
    radial-gradient(circle at 20% 20%,rgba(255,200,87,.42),transparent 30%),
    linear-gradient(135deg,#06183f 0%,#123f91 55%,#4169e1 100%);
  box-shadow:0 22px 60px rgba(6,24,63,.14);
  transform:translateZ(0);transition:transform .7s cubic-bezier(.2,.8,.2,1),box-shadow .7s ease;
}
.v63-visual:nth-child(1){grid-column:span 7;min-height:310px}
.v63-visual:nth-child(2){grid-column:span 5}
.v63-visual:nth-child(3){grid-column:span 5}
.v63-visual:nth-child(4){grid-column:span 7;min-height:310px}
.v63-visual:before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(120deg,rgba(255,255,255,.13),transparent 38%),
    radial-gradient(ellipse at 50% 100%,rgba(65,105,225,.22),transparent 48%);
  opacity:.9;
}
.v63-visual:after{
  content:"";position:absolute;inset:18%;border:1px solid rgba(255,255,255,.17);
  border-radius:50%;transform:rotate(-8deg) scaleX(1.45);
  box-shadow:0 0 80px rgba(65,105,225,.12);
}
.v63-visual:hover{transform:translateY(-8px);box-shadow:0 34px 90px rgba(6,24,63,.22)}
.v63-visual-content{position:absolute;left:28px;right:28px;bottom:26px;color:#fff}
.v63-visual-kicker{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:#ffd978;font-weight:700}
.v63-visual-title{font-size:clamp(1.35rem,2.6vw,2.2rem);font-weight:700;line-height:1.08;margin-top:7px}
.v63-visual-copy{margin-top:8px;max-width:42rem;color:rgba(255,255,255,.84);line-height:1.6}
.v63-orb{position:absolute;width:180px;height:180px;border-radius:50%;
  right:8%;top:8%;background:radial-gradient(circle at 35% 30%,#fff7cf 0 5%,#ffc857 18%,#4169e1 52%,#06183f 72%);
  filter:blur(.2px);opacity:.72;animation:v63-float 7s ease-in-out infinite}
.v63-orb.two{width:100px;height:100px;left:12%;top:18%;right:auto;animation-delay:-2.2s;opacity:.45}
@keyframes v63-float{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-16px,0)}}

.v63-reveal{opacity:0;filter:blur(16px);transform:translateY(24px);transition:opacity 1s cubic-bezier(.2,.8,.2,1),filter 1.05s cubic-bezier(.2,.8,.2,1),transform 1.05s cubic-bezier(.2,.8,.2,1)}
.v63-reveal.v63-visible{opacity:1;filter:blur(0);transform:none}
.v63-reveal:nth-child(2){transition-delay:.08s}.v63-reveal:nth-child(3){transition-delay:.16s}.v63-reveal:nth-child(4){transition-delay:.24s}

.v63-glow-line{height:1px;margin:8px auto 30px;max-width:760px;background:linear-gradient(90deg,transparent,rgba(65,105,225,.25),rgba(255,200,87,.65),rgba(65,105,225,.25),transparent)}
.v63-welcome{position:relative;overflow:hidden}
.v63-welcome:before{content:"";position:absolute;inset:-40%;background:conic-gradient(from 90deg,transparent,rgba(255,200,87,.09),transparent 25%);animation:v63-rotate 18s linear infinite;pointer-events:none}
@keyframes v63-rotate{to{transform:rotate(360deg)}}
@media(max-width:800px){
 .v63-inspiration-grid{grid-template-columns:1fr}
 .v63-visual,.v63-visual:nth-child(n){grid-column:1;min-height:240px}
 .v63-visual:nth-child(1),.v63-visual:nth-child(4){min-height:270px}
}
@media(prefers-reduced-motion:reduce){
 .v63-orb,.v63-welcome:before{animation:none}
 .v63-reveal{opacity:1;filter:none;transform:none;transition:none}
 .v63-visual{transition:none}
}



.v64-image-slot{
  position:absolute;inset:0;z-index:-2;overflow:hidden;
  background:#0b2458 center/cover no-repeat;
}
.v64-image-slot img{
  width:100%;height:100%;display:block;object-fit:cover;
  opacity:.72;filter:saturate(.9) contrast(1.03);
  transition:transform 1.2s cubic-bezier(.2,.8,.2,1),opacity .8s ease,filter .8s ease;
}
.v63-visual:hover .v64-image-slot img{
  transform:scale(1.045);opacity:.82;filter:saturate(1) contrast(1.04);
}
.v64-image-slot:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(6,24,63,.08),rgba(6,24,63,.68));
}
.v63-visual:before{
  background:linear-gradient(120deg,rgba(255,255,255,.08),transparent 42%);
}
.v63-visual:after{
  border-color:rgba(255,255,255,.13);
  box-shadow:0 0 80px rgba(65,105,225,.1);
} 
.v64-image-placeholder{
  position:absolute;left:24px;top:22px;z-index:1;
  padding:7px 11px;border:1px solid rgba(255,255,255,.18);
  border-radius:999px;background:rgba(6,24,63,.28);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  color:rgba(255,255,255,.75);font-size:.65rem;letter-spacing:.12em;
  text-transform:uppercase;pointer-events:none;
}
.v64-values-image{
  position:relative;min-height:150px;border-radius:22px;overflow:hidden;
  margin:-4px -4px 20px;background:#0b2458 center/cover no-repeat;
}
.v64-values-image img{width:100%;height:100%;min-height:150px;object-fit:cover;display:block;transition:transform 1s ease,filter .7s ease}
.v64-values-image:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(6,24,63,.02),rgba(6,24,63,.52));
}
.v64-values-image:hover img{transform:scale(1.04);filter:saturate(1.04)}
.v64-values-image .v64-image-placeholder{top:14px;left:14px}
@media(max-width:700px){
  .v64-image-placeholder{left:16px;top:16px}
  .v64-values-image{min-height:135px}
  .v64-values-image img{min-height:135px}
}


.v63-visual,.v64-values-image{will-change:transform}
.v63-reveal .v63-visual,.v63-reveal .v64-values-image{transition-property:opacity,filter,transform}
.v63-reveal.v63-visible .v63-visual,.v63-reveal.v63-visible .v64-values-image{animation:none}
.v63-orb{pointer-events:none;mix-blend-mode:screen}
@media(prefers-reduced-motion:reduce){
 .v63-orb{display:none}
 .v64-image-slot img,.v64-values-image img{transition:none}
}



/* v6.5 — cathedral opening: tile surface remains, this is an image space */
.cathedral-opening {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
.cathedral-opening::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background-image: none;
  background-size: 34px 34px;
  opacity: .8;
}
.cathedral-opening .opening-image-slot {
  position: absolute;
  inset: 8%;
  z-index: -1;
  border-radius: clamp(22px, 4vw, 48px);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 28px 90px rgba(0,0,0,.22), inset 0 0 0 1px rgba(255,200,87,.12);
  background:
    linear-gradient(135deg, rgba(13,52,125,.35), rgba(255,255,255,.06)),
    #123f92;
}
.cathedral-opening .opening-image-slot img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  opacity: .92;
  filter: saturate(.95) contrast(1.02);
  transition: transform 1.2s cubic-bezier(.2,.7,.2,1), filter .8s ease, opacity .6s ease;
}
.cathedral-opening:hover .opening-image-slot img {
  transform: scale(1.025);
  filter: saturate(1.03) contrast(1.03);
}
.cathedral-opening .opening-image-slot::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(8,35,91,.12), rgba(8,35,91,.38)),
    radial-gradient(circle at 50% 45%, rgba(255,255,255,.08), transparent 52%);
  pointer-events: none;
}
.cathedral-opening .opening-image-slot .image-slot-label {
  position: absolute;
  left: 18px;
  bottom: 16px;
  z-index: 2;
  padding: 8px 12px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  background: rgba(7,31,78,.42);
  backdrop-filter: blur(10px);
  color: rgba(255,255,255,.82);
  font-size: .72rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}

/* v6.5 — lower cards receive the same visual generosity as the upper spaces. This is one of my favorite parts in this website. It turned out to be so nice. */
.core-values-grid .value-card,
.core-values .value-card,
.values-grid .value-card {
  overflow: hidden;
}
.core-values-grid .value-card .value-image,
.core-values .value-card .value-image,
.values-grid .value-card .value-image {
  min-height: 190px;
  border-radius: 22px;
  margin: -2px -2px 20px;
  overflow: hidden;
  position: relative;
  background:
    linear-gradient(135deg, rgba(21,73,165,.20), rgba(255,200,87,.10)),
    repeating-linear-gradient(135deg, rgba(255,255,255,.035) 0 1px, transparent 1px 14px);
  border: 1px solid rgba(255,255,255,.11);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.025);
}
.core-values-grid .value-card .value-image img,
.core-values .value-card .value-image img,
.values-grid .value-card .value-image img {
  width: 100%;
  height: 100%;
  min-height: 190px;
  object-fit: cover;
  display: block;
  opacity: .94;
  transition: transform .9s cubic-bezier(.2,.7,.2,1), filter .7s ease;
}
.core-values-grid .value-card:hover .value-image img,
.core-values .value-card:hover .value-image img,
.values-grid .value-card:hover .value-image img {
  transform: scale(1.045);
  filter: saturate(1.04) contrast(1.03);
}
.core-values-grid .value-card .value-image::after,
.core-values .value-card .value-image::after,
.values-grid .value-card .value-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 35%, rgba(4,25,67,.26));
  pointer-events: none;
}
@media (max-width: 720px) {
  .cathedral-opening .opening-image-slot {
    inset: 5%;
    border-radius: 24px;
  }
  .core-values-grid .value-card .value-image,
  .core-values .value-card .value-image,
  .values-grid .value-card .value-image {
    min-height: 150px;
  }
  .core-values-grid .value-card .value-image img,
  .core-values .value-card .value-image img,
  .values-grid .value-card .value-image img {
    min-height: 150px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .cathedral-opening .opening-image-slot img,
  .core-values-grid .value-card .value-image img,
  .core-values .value-card .value-image img,
  .values-grid .value-card .value-image img {
    transition: none;
  }
}



/* Shared polish for existing Core Value image spaces */
.core-values-grid img,
.core-values img,
.values-grid img {
  border-radius: 18px;
}



/* v6.6 — welcoming architectural polish */
.worship-image-anchor {
  position: relative;
  overflow: hidden;
  border-radius: clamp(24px, 3vw, 42px);
  min-height: clamp(280px, 34vw, 500px);
  margin-top: 1.25rem;
  border: 1px solid rgba(255,255,255,.13);
  background:
    linear-gradient(145deg, rgba(14,57,139,.28), rgba(255,255,255,.035)),
    repeating-linear-gradient(90deg, rgba(255,255,255,.025) 0 1px, transparent 1px 28px);
  box-shadow: 0 24px 70px rgba(3,20,58,.18), inset 0 0 0 1px rgba(255,200,87,.07);
}
.worship-image-anchor img {
  width:100%; height:100%; min-height:inherit; object-fit:cover; display:block;
  opacity:.94;
  transition:transform 1.1s cubic-bezier(.2,.7,.2,1), filter .8s ease;
}
.worship-image-anchor:hover img {
  transform:scale(1.035);
  filter:saturate(1.04) contrast(1.02);
}
.worship-image-anchor::after {
  content:"";
  position:absolute; inset:0; pointer-events:none;
  background:
    linear-gradient(180deg, rgba(7,31,78,.04), rgba(7,31,78,.32)),
    radial-gradient(circle at 50% 35%, rgba(255,255,255,.08), transparent 50%);
}
.worship-image-anchor .worship-image-label {
  position:absolute; left:18px; bottom:16px; z-index:2;
  padding:8px 13px; border-radius:999px;
  background:rgba(7,31,78,.42);
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(10px);
  color:rgba(255,255,255,.86);
  font-size:.7rem; letter-spacing:.11em; text-transform:uppercase;
}

/* Remove the distracting horizontal silver/metallic separator treatment. */
hr, .silver-strip, .silver-divider, .metal-strip, .metal-divider,
[class*="silver-strip"], [class*="silver-divider"],
[class*="metal-strip"], [class*="metal-divider"] {
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
section::before, section::after {
  /* to keep architectural accents */
}
.full-width-divider, .section-divider {
  background: transparent !important;
  box-shadow: none !important;
}

/* Softer, more welcoming transitions - architectural rather than mechanical. */
.reveal, [class*="reveal"], [data-reveal] {
  transition-timing-function:cubic-bezier(.22,1,.36,1);
}
@media (prefers-reduced-motion: reduce) {
  .worship-image-anchor img { transition:none; }
}


  /* Grace Apostolic Ministries Int'l - Worship gallery */

.worship-sanctuary {
  --royal-950: #03112f;
  --royal-900: #061b48;
  --royal-800: #092c69;
  --royal-700: #103d88;

  --topaz: #d8ad55;
  --topaz-light: #f4d993;

  position: relative;
  width: 100%;
  min-height: clamp(570px, 70vh, 760px);

  overflow: hidden;
  isolation: isolate;

  border-radius: clamp(20px, 3vw, 36px);

  background:
    radial-gradient(
      circle at 50% 38%,
      rgba(73, 130, 224, .22),
      transparent 43%
    ),
    linear-gradient(
      135deg,
      var(--royal-950),
      var(--royal-800) 52%,
      var(--royal-950)
    );

  box-shadow:
    0 35px 100px rgba(0, 8, 28, .38),
    inset 0 1px 0 rgba(255,255,255,.12);

  contain: paint;
}


/* ambient light */

.worship-sanctuary::before,
.worship-sanctuary::after {
  content: "";
  position: absolute;
  z-index: 0;

  width: 38%;
  aspect-ratio: 1;

  border-radius: 50%;

  pointer-events: none;

  filter: blur(90px);

  opacity: .55;

  will-change: transform;
}

.worship-sanctuary::before {
  left: -14%;
  top: -20%;

  background:
    rgba(70, 132, 232, .13);

  animation:
    worshipAmbientA 18s ease-in-out infinite alternate;
}

.worship-sanctuary::after {
  right: -15%;
  bottom: -20%;

  background:
    rgba(216, 173, 85, .055);

  animation:
    worshipAmbientB 22s ease-in-out infinite alternate;
}


/* stage */

.worship-stage {
  position: absolute;
  inset: 0;
  z-index: 1;
}


/* slides */

.worship-slide {
  position: absolute;
  inset: 0;

  margin: 0;

  opacity: 0;
  visibility: hidden;

  transform: scale(1.018);

  transition:
    opacity 1.35s cubic-bezier(.22,.61,.36,1),
    transform 8s cubic-bezier(.16,.7,.2,1),
    visibility 1.35s;
}

.worship-slide.is-active {
  opacity: 1;
  visibility: visible;

  transform: scale(1);
}

.worship-slide img {
  display: block;

  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: center;

  user-select: none;
  -webkit-user-drag: none;

  filter:
    saturate(.90)
    contrast(1.02)
    brightness(.84);

  transform: scale(1.035);

  transition:
    transform 9s cubic-bezier(.16,.7,.2,1),
    filter 1.4s ease;
}

.worship-slide.is-active img {
  transform: scale(1.065);
}


/* cinematic overlay */

.worship-slide::after {
  content: "";

  position: absolute;
  inset: 0;

  pointer-events: none;

  background:
    linear-gradient(
      180deg,
      rgba(2, 15, 42, .13) 0%,
      transparent 30%,
      transparent 66%,
      rgba(2, 12, 34, .35) 100%
    );
}


/* light */

.worship-center-light {
  position: absolute;
  z-index: 3;

  width: min(48vw, 560px);
  aspect-ratio: 1;

  left: 50%;
  top: 45%;

  transform:
    translate(-50%, -50%);

  border-radius: 50%;

  background:
    radial-gradient(
      circle,
      rgba(100, 157, 240, .075),
      rgba(100, 157, 240, .025) 38%,
      transparent 70%
    );

  filter: blur(14px);

  pointer-events: none;

  animation:
    sanctuaryBreath 9s ease-in-out infinite alternate;
}


/* vignette */

.worship-vignette {
  position: absolute;
  inset: 0;
  z-index: 4;

  pointer-events: none;

  background:
    radial-gradient(
      ellipse at center,
      transparent 34%,
      rgba(1, 8, 25, .28) 100%
    );
}


/* frame */

.worship-frame {
  position: absolute;
  inset: clamp(13px, 2.5vw, 30px);

  z-index: 5;

  border:
    1px solid rgba(255,255,255,.13);

  border-radius:
    clamp(15px, 2vw, 28px);

  pointer-events: none;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    inset 0 0 45px rgba(255,255,255,.025);
}


/* frame accents */

.worship-frame::before,
.worship-frame::after {
  content: "";

  position: absolute;

  width: clamp(34px, 5vw, 62px);
  height: clamp(34px, 5vw, 62px);

  border-color:
    rgba(244,217,147,.58);

  border-style: solid;

  opacity: .8;
}

.worship-frame::before {
  left: -1px;
  top: -1px;

  border-width:
    1px 0 0 1px;

  border-radius:
    inherit 0 0 0;
}

.worship-frame::after {
  right: -1px;
  bottom: -1px;

  border-width:
    0 1px 1px 0;

  border-radius:
    0 0 inherit 0;
}


/* counter */

.worship-counter {
  position: absolute;

  z-index: 9;

  top: clamp(18px, 3vw, 30px);
  right: clamp(18px, 3vw, 30px);

  display: flex;
  align-items: baseline;
  gap: 3px;

  padding: 9px 13px;

  border:
    1px solid rgba(255,255,255,.13);

  border-radius: 999px;

  color:
    rgba(255,255,255,.82);

  background:
    rgba(3,17,47,.42);

  backdrop-filter:
    blur(18px) saturate(120%);

  -webkit-backdrop-filter:
    blur(18px) saturate(120%);

  font:
    600 11px/1
    system-ui, sans-serif;

  letter-spacing: .14em;

  box-shadow:
    0 10px 30px rgba(0,0,0,.12),
    inset 0 1px 0 rgba(255,255,255,.08);
}

.worship-current {
  color: var(--topaz-light);
}


/* pause */

.worship-pause {
  position: absolute;

  z-index: 9;

  top: clamp(18px, 3vw, 30px);
  left: clamp(18px, 3vw, 30px);

  width: 40px;
  height: 40px;

  display: grid;
  place-items: center;

  border:
    1px solid rgba(255,255,255,.14);

  border-radius: 50%;

  background:
    rgba(3,17,47,.42);

  color: #fff;

  cursor: pointer;

  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);

  box-shadow:
    0 10px 30px rgba(0,0,0,.14),
    inset 0 1px 0 rgba(255,255,255,.08);

  transition:
    transform .35s cubic-bezier(.2,.8,.2,1),
    background .35s ease,
    border-color .35s ease;
}

.worship-pause:hover {
  transform: scale(1.08);

  background:
    rgba(216,173,85,.14);

  border-color:
    rgba(244,217,147,.55);
}

.worship-pause:active {
  transform: scale(.94);
}

.worship-pause:focus-visible {
  outline:
    2px solid var(--topaz-light);

  outline-offset: 4px;
}


/* ctrl bar */

.worship-controls {
  position: absolute;

  z-index: 10;

  left: 50%;
  bottom: clamp(16px, 3vw, 30px);

  transform: translateX(-50%);

  display: flex;
  align-items: center;

  width: min(
    calc(100% - 32px),
    520px
  );

  gap: 8px;

  padding: 8px;

  border:
    1px solid rgba(255,255,255,.14);

  border-radius: 999px;

  background:
    rgba(3,17,47,.53);

  backdrop-filter:
    blur(22px) saturate(130%);

  -webkit-backdrop-filter:
    blur(22px) saturate(130%);

  box-shadow:
    0 18px 55px rgba(0,0,0,.23),
    inset 0 1px 0 rgba(255,255,255,.09);
}


/* arrows */

.worship-arrow {
  flex: 0 0 auto;

  width: 40px;
  height: 40px;

  display: grid;
  place-items: center;

  padding: 0;

  border:
    1px solid rgba(255,255,255,.13);

  border-radius: 50%;

  background:
    rgba(255,255,255,.065);

  color: #fff;

  font:
    300 25px/1
    system-ui, sans-serif;

  cursor: pointer;

  transition:
    transform .35s cubic-bezier(.2,.8,.2,1),
    background .3s ease,
    border-color .3s ease,
    box-shadow .3s ease;
}

.worship-arrow:hover {
  transform: scale(1.08);

  background:
    rgba(216,173,85,.15);

  border-color:
    rgba(244,217,147,.55);

  box-shadow:
    0 0 0 4px rgba(216,173,85,.055);
}

.worship-arrow:active {
  transform: scale(.92);
}

.worship-arrow:focus-visible {
  outline:
    2px solid var(--topaz-light);

  outline-offset: 3px;
}


/* dot.view-port */

.worship-dots {
  flex: 1 1 auto;

  display: flex;
  align-items: center;

  gap: 6px;

  min-width: 0;

  overflow-x: auto;
  overflow-y: hidden;

  padding:
    5px 7px;

  scroll-behavior: smooth;

  scrollbar-width: none;

  overscroll-behavior-x: contain;
}

.worship-dots::-webkit-scrollbar {
  display: none;
}


/* dots */

.worship-dot {
  flex: 0 0 auto;

  width: 6px;
  height: 6px;

  padding: 0;

  border: 0;

  border-radius: 999px;

  background:
    rgba(255,255,255,.30);

  cursor: pointer;

  opacity: .75;

  transition:
    width .4s cubic-bezier(.2,.8,.2,1),
    transform .35s cubic-bezier(.2,.8,.2,1),
    background .35s ease,
    opacity .35s ease,
    box-shadow .35s ease;
}

.worship-dot:hover {
  opacity: 1;

  transform:
    scale(1.5);

  background:
    rgba(244,217,147,.75);
}

.worship-dot.is-active {
  width: 23px;

  opacity: 1;

  background:
    linear-gradient(
      90deg,
      var(--topaz),
      var(--topaz-light)
    );

  box-shadow:
    0 0 12px rgba(244,217,147,.28);
}


/* progress */

.worship-progress {
  position: absolute;

  z-index: 11;

  left: 0;
  right: 0;
  bottom: 0;

  height: 2px;

  overflow: hidden;

  background:
    rgba(255,255,255,.07);
}

.worship-progress-bar {
  width: 0;
  height: 100%;

  transform-origin: left center;

  background:
    linear-gradient(
      90deg,
      var(--topaz),
      var(--topaz-light)
    );

  box-shadow:
    0 0 14px rgba(244,217,147,.45);
}


/* animation */

@keyframes worshipAmbientA {
  0% {
    transform: translate3d(0,0,0) scale(1);
  }

  100% {
    transform: translate3d(9%,12%,0) scale(1.13);
  }
}

@keyframes worshipAmbientB {
  0% {
    transform: translate3d(0,0,0) scale(1);
  }

  100% {
    transform: translate3d(-11%,-8%,0) scale(1.15);
  }
}

@keyframes sanctuaryBreath {
  0% {
    opacity: .35;
    transform:
      translate(-50%,-50%)
      scale(.92);
  }

  100% {
    opacity: .75;
    transform:
      translate(-50%,-50%)
      scale(1.08);
  }
}


/* mobile */

@media (max-width: 700px) {

  .worship-sanctuary {
    min-height: 58vh;
    border-radius: 22px;
  }

  .worship-controls {
    width:
      calc(100% - 28px);

    bottom: 14px;
  }

  .worship-arrow {
    width: 36px;
    height: 36px;
  }

  .worship-dots {
    gap: 5px;
  }

  .worship-dot {
    width: 5px;
    height: 5px;
  }

  .worship-dot.is-active {
    width: 18px;
  }
}


/* for smaller screens */

@media (max-width: 440px) {

  .worship-sanctuary {
    min-height: 390px;
    border-radius: 18px;
  }

  .worship-frame {
    inset: 10px;
  }

  .worship-controls {
    padding: 6px;
    gap: 5px;
  }

  .worship-arrow {
    width: 34px;
    height: 34px;
  }

  .worship-dots {
    padding-inline: 4px;
  }

  .worship-counter {
    top: 16px;
    right: 16px;

    padding: 7px 10px;

    font-size: 9px;
  }

  .worship-pause {
    top: 16px;
    left: 16px;

    width: 34px;
    height: 34px;
  }
}


/* Reduced Motion */

@media (prefers-reduced-motion: reduce) {

  .worship-sanctuary::before,
  .worship-sanctuary::after,
  .worship-center-light {
    animation: none;
  }

  .worship-slide,
  .worship-slide img {
    transition:
      opacity .3s ease;
    transform: none !important;
  }

  .worship-dots {
    scroll-behavior: auto;
  }
}


/* Calm the visual field */
body {
  background:
    radial-gradient(circle at 50% -10%, rgba(65,105,225,.12), transparent 42%),
    linear-gradient(180deg, #071b48 0%, #0a2459 48%, #071a42 100%) !important;
}

/* This one removes remaining decorative "construction" feeling */
section::before,
section::after {
  background-image: none !important;
  box-shadow: none !important;
}
hr,
.silver-strip, .silver-divider, .metal-strip, .metal-divider,
[class*="silver-strip"], [class*="silver-divider"],
[class*="metal-strip"], [class*="metal-divider"],
.full-width-divider, .section-divider {
  display: none !important;
}

.card, .value-card, .feature-card, .info-card,
[class*="card"] {
  border-radius: 24px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.035)) !important;
  box-shadow: 0 18px 48px rgba(2,18,55,.14) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

/* A little more breathing room */
.container, .section-inner, .content, main > section > div {
  scroll-margin-top: 90px;
}

/* Image spaces in beautiful focal windows rather than blocks.  */
.worship-image-anchor,
.opening-image-slot {
  border-radius: 28px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  box-shadow: 0 24px 70px rgba(2,18,55,.20) !important;
}
.worship-image-anchor::before,
.worship-image-anchor::after,
.opening-image-slot::before,
.opening-image-slot::after {
  background-image: none !important;
}
.worship-image-anchor::after,
.opening-image-slot::after {
  background:
    linear-gradient(180deg, rgba(5,20,55,.02), rgba(5,20,55,.30)),
    radial-gradient(circle at 50% 30%, rgba(255,255,255,.08), transparent 55%) !important;
}

/* Core values: consistent, editorial composition */
.core-values-grid,
.core-values,
.values-grid {
  gap: 22px !important;
}
.core-values-grid .value-card,
.core-values .value-card,
.values-grid .value-card {
  padding: 18px !important;
  transition:
    transform .55s cubic-bezier(.22,1,.36,1),
    box-shadow .55s ease,
    border-color .45s ease !important;
}
.core-values-grid .value-card:hover,
.core-values .value-card:hover,
.values-grid .value-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 24px 60px rgba(2,18,55,.22) !important;
  border-color: rgba(255,200,87,.22) !important;
}

/* Keep topaz as a refined accent rather than a glow everywhere */
button, .btn, .button, a[class*="btn"] {
  transition:
    transform .45s cubic-bezier(.22,1,.36,1),
    box-shadow .45s ease,
    background-color .35s ease !important;
}
button:hover, .btn:hover, .button:hover, a[class*="btn"]:hover {
  transform: translateY(-2px);
}

/* Gentle reveal - no rigid snapping */
.reveal, [class*="reveal"], [data-reveal] {
  transition-duration: .85s !important;
  transition-timing-function: cubic-bezier(.22,1,.36,1) !important;
}

/* Navbar: a softer visual hierarchy */
nav, header {
  box-shadow: 0 8px 30px rgba(2,18,55,.10) !important;
}
nav a, header a {
  transition: color .3s ease, opacity .3s ease, transform .35s ease !important;
}
nav a:hover, header a:hover {
  transform: translateY(-1px);
}

/* Control effects and prevent then from becoming a visual pile-up */
.glow, [class*="glow"] {
  filter: none !important;
}
[class*="particle"], [class*="spark"], [class*="ornament"] {
  opacity: .35;
  pointer-events: none;
}

/* Mobile stays spacious and calm */
@media (max-width: 720px) {
  .card, .value-card, .feature-card, .info-card,
  [class*="card"] {
    border-radius: 20px !important;
  }
  .worship-image-anchor,
  .opening-image-slot {
    border-radius: 22px !important;
  }
}

/* Accessibility / performance */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}


/* A place to Worship: feels more welcoming */
.worship-section,
section:has(#v66-worship-anchor) {
  position: relative;
}
.worship-section .section-heading,
section:has(#v66-worship-anchor) h2,
section:has(#v66-worship-anchor) h3 {
  max-width: 760px;
  margin-inline: auto;
}
.worship-section .worship-intro,
section:has(#v66-worship-anchor) p {
  line-height: 1.8;
}

/* Turn the worship image into a calm visual centerpiece */
#worship-beauty-anchor,
#worship-beauty-anchor.worship-image-anchor {
  margin: 30px auto 0 !important;
  width: min(100%, 1080px);
  min-height: clamp(300px, 42vw, 560px) !important;
  border-radius: 30px !important;
  overflow: hidden;
  position: relative;
  background:
    radial-gradient(circle at 50% 30%, rgba(255,255,255,.10), transparent 45%),
    linear-gradient(135deg, #143c91, #315fc9 52%, #0a2458) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  box-shadow:
    0 30px 80px rgba(2,18,55,.24),
    0 2px 0 rgba(255,255,255,.05) inset !important;
}
#worship-beauty-anchor img {
  min-height: inherit !important;
  object-fit: cover;
  object-position: center;
  transform: scale(1.001);
  transition:
    transform 1.4s cubic-bezier(.16,1,.3,1),
    filter 1s ease,
    opacity .8s ease !important;
}
#worship-beauty-anchor:hover img {
  transform: scale(1.035);
  filter: saturate(1.06) contrast(1.02);
}
#worship-beauty-anchor::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(4,20,55,.02) 35%, rgba(4,20,55,.34) 100%),
    radial-gradient(circle at 50% 30%, rgba(255,255,255,.09), transparent 48%);
}
#worship-beauty-anchor::after {
  content: "";
  position: absolute;
  width: 34%;
  height: 1px;
  left: 33%;
  bottom: 23px;
  background: linear-gradient(90deg, transparent, rgba(255,200,87,.6), transparent);
  opacity: .7;
  z-index: 2;
}
#worship-beauty-anchor .worship-image-label {
  left: 50% !important;
  bottom: 35px !important;
  transform: translateX(-50%);
  white-space: nowrap;
  background: rgba(5,25,64,.48) !important;
  border-color: rgba(255,255,255,.18) !important;
  color: rgba(255,255,255,.9) !important;
}

/* Adds a small visual "welcome" rhythm below the image */
.worship-welcome-note {
  width: min(720px, 92%);
  margin: 22px auto 0;
  text-align: center;
  color: rgba(255,255,255,.78);
  font-size: .95rem;
  line-height: 1.75;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .8s ease .12s, transform .8s cubic-bezier(.22,1,.36,1) .12s;
}
.worship-welcome-note.is-visible,
.worship-section:hover .worship-welcome-note {
  opacity: 1;
  transform: translateY(0);
}

/* General refinements */
section {
  isolation: isolate;
}
section + section {
  border-top: 0 !important;
}
a {
  -webkit-tap-highlight-color: transparent;
}
button:focus-visible,
a:focus-visible {
  outline: 2px solid rgba(255,200,87,.8);
  outline-offset: 4px;
}

/* Gentle entrance for major visual blocks */
.worship-image-anchor,
.opening-image-slot,
.core-values-grid .value-card,
.core-values .value-card,
.values-grid .value-card {
  will-change: transform;
}

/* This one avoids excessive motion on touch devices */
@media (hover: none) {
  #worship-beauty-anchor:hover img {
    transform: none;
  }
}

@media (max-width: 720px) {
  #worship-beauty-anchor {
    min-height: 280px !important;
    border-radius: 22px !important;
    margin-top: 22px !important;
  }
  #worship-beauty-anchor .worship-image-label {
    bottom: 26px !important;
    font-size: .65rem;
  }
}

/* Respect accessibility preferences */
@media (prefers-reduced-motion: reduce) {
  #worship-beauty-anchor img,
  .worship-welcome-note {
    transition: none !important;
  }
}


/* v6.9 — refined foundation verse positioning */
.foundation-verse,.acts-242-card,.our-foundation-card{
  transform:translateY(-18px);position:relative;z-index:3;
}
@media(max-width:700px){
  .foundation-verse,.acts-242-card,.our-foundation-card{transform:translateY(-10px);}
}
/* v6.9 — Psalm 46:10 */
.psalm-4610{margin:4rem auto 0;padding:4rem 1.5rem;text-align:center;position:relative}
.psalm-inner{max-width:820px;margin:0 auto;padding:2.8rem 2rem;border:1px solid rgba(255,200,87,.22);border-radius:28px;background:linear-gradient(145deg,rgba(12,45,112,.38),rgba(7,20,55,.22));box-shadow:0 22px 60px rgba(3,14,42,.18);backdrop-filter:blur(12px)}
.psalm-kicker{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:#ffc857;margin-bottom:1.2rem}
.psalm-inner blockquote{margin:0;color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.65rem,3.2vw,2.7rem);line-height:1.25;font-style:italic}
.psalm-reference{margin-top:1rem;color:rgba(255,255,255,.72);font-size:.9rem;letter-spacing:.12em}


/* Keep the Foundation card clearly separated from adjacent copy. */
.foundation-verse,
.acts-242-card,
.our-foundation-card {
  position: relative;
  z-index: 4;
  transform: translateY(-34px);
  margin-bottom: -14px;
}

@media (max-width: 700px) {
  .foundation-verse,
  .acts-242-card,
  .our-foundation-card {
    transform: translateY(-20px);
    margin-bottom: -6px;
  }
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  opacity: .28;
  background:
    radial-gradient(ellipse 520px 380px at 8% 18%,
      rgba(88, 145, 255, .075), transparent 72%),
    radial-gradient(ellipse 500px 360px at 91% 42%,
      rgba(235, 126, 190, .055), transparent 74%),
    radial-gradient(ellipse 620px 420px at 50% 92%,
      rgba(75, 125, 245, .045), transparent 76%);
  filter: blur(34px);
}

section,
header,
footer,
main {
  position: relative;
  z-index: 1;
}

/* Give genuinely white surfaces a whisper of color. */
.white-space,
.white-section,
.light-section,
.light-surface,
.bg-white {
  background:
    radial-gradient(circle at 12% 18%,
      rgba(88,145,255,.045), transparent 42%),
    radial-gradient(circle at 88% 72%,
      rgba(235,126,190,.035), transparent 44%),
    #fff;
}

/* Avoid hard/rigid transition edges around the atmospheric treatment. */
.psalm-4610,
.psalm-inner {
  position: relative;
  z-index: 2;
}

@media (prefers-reduced-motion: reduce) {
  body::before {
    filter: blur(20px);
  }
}

/*Verse*/

/* Verse */

.stillness-sanctuary {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 430px;
  display: grid;
  place-items: center;
  padding: 6.5rem 1.5rem 7rem;
  margin-top: 1rem;
  background:
    radial-gradient(ellipse 460px 300px at 16% 42%,
      rgba(83, 139, 255, .055), transparent 76%),
    radial-gradient(ellipse 430px 290px at 84% 58%,
      rgba(232, 126, 190, .042), transparent 76%);
}

.stillness-glow {
  position: absolute;
  pointer-events: none;
  border-radius: 999px;
  filter: blur(72px);
  opacity: .42;
  z-index: -1;
}

.stillness-glow-blue {
  width: 320px;
  height: 220px;
  left: 2%;
  top: 16%;
  background: rgba(82, 139, 255, .09);
}

.stillness-glow-pink {
  width: 300px;
  height: 210px;
  right: 2%;
  bottom: 12%;
  background: rgba(232, 126, 190, .065);
}

.stillness-card {
  width: min(900px, 100%);
  box-sizing: border-box;
  padding: clamp(2.8rem, 6vw, 5rem) clamp(1.5rem, 6vw, 4.5rem);
  text-align: center;
  border-radius: 34px;
  border: 1px solid rgba(255, 255, 255, .48);
  background:
    linear-gradient(145deg,
      rgba(255,255,255,.76),
      rgba(247,250,255,.66));
  box-shadow:
    0 30px 90px rgba(21, 49, 108, .10),
    0 8px 30px rgba(21, 49, 108, .06);
  backdrop-filter: blur(13px);
  -webkit-backdrop-filter: blur(13px);
}

.stillness-mark {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  margin-bottom: 1.35rem;
}

.stillness-mark span {
  display: block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #d5a43d;
}

.stillness-mark span:nth-child(2) {
  width: 7px;
  height: 7px;
  opacity: .78;
}

.stillness-kicker {
  margin: 0 0 1.35rem;
  color: #3e64a8;
  font-size: .72rem;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: .24em;
  text-transform: uppercase;
}

.stillness-quote {
  max-width: 760px;
  margin: 0 auto;
  color: rgb(206, 207, 209);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.85rem, 4vw, 3.25rem);
  line-height: 1.22;
  font-weight: 400;
  font-style: italic;
  letter-spacing: -.015em;
}

.quote-open,
.quote-close {
  color: #d5a43d;
  font-style: normal;
  opacity: .8;
}

.quote-open {
  margin-right: .08em;
}

.quote-close {
  margin-left: .04em;
}

.stillness-reference {
  margin: 1.35rem 0 0;
  color: #5f6f8d;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.stillness-rule {
  width: 52px;
  height: 1px;
  margin: 1.65rem auto 1.15rem;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(213,164,61,.75),
    transparent
  );
}

.stillness-invitation {
  margin: 0;
  color: rgba(155, 233, 255, 0.64);
  font-size: .88rem;
  letter-spacing: .04em;
}

@media (max-width: 700px) {
  .stillness-sanctuary {
    min-height: 360px;
    padding: 4.5rem 1rem 5rem;
  }

  .stillness-card {
    border-radius: 26px;
    padding: 2.6rem 1.35rem 3rem;
  }

  .stillness-invitation {
    font-size: .82rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .stillness-glow {
    filter: blur(48px);
  }
}