:root{--hero:url(/images/prayer-hero.jpg);--bg:#fff;--p:#F6F3EA;--ink:#0B1026;--mu:#555872;--gold:#B8892B;--gd:#7E5C0C;--line:#E4DFCF;--navy:#070B22;--gl:#E3C56E;--live:#E0243A}
@media(prefers-color-scheme:dark){:root{--bg:#0A0E26;--p:#111636;--ink:#F4F0E4;--mu:#A9ACC4;--gd:#E3C56E;--line:#262C52}}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.65 Inter,system-ui,sans-serif;letter-spacing:-.005em}
h1,h2,h3{margin:0;font-weight:800;letter-spacing:-.04em;line-height:1.05}
h1{font-size:clamp(2rem,4.2vw,3.4rem);line-height:1.04}h2{font-size:clamp(1.6rem,2.8vw,2.3rem)}h3{font-size:1.1rem;letter-spacing:-.02em;line-height:1.25}
a{color:inherit;text-decoration:none}p{margin:0}.mu{color:var(--mu)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.w{max-width:1200px;margin:0 auto;padding:0 28px}
section{padding:96px 0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 28px;border:1.5px solid var(--ink);border-radius:999px;background:transparent;color:var(--ink);font:600 .95rem Inter,system-ui,sans-serif;cursor:pointer;transition:.25s}
.btn:hover{background:var(--ink);color:var(--bg)}
.btn.f{background:var(--navy);border-color:var(--navy);color:#fff}.btn.f:hover{background:var(--gold);border-color:var(--gold)}
.btn.g{background:var(--gl);border-color:var(--gl);color:var(--navy)}.btn.g:hover{background:#fff;border-color:#fff}
.btn.w{background:#fff;border-color:#fff;color:var(--navy)}.btn.w:hover{background:var(--gl);border-color:var(--gl)}
.btn.o{border-color:#fff;color:#fff}.btn.o:hover{background:#fff;color:var(--navy)}

/* header: ticker + menu (menu markup and its own styles live in includes/menu.php) */
.hd{position:sticky;top:0;z-index:20}
.tk{display:flex;align-items:center;height:32px;overflow:hidden;background:var(--navy);color:#E8E3D2;font-size:.78rem}
.tk b{display:flex;align-items:center;gap:8px;height:100%;padding:0 14px;background:var(--live);color:#fff;letter-spacing:.1em;z-index:1}
.tk div{display:flex;white-space:nowrap}.tk div:hover span{animation-play-state:paused}
.tk span{padding-right:60px;animation:mq 70s linear infinite}
.tk span:before{content:"✦";margin-right:14px;color:var(--gl)}
@keyframes mq{to{transform:translateX(-100%)}}
.nvw{background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nv{display:flex;align-items:center;gap:28px;height:60px}
.logo{display:flex;align-items:center;gap:10px;font:800 1.15rem Inter,sans-serif;letter-spacing:-.02em;white-space:nowrap}.logo svg{width:26px}
.nv .btn{padding:10px 22px}

/* hero */
.hero{padding-bottom:150px;background:linear-gradient(180deg,rgba(7,11,34,.45),rgba(7,11,34,.75)),var(--hero) center 35%/cover no-repeat,var(--navy);color:#fff}
.hc{max-width:760px;padding:64px 0 0}
.hc p{max-width:48ch;margin:24px 0 34px;color:#DADDF2;font-size:1.25rem}
.ha{display:flex;flex-wrap:wrap;gap:14px}
.feat{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:-84px}
.feat>div{padding:26px;border:1px solid var(--line);border-radius:18px;background:var(--bg);box-shadow:0 30px 50px -36px rgba(7,11,34,.55)}
.feat i{display:grid;place-items:center;width:42px;height:42px;margin-bottom:16px;border-radius:12px;background:var(--navy);color:var(--gl);font-style:normal}
.feat h3{margin-bottom:6px}.feat p{font-size:.92rem}

/* form section */
.fs{background:var(--p)}
.fgrid{display:grid;grid-template-columns:.85fr 1.25fr;gap:56px;align-items:start}
.side{position:sticky;top:130px}.side h2{margin-bottom:14px}
.vc,.gc{color:#fff;background:repeating-radial-gradient(circle at 100% 100%,transparent 0 46px,rgba(227,197,110,.16) 46px 47px),var(--navy)}
.vc{margin:28px 0 24px;padding:30px;border-radius:20px}
.vc q{display:block;margin-bottom:10px;quotes:none;font:700 1.35rem/1.3 Inter,sans-serif;letter-spacing:-.03em}
.vc cite{color:var(--gl);font-size:.9rem;font-style:normal;font-weight:600}
.call{display:flex;align-items:center;gap:14px;padding:14px 18px;border:1px solid var(--line);border-radius:16px;background:var(--bg)}
.call small{display:block;color:var(--mu);line-height:1.3}.call b{font:800 1.45rem Inter,sans-serif;letter-spacing:-.03em}
.call .ic{display:grid;flex:none;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--navy);color:var(--gl)}
.card{padding:40px;border:1px solid var(--line);border-radius:24px;background:var(--bg);box-shadow:0 40px 70px -50px rgba(7,11,34,.5)}
.card h3{margin-bottom:6px;font-size:1.6rem}.card .intro{margin-bottom:28px;font-size:.95rem}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.fl,legend{display:block;margin:0 0 7px;padding:0;font-size:.86rem;font-weight:600}
.fl i,legend i{color:#C2273A;font-style:normal}
input[type=text],input[type=email],input[type=tel],select,textarea{width:100%;margin-bottom:6px;padding:13px 14px;border:1.5px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink);font:inherit}
select{padding-right:38px;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--mu) 50%),linear-gradient(135deg,var(--mu) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px;background-repeat:no-repeat}
textarea{min-height:150px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--gold);box-shadow:0 0 0 3px rgba(184,137,43,.18)}
.er{display:block;min-height:1.3em;margin-bottom:10px;color:#C2273A;font-size:.82rem;font-weight:600}
input.bad,select.bad,textarea.bad{border-color:#C2273A}
fieldset{min-width:0;margin:0;padding:0;border:0}
.rad{display:flex;gap:12px;margin-bottom:6px}.rad label{flex:1;cursor:pointer}
.rad input{position:absolute;opacity:0;pointer-events:none}
.rad span{display:block;padding:12px;border:1.5px solid var(--line);border-radius:12px;text-align:center;font-weight:600;transition:.2s}
.rad input:checked+span{background:var(--navy);border-color:var(--navy);color:#fff}
.rad input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}
.cons{display:flex;align-items:flex-start;gap:12px;margin-bottom:6px;padding:16px;border:1.5px solid var(--line);border-radius:12px;cursor:pointer}
.cons input{flex:none;width:18px;height:18px;margin-top:4px;accent-color:var(--navy)}
.cons span{color:var(--mu);font-size:.85rem}.cons b{color:var(--ink)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.card .sub{width:100%;margin-top:12px;padding:16px;font-size:1rem}
.card .sub[disabled]{opacity:.6;cursor:wait}
.fine{margin-top:14px;color:var(--mu);font-size:.82rem;text-align:center}
.fe{display:none;margin-top:14px;padding:14px;border-radius:12px;background:rgba(194,39,58,.1);color:#C2273A;font-weight:600;text-align:center}.fe.on{display:block}
.ty{display:none;padding:50px 10px;text-align:center}.ty.on{display:block}
.ty h3{margin-bottom:12px;font-size:2rem}
.ty .ck{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 22px;border-radius:50%;background:var(--navy);color:var(--gl);font-size:1.8rem}

/* content sections */
.head{max-width:720px}.head p{margin-top:16px;font-size:1.15rem}
.needs{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.needs span{padding:9px 18px;border:1.5px solid var(--line);border-radius:999px;font-weight:500}
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}
.gc{display:flex;flex-direction:column;justify-content:flex-end;min-height:210px;padding:34px;border-radius:20px}
.gc h3{margin-bottom:6px;font-size:1.6rem}.gc p{color:#C9CCE6}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:48px 0 0;padding:0;list-style:none;counter-reset:s}
.steps li{counter-increment:s;padding:30px;border:1px solid var(--line);border-radius:20px;background:var(--bg)}
.steps li:before{content:counter(s);display:block;margin-bottom:16px;color:var(--gold);font:800 3rem/1 Inter,sans-serif;letter-spacing:-.05em}
.steps h3{margin-bottom:6px}
.vs{padding:84px 0;background:var(--navy);color:#fff;text-align:center}
.vs q{display:block;max-width:22em;margin:0 auto 16px;quotes:none;font:700 clamp(1.5rem,3.2vw,2.6rem)/1.28 Inter,sans-serif;letter-spacing:-.035em}
.vs cite{color:var(--gl);font-style:normal;font-weight:600}
.pr{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;padding:44px;border-radius:24px;background:var(--p)}
.faq{max-width:860px}
.faq details{padding:20px 0;border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{display:flex;justify-content:space-between;gap:16px;font-size:1.08rem;font-weight:700;cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";color:var(--gd);font-size:1.5rem;line-height:1}.faq details[open] summary:after{content:"–"}
.faq details p{margin-top:10px;color:var(--mu)}
.end{padding:110px 0;background:radial-gradient(circle at 50% 130%,rgba(227,197,110,.2),transparent 55%),repeating-radial-gradient(circle at 50% 130%,transparent 0 80px,rgba(227,197,110,.13) 80px 81px),var(--navy);color:#fff;text-align:center}
.end p{margin:14px 0 28px;color:#DADDF2;font-size:1.15rem}
.end .num{display:block;margin-bottom:30px;color:var(--gl);font:800 clamp(1.2rem,3.5vw,2.6rem)/1 Inter,sans-serif;letter-spacing:-.05em}
[hidden]{display:none!important}

@media(max-width:960px){
  section{padding:64px 0}.w{padding:0 20px}
  .feat{grid-template-columns:1fr 1fr}
  .fgrid,.pr{grid-template-columns:1fr;gap:36px}.side{position:static}
  .gal,.steps{grid-template-columns:1fr}
  .hc{padding-top:48px}.hero{padding-bottom:130px}
  .card{padding:26px}.g2{grid-template-columns:1fr}.pr{padding:28px}
}
@media(max-width:560px){
  .feat{grid-template-columns:1fr}
  .ha{flex-direction:column;align-items:stretch;gap:12px}
  .ha .btn{width:100%;padding:15px 20px;min-height:52px;text-align:center}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.tk span{animation:none}*{transition:none!important}}

/* ===== Unified heading scale (all pages) =====
   One page heading (h1) size everywhere; every other heading is smaller. */
:root{--fs-h1:clamp(1.75rem,3.2vw,2.5rem);--fs-h2:clamp(1.3rem,2.1vw,1.7rem);--fs-h3:1.05rem}
h1{font-size:var(--fs-h1);font-weight:800;letter-spacing:-.04em;line-height:1.1}
h2{font-size:var(--fs-h2);line-height:1.15}
h3,.card h3,.gc h3,.ty h3{font-size:var(--fs-h3);letter-spacing:-.02em;line-height:1.25}
