/**
 * Shared UI components — header, footer, cards, buttons, inner pages.
 */

/* ── Site shell ── */
.as-site {
	background: var(--as-bg-primary);
	color: var(--as-text-primary);
	font-family: var(--as-font-body);
	font-size: var(--as-text-base);
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

.as-main {
	min-height: 50vh;
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* ── Section titles ── */
.as-section__title {
	font-family: var(--as-font-display);
	font-size: var(--as-text-3xl);
	font-weight: 600;
	line-height: 1.2;
	margin-bottom: var(--as-space-6);
	text-align: center;
}

/* ── Buttons ── */
.as-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--as-space-1);
	padding: 14px 28px;
	border-radius: var(--as-radius-sm);
	font-size: var(--as-text-sm);
	font-weight: 600;
	text-decoration: none;
	border: none;
	cursor: pointer;
	transition: transform var(--as-duration-fast) var(--as-ease-out),
		box-shadow var(--as-duration-fast) var(--as-ease-out),
		background var(--as-duration-fast) var(--as-ease-out);
}

.as-btn--sm {
	padding: var(--as-space-1) var(--as-space-3);
}

.as-btn--primary {
	background: var(--as-purple-500);
	color: var(--as-white);
	box-shadow: var(--as-shadow-glow);
}

.as-btn--primary:hover {
	background: var(--as-purple-400);
	transform: translateY(-2px);
}

.as-btn--ghost {
	background: transparent;
	color: var(--as-white);
	border: 1px solid rgba(255, 255, 255, 0.35);
}

.as-btn--ghost:hover {
	background: rgba(255, 255, 255, 0.1);
	transform: translateY(-2px);
}

.as-btn--block {
	width: 100%;
}

.as-section--sand { background: var(--as-sand); }
.as-section--dark { background: var(--as-purple-900); color: var(--as-white); overflow: visible; }

.as-section__header { text-align: center; margin-bottom: var(--as-space-6); }
.as-section__eyebrow {
	font-size: var(--as-text-xs);
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--as-purple-600);
	margin: 0 0 var(--as-space-2);
}
.as-section__eyebrow--light { color: var(--as-purple-300); }
.as-section__title {
	font-family: var(--as-font-display);
	font-size: var(--as-text-3xl);
	font-weight: 600;
	line-height: 1.2;
	margin: 0 0 var(--as-space-3);
	text-align: center;
}
.as-section__title--left { text-align: left; }
.as-section__title--light { color: var(--as-white); }
.as-section__lead {
	max-width: 58ch;
	margin: 0 auto;
	color: var(--as-text-muted);
	line-height: 1.7;
	font-size: var(--as-text-base);
}
.as-section__lead--left { margin-inline: 0; text-align: left; }
.as-section__lead--light { color: rgba(255, 255, 255, 0.8); }
.as-section__cta { text-align: center; margin-top: var(--as-space-6); }

