/* ==========================================================================
   Global: design tokens, base and layout helpers
   ========================================================================== */
:root {
	/* Brand purple scale. Variable names stay the same so no other file breaks. */
	--oqa-green-950: #1d1328;
	--oqa-green-900: #2a1d3a;
	--oqa-green-800: #35254a;
	--oqa-green-700: #452f5f;
	--oqa-green-600: #583d76;
	--oqa-green-100: #efeaf6;
	--oqa-gold-600: #c9953a;
	--oqa-gold-500: #d8ab52;
	--oqa-gold-400: #e8c476;
	--oqa-gold-300: #f3d995;
	--oqa-cream: #faf7f2;
	--oqa-cream-200: #f1eaf5;
	--oqa-text: #241c2e;
	--oqa-muted: #665b74;
	--oqa-white: #ffffff;
	--oqa-whatsapp: #25d366;
	--oqa-whatsapp-dark: #1faa52;

	--oqa-font-body: "Nunito Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--oqa-font-heading: "Lora", Georgia, "Times New Roman", serif;
	--oqa-font-script: "Caveat", "Segoe Script", cursive;

	--oqa-container: 1240px;
	--oqa-gutter: 24px;
	--oqa-header-h: 78px;
	--oqa-radius-sm: 8px;
	--oqa-radius: 14px;
	--oqa-radius-pill: 999px;
	--oqa-shadow-sm: 0 2px 8px rgba(42, 29, 58, 0.08);
	--oqa-shadow: 0 12px 32px rgba(42, 29, 58, 0.16);
	--oqa-ease: cubic-bezier(0.4, 0, 0.2, 1);
}
html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	font-family: var(--oqa-font-body);
	font-size: 16px;
	line-height: 1.6;
	color: var(--oqa-text);
	background: var(--oqa-white);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body.oqa-lock {
	overflow: hidden;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--oqa-font-heading);
	font-weight: 700;
	color: var(--oqa-green-700);
	line-height: 1.2;
}

img,
svg {
	max-width: 100%;
}

.oqa-container {
	width: 100%;
	max-width: calc(var(--oqa-container) + (var(--oqa-gutter) * 2));
	margin: 0 auto;
	padding: 0 var(--oqa-gutter);
	box-sizing: border-box;
}

.oqa-icon {
	width: 1em;
	height: 1em;
	flex-shrink: 0;
	display: inline-block;
	vertical-align: middle;
}

/* Brand logo (shared by header, drawer and footer) */
.oqa-logo,
.oqa-logo:visited {
	--oqa-logo-dome: var(--oqa-gold-500);
	--oqa-logo-page: #fffaf0;
	--oqa-logo-accent: var(--oqa-gold-300);
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: var(--oqa-white);
	text-decoration: none;
}

.oqa-logo__mark {
	width: 56px;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	flex-shrink: 0;
}

.oqa-logo__text {
	display: flex;
	flex-direction: column;
	line-height: 1.15;
}

.oqa-logo__name {
	font-family: var(--oqa-font-body);
	font-weight: 800;
	font-size: 17px;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--oqa-white);
	white-space: nowrap;
}

.oqa-logo__tag {
	margin-top: 4px;
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.03em;
	color: rgba(255, 255, 255, 0.72);
	white-space: nowrap;
}

.oqa-logo__tag i {
	font-style: normal;
	margin: 0 3px;
	color: var(--oqa-gold-400);
}

/* Decorative SVG defaults (sections refine these) */
.oqa-mandala {
	width: 420px;
	height: 420px;
	max-width: none;
	color: rgba(216, 171, 82, 0.45);
	pointer-events: none;
}

.oqa-skyline,
.oqa-lantern,
.oqa-arch {
	pointer-events: none;
}

.oqa-lantern {
	width: 40px;
	height: auto;
}

/* Shared section heading pieces */
.oqa-section-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 40px;
}

.oqa-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 14px;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--oqa-gold-600);
}

.oqa-eyebrow .oqa-icon {
	font-size: 16px;
	color: var(--oqa-gold-500);
}

.oqa-eyebrow--dark {
	color: var(--oqa-green-900);
}

.oqa-eyebrow--light {
	color: var(--oqa-gold-300);
}

.oqa-section-title {
	margin: 0 0 16px;
	font-family: var(--oqa-font-heading);
	font-size: clamp(26px, 2.6vw, 38px);
	font-weight: 700;
	line-height: 1.18;
	color: var(--oqa-green-900);
}

.oqa-section-title--light {
	color: var(--oqa-white);
}

.oqa-section-sub {
	margin: 0;
	font-size: 16px;
	line-height: 1.6;
	color: var(--oqa-muted);
}

.oqa-section-sub--sm {
	font-size: 15px;
}

.oqa-section-sub--light {
	color: rgba(255, 255, 255, 0.8);
}

.oqa-link-arrow,
.oqa-link-arrow:visited {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	font-weight: 700;
	color: var(--oqa-green-700);
	text-decoration: none;
	white-space: nowrap;
	transition: color 0.2s var(--oqa-ease), gap 0.2s var(--oqa-ease);
}

.oqa-link-arrow:hover {
	gap: 12px;
	color: var(--oqa-gold-600);
}

.oqa-link-arrow .oqa-icon {
	font-size: 17px;
}

.oqa-section-head--center {
	justify-content: center;
	text-align: center;
}

.oqa-section-head--center > div {
	max-width: 680px;
}

.oqa-section-head--center .oqa-eyebrow {
	justify-content: center;
}

/* Checklist */
.oqa-checklist {
	margin: 0;
	padding: 0;
	list-style: none;
}

.oqa-checklist li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 4px 0;
	font-size: 14.5px;
	line-height: 1.45;
	color: var(--oqa-text);
}

.oqa-checklist .oqa-icon {
	margin-top: 3px;
	font-size: 13px;
	color: var(--oqa-green-700);
}

.oqa-checklist--sm li {
	font-size: 14px;
	color: var(--oqa-muted);
}

@media (max-width: 600px) {
	.oqa-section-head {
		flex-direction: column;
		align-items: flex-start;
	}
}

@media (max-width: 767px) {
	:root {
		--oqa-gutter: 16px;
		--oqa-header-h: 68px;
	}
}
