/**
 * Location (country) pages — scoped to .as-page--location
 */

/* ════════ KEYFRAMES ════════ */
@keyframes as-loc-flag-drop { from { transform: translateY(-20px) scale(0.8); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes as-loc-content-rise { from { transform: translateY(28px); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes as-loc-stats-rise { from { transform: translateY(16px) scale(0.97); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes as-loc-glow-pulse { 0%,100% { opacity: .6; transform: scale(1); } 50% { opacity: 1; transform: scale(1.06); } }
@keyframes as-loc-step-glow { 0%,100% { box-shadow: 0 0 0 rgba(147,51,234,0); } 50% { box-shadow: 0 0 32px rgba(147,51,234,.35); } }
@keyframes as-loc-arrow-slide { 0%,100% { transform: translateX(0); } 50% { transform: translateX(5px); } }
@keyframes as-light-pulse { 0%,100% { opacity: .75; } 50% { opacity: 1; } }
@keyframes as-art-float-1 { 0%,100% { transform: translate3d(0,0,0); } 50% { transform: translate3d(24px,-16px,0); } }
@keyframes as-art-float-2 { 0%,100% { transform: translate3d(0,0,0) rotate(-2deg); } 50% { transform: translate3d(-20px,12px,0) rotate(1deg); } }
@keyframes as-hero-glow { 0% { opacity:.5; transform:scale(1); } 100% { opacity:1; transform:scale(1.08); } }
@keyframes as-cta-orb { 0% { transform:translateX(-50%) scale(1); opacity:.45; } 100% { transform:translateX(-48%) scale(1.08); opacity:.65; } }
@keyframes as-marquee-scroll { 0% { transform:translateX(0); } 100% { transform:translateX(-50%); } }
@keyframes as-section-rise { from { opacity:0; transform:translate3d(0,32px,-40px); } to { opacity:1; transform:translate3d(0,0,0); } }

/* ════════════════════════════════════
   HERO — full-viewport, centered
   ════════════════════════════════════ */

.as-page--location .as-loc-hero {
	min-height: 100vh;
	padding: 0;
	padding-block: 0;
	display: block;
	background: linear-gradient(145deg, #1a0a2e 0%, #2d1b4e 40%, #121212 100%);
	color: #fff;
	overflow: hidden;
}

/* Background layer */
.as-page--location .as-loc-hero__bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 0;
}

.as-page--location .as-loc-hero__deco {
	position: absolute;
	font-family: var(--as-font-arabic);
	pointer-events: none;
	user-select: none;
	opacity: .12;
	color: rgba(192,132,252,.9);
}
.as-page--location .as-loc-hero__deco--1 {
	top: 12%; right: 4%;
	font-size: clamp(5rem,12vw,9rem);
	animation: as-art-float-2 22s ease-in-out infinite alternate;
}
.as-page--location .as-loc-hero__deco--2 {
	bottom: 10%; left: 3%;
	font-size: clamp(3rem,7vw,5.5rem);
	color: rgba(212,168,83,.65);
	animation: as-art-float-1 26s ease-in-out infinite;
}

.as-page--location .as-loc-hero__geom {
	position: absolute;
	inset: 0;
	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%3Cg fill='none' stroke='%23c084fc' stroke-opacity='0.09' stroke-width='1'%3E%3Cpolygon points='40,4 76,22 76,58 40,76 4,58 4,22'/%3E%3Cpolygon points='40,16 64,28 64,52 40,64 16,52 16,28'/%3E%3C/g%3E%3C/svg%3E");
	opacity: .9;
}

.as-page--location .as-loc-hero__light {
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at 50% 40%,
		rgba(168,85,247,.28) 0%,
		rgba(74,29,150,.1) 35%,
		transparent 65%);
	animation: as-light-pulse 8s ease-in-out infinite;
	transition: background .12s ease;
}

/* Bismillah */
.as-page--location .as-loc-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.6rem);
	color: rgba(240,215,140,.92);
	text-shadow: 0 0 36px rgba(212,168,83,.4);
	letter-spacing: .06em;
	white-space: nowrap;
	pointer-events: none;
	max-width: 95vw;
	text-align: center;
}

/* Shell — vertically centres content */
.as-page--location .as-loc-hero__shell {
	position: relative;
	z-index: 2;
	min-height: 100vh;
	display: flex;
	align-items: center;
	padding: calc(72px + 4rem) clamp(1.5rem,4vw,2.5rem) clamp(3rem,6vw,5rem);
	box-sizing: border-box;
}

/* Centred single column */
.as-page--location .as-loc-hero__center {
	display: flex;
	padding-top: 4%;
	flex-direction: column;
	align-items: center;
	text-align: center;
	max-width: 840px;
	margin-inline: auto;
	width: 100%;
}

/* Flag */
.as-page--location .as-loc-hero__flag {
	font-size: clamp(3rem,6vw,5rem);
	line-height: 1;
	margin-bottom: var(--as-space-3);
	display: inline-block;
	animation: as-loc-flag-drop .9s var(--as-ease-spring) both;
}

/* Badge */
.as-page--location .as-loc-hero__badge-wrap { margin: 0 0 var(--as-space-2); }

.as-page--location .as-loc-hero__badge {
	display: inline-block;
	padding: 7px 18px;
	border-radius: 999px;
	background: rgba(147,51,234,.25);
	border: 1px solid rgba(192,132,252,.45);
	font-size: var(--as-text-xs);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--as-purple-200);
	animation: as-loc-content-rise .7s .15s var(--as-ease-out) both;
}

/* Headline */
.as-page--location .as-loc-hero__title {
	font-family: var(--as-font-display);
	font-size: clamp(2.6rem,6vw,4.5rem);
	font-weight: 700;
	line-height: 1.08;
	margin: 0 0 var(--as-space-2);
	color: #fff;
	animation: as-loc-content-rise .75s .25s var(--as-ease-out) both;
}

/* Tagline */
.as-page--location .as-loc-hero__tagline {
	font-size: var(--as-text-xs);
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: rgba(240,215,140,.85);
	margin: 0 0 var(--as-space-2);
	animation: as-loc-content-rise .7s .3s var(--as-ease-out) both;
}

/* Lead */
.as-page--location .as-loc-hero__lead {
	font-size: clamp(1rem,1.3vw,1.15rem);
	color: rgba(255,255,255,.86);
	max-width: 56ch;
	line-height: 1.65;
	margin: 0 0 var(--as-space-5);
	animation: as-loc-content-rise .7s .35s var(--as-ease-out) both;
}

/* CTA buttons */
.as-page--location .as-loc-hero__cta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--as-space-2);
	justify-content: center;
	margin-bottom: var(--as-space-3);
	animation: as-loc-content-rise .7s .45s var(--as-ease-out) both;
}