/* ── Premium inner hero ── */
.as-inner-hero {
	padding-block: calc(72px + var(--as-space-10) + 1rem) var(--as-space-10);
	background: linear-gradient(135deg, var(--as-purple-900) 0%, var(--as-purple-700) 50%, var(--as-jet) 100%);
	color: var(--as-white);
	text-align: center;
	overflow: visible;
	min-height: clamp(320px, 55vh, 520px);
	display: flex;
	align-items: center;
}
.as-inner-hero__bg { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
.as-inner-hero__geom {
	position: absolute; inset: -20%;
	background-image: url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M40 0 L80 20 L80 60 L40 80 L0 60 L0 20 Z' fill='none' stroke='%23c084fc' stroke-opacity='0.08'/%3E%3C/svg%3E");
	opacity: 0.6;
}
.as-inner-hero__glow {
	position: absolute; top: -20%; left: 50%; transform: translateX(-50%);
	width: 60%; height: 60%;
	background: radial-gradient(ellipse, rgba(168, 85, 247, 0.35) 0%, transparent 70%);
}
.as-inner-hero__calligraphy {
	position: absolute; right: 5%; bottom: 10%;
	font-family: var(--as-font-arabic); font-size: clamp(3rem, 8vw, 6rem);
	color: rgba(212, 168, 83, 0.08); pointer-events: none;
}
.as-inner-hero__inner { position: relative; z-index: 1; }
.as-inner-hero__title {
	font-family: var(--as-font-display);
	font-size: var(--as-text-4xl);
	font-weight: 600;
	line-height: 1.15;
	margin: 0 0 var(--as-space-3);
}
.as-inner-hero__lead {
	max-width: 52ch; margin: 0 auto var(--as-space-5);
	color: rgba(255, 255, 255, 0.85); line-height: 1.7;
}
.as-inner-hero__cta { display: flex; flex-wrap: wrap; gap: var(--as-space-2); justify-content: center; }

/* ── Inner hero Islamic calligraphy ── */
.as-inner-hero__bismillah {
	position: absolute;
	top: calc(72px + 1.5rem);
	left: 50%;
	transform: translateX(-50%);
	z-index: 3;
	font-family: var(--as-font-arabic);
	font-size: clamp(1rem, 2.2vw, 1.65rem);
	color: rgba(240, 215, 140, 0.95);
	text-shadow: 0 0 36px rgba(212, 168, 83, 0.45);
	letter-spacing: 0.06em;
	white-space: nowrap;
	pointer-events: none;
	max-width: 95vw;
	text-align: center;
}

.as-inner-hero__deco {
	position: absolute;
	font-family: var(--as-font-arabic);
	pointer-events: none;
	user-select: none;
	line-height: 1;
}

.as-inner-hero__deco--1 {
	top: 14%;
	right: 6%;
	font-size: clamp(2.5rem, 7vw, 5.5rem);
	color: rgba(192, 132, 252, 0.2);
	animation: as-hero-float-a 22s ease-in-out infinite alternate;
}

.as-inner-hero__deco--2 {
	bottom: 18%;
	left: 5%;
	font-size: clamp(2rem, 5vw, 3.5rem);
	color: rgba(212, 168, 83, 0.22);
	animation: as-hero-float-b 18s ease-in-out infinite;
}

.as-inner-hero__deco--3 {
	top: 42%;
	left: 8%;
	font-size: clamp(1.5rem, 3.5vw, 2.5rem);
	color: rgba(168, 85, 247, 0.16);
	animation: as-hero-float-c 26s ease-in-out infinite alternate;
}

.as-inner-hero__deco--4 {
	top: 28%;
	right: 18%;
	font-size: clamp(1.25rem, 3vw, 2rem);
	color: rgba(240, 215, 140, 0.14);
	animation: as-hero-float-b 20s ease-in-out infinite reverse;
}

@keyframes as-hero-float-a {
	0% { transform: translateY(0) rotate(0deg); }
	100% { transform: translateY(-18px) rotate(2deg); }
}

@keyframes as-hero-float-b {
	0% { transform: translateY(0); }
	100% { transform: translateY(14px); }
}

@keyframes as-hero-float-c {
	0% { transform: translateX(0); opacity: 0.16; }
	100% { transform: translateX(12px); opacity: 0.24; }
}

/* ── Sticky split sections (About story, Courses featured, Home charity) ── */
.as-split-section {
	overflow: visible;
}

.as-split-section__grid {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
	gap: var(--as-space-8);
	align-items: start;
}

.as-sticky-media {
	position: sticky;
	top: clamp(5rem, 12vh, 7rem);
	align-self: start;
}

@media (max-width: 767px) {
	.as-split-section__grid {
		grid-template-columns: 1fr;
	}

	.as-sticky-media {
		position: relative;
		top: auto;
	}
}

/* ── Glass panels ── */
.as-glass-panel {
	background: rgba(255, 255, 255, 0.85);
	backdrop-filter: blur(16px);
	border: 1px solid rgba(147, 51, 234, 0.1);
	border-radius: var(--as-radius-lg);
	padding: var(--as-space-5);
	box-shadow: var(--as-shadow-md);
}
.as-glass-panel h3 { font-family: var(--as-font-display); margin: 0 0 var(--as-space-2); }
.as-glass-panel p { margin: 0; color: var(--as-text-muted); line-height: 1.7; }
.as-glass-panel__icon { font-size: 2rem; display: block; margin-bottom: var(--as-space-2); }

/* ── Stat band ── */
.as-stat-band { background: var(--as-purple-800); color: var(--as-white); padding-block: var(--as-space-8); }
.as-stat-band--gold { background: linear-gradient(135deg, var(--as-purple-900), #2a1848); }
.as-stat-band__grid {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--as-space-4);
	list-style: none; margin: 0; padding: 0; text-align: center;
}
.as-stat-band__item strong {
	display: block; font-family: var(--as-font-display);
	font-size: var(--as-text-3xl); color: var(--as-gold-light); margin-bottom: 4px;
}
.as-stat-band__item span { font-size: var(--as-text-sm); opacity: 0.8; }

/* ── FAQ accordion (global) ── */
.as-faq__list { display: flex; flex-direction: column; gap: var(--as-space-2); }
.as-faq__item {
	background: var(--as-white); border: 1px solid rgba(147, 51, 234, 0.1);
	border-radius: var(--as-radius-sm); overflow: hidden;
	transition: box-shadow var(--as-duration-base) var(--as-ease-out);
}
.as-faq__item[open] { box-shadow: var(--as-shadow-md); }
.as-faq__question {
	padding: var(--as-space-3) var(--as-space-4); font-weight: 600; cursor: pointer;
	list-style: none; display: flex; justify-content: space-between; align-items: center;
}
.as-faq__question::-webkit-details-marker { display: none; }
.as-faq__question::after { content: '+'; color: var(--as-purple-500); font-size: 1.25rem; }
.as-faq__item[open] .as-faq__question::after { content: '−'; }
.as-faq__answer { padding: 0 var(--as-space-4) var(--as-space-4); color: var(--as-text-muted); line-height: 1.7; }

/* ── Accordion ── */
.as-accordion__item {
	background: var(--as-white); border: 1px solid rgba(147, 51, 234, 0.1);
	border-radius: var(--as-radius-sm); margin-bottom: var(--as-space-2); overflow: hidden;
}
.as-accordion__summary {
	padding: var(--as-space-3) var(--as-space-4); font-weight: 600; cursor: pointer;
	list-style: none; font-family: var(--as-font-display);
}
.as-accordion__summary::-webkit-details-marker { display: none; }
.as-accordion__body { padding: 0 var(--as-space-4) var(--as-space-4); }
.as-accordion__cols { display: grid; grid-template-columns: 1fr 1fr; gap: var(--as-space-4); }
.as-accordion__cols h4 { font-size: var(--as-text-sm); text-transform: uppercase; letter-spacing: 0.06em; color: var(--as-purple-600); margin: 0 0 var(--as-space-2); }
.as-accordion__cols ul { margin: 0; padding-left: 1.2rem; color: var(--as-text-muted); }

/* ── Page CTA ── */
.as-page-cta {
	text-align: center;
	padding-block: 0;
	min-height: 40vh;
	display: flex;
	align-items: center;
}

/* Override the generic .as-section padding so CTA controls its own spacing */
.as-page-cta.as-section {
	padding-block: 0;
}

.as-page-cta--dark {
	background: linear-gradient(165deg, #12081f, #2d1b4e, #1a0a2e);
	color: var(--as-white);
	overflow: visible;
}

.as-page-cta__bg { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
.as-page-cta__orb {
	position: absolute; border-radius: 50%; filter: blur(60px); opacity: 0.5;
}
.as-page-cta__orb--1 { width: 360px; height: 360px; top: -15%; left: 30%; background: rgba(168, 85, 247, 0.4); }
.as-page-cta__orb--2 { width: 240px; height: 240px; bottom: -8%; right: 10%; background: rgba(212, 168, 83, 0.2); }

.as-page-cta__inner {
	position: relative;
	z-index: 1;
	max-width: 52rem;
	margin-inline: auto;
	padding-block: clamp(var(--as-space-6), 6vh, var(--as-space-10));
}

.as-page-cta__title {
	font-family: var(--as-font-display);
	font-size: var(--as-text-3xl);
	margin: 0 0 var(--as-space-3);
	line-height: 1.2;
}

.as-page-cta__text {
	color: rgba(255, 255, 255, 0.85);
	max-width: 48ch;
	margin: 0 auto var(--as-space-4);
	line-height: 1.65;
}

.as-page-cta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--as-space-2);
	justify-content: center;
}

/* ── Sticky CTA ── */
.as-sticky-cta {
	position: fixed; bottom: 0; left: 0; right: 0; z-index: 900;
	background: rgba(26, 10, 46, 0.95); backdrop-filter: blur(12px);
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	padding: var(--as-space-2) 0;
	transform: translateY(100%); transition: transform var(--as-duration-base) var(--as-ease-out);
}
.as-sticky-cta.is-visible { transform: translateY(0); }
.as-sticky-cta__inner {
	display: flex; align-items: center; justify-content: space-between; gap: var(--as-space-3); flex-wrap: wrap;
}
.as-sticky-cta p { margin: 0; color: var(--as-white); font-size: var(--as-text-sm); }

/* ── Trust grid ── */
.as-trust-grid {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--as-space-4);
	list-style: none; margin: 0; padding: 0;
}
.as-trust-card {
	text-align: center; padding: var(--as-space-4);
	background: var(--as-white); border-radius: var(--as-radius-lg);
	border: 1px solid rgba(147, 51, 234, 0.08); box-shadow: var(--as-shadow-sm);
}
.as-trust-card__icon {
	width: 52px; height: 52px; margin: 0 auto var(--as-space-2);
	display: flex; align-items: center; justify-content: center;
	background: var(--as-purple-100); border-radius: 14px; color: var(--as-purple-600);
}
.as-trust-card__icon .as-icon-svg { width: 36px; height: 36px; }
.as-trust-card h3 { font-family: var(--as-font-display); font-size: var(--as-text-base); margin: 0 0 8px; }
.as-trust-card p { margin: 0; font-size: var(--as-text-sm); color: var(--as-text-muted); }

/* ── Billing toggle ── */
.as-billing-toggle {
	display: inline-flex; align-items: center; gap: var(--as-space-2); margin-top: var(--as-space-3);
}
.as-billing-toggle__switch {
	width: 52px; height: 28px; border-radius: 999px; border: none; cursor: pointer;
	background: var(--as-purple-200); position: relative; transition: background var(--as-duration-fast);
}
.as-billing-toggle__switch[aria-checked="true"] { background: var(--as-purple-500); }
.as-billing-toggle__knob {
	position: absolute; top: 3px; left: 3px; width: 22px; height: 22px;
	border-radius: 50%; background: var(--as-white); transition: transform var(--as-duration-fast);
}
.as-billing-toggle__switch[aria-checked="true"] .as-billing-toggle__knob { transform: translateX(24px); }
.as-billing-toggle__save { font-style: normal; font-size: var(--as-text-xs); color: var(--as-gold); margin-left: 4px; }

@media (max-width: 1024px) {
	.as-stat-band__grid, .as-trust-grid { grid-template-columns: repeat(2, 1fr); }
	.as-accordion__cols { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
	.as-inner-hero__cta { flex-direction: column; align-items: center; }
	.as-stat-band__grid, .as-trust-grid { grid-template-columns: 1fr; }
	.as-sticky-cta__inner { flex-direction: column; text-align: center; }
}

/* ── Surah verses (inner pages) ── */
.as-surah-verse--charity {
	margin: var(--as-space-4) 0 0;
	padding: var(--as-space-4);
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(212, 168, 83, 0.2);
	border-radius: var(--as-radius-sm);
}
.as-surah-verse--charity .as-surah-verse__arabic {
	font-family: var(--as-font-arabic);
	font-size: var(--as-text-xl);
	color: var(--as-gold-light);
	text-align: right;
	line-height: 1.8;
}
.as-surah-verse--charity .as-surah-verse__english {
	font-style: italic;
	color: rgba(255, 255, 255, 0.85);
	margin-top: var(--as-space-2);
}
.as-surah-verse--charity .as-surah-verse__cite {
	font-size: var(--as-text-xs);
	color: var(--as-purple-300);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	margin-top: var(--as-space-2);
}
.as-surah-verse--cta { margin-bottom: var(--as-space-4); padding-bottom: var(--as-space-4); border-bottom: 1px solid rgba(255, 255, 255, 0.12); }
.as-surah-verse--cta .as-surah-verse__arabic { font-family: var(--as-font-arabic); font-size: var(--as-text-xl); color: var(--as-gold-light); text-align: center; }
.as-surah-verse--cta .as-surah-verse__english { font-style: italic; color: rgba(255, 255, 255, 0.9); text-align: center; margin-top: 8px; }
.as-surah-verse--cta .as-surah-verse__cite { font-size: var(--as-text-xs); color: var(--as-purple-300); text-align: center; letter-spacing: 0.1em; margin-top: 8px; }

/* ── Header ── */
.as-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	padding-block: var(--as-space-2);
	background: rgba(10, 10, 10, 0.55);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.as-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--as-space-3);
}

