/* DYNAMIC WORD — SHARED STYLES */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,700;0,900;1,700&family=DM+Sans:wght@300;400;500;600&display=swap');
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --black:#0a0a0a;--blue:#1a3a6b;--blue-mid:#2952a3;--blue-light:#e8eef8;
  --red:#c0182a;--red-light:#fdeaec;--gold:#b8862a;--gold-light:#fdf4e3;
  --white:#ffffff;--off-white:#f7f6f3;--gray-light:#efefed;--gray-mid:#d4d2cd;
  --gray-text:#6b6b68;--text:#1a1a1a;
  --serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',system-ui,sans-serif;
}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--white);color:var(--text);line-height:1.6;overflow-x:hidden}
.label{font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;margin-bottom:12px;display:block}
.label-blue{color:var(--blue-mid)}.label-red{color:var(--red)}.label-gold{color:var(--gold)}.label-gray{color:var(--gray-text)}.label-black{color:var(--black)}
.serif{font-family:var(--serif)}
.accent-bar{width:36px;height:3px;margin-bottom:16px}
.accent-bar-blue{background:var(--blue)}.accent-bar-red{background:var(--red)}.accent-bar-gold{background:var(--gold)}.accent-bar-black{background:var(--black)}
.btn{display:inline-block;font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;text-decoration:none;padding:13px 28px;border:none;cursor:pointer;transition:all .2s ease}
.btn-red{background:var(--red);color:#fff}.btn-red:hover{background:#a01020}
.btn-blue{background:var(--blue);color:#fff}.btn-blue:hover{background:#0f2448}
.btn-gold{background:var(--gold);color:#fff}.btn-gold:hover{background:#9a701e}
.btn-black{background:var(--black);color:#fff}.btn-black:hover{background:#2a2a2a}
.btn-outline-blue{background:transparent;color:var(--blue);border:1.5px solid var(--blue)}.btn-outline-blue:hover{background:var(--blue);color:#fff}
.btn-outline-red{background:transparent;color:var(--red);border:1.5px solid var(--red)}.btn-outline-red:hover{background:var(--red);color:#fff}
.btn-outline-white{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.5)}.btn-outline-white:hover{background:rgba(255,255,255,.12)}
.btn-lg{padding:16px 38px;font-size:12px}
/* NAV */
#nav{position:sticky;top:0;z-index:100;background:var(--white);border-bottom:1px solid var(--gray-light);padding:0 40px;display:flex;align-items:center;justify-content:space-between;height:64px;transition:box-shadow .3s}
#nav.scrolled{box-shadow:0 2px 20px rgba(0,0,0,.08)}
.nav-logo{font-family:var(--serif);font-size:18px;font-weight:700;color:var(--black);text-decoration:none;letter-spacing:.02em;display:flex;align-items:center;gap:8px}
.nav-logo-cross{width:18px;height:18px;position:relative;flex-shrink:0}
.nav-logo-cross::before,.nav-logo-cross::after{content:'';position:absolute;background:var(--red)}
.nav-logo-cross::before{width:4px;height:18px;left:7px;top:0}
.nav-logo-cross::after{width:18px;height:4px;left:0;top:5px}
.nav-links{display:flex;gap:28px;list-style:none}
.nav-links a{font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--gray-text);text-decoration:none;transition:color .15s}
.nav-links a:hover,.nav-links a.active{color:var(--blue)}
.nav-cta{display:flex;gap:10px;align-items:center}
.nav-hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px}
.nav-hamburger span{display:block;width:22px;height:2px;background:var(--black);transition:all .3s}
.mobile-menu{display:none;position:fixed;inset:64px 0 0 0;background:var(--white);z-index:99;padding:32px 40px;flex-direction:column;gap:24px;border-top:1px solid var(--gray-light);overflow-y:auto}
.mobile-menu.open{display:flex}
.mobile-menu a{font-size:18px;font-weight:500;color:var(--text);text-decoration:none;border-bottom:1px solid var(--gray-light);padding-bottom:16px}
.mobile-menu a:hover{color:var(--blue)}
/* PAGE HERO */
.page-hero{background:var(--blue);padding:80px 40px 72px;text-align:center;position:relative;overflow:hidden}
.page-hero-pattern{position:absolute;inset:0;opacity:.05;background-image:repeating-linear-gradient(0deg,transparent,transparent 48px,rgba(255,255,255,.4) 48px,rgba(255,255,255,.4) 50px),repeating-linear-gradient(90deg,transparent,transparent 48px,rgba(255,255,255,.4) 48px,rgba(255,255,255,.4) 50px)}
.page-hero-label{font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:14px;position:relative}
.page-hero h1{font-family:var(--serif);font-size:clamp(34px,6vw,64px);font-weight:900;color:#fff;line-height:1.05;max-width:760px;margin:0 auto 16px;position:relative}
.page-hero h1 em{font-style:italic;color:#f6cc72}
.page-hero h1 .red{color:#f87171}
.page-hero p{font-size:15px;color:rgba(255,255,255,.65);max-width:520px;margin:0 auto 28px;line-height:1.75;position:relative}
.page-hero-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;position:relative}
/* SECTIONS */
section.pg{padding:72px 40px}
.section-inner{max-width:1100px;margin:0 auto}
.section-h2{font-family:var(--serif);font-size:clamp(26px,4vw,42px);font-weight:700;line-height:1.1;color:var(--black);margin-bottom:14px}
.section-h2 em{font-style:italic;color:var(--blue)}
.section-h2 .red{color:var(--red)}
/* FORMS */
.form-group{margin-bottom:12px}
.form-field,.form-select,.form-area{width:100%;background:var(--white);border:1.5px solid var(--gray-mid);color:var(--text);font-size:13px;font-family:var(--sans);padding:12px 14px;outline:none;transition:border-color .2s;appearance:none}
.form-field:focus,.form-select:focus,.form-area:focus{border-color:var(--blue-mid)}
.form-area{resize:vertical;min-height:110px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-submit{width:100%;padding:15px;font-size:12px;margin-top:4px;cursor:pointer}
/* CARDS */
.card{background:var(--white);border:1px solid var(--gray-light);transition:box-shadow .2s,transform .2s}
.card:hover{box-shadow:0 6px 24px rgba(26,58,107,.1);transform:translateY(-3px)}
/* SCRIPTURE BLOCK */
.scripture-block{border-left:3px solid var(--gold);padding:16px 20px;background:var(--gold-light);margin-bottom:20px}
.scripture-ref{font-size:9px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.scripture-text{font-family:var(--serif);font-style:italic;font-size:16px;color:var(--text);line-height:1.65}
/* FOOTER */
.site-footer{background:var(--black);color:#fff;padding:40px}
.footer-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;margin-bottom:28px;padding-bottom:28px;border-bottom:1px solid rgba(255,255,255,.08)}
.footer-logo{font-family:var(--serif);font-size:18px;font-weight:700;color:#fff;display:flex;align-items:center;gap:8px}
.footer-logo-cross{width:16px;height:16px;position:relative;flex-shrink:0}
.footer-logo-cross::before,.footer-logo-cross::after{content:'';position:absolute;background:var(--red)}
.footer-logo-cross::before{width:4px;height:16px;left:6px;top:0}
.footer-logo-cross::after{width:16px;height:4px;left:0;top:4px}
.footer-social{display:flex;gap:8px;flex-wrap:wrap}
.footer-pill{font-size:9px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;border:1px solid rgba(255,255,255,.15);padding:5px 12px;color:rgba(255,255,255,.5);cursor:pointer;transition:all .15s;text-decoration:none}
.footer-pill:hover{border-color:rgba(255,255,255,.4);color:#fff}
.footer-nav{display:flex;flex-wrap:wrap;gap:6px 20px;margin-bottom:20px}
.footer-nav a{font-size:11px;color:rgba(255,255,255,.35);text-decoration:none;text-transform:uppercase;letter-spacing:.08em;transition:color .15s}
.footer-nav a:hover{color:rgba(255,255,255,.7)}
.footer-copy{font-size:10px;color:rgba(255,255,255,.2);letter-spacing:.06em;text-align:center;margin-top:20px;padding-top:20px;border-top:1px solid rgba(255,255,255,.05)}
/* REVEAL */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .6s ease,transform .6s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.reveal-delay-4{transition-delay:.4s}
/* RESPONSIVE */
@media(max-width:900px){
  section.pg{padding:52px 24px}
  #nav{padding:0 24px}
  .nav-links{display:none}
  .nav-hamburger{display:flex}
  .page-hero{padding:60px 24px 56px}
  .form-row{grid-template-columns:1fr}
  .site-footer{padding:32px 24px}
  .footer-top{flex-direction:column;align-items:flex-start}
}