.as-page--location .as-loc-hero__cta .as-btn--primary {
	box-shadow: 0 8px 28px rgba(147,51,234,.5);
}

/* Trust line */
.as-page--location .as-loc-hero__trust {
	font-size: .8125rem;
	color: rgba(255,255,255,.65);
	margin: 0 0 var(--as-space-6);
	animation: as-loc-content-rise .65s .5s var(--as-ease-out) both;
}
.as-page--location .as-loc-hero__trust span {
	color: var(--as-gold-light);
	margin-right: var(--as-space-1);
}

/* Stats row */
.as-page--location .as-loc-hero__stats {
	display: flex;
	align-items: stretch;
	gap: 0;
	background: rgba(255,255,255,.07);
	border: 1px solid rgba(255,255,255,.13);
	border-radius: var(--as-radius-lg);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	overflow: hidden;
	width: 100%;
	max-width: 680px;
	animation: as-loc-stats-rise .8s .6s var(--as-ease-out) both;
}

.as-page--location .as-loc-hero__stat {
	flex: 1;
	padding: var(--as-space-3) var(--as-space-2);
	text-align: center;
}

.as-page--location .as-loc-hero__stat strong {
	display: block;
	font-family: var(--as-font-display);
	font-size: var(--as-text-2xl);
	font-weight: 700;
	background: linear-gradient(120deg,var(--as-purple-300),var(--as-gold-light));
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	line-height: 1.1;
	margin-bottom: 3px;
}

.as-page--location .as-loc-hero__stat span {
	font-size: .65rem;
	text-transform: uppercase;
	letter-spacing: .1em;
	color: rgba(255,255,255,.55);
}

.as-page--location .as-loc-hero__stat-sep {
	width: 1px;
	background: rgba(255,255,255,.1);
	align-self: stretch;
	flex-shrink: 0;
}


/* ════════════════════════════════════
   WHY SECTION
   ════════════════════════════════════ */

.as-page--location .as-loc-why { background: var(--as-white); overflow: visible; }

.as-page--location .as-loc-why__grid {
	display: grid;
	grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr);
	gap: var(--as-space-10);
	align-items: start;
}

.as-page--location .as-loc-why__title {
	font-family: var(--as-font-display);
	font-size: var(--as-text-3xl);
	font-weight: 600;
	line-height: 1.2;
	color: var(--as-jet);
	margin: 0 0 var(--as-space-4);
}

.as-page--location .as-loc-why__prose { margin-bottom: var(--as-space-4); }
.as-page--location .as-loc-why__prose p {
	font-size: var(--as-text-base);
	color: var(--as-text-muted);
	line-height: 1.8;
	margin: 0 0 var(--as-space-3);
}

.as-page--location .as-loc-why__checklist {
	list-style: none; margin: 0 0 var(--as-space-5); padding: 0;
	display: flex; flex-direction: column; gap: 10px;
}
.as-page--location .as-loc-why__checklist li {
	display: flex; align-items: flex-start; gap: 10px;
	font-size: var(--as-text-sm); color: var(--as-jet); font-weight: 500; line-height: 1.5;
}
.as-page--location .as-loc-why__checklist li::before {
	content: '';
	flex-shrink: 0; width: 20px; height: 20px; margin-top: 1px;
	border-radius: 50%;
	background: linear-gradient(135deg,var(--as-purple-500),var(--as-purple-700));
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'%3E%3Cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3E%3C/svg%3E");
	background-size: 12px; background-repeat: no-repeat; background-position: center;
}