.as-header__brand {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
	color: var(--as-white);
	font-family: var(--as-font-display);
	font-size: var(--as-text-lg);
	font-weight: 600;
}

.as-site-logo {
	display: block;
	height: 44px;
	width: auto;
	max-width: 180px;
	object-fit: contain;
}

.as-site-logo-text {
	font-family: var(--as-font-display);
	font-size: var(--as-text-lg);
	font-weight: 600;
}

.as-image-placeholder {
	display: grid;
	place-items: center;
	min-height: 180px;
	padding: var(--as-space-3);
	background: linear-gradient(135deg, rgba(147, 51, 234, 0.08), rgba(147, 51, 234, 0.04));
	border: 1px dashed rgba(147, 51, 234, 0.25);
	border-radius: var(--as-radius-md);
	color: var(--as-purple-700);
	font-size: var(--as-text-sm);
	text-align: center;
}

.as-footer__logo-img {
	height: 40px;
	width: auto;
	max-width: 160px;
	object-fit: contain;
}

.as-footer__logo .as-site-logo-text {
	color: var(--as-white);
	font-size: var(--as-text-lg);
}

.as-header__menu {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--as-space-3);
	list-style: none;
	margin: 0;
	padding: 0;
}

.as-header__menu a {
	color: rgba(255, 255, 255, 0.85);
	text-decoration: none;
	font-size: var(--as-text-sm);
	font-weight: 500;
	transition: color var(--as-duration-fast);
}

