/* Restoration Fellowship — base layout styles (self-hosted, replaces the Showit engine stylesheet) */
html,body,div,span,h1,h2,h3,h4,h5,h6,p,a,img,ul,ol,li,form,label,iframe,video,svg,section,header,footer,nav{margin:0;padding:0;border:0;font:inherit;font-size:100%;vertical-align:baseline}
a,a:link,a:visited,a:active,a:focus{color:inherit;text-decoration:none}
b,strong{font-weight:700} em,i{font-style:italic}
ol,ul{list-style:none}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{position:relative;line-height:1;margin:0}

/* page + blocks (canvases) */
.sp{position:relative;width:100%;min-width:320px;overflow-x:hidden;overflow-y:hidden}
.sb{position:relative;width:100%;pointer-events:none}
.sc{position:relative;width:100%;height:100%;margin:0 auto;pointer-events:none}
.ss,.ss-s{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}
.ss{display:none}
.ss-s,.ss.sactive{display:block}

/* block background media */
.sb-m{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;background-repeat:no-repeat;background-position:50% 50%;background-size:cover}
.sb-m video{position:absolute;top:50%;left:50%;min-width:100%;min-height:100%;width:auto;height:auto;transform:translate(-50%,-50%);object-fit:cover}
.m .ssp-d,.d .ssp-m{display:none}

/* elements */
.se{position:absolute;display:block;box-sizing:border-box;outline:none;pointer-events:auto;transform-origin:50% 50%}
.se-pc,.se-sl{cursor:pointer}
.se-t{position:absolute;top:0;left:0;width:100%;height:100%;padding:0;border:0;background:transparent}
.se-rc a{text-decoration:underline}
.se-rc a:hover{opacity:.8}
.se-t-list ul,.se-t-list ol{margin-left:1.4em}
.se-t-list li{margin-left:1em;padding-left:.1em}
.se-t-list ul{list-style:disc} .se-t-list ol{list-style:decimal}
.se-icon,.se-line{width:100%;height:100%}
.se-icon svg,.se-line svg{width:100%;height:100%;vertical-align:top}
.se-line{overflow:visible}
.se-img,.se-gr{width:100%;height:100%;display:block;background-repeat:no-repeat;background-position:50% 50%;background-size:cover}
.se-simple,.se-button{width:100%;height:100%;box-sizing:border-box;border:0 solid transparent}
.se-button{display:flex;align-items:center;justify-content:center;cursor:pointer}
.d .se-bd,.m .se-bm{overflow:hidden}
.se-il{pointer-events:none}
.si-embed iframe{width:100%;height:100%;border:0}