/* Feature cards */
.as-page--location .as-loc-why__cards {
	display: grid; grid-template-columns: 1fr 1fr; gap: var(--as-space-3);
}
.as-page--location .as-loc-why__card {
	padding: var(--as-space-4);
	border-radius: var(--as-radius-lg);
	background: var(--as-white);
	border: 1px solid rgba(147,51,234,.1);
	box-shadow: 0 4px 16px rgba(26,10,46,.05);
	transition: transform .4s var(--as-ease-out), box-shadow .4s, border-color .4s;
	position: relative; overflow: hidden;
}
.as-page--location .as-loc-why__card::before {
	content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
	background: linear-gradient(90deg,var(--as-purple-500),var(--as-gold-light));
	opacity: 0; transition: opacity .35s;
}
.as-page--location .as-loc-why__card:hover {
	transform: translateY(-7px);
	box-shadow: 0 16px 40px rgba(147,51,234,.12);
	border-color: rgba(147,51,234,.2);
}
.as-page--location .as-loc-why__card:hover::before { opacity: 1; }
.as-page--location .as-loc-why__card-icon {
	width: 48px; height: 48px; border-radius: 14px;
	background: rgba(147,51,234,.1); color: var(--as-purple-600);
	display: flex; align-items: center; justify-content: center;
	margin-bottom: var(--as-space-3);
	transition: background .35s, color .35s, box-shadow .35s;
}
.as-page--location .as-loc-why__card:hover .as-loc-why__card-icon {
	background: linear-gradient(135deg,var(--as-purple-500),var(--as-purple-700));
	color: #fff; box-shadow: 0 6px 20px rgba(147,51,234,.35);
}
.as-page--location .as-loc-why__card .as-icon-svg { width: 26px; height: 26px; }
.as-page--location .as-loc-why__card h3 {
	font-family: var(--as-font-display); font-size: var(--as-text-base);
	margin: 0 0 6px; color: var(--as-jet);
}
.as-page--location .as-loc-why__card p {
	margin: 0; font-size: var(--as-text-xs); color: var(--as-text-muted); line-height: 1.65;
}

/* ════════════════════════════════════
   HOW IT WORKS — homepage wave journey
   (sand background, identical to home)
   ════════════════════════════════════ */

.as-page--location .as-loc-journey {
	background: var(--as-sand);
}

.as-page--location .as-loc-journey .as-section__eyebrow {
	color: var(--as-purple-600);
}

.as-page--location .as-loc-journey__pattern {
	position: absolute;
	inset: 0;
	opacity: 0.5;
	background-image: url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M50 0 L93.3 25 L93.3 75 L50 100 L6.7 75 L6.7 25 Z' fill='none' stroke='%239333ea' stroke-opacity='0.05'/%3E%3C/svg%3E");
}

/* Wave container */
.as-page--location .as-loc-wave {
	position: relative;
	min-height: 380px;
	margin-top: var(--as-space-6);
}

.as-page--location .as-loc-wave__svg {
	position: absolute;
	left: 0; right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
	height: 240px;
	z-index: 0;
}

.as-page--location .as-loc-wave__path--anim {
	animation: as-wave-flow 3s linear infinite;
	filter: drop-shadow(0 0 8px rgba(147, 51, 234, 0.4));
}

@keyframes as-wave-flow { to { stroke-dashoffset: -40; } }

/* Step list — 3 columns */
.as-page--location .as-loc-wave__steps {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--as-space-2);
	list-style: none;
	margin: 0;
	padding: 0;
	min-height: 360px;
	align-items: center;
}

/* Individual step */
.as-page--location .as-loc-wave-step {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	position: relative;
}

.as-page--location .as-loc-wave-step--top {
	justify-content: flex-start;
	padding-bottom: 130px;
}

.as-page--location .as-loc-wave-step--bottom {
	justify-content: flex-end;
	padding-top: 130px;
}

.as-page--location .as-loc-wave-step__content {
	max-width: 240px;
	margin-bottom: var(--as-space-3);
}

.as-page--location .as-loc-wave-step--bottom .as-loc-wave-step__content {
	margin-bottom: 0;
	margin-top: var(--as-space-3);
	order: 2;
}

.as-page--location .as-loc-wave-step--bottom .as-loc-wave-step__node {
	order: 1;
}

.as-page--location .as-loc-wave-step__num {
	font-family: var(--as-font-display);
	font-size: var(--as-text-3xl);
	font-weight: 600;
	color: var(--as-purple-200);
	display: block;
	line-height: 1;
	margin-bottom: var(--as-space-1);
}

.as-page--location .as-loc-wave-step h3 {
	font-family: var(--as-font-body);
	font-size: var(--as-text-sm);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--as-jet);
	margin: 0 0 var(--as-space-2);
}

.as-page--location .as-loc-wave-step p {
	font-size: var(--as-text-xs);
	color: var(--as-text-muted);
	line-height: 1.65;
	margin: 0;
}

