:root{
	--brand-accent:#ffbe79;
	--brand-ink:#374151;
	--brand-paper:#ffffff;
	--ring: 0 0 0 4px rgba(255, 190, 121, .35);
}

html { scroll-behavior: smooth; }
body { font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; }

/* Background grid */
.bg-grid{
	background:
		radial-gradient(circle at 10% 10%, rgba(255,190,121,.22), transparent 35%),
		radial-gradient(circle at 90% 15%, rgba(55,65,81,.10), transparent 40%),
		linear-gradient(to bottom, rgba(255,255,255,.9), rgba(255,255,255,1));
}
.bg-grid::after{
	content:"";
	position:absolute;
	inset:0;
	background-image:
		linear-gradient(to right, rgba(55,65,81,.06) 1px, transparent 1px),
		linear-gradient(to bottom, rgba(55,65,81,.06) 1px, transparent 1px);
	background-size: 48px 48px;
	opacity:.45;
	mix-blend-mode:multiply;
}

/* Focus utility */
.focus\:ring-brand:focus{ outline:none; box-shadow: var(--ring); border-radius: 14px; }

/* Glassy nav */
.nav-glass{
	background: rgba(255,255,255,.7);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
}

/* Links */
.nav-link{
	color: rgba(55,65,81,.82);
	transition: color .2s ease, background-color .2s ease;
	padding: .45rem .6rem;
	border-radius: .75rem;
}
.nav-link:hover{ color: var(--brand-ink); background: rgba(255,190,121,.18); }
.mobile-link{
	display:block;
	padding: .65rem .75rem;
	border-radius: .9rem;
	color: rgba(55,65,81,.85);
}
.mobile-link:hover{ background: rgba(255,190,121,.18); color: var(--brand-ink); }

.footer-link{
	color: rgba(55,65,81,.75);
	text-decoration: none;
}
.footer-link:hover{ color: var(--brand-ink); text-decoration: underline; text-decoration-color: rgba(255,190,121,.8); text-underline-offset: 4px; }

/* Buttons */
.btn{
	display:inline-flex;
	align-items:center;
	gap:.6rem;
	padding:.75rem 1rem;
	border-radius: 1rem;
	font-weight: 700;
	font-size: .95rem;
	transition: transform .15s ease, box-shadow .2s ease, background-color .2s ease, border-color .2s ease;
	user-select:none;
}
.btn:active{ transform: translateY(1px); }
.btn-primary{
	background: var(--brand-ink);
	color: var(--brand-paper);
	box-shadow: 0 12px 30px rgba(17,24,39,.18);
}
.btn-primary:hover{ box-shadow: 0 18px 40px rgba(17,24,39,.22); }
.btn-ghost{
	background: rgba(255,255,255,.7);
	border: 1px solid rgba(55,65,81,.14);
	color: var(--brand-ink);
}
.btn-ghost:hover{ background: rgba(255,190,121,.15); border-color: rgba(255,190,121,.45); }
.btn:focus{ outline:none; box-shadow: var(--ring); }

/* Chips / badges */
.badge{
	display:inline-flex;
	align-items:center;
	gap:.45rem;
	padding:.35rem .6rem;
	border-radius: 999px;
	font-size:.75rem;
	font-weight:700;
	border:1px solid rgba(55,65,81,.12);
	background: rgba(255,255,255,.75);
	color: rgba(55,65,81,.92);
}
.tag{
	display:inline-flex;
	align-items:center;
	padding:.35rem .6rem;
	border-radius: 999px;
	font-size:.75rem;
	font-weight:600;
	border:1px solid rgba(55,65,81,.12);
	background: rgba(255,190,121,.16);
	color: rgba(55,65,81,.92);
}