.as-header__menu a:hover {
	color: var(--as-purple-300);
}

.as-header__toggle {
	display: none;
	flex-direction: column;
	gap: 5px;
	background: none;
	border: none;
	padding: var(--as-space-1);
	cursor: pointer;
}

.as-header__toggle-bar {
	display: block;
	width: 24px;
	height: 2px;
	background: var(--as-white);
	border-radius: 2px;
}

/* ── Teachers dropdown submenu ── */
.as-header__item--has-submenu {
	position: relative;
}

.as-header__submenu-trigger {
	background: none !important;
	background-color: transparent !important;
	border: none !important;
	padding: 0;
	cursor: pointer;
	color: rgba(255, 255, 255, 0.85);
	font-size: var(--as-text-sm);
	font-weight: 500;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	transition: color var(--as-duration-fast);
	font-family: var(--as-font-body);
	line-height: inherit;
	letter-spacing: inherit;
	-webkit-appearance: none;
	appearance: none;
	outline: none;
	box-shadow: none;
}

.as-header__submenu-trigger:hover,
.as-header__submenu-trigger:focus,
.as-header__submenu-trigger:focus-visible,
.as-header__submenu-trigger:active {
	background: none !important;
	background-color: transparent !important;
	border-color: transparent !important;
	color: var(--as-purple-300) !important;
	outline: none;
	box-shadow: none;
	text-decoration: none;
}