/* Node circle */
.as-page--location .as-loc-wave-step__node {
	position: relative;
	width: 88px;
	height: 88px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.as-page--location .as-loc-wave-step__ring {
	position: absolute;
	inset: 0;
	border: 2px dashed rgba(147, 51, 234, 0.35);
	border-radius: 50%;
	animation: as-ring-spin 12s linear infinite;
}

.as-page--location .as-loc-wave-step__ring::before {
	content: '';
	position: absolute;
	inset: 8px;
	border: 1px solid rgba(147, 51, 234, 0.2);
	border-radius: 50%;
}

@keyframes as-ring-spin { to { transform: rotate(360deg); } }

.as-page--location .as-loc-wave-step__icon {
	position: relative;
	z-index: 1;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var(--as-white);
	border: 2px solid var(--as-purple-400);
	box-shadow: 0 8px 24px rgba(147, 51, 234, 0.2);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform 0.4s var(--as-ease-spring), box-shadow 0.4s;
}

.as-page--location .as-loc-wave-step:hover .as-loc-wave-step__icon {
	transform: scale(1.12);
	box-shadow: 0 12px 32px rgba(147, 51, 234, 0.35);
}

.as-page--location .as-loc-wave-step__icon::after {
	content: '';
	width: 24px;
	height: 24px;
	background: var(--as-purple-500);
	mask-size: contain;
	mask-repeat: no-repeat;
	mask-position: center;
	-webkit-mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
}

.as-page--location .as-loc-wave-step__icon--shield::after {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M12 2L4 5v6c0 5.25 3.4 10.15 8 11.35C16.6 21.15 20 16.25 20 11V5l-8-3z'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M12 2L4 5v6c0 5.25 3.4 10.15 8 11.35C16.6 21.15 20 16.25 20 11V5l-8-3z'/%3E%3C/svg%3E");
}

.as-page--location .as-loc-wave-step__icon--book::after {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M18 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM6 4h5v8l-2.5-1.5L6 12V4z'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M18 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM6 4h5v8l-2.5-1.5L6 12V4z'/%3E%3C/svg%3E");
}

.as-page--location .as-loc-wave-step__icon--star::after {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z'/%3E%3C/svg%3E");
}

/* ════════════════════════════════════
   OLD steps styles (kept for reference, now unused)
   ════════════════════════════════════ */

.as-page--location .as-loc-steps {
	background: linear-gradient(145deg, #0f051e 0%, #1a0a2e 40%, #2d1b4e 70%, #0f051e 100%);
	color: #fff;
	overflow: hidden;
}

.as-page--location .as-loc-steps__bg {
	position: absolute; inset: 0; pointer-events: none;
}
.as-page--location .as-loc-steps__orb {
	position: absolute; border-radius: 50%; filter: blur(90px); pointer-events: none;
}
.as-page--location .as-loc-steps__orb--1 {
	width: 500px; height: 500px; top: -100px; left: 50%;
	transform: translateX(-50%);
	background: rgba(147,51,234,.2);
	animation: as-loc-glow-pulse 8s ease-in-out infinite;
}
.as-page--location .as-loc-steps__orb--2 {
	width: 300px; height: 300px; bottom: -50px; right: 5%;
	background: rgba(212,168,83,.12);
	animation: as-loc-glow-pulse 10s ease-in-out 2s infinite;
}

/* Background hex pattern */
.as-page--location .as-loc-steps::before {
	content: '';
	position: absolute; inset: 0;
	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.06'/%3E%3C/svg%3E");
	pointer-events: none;
}

.as-page--location .as-loc-steps .as-section__header { position: relative; z-index: 1; }

/* Step list */
.as-page--location .as-loc-steps__list {
	display: grid;
	grid-template-columns: 1fr auto 1fr auto 1fr;
	gap: 0;
	align-items: center;
	list-style: none; margin: 0 0 var(--as-space-8); padding: 0;
	position: relative; z-index: 1;
}

/* Arrow connector between cards */
.as-page--location .as-loc-step__arrow {
	display: flex; align-items: center; justify-content: center;
	width: 40px; flex-shrink: 0;
	color: rgba(192,132,252,.5);
	animation: as-loc-arrow-slide 2s ease-in-out infinite;
}
.as-page--location .as-loc-step__arrow svg {
	width: 36px; height: 14px; display: block;
}

/* Individual step card */
.as-page--location .as-loc-step__inner {
	padding: var(--as-space-5) var(--as-space-4);
	border-radius: var(--as-radius-xl);
	background: rgba(255,255,255,.06);
	border: 1px solid rgba(255,255,255,.12);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	transition: transform .45s var(--as-ease-out), border-color .45s, box-shadow .45s, background .45s;
	height: 100%;
	position: relative;
	overflow: hidden;
}
.as-page--location .as-loc-step__inner::before {
	content: '';
	position: absolute; top: 0; left: 0; right: 0; height: 3px;
	border-radius: var(--as-radius-xl) var(--as-radius-xl) 0 0;
}
.as-page--location .as-loc-step--purple .as-loc-step__inner::before {
	background: linear-gradient(90deg,var(--as-purple-400),var(--as-purple-600));
}
.as-page--location .as-loc-step--gold .as-loc-step__inner::before {
	background: linear-gradient(90deg,var(--as-gold),var(--as-gold-light));
}
.as-page--location .as-loc-step:hover .as-loc-step__inner {
	transform: translateY(-8px);
	border-color: rgba(192,132,252,.3);
	box-shadow: 0 24px 56px rgba(0,0,0,.35), 0 0 0 1px rgba(192,132,252,.15);
	background: rgba(255,255,255,.1);
}

/* Step top row */
.as-page--location .as-loc-step__top {
	display: flex; align-items: center; justify-content: space-between;
	margin-bottom: var(--as-space-3);
}
.as-page--location .as-loc-step__num {
	font-family: var(--as-font-display);
	font-size: var(--as-text-3xl);
	font-weight: 700;
	background: linear-gradient(120deg,var(--as-purple-300),var(--as-gold-light));
	-webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
	line-height: 1;
}
.as-page--location .as-loc-step__pill {
	padding: 4px 10px; border-radius: 999px;
	font-size: var(--as-text-xs); font-weight: 600; letter-spacing: .06em;
	color: rgba(255,255,255,.75);
	background: rgba(147,51,234,.25); border: 1px solid rgba(192,132,252,.3);
}

/* Icon */
.as-page--location .as-loc-step__icon {
	font-size: 2rem; line-height: 1;
	width: 64px; height: 64px;
	display: flex; align-items: center; justify-content: center;
	border-radius: 18px;
	background: rgba(255,255,255,.08);
	border: 1px solid rgba(255,255,255,.1);
	margin-bottom: var(--as-space-3);
	transition: transform .4s var(--as-ease-spring), background .4s;
}
.as-page--location .as-loc-step:hover .as-loc-step__icon {
	transform: scale(1.1) rotate(-4deg);
	background: rgba(147,51,234,.22);
}

.as-page--location .as-loc-step__title {
	font-family: var(--as-font-display);
	font-size: var(--as-text-xl);
	font-weight: 600;
	color: #fff;
	margin: 0 0 var(--as-space-2);
	line-height: 1.2;
}
.as-page--location .as-loc-step__desc {
	margin: 0; font-size: var(--as-text-sm);
	color: rgba(255,255,255,.72); line-height: 1.7;
}

/* CTA below steps */
.as-page--location .as-loc-steps__cta {
	text-align: center; position: relative; z-index: 1;
}
.as-page--location .as-loc-steps__note {
	margin: var(--as-space-2) 0 0;
	font-size: var(--as-text-xs); color: rgba(255,255,255,.5);
}

/* ════════════════════════════════════
   COURSES — homepage card style
   ════════════════════════════════════ */

.as-page--location .as-loc-courses { background: var(--as-off-white); }

.as-page--location .as-course-grid {
	display: grid; grid-template-columns: repeat(3,1fr);
	gap: var(--as-space-4); list-style: none; margin: 0; padding: 0;
}
.as-page--location .as-course-card { perspective: 900px; }
.as-page--location .as-course-card__link { text-decoration: none; color: inherit; display: block; }
.as-page--location .as-course-card__inner {
	background: var(--as-white); border: 1px solid rgba(147,51,234,.1);
	border-radius: var(--as-radius-lg); overflow: hidden;
	display: flex; flex-direction: column;
	box-shadow: 0 4px 12px rgba(26,10,46,.06);
	transition: transform .45s var(--as-ease-out), box-shadow .45s, border-color .45s;
}
.as-page--location .as-course-card:hover .as-course-card__inner {
	transform: translateY(-10px) scale(1.01);
	box-shadow: 0 20px 48px rgba(147,51,234,.16);
	border-color: rgba(147,51,234,.22);
}
.as-page--location .as-course-card__media { position: relative; overflow: hidden; }
.as-page--location .as-course-card__img {
	width: 100%; height: 180px; object-fit: cover; display: block;
	transition: transform .55s var(--as-ease-out);
}
.as-page--location .as-course-card:hover .as-course-card__img { transform: scale(1.07); }
.as-page--location .as-course-card__tag {
	position: absolute; top: var(--as-space-2); left: var(--as-space-2);
	padding: 4px 12px; border-radius: 999px;
	background: var(--as-purple-600); color: #fff;
	font-size: var(--as-text-xs); font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
}
.as-page--location .as-course-card__body {
	padding: var(--as-space-4); flex: 1; display: flex; flex-direction: column;
}
.as-page--location .as-course-card__body h3 {
	font-family: var(--as-font-display); font-size: var(--as-text-lg);
	margin: 0 0 var(--as-space-2); color: var(--as-jet);
}
.as-page--location .as-course-card__body p {
	margin: 0 0 var(--as-space-3); color: var(--as-text-muted);
	font-size: var(--as-text-sm); line-height: 1.65; flex: 1;
}
.as-page--location .as-course-card__more {
	font-size: var(--as-text-sm); font-weight: 700; color: var(--as-purple-600);
	transition: color var(--as-duration-fast);
}
.as-page--location .as-course-card:hover .as-course-card__more { color: var(--as-purple-500); }
.as-page--location .as-loc-courses .as-section__cta { display: flex; justify-content: center; }

/* Ghost button on light background — must be readable (dark purple) */
.as-page--location .as-loc-courses .as-btn--ghost {
	color: var(--as-purple-700) !important;
	border-color: rgba(107, 33, 168, 0.35) !important;
	background: rgba(255, 255, 255, 0.8) !important;
}
.as-page--location .as-loc-courses .as-btn--ghost:hover {
	background: var(--as-white) !important;
	color: var(--as-purple-800) !important;
	border-color: var(--as-purple-500) !important;
}

/* ════════════════════════════════════
   CUSTOM COUNTRY PRICING TABLE
   ════════════════════════════════════ */

/* ── Country pricing table ── */
.as-page--location .as-loc-price-table {
	max-width: 720px;
	margin-inline: auto;
}

.as-page--location .as-loc-price-table__wrap {
	background: var(--as-white);
	border: 1px solid rgba(147, 51, 234, 0.14);
	border-radius: var(--as-radius-xl);
	overflow: hidden;
	box-shadow:
		0 4px 6px rgba(26, 10, 46, 0.04),
		0 16px 48px rgba(26, 10, 46, 0.08);
	margin-bottom: var(--as-space-5);
}

.as-page--location .as-loc-price-table__table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--as-text-sm);
}

