:root{
  --stone-black:#0b0a09;
  --stone-900:#131110;
  --stone-800:#1c1917;
  --stone-700:#2a2623;
  --stone-line:#3a342e;
  --ash:#8a8078;
  --bone:#e8e2d6;
  --gold:#b08d4d;
  --gold-bright:#d4af6a;
  --ember:#7a2e22;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--stone-black);
  color:var(--bone);
  font-family:'Inter',sans-serif;
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--gold);color:var(--stone-black)}
a{color:inherit;text-decoration:none}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px}

/* ---- arch motif ---- */
.arch-top{
  border-top-left-radius:50% 100%;
  border-top-right-radius:50% 100%;
}

/* ---- nav ---- */
nav{
  position:fixed;top:0;left:0;right:0;z-index:50;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  padding:20px 32px;
  background:linear-gradient(to bottom,rgba(11,10,9,.95),rgba(11,10,9,0));
  backdrop-filter:blur(2px);
}
.brand{
  font-family:'Cinzel',serif;font-weight:700;letter-spacing:.22em;
  font-size:1rem;color:var(--bone);text-transform:uppercase;
  display:flex;align-items:center;gap:12px;
}
.brand svg{width:22px;height:30px}
.brand-mark{height:34px;width:auto;display:block}
.navlinks{display:flex;gap:34px;font-family:'Oswald';font-weight:400;
  text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;color:var(--ash)}
.navlinks a{transition:color .25s}
.navlinks a:hover{color:var(--gold-bright)}
.nav-cta{color:var(--gold-bright);border:1px solid var(--stone-line);
  padding:8px 18px;transition:.25s;justify-self:end}
.nav-cta:hover{background:var(--gold);color:var(--stone-black);border-color:var(--gold)}
@media(max-width:760px){.navlinks{display:none}}

/* ---- hero ---- */
.hero{
  min-height:100vh;position:relative;display:flex;align-items:center;
  justify-content:center;text-align:center;
  background:
    radial-gradient(ellipse 80% 60% at 50% 8%, rgba(176,141,77,.14), transparent 60%),
    radial-gradient(ellipse 100% 80% at 50% 120%, rgba(122,46,34,.22), transparent 55%),
    #000;
  overflow:hidden;
}
.hero-logo{
  display:block;width:min(560px,82vw);height:auto;margin:0 auto 8px;
  filter:drop-shadow(0 8px 50px rgba(0,0,0,.9));
}
/* stone light shafts */
.hero::before{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(105deg, transparent 42%, rgba(212,175,106,.05) 46%, transparent 50%),
    linear-gradient(75deg, transparent 55%, rgba(212,175,106,.04) 59%, transparent 63%);
  pointer-events:none;
}
.arch-frame{
  position:relative;z-index:2;padding:0 20px;
  animation:rise 1.2s cubic-bezier(.2,.7,.2,1) both;
}
@keyframes rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
.eyebrow{
  font-family:'Oswald';font-weight:300;letter-spacing:.5em;
  text-transform:uppercase;font-size:.72rem;color:var(--gold);
  margin-bottom:28px;padding-left:.5em;
}
.hero h1{
  font-family:'Cinzel',serif;font-weight:900;
  font-size:clamp(3.4rem,11vw,8.5rem);line-height:.92;
  letter-spacing:.02em;color:var(--bone);
  text-shadow:0 2px 40px rgba(0,0,0,.8);
}
.hero h1 .thin{display:block;font-weight:500;
  font-size:clamp(1rem,3.2vw,2rem);letter-spacing:.4em;
  color:var(--ash);margin-top:22px;text-transform:uppercase}
.hero-sub{
  max-width:560px;margin:34px auto 40px;color:var(--ash);
  font-size:1.02rem;line-height:1.7;
}
.hero-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.btn{
  font-family:'Oswald';text-transform:uppercase;letter-spacing:.16em;
  font-size:.82rem;font-weight:500;padding:15px 34px;transition:.25s;
  display:inline-block;cursor:pointer;border:none;
}
.btn-gold{background:var(--gold);color:var(--stone-black)}
.btn-gold:hover{background:var(--gold-bright);transform:translateY(-2px)}
.btn-ghost{border:1px solid var(--stone-line);color:var(--bone);background:transparent}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold-bright)}
.scroll-cue{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);
  font-family:'Oswald';letter-spacing:.3em;font-size:.62rem;color:var(--ash);
  text-transform:uppercase;z-index:2;animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:.4}50%{opacity:1}}

/* ---- section base ---- */
section{position:relative}
.sec-pad{padding:120px 0}
.sec-label{
  font-family:'Oswald';letter-spacing:.4em;text-transform:uppercase;
  font-size:.72rem;color:var(--gold);margin-bottom:18px;
  display:flex;align-items:center;gap:14px;
}
.sec-label::before{content:"";width:34px;height:1px;background:var(--gold)}
h2.sec-title{
  font-family:'Cinzel',serif;font-weight:700;
  font-size:clamp(2rem,5vw,3.4rem);line-height:1.05;color:var(--bone);
  margin-bottom:24px;
}
.sec-intro{color:var(--ash);max-width:640px;margin:0 auto 20px}