.as-header__submenu-arrow {
	font-size: 0.55em;
	transition: transform var(--as-duration-fast) var(--as-ease-out);
	display: inline-block;
}

.as-header__item--has-submenu.is-open .as-header__submenu-arrow {
	transform: rotate(180deg);
}

.as-header__submenu {
	position: absolute;
	top: calc(100% + 10px);
	left: 50%;
	transform: translateX(-50%) translateY(-8px);
	min-width: 200px;
	background: rgba(20, 8, 40, 0.96);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	border: 1px solid rgba(192, 132, 252, 0.2);
	border-radius: var(--as-radius-md);
	padding: var(--as-space-1) 0;
	list-style: none;
	margin: 0;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity var(--as-duration-base) var(--as-ease-out),
		transform var(--as-duration-base) var(--as-ease-out),
		visibility var(--as-duration-base);
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(255, 255, 255, 0.06);
	z-index: 1100;
}

.as-header__submenu::before {
	content: '';
	position: absolute;
	top: -6px;
	left: 50%;
	transform: translateX(-50%);
	width: 12px;
	height: 12px;
	background: rgba(20, 8, 40, 0.96);
	border-left: 1px solid rgba(192, 132, 252, 0.2);
	border-top: 1px solid rgba(192, 132, 252, 0.2);
	transform: translateX(-50%) rotate(45deg);
}

.as-header__item--has-submenu.is-open .as-header__submenu {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateX(-50%) translateY(0);
	transition-delay: 0s;
}

.as-header__submenu li {
	display: block;
}

.as-header__submenu a {
	display: block;
	padding: 10px var(--as-space-3);
	color: rgba(255, 255, 255, 0.85);
	text-decoration: none;
	font-size: var(--as-text-sm);
	font-weight: 500;
	transition: background var(--as-duration-fast), color var(--as-duration-fast);
	position: relative;
}

