:root{

--brand-gold:#D4A24C;
--brand-brown:#3A2414;
--brand-cream:#F7F2E8;
--brand-olive:#2E3A2F;
--brand-earth:#6B4A2E;
--brand-orange:#d96325;

--text-main:#2E2E2E;

--container-width:1200px;

--radius-lg:18px;
--radius-xl:30px;

}

*,
*::before,
*::after{
box-sizing:border-box;
}

body{
margin:0;
font-family:"Inter", sans-serif;
font-size:16px;
color:var(--text-main);
line-height:1.6;
background:#fff;
overflow-x:hidden;
max-width:100%;
}

html{
overflow-x:hidden;
max-width:100%;
-webkit-text-size-adjust:100%;
text-size-adjust:100%;
}

body.has-site-loader{
overflow:hidden;
}

.site-loader{
position:fixed;
inset:0;
z-index:99999;
display:grid;
place-items:center;
padding:24px;
background:
radial-gradient(circle at 20% 18%, rgba(212,162,76,0.24), transparent 30%),
radial-gradient(circle at 82% 82%, rgba(217,99,37,0.18), transparent 28%),
linear-gradient(145deg, #160f0b 0%, #24170f 52%, #120c08 100%);
isolation:isolate;
overflow:hidden;
opacity:1;
visibility:visible;
transition:opacity .65s ease, visibility .65s ease;
}

.site-loader.is-ready{
opacity:0;
visibility:hidden;
pointer-events:none;
}

.site-loader__backdrop,
.site-loader__texture{
position:absolute;
inset:0;
pointer-events:none;
}

.site-loader__backdrop{
background:
linear-gradient(120deg, rgba(255,255,255,0.07), transparent 30%, transparent 70%, rgba(255,255,255,0.04)),
radial-gradient(circle at center, rgba(255,255,255,0.05), transparent 52%);
mix-blend-mode:screen;
opacity:.9;
animation:siteLoaderBackdrop 11s linear infinite;
}

.site-loader__texture{
background-image:radial-gradient(rgba(255,255,255,0.12) .8px, transparent .8px);
background-size:18px 18px;
opacity:.08;
}

.site-loader__inner{
position:relative;
z-index:1;
display:grid;
justify-items:center;
gap:18px;
text-align:center;
width:min(100%, 420px);
}

.site-loader__halo{
position:absolute;
left:50%;
top:50%;
border-radius:50%;
border:1px solid rgba(255,255,255,0.18);
transform:translate(-50%, -50%);
pointer-events:none;
}

.site-loader__halo--one{
width:196px;
height:196px;
border-color:rgba(212,162,76,0.28);
animation:siteLoaderHaloOne 3.8s ease-in-out infinite;
}

.site-loader__halo--two{
width:246px;
height:246px;
border-color:rgba(255,255,255,0.14);
animation:siteLoaderHaloTwo 4.8s ease-in-out infinite;
}

.site-loader__halo--three{
width:312px;
height:312px;
border-style:dashed;
border-color:rgba(217,99,37,0.16);
animation:siteLoaderSpin 14s linear infinite;
}

.site-loader__logo-shell{
position:relative;
display:grid;
place-items:center;
width:132px;
height:132px;
padding:16px;
border-radius:34px 34px 18px 34px;
background:linear-gradient(160deg, rgba(255,255,255,0.24), rgba(255,255,255,0.08));
border:1px solid rgba(255,255,255,0.2);
box-shadow:0 28px 68px rgba(0,0,0,0.34), inset 0 1px 0 rgba(255,255,255,0.16);
backdrop-filter:blur(14px);
}

.site-loader__logo-glow{
position:absolute;
inset:12px;
border-radius:26px 26px 14px 26px;
background:radial-gradient(circle at 30% 24%, rgba(255,255,255,0.26), transparent 52%);
pointer-events:none;
}

.site-loader__logo{
position:relative;
z-index:1;
display:block;
width:100%;
height:100%;
object-fit:cover;
border-radius:24px 24px 12px 24px;
box-shadow:0 18px 32px rgba(0,0,0,0.22);
animation:siteLoaderFloat 2.8s ease-in-out infinite;
}

.site-loader__name,
.site-loader__motto{
margin:0;
max-width:30ch;
}

.site-loader__name{
font-family:"Playfair Display", serif;
font-size:clamp(1.35rem, 2vw, 1.8rem);
line-height:1.15;
letter-spacing:.02em;
color:#fff8ef;
text-shadow:0 12px 24px rgba(0,0,0,0.22);
}

.site-loader__motto{
font-size:.98rem;
line-height:1.55;
color:rgba(255,245,229,0.78);
}

.site-loader__progress{
position:relative;
display:block;
width:min(220px, 62vw);
height:4px;
overflow:hidden;
border-radius:999px;
background:rgba(255,255,255,0.16);
}

.site-loader__progress-bar{
position:absolute;
inset:0 auto 0 0;
width:42%;
border-radius:inherit;
background:linear-gradient(90deg, rgba(255,255,255,0.2), var(--brand-gold), rgba(255,255,255,0.18));
box-shadow:0 0 18px rgba(212,162,76,0.48);
animation:siteLoaderProgress 1.35s ease-in-out infinite;
}

@keyframes siteLoaderFloat{
0%,100%{transform:translateY(0);}
50%{transform:translateY(-7px);}
}

@keyframes siteLoaderHaloOne{
0%,100%{transform:translate(-50%, -50%) scale(1); opacity:.9;}
50%{transform:translate(-50%, -50%) scale(1.05); opacity:.48;}
}

@keyframes siteLoaderHaloTwo{
0%,100%{transform:translate(-50%, -50%) scale(1); opacity:.58;}
50%{transform:translate(-50%, -50%) scale(1.08); opacity:.24;}
}

@keyframes siteLoaderSpin{
from{transform:translate(-50%, -50%) rotate(0deg);}
to{transform:translate(-50%, -50%) rotate(360deg);}
}

@keyframes siteLoaderBackdrop{
0%{transform:translate3d(0,0,0) scale(1);}
50%{transform:translate3d(-2%, 1%, 0) scale(1.04);}
100%{transform:translate3d(0,0,0) scale(1);}
}

@keyframes siteLoaderProgress{
0%{transform:translateX(-108%);}
100%{transform:translateX(340%);}
}

@media (prefers-reduced-motion:reduce){
	.site-loader,
	.site-loader *{
		animation:none !important;
		transition:none !important;
	}
}

h1,h2,h3{
font-family:"Playfair Display", serif;
}

.container{
max-width:var(--container-width);
margin:auto;
padding:0 24px;
}

a{
color:inherit;
text-decoration:none;
}

a:hover{
color:var(--brand-gold);
}

@media (max-width:767px){
	.container{
		padding-left:18px;
		padding-right:18px;
	}

	body{
		font-size:18px !important;
		line-height:1.72;
	}

	.site-loader{
		padding:18px;
	}

	.site-loader__halo--one{
		width:158px;
		height:158px;
	}

	.site-loader__halo--two{
		width:208px;
		height:208px;
	}

	.site-loader__halo--three{
		width:258px;
		height:258px;
	}

	.site-loader__logo-shell{
		width:112px;
		height:112px;
		padding:14px;
		border-radius:28px 28px 14px 28px;
	}

	.site-loader__logo{
		border-radius:20px 20px 10px 20px;
	}

	.site-loader__name{
		font-size:1.18rem;
		max-width:22ch;
	}

	.site-loader__motto{
		font-size:.9rem;
		max-width:24ch;
	}

	#content :where(
		.section-header p,
		.page-richtext p,
		.page-richtext li,
		.entry-content p,
		.entry-content li,
		.page-story__copy p,
		.page-story__copy li,
		.page-section p,
		.page-section li,
		.who-we-are__content p,
		.founder-story__content p,
		.program-acf__copy p,
		.program-acf__copy li,
		.event-card__excerpt,
		.campaign-card__excerpt,
		.story-post-card__excerpt,
		.testimonial-card__text,
		.partner-card__message
	){
		font-size:clamp(1.125rem, 4.5vw, 1.18rem);
		line-height:1.78;
	}
}