/* Header row */
.as-page--location .as-loc-price-table__table thead tr {
	background: linear-gradient(90deg, var(--as-purple-800) 0%, var(--as-purple-600) 100%);
}

.as-page--location .as-loc-price-table__table thead th {
	padding: var(--as-space-3) var(--as-space-5);
	text-align: left;
	font-size: var(--as-text-xs);
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.9);
	border: none;
}

/* Body rows */
.as-page--location .as-loc-price-table__table tbody tr {
	border-bottom: 1px solid rgba(147, 51, 234, 0.07);
	transition: background 0.2s, transform 0.2s;
}

.as-page--location .as-loc-price-table__table tbody tr:last-child {
	border-bottom: none;
}

.as-page--location .as-loc-price-table__table tbody tr:hover {
	background: rgba(147, 51, 234, 0.04);
}

.as-page--location .as-loc-price-table__table tbody td {
	padding: var(--as-space-3) var(--as-space-5);
	color: var(--as-jet);
	vertical-align: middle;
	border: none;
}

/* Popular row highlight */
.as-page--location .as-loc-price-table__row--popular {
	background: rgba(147, 51, 234, 0.05);
	position: relative;
}

.as-page--location .as-loc-price-table__row--popular td:first-child {
	border-left: 3px solid var(--as-purple-500);
}