.as-header__submenu a::before {
	content: '';
	position: absolute;
	left: var(--as-space-2);
	top: 50%;
	transform: translateY(-50%);
	width: 3px;
	height: 0;
	background: linear-gradient(180deg, var(--as-purple-400), var(--as-gold-light));
	border-radius: 2px;
	transition: height var(--as-duration-fast) var(--as-ease-out);
}

.as-header__submenu a:hover {
	color: var(--as-purple-300);
	background: rgba(147, 51, 234, 0.1);
	padding-left: calc(var(--as-space-3) + 8px);
}

.as-header__submenu a:hover::before {
	height: 60%;
}

/* Mobile submenu */
@media (max-width: 767px) {
	.as-header__submenu {
		position: static;
		transform: none;
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		background: rgba(255, 255, 255, 0.04);
		border: none;
		border-radius: 0;
		padding: 0 0 0 var(--as-space-3);
		box-shadow: none;
		display: none;
	}

	.as-header__submenu::before {
		display: none;
	}

	.as-header__item--has-submenu.is-open .as-header__submenu {
		display: block;
	}

	.as-header__submenu-trigger {
		padding: 4px 0;
		width: 100%;
		justify-content: space-between;
	}
}

/* ── Footer ── */
.as-footer {
	position: relative;
	background:
		radial-gradient(ellipse 80% 60% at 20% 0%, rgba(147, 51, 234, 0.22), transparent 55%),
		radial-gradient(ellipse 60% 50% at 85% 20%, rgba(212, 168, 83, 0.12), transparent 50%),
		linear-gradient(180deg, #0a0510 0%, #12081f 45%, #0a0510 100%);
	color: rgba(255, 255, 255, 0.82);
	padding-block: var(--as-space-10) var(--as-space-6);
	overflow: hidden;
	isolation: isolate;
}

.as-footer__mesh {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(147, 51, 234, 0.06) 1px, transparent 1px),
		linear-gradient(90deg, rgba(147, 51, 234, 0.06) 1px, transparent 1px);
	background-size: 48px 48px;
	mask-image: linear-gradient(180deg, #000 0%, transparent 100%);
	-webkit-mask-image: linear-gradient(180deg, #000 0%, transparent 100%);
	animation: as-footer-mesh 24s linear infinite;
	pointer-events: none;
}

@keyframes as-footer-mesh {
	0% { transform: translateY(0); }
	100% { transform: translateY(48px); }
}

.as-footer__orb {
	position: absolute;
	border-radius: 50%;
	filter: blur(60px);
	pointer-events: none;
	animation: as-footer-orb 8s ease-in-out infinite alternate;
}

.as-footer__orb--1 {
	width: 280px;
	height: 280px;
	top: -80px;
	left: -60px;
	background: rgba(147, 51, 234, 0.35);
}

.as-footer__orb--2 {
	width: 220px;
	height: 220px;
	bottom: 10%;
	right: 8%;
	background: rgba(212, 168, 83, 0.18);
	animation-delay: -3s;
}

.as-footer__orb--3 {
	width: 180px;
	height: 180px;
	top: 40%;
	left: 45%;
	background: rgba(168, 85, 247, 0.15);
	animation-delay: -5s;
}

@keyframes as-footer-orb {
	0% { transform: translate(0, 0) scale(1); opacity: 0.7; }
	100% { transform: translate(12px, -18px) scale(1.08); opacity: 1; }
}

.as-footer__calligraphy {
	position: absolute;
	right: 4%;
	bottom: 18%;
	font-family: var(--as-font-arabic);
	font-size: clamp(4rem, 10vw, 8rem);
	color: rgba(255, 255, 255, 0.03);
	pointer-events: none;
	user-select: none;
}

.as-footer__top {
	display: grid;
	grid-template-columns: 1.4fr repeat(3, minmax(0, 1fr));
	gap: var(--as-space-6);
	margin-bottom: var(--as-space-8);
	position: relative;
	z-index: 1;
}

.as-footer__logo {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
	color: var(--as-white);
	margin-bottom: var(--as-space-3);
}

.as-footer__logo-mark {
	width: 42px;
	height: 42px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, var(--as-purple-500), var(--as-purple-700));
	box-shadow: 0 8px 24px rgba(147, 51, 234, 0.35);
	font-size: 1.1rem;
}

.as-footer__logo-text {
	font-family: var(--as-font-display);
	font-size: var(--as-text-xl);
	font-weight: 600;
}

.as-footer__tagline {
	margin: 0 0 var(--as-space-2);
	font-size: var(--as-text-sm);
	color: rgba(255, 255, 255, 0.65);
}

.as-footer__mission {
	margin: 0 0 var(--as-space-4);
	max-width: 36ch;
	font-size: var(--as-text-sm);
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.72);
}