/* ---- mission / creed ---- */
.creed{
  background:linear-gradient(180deg,var(--stone-black),var(--stone-900));
  border-top:1px solid var(--stone-line);border-bottom:1px solid var(--stone-line);
  text-align:center;
}
.creed .sec-label{justify-content:center}
.creed .sec-label::before{display:none}
.creed-lines{max-width:820px;margin:40px auto 0}
.creed-line{
  font-family:'Cinzel',serif;font-weight:500;
  font-size:clamp(1.3rem,3.4vw,2.2rem);color:var(--bone);
  padding:22px 0;
  line-height:1.4;
}

/* ---- pillars ---- */
.pillars-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:2px;
  background:var(--stone-line);border:1px solid var(--stone-line);
  margin-top:60px;
}
.pillar{
  background:var(--stone-900);padding:48px 44px;transition:background .3s;
}
.pillar:hover{background:var(--stone-800)}
.pillar .num{
  font-family:'Cinzel',serif;font-weight:900;font-size:2.4rem;
  color:var(--stone-700);line-height:1;margin-bottom:20px;
  transition:color .3s;
}
.pillar:hover .num{color:var(--gold)}
.pillar h3{
  font-family:'Oswald';font-weight:500;text-transform:uppercase;
  letter-spacing:.12em;font-size:1.1rem;color:var(--bone);margin-bottom:6px;
}
.pillar .verse-ref{
  font-family:'Oswald';font-weight:400;text-transform:uppercase;
  letter-spacing:.1em;font-size:.72rem;color:var(--gold-bright);margin-bottom:16px;
  display:block;
}
.pillar p{color:var(--ash);font-size:.94rem}
.pillar blockquote{color:var(--ash);font-size:.94rem;font-style:italic}
.highlight-red{transition:color .3s ease}
.pillar blockquote:hover .highlight-red{color:#c0392b}
@media(max-width:760px){.pillars-grid{grid-template-columns:1fr}}

/* ---- offering / covenant (nonprofit) ---- */
.covenant{
  background:
    radial-gradient(ellipse 70% 50% at 50% 0%, rgba(122,46,34,.18), transparent 60%),
    var(--stone-black);
  border-top:1px solid var(--stone-line);text-align:center;
}
.cov-card{
  max-width:720px;margin:0 auto;border:1px solid var(--stone-line);
  background:var(--stone-900);padding:64px 48px;position:relative;
}
.cov-card::before,.cov-card::after{
  content:"✝";position:absolute;color:var(--gold);font-size:1.1rem;top:18px}
.cov-card::before{left:22px}.cov-card::after{right:22px}
.cov-card p.big{font-family:'Cinzel',serif;font-size:1.4rem;line-height:1.5;
  color:var(--bone);margin-bottom:22px}
.cov-card p.small{color:var(--ash);font-size:.95rem;margin-bottom:34px}
.cov-card .price{font-family:'Cinzel';color:var(--gold-bright);font-weight:700}

/* ---- join / footer ---- */
.join{background:var(--stone-900);border-top:1px solid var(--stone-line);text-align:center}
.join h2{margin-bottom:20px}
.join p{color:var(--ash);max-width:480px;margin:0 auto 40px}
.give-verse{
  font-family:'Cinzel',serif;font-style:italic;color:var(--gold-bright);
  font-size:clamp(1.1rem,2.6vw,1.5rem);max-width:640px;margin:0 auto 12px;line-height:1.5;
}
.give-verse cite{
  display:block;font-family:'Oswald';font-style:normal;text-transform:uppercase;
  letter-spacing:.2em;font-size:.7rem;color:var(--ash);margin-top:14px;
}
.give-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;
  max-width:860px;margin:44px auto 44px;text-align:left}
.give-tier{position:relative;background:var(--stone-800);
  border:1px solid var(--stone-line);padding:30px 26px;transition:.25s;display:block;
  cursor:pointer;}
.give-tier:hover,.give-tier.active{border-color:var(--gold);
  background:var(--stone-700);transform:translateY(-3px)}
.give-tier.featured{border-color:var(--gold)}
.give-badge{position:absolute;top:-11px;left:26px;background:var(--gold);
  color:var(--stone-black);font-family:'Oswald';text-transform:uppercase;
  letter-spacing:.12em;font-size:.64rem;padding:4px 10px;font-weight:600}
.give-amt{font-family:'Cinzel',serif;font-weight:700;font-size:2.2rem;
  color:var(--gold-bright);line-height:1;margin-bottom:12px}
.give-what{color:var(--ash);font-size:.92rem;line-height:1.5}
.give-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-bottom:28px}
.give-note{font-size:.8rem!important;color:var(--ash);opacity:.8;
  max-width:520px;margin:0 auto!important}
@media(max-width:700px){.give-grid{grid-template-columns:1fr;max-width:420px}}
footer{background:var(--stone-black);border-top:1px solid var(--stone-line);
  padding:48px 0;text-align:center}
.foot-brand{font-family:'Cinzel';letter-spacing:.24em;color:var(--bone);
  font-weight:700;margin-bottom:14px;text-transform:uppercase;font-size:.9rem}
.foot-verse{color:var(--gold);font-family:'Cinzel';font-style:italic;
  font-size:.9rem;margin-bottom:24px;max-width:560px;margin-left:auto;margin-right:auto}
.foot-meta{color:var(--ash);font-size:.78rem;letter-spacing:.05em;
  font-family:'Oswald';text-transform:uppercase}
.foot-meta a:hover{color:var(--gold-bright)}

.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s,transform .8s}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
}