/* Schedule cell */
.as-page--location .as-loc-price-table__schedule {
	font-weight: 600;
	color: var(--as-jet);
}

.as-page--location .as-loc-price-table__badge {
	display: inline-block;
	margin-left: var(--as-space-2);
	padding: 3px 10px;
	border-radius: 999px;
	background: var(--as-purple-500);
	color: #fff;
	font-size: 0.65rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	vertical-align: middle;
}

/* Month cell */
.as-page--location .as-loc-price-table__month {
	color: var(--as-text-muted);
}
.as-page--location .as-loc-price-table__month strong {
	font-size: var(--as-text-base);
	font-weight: 700;
	color: var(--as-jet);
}
.as-page--location .as-loc-price-table__month small {
	font-size: var(--as-text-xs);
	margin-left: 2px;
}

/* Fee cell */
.as-page--location .as-loc-price-table__fee {
	white-space: nowrap;
}

.as-page--location .as-loc-price-table__amount {
	font-family: var(--as-font-display);
	font-size: var(--as-text-xl);
	font-weight: 700;
	background: linear-gradient(120deg, var(--as-purple-600), var(--as-purple-400));
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}

.as-page--location .as-loc-price-table__suffix {
	font-size: var(--as-text-xs);
	color: var(--as-text-muted);
	margin-left: 3px;
}

/* Footer: trust + CTA */
.as-page--location .as-loc-price-table__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--as-space-4);
	flex-wrap: wrap;
}

.as-page--location .as-loc-price-table__trust {
	list-style: none;
	margin: 0; padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: var(--as-space-3);
}

.as-page--location .as-loc-price-table__trust li {
	font-size: var(--as-text-xs);
	color: var(--as-text-muted);
	font-weight: 500;
}

@media (max-width: 600px) {
	.as-page--location .as-loc-price-table__footer {
		flex-direction: column;
		align-items: flex-start;
	}
	.as-page--location .as-loc-price-table__trust {
		flex-direction: column;
		gap: 6px;
	}
	.as-page--location .as-loc-price-table__table thead th,
	.as-page--location .as-loc-price-table__table tbody td {
		padding: var(--as-space-2) var(--as-space-3);
	}
}