.as-footer__heading {
	font-size: var(--as-text-xs);
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--as-purple-300);
	margin: 0 0 var(--as-space-3);
}

.as-footer__nav ul,
.as-footer__contact-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.as-footer__nav li,
.as-footer__contact-list li {
	margin-bottom: 10px;
}

.as-footer__nav a,
.as-footer__contact-list a {
	color: rgba(255, 255, 255, 0.78);
	text-decoration: none;
	position: relative;
	transition: color 0.3s;
}

.as-footer__nav a::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 0;
	height: 1px;
	background: linear-gradient(90deg, var(--as-purple-400), var(--as-gold-light));
	transition: width 0.35s var(--as-ease-out);
}

.as-footer__nav a:hover {
	color: var(--as-white);
}

.as-footer__nav a:hover::after {
	width: 100%;
}

.as-footer__contact-list span {
	font-size: var(--as-text-sm);
	color: rgba(255, 255, 255, 0.55);
}

.as-footer__stats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--as-space-3);
	margin-bottom: var(--as-space-8);
	padding: var(--as-space-4);
	border-radius: var(--as-radius-lg);
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(147, 51, 234, 0.18);
	backdrop-filter: blur(12px);
	position: relative;
	z-index: 1;
}

.as-footer__stat {
	text-align: center;
	padding: var(--as-space-2);
}

.as-footer__stat strong {
	display: block;
	font-family: var(--as-font-display);
	font-size: var(--as-text-2xl);
	color: var(--as-gold-light);
	margin-bottom: 4px;
}

.as-footer__stat span {
	font-size: var(--as-text-xs);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: rgba(255, 255, 255, 0.6);
}

.as-footer__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--as-space-4);
	padding-top: var(--as-space-4);
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	font-size: var(--as-text-sm);
	position: relative;
	z-index: 1;
}

.as-footer__copy {
	margin: 0;
	color: rgba(255, 255, 255, 0.55);
}

.as-footer__credit {
	margin: 0;
	color: rgba(255, 255, 255, 0.55);
}

.as-footer__credit a {
	color: var(--as-purple-300);
	text-decoration: none;
	font-weight: 600;
	transition: color 0.3s, text-shadow 0.3s;
}

.as-footer__credit a:hover {
	color: var(--as-gold-light);
	text-shadow: 0 0 20px rgba(212, 168, 83, 0.4);
}

.as-footer__stat strong.is-animated {
	animation: as-footer-stat-pop 0.6s var(--as-ease-out) both;
}

@keyframes as-footer-stat-pop {
	0% { opacity: 0; transform: translateY(8px) scale(0.92); }
	100% { opacity: 1; transform: translateY(0) scale(1); }
}

/* ── Footer contact items ── */
.as-footer__contact-item {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 12px;
}

.as-footer__contact-icon {
	flex-shrink: 0;
	width: 32px;
	height: 32px;
	border-radius: 8px;
	background: rgba(147, 51, 234, 0.18);
	border: 1px solid rgba(147, 51, 234, 0.25);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--as-purple-300);
	transition: background var(--as-duration-fast), border-color var(--as-duration-fast), transform var(--as-duration-fast);
}

.as-footer__contact-item:hover .as-footer__contact-icon {
	background: rgba(147, 51, 234, 0.32);
	border-color: var(--as-purple-400);
	transform: scale(1.1);
}

.as-footer__contact-icon .as-icon-svg {
	width: 14px;
	height: 14px;
}

.as-footer__contact-item a {
	min-width: 0;
	overflow-wrap: anywhere;
	color: rgba(255, 255, 255, 0.82);
	font-size: var(--as-text-sm);
	text-decoration: none;
	transition: color var(--as-duration-fast);
}

.as-footer__contact-item a:hover {
	color: var(--as-purple-300);
}

/* ── Footer social buttons ── */
.as-footer__socials {
	margin-top: var(--as-space-4);
}

.as-footer__socials-label {
	font-size: var(--as-text-xs);
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--as-purple-300);
	margin: 0 0 var(--as-space-2);
	font-weight: 600;
}

.as-footer__socials-row {
	display: flex;
	gap: var(--as-space-2);
}