/* entrance animations (subtle, run once when an element scrolls into view) */
.rf-anim{opacity:0}
.rf-anim.rf-in{animation-fill-mode:both;animation-timing-function:ease-out}
@keyframes rfFadeIn{from{opacity:0}to{opacity:1}}
@keyframes rfSlideInDown{from{opacity:0;transform:translate3d(0,-40px,0)}to{opacity:1;transform:none}}
@keyframes rfSlideInUp{from{opacity:0;transform:translate3d(0,40px,0)}to{opacity:1;transform:none}}
@keyframes rfSlideInLeft{from{opacity:0;transform:translate3d(-40px,0,0)}to{opacity:1;transform:none}}
@keyframes rfSlideInRight{from{opacity:0;transform:translate3d(40px,0,0)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.rf-anim{opacity:1!important;animation:none!important}}

/* simple image gallery */
.rf-gal{position:absolute;inset:0;overflow:hidden}
.rf-gal .rf-slide{position:absolute;inset:0;background-size:cover;background-position:50% 50%;opacity:0;transition:opacity .8s}
.rf-gal .rf-slide.on{opacity:1}

/* no-JS fallback: show images */
noscript img.se-img{width:100%;height:100%;object-fit:cover}

/* contact form fields now open the Church Center form */
a.rf-cc-field{display:block;opacity:.6;cursor:pointer;text-decoration:none!important;box-sizing:border-box}
a.rf-cc-field:hover{opacity:.85}

/* ---------- App page (hand-built section) ---------- */
.rf-app{position:relative;pointer-events:auto;font-family:'Open Sauce Light',sans-serif;color:#082F45;line-height:1.6;font-size:15px}
.rf-app *{box-sizing:border-box}
.rf-app h1,.rf-app h2,.rf-app h3{font-family:'Open Sauce Med',sans-serif;font-weight:normal;line-height:1.2;margin:0}
.rf-app p{margin:0}
.rf-app a{text-decoration:underline}
.rf-wrap{max-width:1080px;margin:0 auto;padding:0 20px}
.rf-narrow{max-width:760px}
.rf-center{text-align:center}
.rf-eyebrow{font-family:'Open Sauce Med',sans-serif;color:#D3A355;font-size:13px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px!important}
.rf-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.rf-btn{display:inline-block;padding:12px 24px;border-radius:999px;font-family:'Open Sauce Med',sans-serif;font-size:14px;letter-spacing:.04em;text-transform:uppercase;text-decoration:none!important;transition:opacity .2s}
.rf-btn:hover{opacity:.85}
.rf-btn-gold{background:#D3A355;color:#fff}
.rf-btn-ghost{border:1px solid rgba(255,255,255,.5);color:#fff}
.rf-hero{background:#082F45;color:#F8F8F8;padding:110px 0 50px;overflow:hidden}
.rf-hero h1{font-size:34px;color:#fff;margin-bottom:14px}
.rf-lead{font-size:16px;color:rgba(248,248,248,.9)}
.rf-hero-grid{display:grid;grid-template-columns:1fr;gap:36px;align-items:center}
.rf-phones{position:relative;height:430px}
.rf-phone{position:absolute;margin:0;width:190px;border-radius:26px;overflow:hidden;border:6px solid #03141F;box-shadow:0 18px 40px rgba(0,0,0,.35);background:#03141F}
.rf-phone img{display:block;width:100%;height:auto}
.rf-phone-front{left:50%;margin-left:-125px;top:0;z-index:2}
.rf-phone-back{left:50%;margin-left:-35px;top:40px;transform:rotate(5deg);opacity:.9}
.rf-features{background:#fff;padding:56px 0}
.rf-features h2,.rf-install h2,.rf-faq h2{font-size:26px;margin-bottom:28px}
.rf-grid{display:grid;grid-template-columns:1fr;gap:14px}
.rf-card{background:#FBF3E6;border-radius:16px;padding:20px}
.rf-card h3{font-size:17px;margin-bottom:6px}
.rf-card p{font-size:14px}
.rf-install{background:#FBF3E6;padding:56px 0}
.rf-sub{margin:-12px auto 28px!important;max-width:640px}
.rf-steps{display:grid;grid-template-columns:1fr;gap:16px}
.rf-step-card{background:#fff;border-radius:16px;padding:22px}
.rf-step-card h3{font-size:19px;margin-bottom:12px;color:#082F45}
.rf-step-card ol{margin:0;padding-left:20px;list-style:decimal}
.rf-step-card li{margin-bottom:8px;font-size:14px}
.rf-step-card strong{font-family:'Open Sauce Med',sans-serif;font-weight:normal}
.rf-qr-card{text-align:center}
.rf-qr{width:150px;height:150px;margin:14px auto;display:block}
.rf-small{font-size:13px}
.rf-faq{background:#fff;padding:56px 0}
.rf-faq details{border-bottom:1px solid rgba(8,47,69,.15);padding:16px 0}
.rf-faq summary{cursor:pointer;font-family:'Open Sauce Med',sans-serif;font-size:16px;list-style:none;position:relative;padding-right:28px}
.rf-faq summary::-webkit-details-marker{display:none}
.rf-faq summary:after{content:'+';position:absolute;right:0;top:-2px;font-size:22px;color:#D3A355}
.rf-faq details[open] summary:after{content:'\2013'}
.rf-faq details p{margin-top:10px!important;font-size:14px}
.rf-cta{background:#082F45;color:#fff;padding:52px 0}
.rf-cta h2{font-size:26px;margin-bottom:20px;color:#fff}
.d .rf-hero{padding:170px 0 80px}
.d .rf-hero-grid{grid-template-columns:1.1fr .9fr;gap:40px}
.d .rf-hero h1{font-size:54px}
.d .rf-lead{font-size:18px;max-width:520px}
.d .rf-phones{height:520px}
.d .rf-phone{width:230px}
.d .rf-phone-front{margin-left:-170px}
.d .rf-phone-back{margin-left:-20px;top:50px}
.d .rf-features,.d .rf-install,.d .rf-faq{padding:90px 0}
.d .rf-features h2,.d .rf-install h2,.d .rf-faq h2,.d .rf-cta h2{font-size:36px}
.d .rf-grid{grid-template-columns:repeat(4,1fr);gap:18px}
.d .rf-steps{grid-template-columns:repeat(3,1fr);gap:20px}
.d .rf-wrap{padding:0 40px}

/* "Our App" item added to the pop-out menu */
.m .rf-nav-app{top:459px!important}.d .rf-nav-app{top:596px!important}
.m .rf-nav-appline{top:446px!important}.d .rf-nav-appline{top:581px!important}
.m .sie-nav-open_4,.m .sie-nav-open_5,.m .sie-nav-open_6,.m .sie-nav-open_7{top:522px!important}
.d .sie-nav-open_4,.d .sie-nav-open_5,.d .sie-nav-open_6,.d .sie-nav-open_7{top:688px!important}