/* Cards */
.card{
	border: 1px solid rgba(55,65,81,.12);
	background: rgba(255,255,255,.75);
	border-radius: 1.5rem;
	padding: 1.25rem;
	/* box-shadow: 0 10px 30px rgba(17,24,39,.08); */
}
.card-title{
	display:flex;
	align-items:center;
	gap:.6rem;
	font-weight: 800;
}
.feature{
	display:flex;
	gap: .9rem;
	align-items:flex-start;
	padding: 1rem;
	border-radius: 1.5rem;
	border: 1px solid rgba(55,65,81,.10);
	background: rgba(255,255,255,.7);
}
.feature-icon{
	flex:0 0 auto;
	width: 2.5rem; height: 2.5rem;
	display:grid; place-items:center;
	border-radius: 1rem;
	background: rgba(255,190,121,.22);
	border: 1px solid rgba(255,190,121,.40);
	color: var(--brand-ink);
}

.logo-chip{
	display:flex;
	gap:.55rem;
	align-items:center;
	justify-content:center;
	padding: .85rem 1rem;
	border-radius: 1.25rem;
	border:1px solid rgba(55,65,81,.12);
	background: rgba(255,255,255,.7);
	color: rgba(55,65,81,.85);
	font-weight: 700;
	font-size: .9rem;
}

.mini-card{
	display:flex;
	align-items:flex-start;
	gap:.75rem;
	padding: 1rem;
	border-radius: 1.25rem;
	border:1px solid rgba(55,65,81,.10);
	background: rgba(255,255,255,.75);
}
.mini-card i{ color: var(--brand-ink); opacity:.9; margin-top:.15rem; }

.bullet{
	display:flex;
	align-items:flex-start;
	gap:.65rem;
	color: rgba(55,65,81,.86);
}
.bullet i{ color: rgba(55,65,81,.9); margin-top:.2rem; }

/* People / Partners */
.person-card{
	border: 1px solid rgba(55,65,81,.12);
	background: rgba(255,255,255,.75);
	border-radius: 1.75rem;
	padding: 1.25rem;
	/* box-shadow: 0 10px 30px rgba(17,24,39,.08); */
}
.avatar{
	width: 64px; height: 64px;
	border-radius: 1.25rem;
	overflow:hidden;
	background: rgba(255,190,121,.18);
	border: 1px solid rgba(55,65,81,.10);
}
.avatar img{ width:100%; height:100%; object-fit: cover; }

.partner-card{
	border: 1px solid rgba(55,65,81,.12);
	background: rgba(255,255,255,.75);
	border-radius: 1.75rem;
	padding: 1.25rem;
	/* box-shadow: 0 10px 30px rgba(17,24,39,.08); */
}
.partner-card i{ font-size: 1.25rem; color: var(--brand-ink); opacity:.9; }

/* Anchor offset for fixed header (leadership page deep links) */
.anchor-offset{ scroll-margin-top: 92px; }

/* Clickable team cards */
.person-card-link{ display:block; color: inherit; text-decoration: none; }
.person-card-link:hover{
	border-color: rgba(255,190,121,.45);
	background: rgba(255,255,255,.85);
}
.person-card-link:focus{ outline:none; box-shadow: var(--ring); }

/* Social icons */
.social{
	width: 42px; height: 42px;
	display:inline-grid;
	place-items:center;
	border-radius: 14px;
	border:1px solid rgba(55,65,81,.12);
	background: rgba(255,255,255,.75);
	color: rgba(55,65,81,.9);
	transition: transform .15s ease, background-color .2s ease, border-color .2s ease;
}
.social:hover{
	transform: translateY(-1px);
	background: rgba(255,190,121,.18);
	border-color: rgba(255,190,121,.45);
}
.social:focus{ outline:none; box-shadow: var(--ring); }

/* Scroll reveal */
.reveal{
	opacity: 0;
	transform: translateY(14px);
	transition: opacity .7s ease, transform .7s ease;
	will-change: opacity, transform;
}
.reveal.is-visible{
	opacity: 1;
	transform: translateY(0);
}
.reveal-delay-1{ transition-delay: .12s; }
.reveal-delay-2{ transition-delay: .24s; }

@media (prefers-reduced-motion: reduce){
	html { scroll-behavior: auto; }
	.reveal, .reveal.is-visible{
		opacity:1 !important;
		transform:none !important;
		transition:none !important;
	}
	.btn{ transition:none; }
}