.as-footer__social-btn {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 8px 14px;
	border-radius: var(--as-radius-sm);
	text-decoration: none;
	font-size: var(--as-text-xs);
	font-weight: 600;
	transition: transform var(--as-duration-fast) var(--as-ease-out),
		box-shadow var(--as-duration-fast),
		background var(--as-duration-fast),
		border-color var(--as-duration-fast),
		color var(--as-duration-fast);
}

.as-footer__social-btn:hover {
	transform: translateY(-3px);
}

.as-footer__social-btn .as-icon-svg {
	width: 15px;
	height: 15px;
	flex-shrink: 0;
	transition: transform 0.35s var(--as-ease-spring);
}

.as-footer__social-btn:hover .as-icon-svg {
	transform: scale(1.22) rotate(-8deg);
}

/* Facebook */
.as-footer__social-btn--fb {
	background: rgba(24, 119, 242, 0.16);
	border: 1px solid rgba(24, 119, 242, 0.28);
	color: #7ab8ff;
}

.as-footer__social-btn--fb:hover {
	background: rgba(24, 119, 242, 0.28);
	border-color: rgba(24, 119, 242, 0.5);
	color: #aad0ff;
	box-shadow: 0 8px 24px rgba(24, 119, 242, 0.25);
}

/* Instagram */
.as-footer__social-btn--ig {
	background: rgba(193, 53, 132, 0.14);
	border: 1px solid rgba(193, 53, 132, 0.26);
	color: #f4a3c0;
}

.as-footer__social-btn--ig:hover {
	background: rgba(193, 53, 132, 0.26);
	border-color: rgba(193, 53, 132, 0.45);
	color: #fac7d7;
	box-shadow: 0 8px 24px rgba(193, 53, 132, 0.22);
}

/* ── Cards ── */
.as-card-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--as-space-4);
	list-style: none;
	margin: 0;
	padding: 0;
}

.as-card-grid--4 {
	grid-template-columns: repeat(4, 1fr);
}

.as-card {
	padding: var(--as-space-4);
	transition: transform var(--as-duration-base) var(--as-ease-out),
		box-shadow var(--as-duration-base) var(--as-ease-out);
}

.as-card h3 {
	font-family: var(--as-font-display);
	font-size: var(--as-text-lg);
	margin: 0;
}

.as-card:hover {
	transform: translateY(-6px);
	box-shadow: var(--as-shadow-lg), var(--as-shadow-glow);
}

.as-page--home .as-card-3d:hover .as-card-3d__inner {
	box-shadow: var(--as-shadow-lg), var(--as-shadow-glow);
}

.as-card--featured {
	border-color: var(--as-purple-400);
	box-shadow: var(--as-shadow-glow);
}

/* Stagger delay — set by JS */
[data-stagger].is-visible {
	transition-delay: var(--stagger-delay, 0ms);
}

/* ── Inner page hero ── */
.as-page-hero {
	padding-block: calc(var(--as-space-16) + 60px) var(--as-space-10);
	background: var(--as-gradient-hero);
	color: var(--as-text-inverse);
	text-align: center;
}

.as-page-hero__title {
	font-family: var(--as-font-display);
	font-size: var(--as-text-4xl);
	margin: 0;
}

.as-page-content {
	background: var(--as-bg-primary);
}

.as-page-content h2 {
	font-family: var(--as-font-display);
	font-size: var(--as-text-2xl);
	text-align: center;
	margin: 0;
}

/* ── Responsive ── */
@media (max-width: 1024px) {
	.as-card-grid--4 {
		grid-template-columns: repeat(2, 1fr);
	}

	.as-footer__top {
		grid-template-columns: 1fr 1fr;
	}

	.as-footer__stats {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 767px) {
	.as-header__nav {
		display: none;
	}

	.as-header__nav.is-open {
		display: block;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		background: var(--as-jet);
		padding: var(--as-space-3);
	}

	.as-header__nav.is-open .as-header__menu {
		flex-direction: column;
		align-items: flex-start;
	}

	.as-header__toggle {
		display: flex;
	}

	.as-card-grid,
	.as-card-grid--4 {
		grid-template-columns: 1fr;
	}

	.as-footer__top {
		grid-template-columns: 1fr;
		gap: var(--as-space-4);
	}

	.as-footer__stats {
		grid-template-columns: 1fr 1fr;
	}

	.as-footer__bottom {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--as-space-2);
	}
}