/* ════════════════════════════════════
   TESTIMONIALS — DARK background (FIXED)
   ════════════════════════════════════ */

.as-page--location .as-loc-reviews {
	background: linear-gradient(180deg, #0f051e 0%, #1a0a2e 50%, #0f051e 100%);
	color: #fff;
	padding-bottom: var(--as-space-6);
	overflow: hidden;
	position: relative;
}
.as-page--location .as-loc-reviews__bg { position: absolute; inset: 0; pointer-events: none; }
.as-page--location .as-loc-reviews__orb {
	position: absolute; width: 600px; height: 600px;
	top: -150px; left: 50%; transform: translateX(-50%);
	border-radius: 50%; filter: blur(100px);
	background: rgba(147,51,234,.18); pointer-events: none;
}

/* Override review card for dark bg */
.as-page--location .as-loc-reviews .as-review-card {
	flex: 0 0 340px;
	padding: var(--as-space-4);
	border-radius: var(--as-radius-lg);
	background: rgba(255,255,255,.07);
	border: 1px solid rgba(255,255,255,.12);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	box-shadow: 0 8px 32px rgba(0,0,0,.3);
	transition: transform .4s var(--as-ease-out), border-color .4s;
}
.as-page--location .as-loc-reviews .as-review-card:hover {
	transform: translateY(-6px);
	border-color: rgba(192,132,252,.3);
}
.as-page--location .as-loc-reviews .as-review-card__stars {
	color: var(--as-gold); font-size: var(--as-text-sm); margin-bottom: var(--as-space-2);
}
.as-page--location .as-loc-reviews .as-review-card__quote p {
	margin: 0; font-size: var(--as-text-sm); line-height: 1.75;
	color: rgba(255,255,255,.88); font-style: italic;
}
.as-page--location .as-loc-reviews .as-review-card__author strong {
	display: block; font-size: var(--as-text-sm); color: #fff; margin-top: var(--as-space-2);
}
.as-page--location .as-loc-reviews .as-review-card__author span {
	font-size: var(--as-text-xs); color: rgba(255,255,255,.5);
}

/* Marquee tracks */
.as-page--location .as-marquee {
	display: flex; overflow: hidden;
	mask-image: linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
	-webkit-mask-image: linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
	margin-bottom: var(--as-space-3);
	position: relative; z-index: 1;
}
.as-page--location .as-marquee__track {
	display: flex; width: max-content;
	animation: as-marquee-scroll var(--marquee-duration,45s) linear infinite;
}
.as-page--location .as-marquee--reverse .as-marquee__track { animation-direction: reverse; }
.as-page--location .as-marquee.is-paused .as-marquee__track { animation-play-state: paused; }
.as-page--location .as-marquee__group { display: flex; gap: var(--as-space-3); padding-right: var(--as-space-3); }

/* ════════════════════════════════════
   PRICING
   ════════════════════════════════════ */
.as-page--location .as-loc-pricing { background: var(--as-white); }
.as-page--location .as-loc-pricing .as-regional-pricing { background: transparent; padding-block: 0; }

/* ════════════════════════════════════
   FAQ
   ════════════════════════════════════ */
.as-page--location .as-loc-faq { background: var(--as-sand); }

/* ════════════════════════════════════
   CTA — glass panel matching homepage
   ════════════════════════════════════ */

.as-page--location .as-loc-cta.as-cta.as-section {
	position: relative; overflow: visible;
	padding-block: clamp(2.5rem,5vh,3.5rem);
	display: flex; align-items: center; justify-content: center;
	background: linear-gradient(165deg,#12081f 0%,#2d1b4e 42%,#1a0a2e 100%);
}
.as-page--location .as-cta__orb--1 { animation: as-cta-orb 8s ease-in-out infinite alternate; }
.as-page--location .as-cta__panel {
	text-align: center;
	padding: clamp(1.75rem,3.5vh,2.5rem) clamp(2rem,5vw,3.5rem);
	border-radius: var(--as-radius-xl);
	background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.16);
	backdrop-filter: blur(28px); -webkit-backdrop-filter: blur(28px);
	box-shadow: 0 32px 64px rgba(0,0,0,.38), 0 0 0 1px rgba(255,255,255,.06) inset,
		0 0 80px rgba(147,51,234,.18);
	position: relative; z-index: 1;
}
.as-page--location .as-cta__verse { margin: 0 0 var(--as-space-3); padding: 0 0 var(--as-space-3); border-bottom: 1px solid rgba(255,255,255,.12); }
.as-page--location .as-surah-verse--cta { margin: 0; padding: 0; border: none; background: none; }
.as-page--location .as-surah-verse--cta .as-surah-verse__arabic {
	font-family: var(--as-font-arabic); font-size: clamp(1.35rem,2.5vw,1.75rem); line-height: 1.45;
	color: rgba(240,215,140,.96); text-shadow: 0 0 28px rgba(212,168,83,.35);
	margin: 0 0 .5rem; text-align: center;
}
.as-page--location .as-surah-verse--cta .as-surah-verse__english {
	font-family: var(--as-font-display); font-size: clamp(.95rem,1.2vw,1.05rem);
	font-style: italic; color: rgba(255,255,255,.92); margin: 0 0 .4rem; text-align: center;
}
.as-page--location .as-surah-verse--cta .as-surah-verse__cite {
	font-size: .6875rem; letter-spacing: .12em; color: rgba(192,132,252,.85); text-align: center;
}
.as-page--location .as-cta__title {
	font-family: var(--as-font-display); font-size: clamp(1.65rem,2.8vw,2.2rem);
	font-weight: 600; line-height: 1.18; color: #fff; margin: 0 0 var(--as-space-2);
}
.as-page--location .as-cta__title-line { display: block; }
.as-page--location .as-cta__title-accent {
	background: linear-gradient(105deg,#fff 0%,#f5d0fe 35%,#e879f9 65%,#fde68a 100%);
	-webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
	filter: drop-shadow(0 2px 16px rgba(232,121,249,.35));
}
.as-page--location .as-cta__text {
	color: rgba(255,255,255,.88); max-width: 52ch;
	margin: 0 auto var(--as-space-4); line-height: 1.62; font-size: var(--as-text-base);
}
.as-page--location .as-cta__actions { display: flex; flex-direction: column; align-items: center; gap: .75rem; }
.as-page--location .as-cta__actions .as-btn--primary { min-width: min(100%,260px); box-shadow: 0 10px 32px rgba(147,51,234,.5); }
.as-page--location .as-cta__link {
	color: rgba(255,255,255,.75); font-size: var(--as-text-sm);
	text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.32); padding-bottom: 2px;
	transition: color .2s, border-color .2s;
}
.as-page--location .as-cta__link:hover { color: #fff; border-color: rgba(255,255,255,.6); }

/* ════════════════════════════════════
   SECTION ENTRANCE
   ════════════════════════════════════ */

.as-page--location .as-section.is-inview .as-section__header {
	animation: as-section-rise .8s var(--as-ease-out) both;
}

/* ════════════════════════════════════
   RESPONSIVE
   ════════════════════════════════════ */

@media (max-width: 1024px) {
	.as-page--location .as-loc-hero__title { font-size: clamp(2.2rem,5vw,3.5rem); }
	.as-page--location .as-loc-why__grid { grid-template-columns: 1fr; gap: var(--as-space-8); }
	.as-page--location .as-loc-steps__list { grid-template-columns: 1fr; gap: var(--as-space-4); }
	.as-page--location .as-loc-step__arrow { display: none; }
	.as-page--location .as-course-grid { grid-template-columns: repeat(2,1fr); }
	.as-page--location .as-loc-trust__list { justify-content: center; }

	/* Wave journey tablet */
	.as-page--location .as-loc-wave__steps { grid-template-columns: 1fr; min-height: auto; gap: var(--as-space-4); }
	.as-page--location .as-loc-wave__svg { display: none; }
	.as-page--location .as-loc-wave { min-height: auto; }
	.as-page--location .as-loc-wave-step--top,
	.as-page--location .as-loc-wave-step--bottom {
		padding: 0;
		justify-content: flex-start;
		flex-direction: row;
		text-align: left;
		gap: var(--as-space-4);
		align-items: center;
	}
	.as-page--location .as-loc-wave-step--bottom .as-loc-wave-step__content { order: 0; margin-top: 0; }
	.as-page--location .as-loc-wave-step--bottom .as-loc-wave-step__node { order: 0; }
	.as-page--location .as-loc-wave-step__content { max-width: 100%; margin-bottom: 0; }
}

@media (max-width: 767px) {
	.as-page--location .as-loc-hero__shell {
		padding: calc(72px + 3rem) var(--as-space-3) var(--as-space-6);
		min-height: 100vh;
	}
	.as-page--location .as-loc-hero__title { font-size: clamp(2rem,8vw,2.8rem); }
	.as-page--location .as-loc-hero__cta { flex-direction: column; align-items: stretch; }
	.as-page--location .as-loc-hero__cta .as-btn { width: 100%; text-align: center; }
	.as-page--location .as-loc-hero__stats {
		flex-wrap: wrap;
		border-radius: var(--as-radius-md);
	}
	.as-page--location .as-loc-hero__stat { flex: 1 1 45%; }
	.as-page--location .as-loc-hero__stat-sep { display: none; }
	.as-page--location .as-loc-why__cards { grid-template-columns: 1fr; }
	.as-page--location .as-course-grid { grid-template-columns: 1fr; }
	.as-page--location .as-loc-trust__list { flex-direction: column; align-items: flex-start; gap: 6px; }
}

@media (prefers-reduced-motion: reduce) {
	.as-page--location .as-loc-hero__deco,
	.as-page--location .as-loc-hero__light,
	.as-page--location .as-loc-hero__flag,
	.as-page--location .as-loc-steps__orb,
	.as-page--location .as-loc-step__arrow,
	.as-page--location .as-marquee__track {
		animation: none;
	}
	.as-page--location .as-loc-hero__center > * { animation: none; }
}
