/* Righteous Lifestyle: tokens */
:root{--o1:#FF6B00;--o2:#FF8C1A;--o3:#FFA500;--gold:#D4A017;--ink:#0A0A0A;--paper:#F8F5F0;--mut:#c9c2b8;
--h:'Space Grotesk',system-ui,sans-serif;--b:'Inter',system-ui,sans-serif;--e:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--paper);font:400 1.05rem/1.65 var(--b);overflow-x:hidden}
body::after{content:"";position:fixed;inset:0;pointer-events:none;opacity:.06;z-index:90;
background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E")}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--o3);outline-offset:3px}
h1,h2,h3{font-family:var(--h);line-height:1.05;letter-spacing:-.02em}
#pre{position:fixed;inset:0;background:var(--ink);display:grid;place-items:center;z-index:200}
#pre img{width:120px;animation:pulse 1.2s ease-in-out infinite alternate}
@keyframes pulse{to{transform:scale(1.12);filter:drop-shadow(0 0 40px var(--o1))}}
#glow{position:fixed;left:0;top:0;width:320px;height:320px;margin:-160px;border-radius:50%;pointer-events:none;z-index:1;
background:radial-gradient(#ff6b0033,transparent 65%);will-change:transform}
/* nav */
#nav{position:fixed;inset:0 0 auto;display:flex;justify-content:space-between;align-items:center;padding:14px 5vw;z-index:100;transition:background .2s,backdrop-filter .2s}
#nav.on{background:#0a0a0acc;backdrop-filter:blur(16px);border-bottom:1px solid #ff8c1a33}
.brand{display:flex;align-items:center;gap:10px;font:700 1.1rem var(--h)}
#menu{display:flex;align-items:center;gap:28px}
#menu a:not(.btn){transition:color .25s}#menu a:not(.btn):hover{color:var(--o3)}
#burger{display:none;background:none;border:0;width:44px;height:44px;position:relative;z-index:120;cursor:pointer}
#burger i{position:absolute;left:10px;right:10px;height:2px;background:var(--paper);transition:.3s var(--e)}
#burger i:first-child{top:17px}#burger i:last-child{top:25px}
#burger[aria-expanded=true] i:first-child{top:21px;transform:rotate(45deg)}
#burger[aria-expanded=true] i:last-child{top:21px;transform:rotate(-45deg)}
/* buttons */
.btn{display:inline-block;padding:16px 34px;border-radius:99px;font:700 1rem var(--h);color:#140800;background:linear-gradient(120deg,var(--o1),var(--o3));
box-shadow:0 0 28px #ff6b0066;transition:box-shadow .3s var(--e),transform .3s var(--e)}
.btn:hover{box-shadow:0 0 54px #ff8c1acc}.btn.sm{padding:10px 20px}
/* landing section */
.landing{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-top:120px;padding-bottom:80px}
.landing .card{min-height:250px}
.news{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-top:140px}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.news-item{min-height:230px;padding:32px;border:1px solid #ff8c1a40;border-radius:24px;background:linear-gradient(150deg,#ffffff12,#ffffff04);backdrop-filter:blur(12px)}
.news-item time{display:block;margin-bottom:28px;color:var(--o3);font:700 .95rem var(--h);letter-spacing:.04em}
.news-item h3{font-size:clamp(1.35rem,2.5vw,2rem);margin-bottom:12px}
.news-item p{color:var(--mut)}
/* sections */
.sec{position:relative;padding:clamp(80px,12vw,160px) 6vw;max-width:1280px;margin:auto}
h2{font-size:clamp(2rem,5vw,3.8rem);margin-bottom:48px}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.card{position:relative;display:flex;flex-direction:column;gap:12px;padding:40px;border-radius:24px;min-height:300px;overflow:hidden;isolation:isolate;
background:linear-gradient(150deg,#ffffff12,#ffffff04);border:1px solid #ff8c1a40;backdrop-filter:blur(12px);
transition:border-color .3s var(--e),box-shadow .3s var(--e);transform-style:preserve-3d}
.card:hover,.card:focus-visible{border-color:var(--o2);box-shadow:0 0 60px #ff6b0055,inset 0 0 40px #ff6b0022}
.card-slides,.card::after{position:absolute;inset:0;pointer-events:none}
.card-slides{z-index:-1}
.card-slides img{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;opacity:0;transform:scale(1.04);transition:opacity 1s var(--e),transform 5s linear}
.card-slides img.is-active{opacity:.5;transform:scale(1)}
.card::after{content:"";z-index:-1;background:linear-gradient(90deg,#0a0a0aeb 0%,#0a0a0ab8 55%,#0a0a0a55 100%);transition:background .3s var(--e)}
.card:hover .card-slides img.is-active{transform:scale(1.06)}
.card-content{position:relative;z-index:1;display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:12px}
.card svg{width:56px;fill:none;stroke:var(--o3);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 10px var(--o1))}
.card h3{font-size:2rem}.card p{color:var(--mut);max-width:34ch}
.go{margin-top:auto;color:var(--o3);font:700 1rem var(--h);transition:transform .3s var(--e)}
.card:hover .go{transform:translateX(10px)}
.about{display:grid;grid-template-columns:1fr 1.2fr;gap:6vw;align-items:center}
.crest{position:relative}.crest img{width:100%;max-width:320px;margin:auto;display:block;filter:drop-shadow(0 0 50px #ff6b0088)}
.txt p{margin-bottom:20px;color:var(--mut);max-width:60ch}
blockquote{font:italic 500 clamp(1.5rem,3vw,2.2rem)/1.25 var(--h);color:var(--o2);margin:36px 0 12px;max-width:24ch}
.who{color:var(--gold)!important;font-weight:500}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;list-style:none;padding:0;margin-top:40px}
.stats li{border-top:2px solid var(--o1);padding-top:12px}
.stats b{display:block;font:700 2rem var(--h);color:var(--paper)}.stats span{font-size:.85rem;color:var(--mut)}
.vals{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding-top:0}
.vals div{border-left:2px solid var(--gold);padding-left:20px}.vals h3{font-size:1.6rem;margin-bottom:8px}.vals p{color:var(--mut)}
footer{display:grid;grid-template-columns:1.4fr .7fr 1.5fr 1fr;gap:40px;padding:70px 6vw 30px;background:linear-gradient(#0a0a0a,#2a1100);border-top:1px solid #ff8c1a40}
footer nav{display:flex;flex-direction:column;gap:6px}footer a:hover{color:var(--o3)}
.f-brand{display:flex;gap:14px;align-items:center}.soc a{margin-right:12px;color:var(--mut)}
.contact-details{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.contact-details h3{font-size:1.2rem;color:var(--o3)}
.contact-details address{font-style:normal;color:var(--mut)}
.social-links{align-self:start}
.copy{grid-column:1/-1;font-size:.85rem;color:var(--mut);border-top:1px solid #ffffff1a;padding-top:20px}
/* responsive */
@media(max-width:820px){
 #burger{display:block}
 #menu{position:fixed;inset:0;flex-direction:column;justify-content:center;gap:28px;font:700 2rem var(--h);background:#2a1100f2;backdrop-filter:blur(20px);clip-path:circle(0 at 92% 5%);transition:clip-path .35s var(--e);z-index:110}
 #menu.open{clip-path:circle(150% at 92% 5%)}
 .grid,.about,.vals,.news-grid,footer{grid-template-columns:1fr}.card{min-height:240px;padding:30px}.news-item{min-height:0;padding:26px}.news-item time{margin-bottom:18px}.stats{grid-template-columns:repeat(2,1fr)}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

/* ===== Righteous Marketing page ===== */
.rm-hero{min-height:100svh;display:flex;align-items:center;padding-top:160px;padding-bottom:100px;overflow:hidden;isolation:isolate}
.rm-hero::before,.rm-hero::after{content:"";position:absolute;z-index:-1;pointer-events:none;border-radius:50%;filter:blur(4px)}
.rm-hero::before{width:min(58vw,720px);height:min(58vw,720px);right:-16%;top:8%;background:radial-gradient(circle,#ff8c1a2b 0%,#ff6b0010 48%,transparent 72%);animation:rm-orb-drift 15s ease-in-out infinite alternate}
.rm-hero::after{width:min(36vw,460px);height:min(36vw,460px);left:-18%;bottom:-16%;background:radial-gradient(circle,#d4a01720 0%,transparent 70%);animation:rm-orb-drift 19s ease-in-out infinite alternate-reverse}
.rm-hero-media{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.rm-hero-video,.rm-hero-slides,.rm-hero-overlay{position:absolute;inset:0;width:100%;height:100%}
.rm-hero-video{z-index:0;object-fit:cover;opacity:.48}
.rm-hero-slides{z-index:1}
.rm-hero-slides img,.rm-hero-slides video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0}
.rm-hero-slides img.is-active,.rm-hero-slides video.is-active{opacity:.42;animation:rm-hero-zoom 6s linear both}
.rm-hero-overlay{z-index:2;background:linear-gradient(90deg,#0a0a0af2 0%,#0a0a0acc 55%,#0a0a0a88 100%)}
#fx{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.55;background:radial-gradient(ellipse at 50% 0%,#ff8c1a0a,transparent 58%)}
#nav{z-index:100}
#pre{z-index:200}
#glow{z-index:1}
main,footer{position:relative;z-index:2}
.rm-hero-content{position:relative;max-width:900px}
.rm-eyebrow{margin-bottom:18px;color:var(--o3);font:700 .9rem var(--h);letter-spacing:.12em;text-transform:uppercase}
.rm-hero h1{max-width:900px;margin-bottom:24px;font-size:clamp(3rem,8vw,6.8rem);letter-spacing:-.055em}
.rm-hero-copy{max-width:720px;color:var(--mut);font-size:clamp(1.05rem,2vw,1.25rem)}
.rm-hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:34px}
.rm-text-link{font:700 1rem var(--h);color:var(--paper);transition:color .25s}
.rm-text-link:hover{color:var(--o3)}
.rm-services h2,.rm-campaigns h2,.rm-contact h2,.rm-why h2{max-width:800px}
.rm-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.rm-service-card{min-height:250px;padding:32px}
.rm-service-card .card-content{gap:16px}
.rm-service-card h3{font-size:clamp(1.35rem,2.5vw,1.9rem)}
.rm-service-card p,.rm-campaign-card p{color:var(--mut);max-width:42ch}
.rm-service-card svg{width:48px;height:48px}
.rm-why{padding-top:60px;padding-bottom:100px}
.rm-why-inner{max-width:850px;padding:clamp(30px,6vw,68px);border-left:2px solid var(--gold);background:linear-gradient(110deg,#ff8c1a12,transparent 75%)}
.rm-why h2{margin-bottom:24px}
.rm-why-inner>p:last-child{max-width:70ch;color:var(--mut)}
.rm-campaign-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.rm-campaign-card{min-height:280px;padding:32px}
.rm-campaign-card h3{font-size:1.8rem}
.rm-campaign-card .card-content{align-items:flex-start}
.rm-campaign-card .go{margin-top:auto}
.rm-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,7vw,90px);align-items:start}
.rm-contact-info{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.rm-contact-info>p,.rm-contact-info address{color:var(--mut)}
.rm-contact-info address{font-style:normal}
.rm-contact-info>a{color:var(--paper);transition:color .25s}
.rm-contact-info>a:hover{color:var(--o3)}
.rm-contact-info>a.rm-address-link{color:var(--mut)}
.rm-contact-info>a.rm-address-link:hover{color:var(--o3)}
.rm-form{display:grid;gap:10px}
.rm-form label{font:500 .95rem var(--h)}
.rm-form input,.rm-form textarea{width:100%;padding:13px 15px;border:1px solid #ff8c1a55;border-radius:10px;background:#ffffff08;color:var(--paper);font:inherit}
.rm-form input:focus,.rm-form textarea:focus{outline:2px solid var(--o3);outline-offset:2px}
.rm-form textarea{resize:vertical}
.rm-form button{justify-self:start;margin-top:8px;border:0;cursor:pointer}
.rm-map{height:340px;margin-top:60px;overflow:hidden;border:1px solid #ff8c1a40;border-radius:20px;background:#16110c}
.rm-map iframe{width:100%;height:100%;border:0;filter:grayscale(1) invert(.9) contrast(.85)}
.rm-footer{grid-template-columns:1.4fr .7fr 1.5fr}
.rm-footer-contact{align-self:start}
@keyframes rm-orb-drift{to{transform:translate3d(26px,-20px,0) scale(1.08)}}
@keyframes rm-hero-zoom{from{transform:scale(1)}to{transform:scale(1.12)}}
@media(max-width:820px){
 .rm-hero{min-height:90svh;padding-top:130px}
 .rm-service-grid,.rm-campaign-grid,.rm-contact-grid{grid-template-columns:1fr}
 .rm-service-card,.rm-campaign-card{min-height:0}
 .rm-map{height:280px}
 .rm-footer{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
 .rm-hero-video{display:none}
 .rm-hero-slides img.is-active,.rm-hero-slides video.is-active{animation:none}
 .rm-hero::before,.rm-hero::after{animation:none}
}
