/* AlpenAgent - Critical CSS placeholder */

/*
	Cloudflare-ready PERF copy (2025-12-17)
	Goals (safe, no-JS changes):
	- Better keyboard focus visibility (focus-visible)
	- More reliable anchor offsets for sticky header
	- Slightly improve mobile tap targets (navbar CTA)
	- Reduce WhatsApp FAB visual dominance (without redesign)
*/

:root {
	--aa-nav-height: 5rem; /* Tailwind h-20 */
}

html {
	/* Helps `/#audit` and `#audit` land below sticky header */
	scroll-padding-top: var(--aa-nav-height);
}

/* Keyboard accessibility: show focus rings even when Tailwind uses `outline-none` */
:where(
	a,
	button,
	input,
	select,
	textarea,
	[role="button"],
	[tabindex]:not([tabindex="-1"])
):focus-visible {
	outline: 2px solid currentColor !important;
	outline-offset: 3px !important;
}

/* --- Hero particle animation (injected) --- */
section.aa-hero-section {
	position: relative;
	background: #ffffff;
	padding: 0;
	min-height: calc(100svh - var(--aa-nav-height));
	overflow: hidden;
}

.aa-hero-full {
	position: relative;
	width: 100%;
	min-height: calc(100svh - var(--aa-nav-height));
}

.aa-hero-canvas-host {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
}

/* Keep `initHeroParticlesIn` output full-size inside the host */
.aa-hero-canvas-host .aa-hero-anim {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
}

.aa-hero-canvas {
	display: block;
	width: 100%;
	height: 100%;
	background: #ffffff;
	border-radius: 0;
}

.aa-hero-overlay {
	position: relative;
	z-index: 3;
	min-height: calc(100svh - var(--aa-nav-height));
	display: flex;
	align-items: flex-end;
	justify-content: center;
	padding: calc(var(--aa-nav-height) + 1.25rem) 1rem 1.6rem;
}

.aa-hero-overlay-inner {
	width: 100%;
	max-width: 64rem;
	text-align: center;
	color: #0f172a;
}

.aa-hero-title {
	font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
	font-weight: 800;
	letter-spacing: -0.03em;
	font-size: 2.2rem;
	line-height: 1.08;
	text-wrap: balance;
}

.aa-hero-sub {
	margin-top: 0.65rem;
	font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
	font-weight: 300;
	font-size: 1.08rem;
	line-height: 1.55;
	color: rgba(71, 85, 105, 0.92);
	text-wrap: balance;
}

@media (min-width: 768px) {
	/* Keep it “full-screen-ish” but reduce the dead space on desktop */
	section.aa-hero-section,
	.aa-hero-full,
	.aa-hero-overlay {
		min-height: calc(92svh - var(--aa-nav-height));
	}
	.aa-hero-overlay {
		/* Bring the copy closer to the particle word, but keep it below it */
		padding: calc(var(--aa-nav-height) + 1.25rem) 1.5rem 3.25rem;
	}
	.aa-hero-overlay-inner {
		/* Nudge upward to reduce the big gap on desktop */
		transform: translate3d(0, -6vh, 0);
	}
	.aa-hero-title {
		font-size: 3.45rem;
		line-height: 1.05;
	}
	.aa-hero-sub {
		font-size: 1.28rem;
	}
}

@media (min-width: 1200px) {
	.aa-hero-overlay-inner {
		transform: translate3d(0, -7vh, 0);
	}
}

/* Desktop: constrain line length so the long DE headline breaks nicely */
@media (min-width: 1024px) {
	.aa-hero-title {
		max-width: 52rem;
		margin-left: auto;
		margin-right: auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	.aa-hero-overlay-inner {
		transform: none;
	}
}

/* --- AI Assistants page (injected) --- */

/* Premium landing layout (avoid dashboard feel) */
.aa-ai-hero {
	border-radius: 20px;
	overflow: hidden;
	position: relative;
}

.aa-ai-hero-bg {
	position: relative;
	border-radius: 20px;
	padding: 2rem;
	background: linear-gradient(140deg, rgba(15, 23, 42, 1), rgba(30, 41, 59, 1));
	border: 1px solid rgba(255, 255, 255, 0.08);
}

@media (min-width: 640px) {
	.aa-ai-hero-bg {
		padding: 2.5rem;
	}
}

.aa-ai-hero-glow {
	position: absolute;
	inset: -40px;
	background:
		radial-gradient(closest-side, rgba(255, 255, 255, 0.14), transparent 65%),
		radial-gradient(closest-side, rgba(148, 163, 184, 0.16), transparent 70%);
	filter: blur(18px);
	opacity: 0.9;
	pointer-events: none;
}

.aa-ai-hero-copy {
	color: #ffffff;
}

.aa-ai-chips {
	display: inline-flex;
	gap: 0.5rem;
	flex-wrap: wrap;
}

.aa-ai-chip {
	font-size: 12px;
	line-height: 1;
	padding: 0.5rem 0.75rem;
	border-radius: 9999px;
	background: rgba(255, 255, 255, 0.10);
	border: 1px solid rgba(255, 255, 255, 0.10);
}

.aa-ai-h1 {
	margin-top: 1rem;
	font-weight: 800;
	letter-spacing: -0.03em;
	font-size: 2.35rem;
	line-height: 1.05;
}

@media (min-width: 640px) {
	.aa-ai-h1 {
		font-size: 3.25rem;
	}
}

.aa-ai-sub {
	margin-top: 1rem;
	font-size: 1.08rem;
	line-height: 1.55;
	color: rgba(226, 232, 240, 0.88);
}

.aa-ai-cta {
	margin-top: 1.5rem;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

@media (min-width: 640px) {
	.aa-ai-cta {
		flex-direction: row;
		align-items: center;
	}
}

.aa-ai-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.85rem 1.25rem;
	border-radius: 10px;
	font-weight: 600;
	transition: transform 180ms ease, background-color 180ms ease, color 180ms ease, border-color 180ms ease;
}

.aa-ai-btn-primary {
	background: #ffffff;
	color: rgba(15, 23, 42, 1);
}

.aa-ai-btn-primary:hover {
	background: rgba(241, 245, 249, 1);
	transform: translate3d(0, -1px, 0);
}

.aa-ai-btn-secondary {
	background: rgba(255, 255, 255, 0.08);
	color: #ffffff;
	border: 1px solid rgba(255, 255, 255, 0.18);
}

.aa-ai-btn-secondary:hover {
	background: rgba(255, 255, 255, 0.12);
	transform: translate3d(0, -1px, 0);
}

.aa-ai-pills {
	margin-top: 1.25rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.aa-ai-pill {
	font-size: 14px;
	padding: 0.75rem 0.95rem;
	border-radius: 9999px;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.10);
	color: rgba(226, 232, 240, 0.92);
}

.aa-ai-scene {
	position: relative;
	min-height: 420px;
}

@media (min-width: 1024px) {
	.aa-ai-scene {
		min-height: 520px;
	}
}

.aa-ai-scene-inner {
	position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.aa-ai-phone3d {
	position: relative;
	transform: perspective(1200px) rotateY(-18deg) rotateX(10deg);
	transform-origin: 50% 50%;
	will-change: transform;
}

@media (max-width: 1023.98px) {
	.aa-ai-phone3d {
		transform: perspective(1100px) rotateY(-10deg) rotateX(6deg);
	}
}

.aa-ai-phone3d-frame {
	width: min(420px, 92vw);
	border-radius: 30px;
	background: rgba(255, 255, 255, 1);
	border: 1px solid rgba(15, 23, 42, 0.08);
	box-shadow:
		0 40px 90px rgba(0, 0, 0, 0.35),
		0 10px 30px rgba(0, 0, 0, 0.22);
	overflow: hidden;
}

.aa-ai-phone3d-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0.85rem 1.1rem;
	border-bottom: 1px solid rgba(226, 232, 240, 1);
	background: rgba(255, 255, 255, 1);
}

.aa-ai-phone3d-body {
	padding: 1rem;
}

.aa-ai-phone3d-shadow {
	position: absolute;
	left: 10%;
	right: 10%;
	bottom: -24px;
	height: 48px;
	background: radial-gradient(closest-side, rgba(0, 0, 0, 0.35), transparent 70%);
	filter: blur(14px);
	opacity: 0.65;
	transform: translate3d(0, 0, -1px);
	pointer-events: none;
}

.aa-ai-float {
	position: absolute;
	font-size: 12px;
	padding: 0.55rem 0.75rem;
	border-radius: 9999px;
	background: rgba(255, 255, 255, 0.10);
	border: 1px solid rgba(255, 255, 255, 0.14);
	color: rgba(226, 232, 240, 0.92);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.22);
}

.aa-ai-float-chat {
	top: 14%;
	left: 10%;
	animation: aa-float-chip 4.2s ease-in-out infinite;
}

.aa-ai-float-voice {
	bottom: 18%;
	left: 16%;
	animation: aa-float-chip 5.1s ease-in-out infinite;
}

.aa-ai-float-cal {
	top: 22%;
	right: 10%;
	animation: aa-float-chip 4.6s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
	.aa-ai-btn,
	.aa-ai-float-chat,
	.aa-ai-float-voice,
	.aa-ai-float-cal {
		transition: none;
		animation: none;
	}
}

@keyframes aa-float-chip {
	0% {
		transform: translate3d(0, 0, 0);
	}
	50% {
		transform: translate3d(0, -8px, 0);
	}
	100% {
		transform: translate3d(0, 0, 0);
	}
}

.aa-ai-card {
	border-radius: 18px;
	border: 1px solid rgba(226, 232, 240, 1);
	background: rgba(255, 255, 255, 1);
	padding: 1.25rem;
	box-shadow: 0 18px 45px rgba(15, 23, 42, 0.06);
	transition: transform 180ms ease, box-shadow 180ms ease;
}

.aa-ai-card:hover {
	transform: translate3d(0, -3px, 0);
	box-shadow: 0 22px 60px rgba(15, 23, 42, 0.10);
}

.aa-ai-card-large {
	padding: 1.6rem;
	background: linear-gradient(180deg, rgba(255, 255, 255, 1), rgba(248, 250, 252, 1));
}

.aa-ai-card-icon {
	width: 42px;
	height: 42px;
	border-radius: 14px;
	background: linear-gradient(140deg, rgba(15, 23, 42, 1), rgba(51, 65, 85, 1));
	box-shadow: 0 16px 40px rgba(15, 23, 42, 0.22);
	margin-bottom: 0.85rem;
}

.aa-ai-card-title {
	font-weight: 800;
	color: rgba(15, 23, 42, 1);
	letter-spacing: -0.02em;
	font-size: 1.08rem;
	line-height: 1.25;
}

.aa-ai-card-large .aa-ai-card-title {
	font-size: 1.55rem;
	line-height: 1.18;
}

.aa-ai-card-sub {
	margin-top: 0.45rem;
	color: rgba(71, 85, 105, 0.92);
	font-size: 0.98rem;
	line-height: 1.45;
}

.aa-ai-demo3d {
	position: relative;
	display: flex;
	justify-content: center;
}

.aa-ai-demo3d-inner {
	width: min(460px, 96vw);
	border-radius: 26px;
	background: linear-gradient(180deg, rgba(255, 255, 255, 1), rgba(248, 250, 252, 1));
	border: 1px solid rgba(226, 232, 240, 1);
	box-shadow: 0 26px 70px rgba(15, 23, 42, 0.12);
	padding: 1rem;
	transform: perspective(1200px) rotateY(14deg) rotateX(8deg);
}

@media (max-width: 1023.98px) {
	.aa-ai-demo3d-inner {
		transform: none;
	}
}

/* Booking widget demo */
.aa-ai-widget {
	border-radius: 18px;
	border: 1px solid rgba(226, 232, 240, 1);
	background: rgba(255, 255, 255, 1);
	padding: 1rem;
}

.aa-ai-widget-top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}

.aa-ai-widget-kicker {
	font-size: 12px;
	color: rgba(100, 116, 139, 1);
}

.aa-ai-widget-title {
	margin-top: 0.25rem;
	font-weight: 800;
	color: rgba(15, 23, 42, 1);
}

.aa-ai-widget-badge {
	font-size: 12px;
	padding: 0.35rem 0.55rem;
	border-radius: 9999px;
	background: rgba(15, 23, 42, 1);
	color: #ffffff;
}

.aa-ai-widget-grid {
	margin-top: 0.85rem;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.5rem;
}

.aa-ai-slot {
	border: 1px solid rgba(226, 232, 240, 1);
	background: rgba(248, 250, 252, 1);
	border-radius: 14px;
	padding: 0.75rem 0.7rem;
	font-size: 14px;
	font-weight: 600;
	color: rgba(30, 41, 59, 1);
	transition: transform 180ms ease, background-color 180ms ease, color 180ms ease, border-color 180ms ease;
}

.aa-ai-slot:hover {
	transform: translate3d(0, -1px, 0);
}

.aa-ai-slot-active {
	background: rgba(15, 23, 42, 1);
	border-color: rgba(15, 23, 42, 1);
	color: #ffffff;
}

.aa-ai-widget-foot {
	margin-top: 0.9rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: rgba(248, 250, 252, 1);
	border: 1px solid rgba(226, 232, 240, 1);
	border-radius: 14px;
	padding: 0.75rem 0.85rem;
}

.aa-ai-status {
	font-size: 14px;
	color: rgba(30, 41, 59, 1);
}

.aa-ai-check {
	width: 30px;
	height: 30px;
	border-radius: 9999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(15, 23, 42, 0.08);
	color: rgba(15, 23, 42, 1);
	transform: scale(0.9);
	opacity: 0.3;
	transition: transform 200ms ease, opacity 200ms ease, background-color 200ms ease, color 200ms ease;
}

.aa-ai-check.aa-ai-check-on {
	background: rgba(15, 23, 42, 1);
	color: #ffffff;
	transform: scale(1);
	opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
	.aa-ai-card,
	.aa-ai-slot,
	.aa-ai-btn,
	.aa-ai-check {
		transition: none;
	}
}

/* Scroll reveal */
.aa-reveal {
	opacity: 0;
	transform: translate3d(0, 10px, 0);
	transition: opacity 420ms ease, transform 520ms cubic-bezier(0.2, 0.9, 0.25, 1);
}

.aa-reveal.aa-in {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

@media (prefers-reduced-motion: reduce) {
	.aa-reveal {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

.aa-float-slow {
	animation: aa-float-slow 10s ease-in-out infinite;
	will-change: transform;
}

@media (prefers-reduced-motion: reduce) {
	.aa-float-slow {
		animation: none;
	}
}

@keyframes aa-float-slow {
	0% {
		transform: translate3d(0, 0, 0);
	}
	50% {
		transform: translate3d(0, -10px, 0);
	}
	100% {
		transform: translate3d(0, 0, 0);
	}
}

.aa-typing {
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

.aa-typing span {
	width: 4px;
	height: 4px;
	border-radius: 9999px;
	background: currentColor;
	opacity: 0.35;
	animation: aa-typing 1.1s infinite;
}

.aa-typing span:nth-child(2) {
	animation-delay: 0.12s;
}

.aa-typing span:nth-child(3) {
	animation-delay: 0.24s;
}

@media (prefers-reduced-motion: reduce) {
	.aa-typing span {
		animation: none;
		opacity: 0.4;
	}
}

@keyframes aa-typing {
	0% {
		opacity: 0.25;
		transform: translate3d(0, 0, 0);
	}
	50% {
		opacity: 0.85;
		transform: translate3d(0, -2px, 0);
	}
	100% {
		opacity: 0.25;
		transform: translate3d(0, 0, 0);
	}
}

.aa-pulse-dot {
	animation: aa-pulse 1.25s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
	.aa-pulse-dot {
		animation: none;
	}
}

@keyframes aa-pulse {
	0% {
		transform: scale(1);
		opacity: 0.55;
	}
	50% {
		transform: scale(1.9);
		opacity: 0.18;
	}
	100% {
		transform: scale(1);
		opacity: 0.55;
	}
}

.aa-fade-in {
	animation: aa-fade-in 220ms ease-out both;
}

@media (prefers-reduced-motion: reduce) {
	.aa-fade-in {
		animation: none;
	}
}

@keyframes aa-fade-in {
	from {
		opacity: 0;
		transform: translate3d(0, 4px, 0);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

.aa-modal {
	position: fixed;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 1rem;
	z-index: 1000;
}

.aa-modal.aa-modal-open {
	display: flex;
}

.aa-modal-backdrop {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	background: rgba(15, 23, 42, 0.55);
}

.aa-modal-panel {
	position: relative;
	width: 100%;
	max-width: 46rem;
	max-height: calc(100dvh - 2rem);
	overflow: auto;
}

/* --- Metallic / electric border overlay (injected) --- */
.aa-electric-host {
	position: relative;
	z-index: 0;
	background: #0f172a;
}

.aa-electric-host::before {
	content: "";
	position: absolute;
	left: -10px;
	top: -10px;
	right: -10px;
	bottom: -10px;
	border-radius: 16px;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.02));
	border: 1px solid rgba(148, 163, 184, 0.18);
	box-shadow: 0 22px 55px rgba(15, 23, 42, 0.26);
	pointer-events: none;
	z-index: 1;
}

.aa-electric-host::after {
	content: "";
	position: absolute;
	left: -6px;
	top: -6px;
	right: -6px;
	bottom: -6px;
	border-radius: 14px;
	background: linear-gradient(-30deg, rgba(255, 255, 255, 0.30), transparent 32%, transparent 68%, rgba(255, 255, 255, 0.18));
	opacity: 0.28;
	filter: blur(18px);
	pointer-events: none;
	z-index: 2;
}

.aa-electric-overlay {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	border-radius: 12px;
	pointer-events: none;
	z-index: 4;
}


.aa-electric-border-outer {
	position: absolute;
	left: 10px;
	top: 10px;
	right: 10px;
	bottom: 10px;
	border-radius: 12px;
	border: 2px solid rgba(148, 163, 184, 0.45);
}

.aa-electric-main-card {
	position: absolute;
	left: -3px;
	top: -3px;
	right: -3px;
	bottom: -3px;
	border-radius: 12px;
	border: 2px solid rgba(100, 116, 139, 0.75);
	filter: url(#aa-turbulent-displace);
}

.aa-electric-glow-1,
.aa-electric-glow-2,
.aa-electric-overlay-1,
.aa-electric-overlay-2,
.aa-electric-bg-glow {
	position: absolute;
	left: 8px;
	top: 8px;
	right: 8px;
	bottom: 8px;
	border-radius: 12px;
}

.aa-electric-glow-1 {
	border: 2px solid rgba(148, 163, 184, 0.45);
	filter: blur(1px);
}

.aa-electric-glow-2 {
	border: 2px solid rgba(203, 213, 225, 0.35);
	filter: blur(4px);
}

.aa-electric-overlay-1 {
	opacity: 0.25;
	mix-blend-mode: overlay;
	transform: scale(1.02);
	filter: blur(14px);
	background: linear-gradient(-30deg, rgba(255, 255, 255, 0.9), transparent 30%, transparent 70%, rgba(255, 255, 255, 0.9));
}

.aa-electric-overlay-2 {
	opacity: 0.15;
	mix-blend-mode: overlay;
	transform: scale(1.02);
	filter: blur(14px);
	background: linear-gradient(-30deg, rgba(255, 255, 255, 0.9), transparent 30%, transparent 70%, rgba(255, 255, 255, 0.9));
}

.aa-electric-bg-glow {
	opacity: 0.25;
	filter: blur(26px);
	transform: scale(1.04);
	background: linear-gradient(-30deg, rgba(226, 232, 240, 0.8), transparent, rgba(148, 163, 184, 0.8));
	z-index: -1;
}

@media (prefers-reduced-motion: reduce) {
	.aa-electric-main-card {
		filter: none;
	}
	.aa-electric-host::after {
		filter: none;
	}
}

@media (max-width: 767.98px) {
	/* Mobile: reduce GPU cost */
	.aa-electric-main-card {
		filter: none;
	}
	.aa-electric-host::after {
		opacity: 0.18;
		filter: none;
	}
	.aa-electric-overlay-1,
	.aa-electric-overlay-2 {
		opacity: 0.12;
	}
}

/* AI assistants injected: hero visual background + small pop */
.aa-ai-hero-visual {
	position: relative;
	padding: 0.5rem;
}

/* AI assistants injected: tabbed demo */
.aa-ai-tab {
	border: 0;
	background: transparent;
	color: rgba(15, 23, 42, 0.85);
	transition: background-color 160ms ease, color 160ms ease;
}

.aa-ai-tab:hover {
	background: rgba(15, 23, 42, 0.06);
}

.aa-ai-tab.aa-ai-tab-active {
	background: rgba(15, 23, 42, 1);
	color: #ffffff;
}

@media (prefers-reduced-motion: reduce) {
	.aa-ai-tab {
		transition: none;
	}
}

.aa-ai-hero-visual::before {
	content: "";
	position: absolute;
	inset: -18px;
	border-radius: 24px;
	background: radial-gradient(closest-side, rgba(15, 23, 42, 0.06), transparent 70%);
	pointer-events: none;
}

.aa-pop {
	animation: aa-pop 420ms cubic-bezier(0.2, 0.9, 0.25, 1) both;
}

@media (prefers-reduced-motion: reduce) {
	.aa-pop {
		animation: none;
	}
}

@keyframes aa-pop {
	from {
		transform: scale(0.96);
		opacity: 0.75;
	}
	to {
		transform: scale(1);
		opacity: 1;
	}
}

/* Mobile-only fixes (<= lg breakpoint)
	 - Make the burger menu behave like an overlay (not pushing content)
	 - Improve contrast/separation of the header/menu
	 - Remove extra top whitespace on non-home pages (route wrappers use pt-20)
*/

@media (max-width: 1023.98px) {
	/* Improve mobile tap targets (navbar CTA) */
	nav.sticky.top-0.z-50 a[href="/#audit"] {
		padding: 0.625rem 0.875rem !important;
		font-size: 0.875rem !important;
		line-height: 1.25rem !important;
	}

	/* De-emphasize WhatsApp FAB on small screens (still clearly available) */
	a[href^="https://wa.me/"] {
		opacity: 0.92;
		filter: saturate(0.9);
	}
	a[href^="https://wa.me/"]:hover {
		opacity: 1;
		filter: saturate(1);
		transform: scale(1.03) !important;
	}

	/* Header separation (mobile only) */
	nav.sticky.top-0.z-50 {
		background-color: rgba(255, 255, 255, 0.96) !important;
		border-bottom-color: rgba(229, 231, 235, 1) !important;
	}

	/* Mobile menu panel (this div is conditionally rendered only when open) */
	nav.sticky.top-0.z-50 > div.lg\:hidden.bg-white.border-b.border-gray-100 {
		position: fixed !important;
		left: 0 !important;
		right: 0 !important;
		top: var(--aa-nav-height) !important;
		z-index: 55 !important;

		background-color: rgba(255, 255, 255, 0.98) !important;
		border-bottom-color: rgba(229, 231, 235, 1) !important;

		-webkit-backdrop-filter: blur(12px);
		backdrop-filter: blur(12px);

		max-height: calc(100dvh - var(--aa-nav-height));
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;

		animation: aa-mobile-menu-in 180ms cubic-bezier(0.2, 0.9, 0.25, 1) both;
		will-change: transform, opacity;
	}

	@media (prefers-reduced-motion: reduce) {
		nav.sticky.top-0.z-50 > div.lg\:hidden.bg-white.border-b.border-gray-100 {
			animation: none;
		}
	}


/* WhatsApp floating button: match site color (override bundle's green) */
a[href^="https://wa.me/"] {
	background-color: #0f172a !important;
}

a[href^="https://wa.me/"]:hover {
	background-color: #1e293b !important;
}
	/* Prevent extra blank space under the header on non-home routes.
		 These pages are wrapped in a top-level `div.pt-20` inside `main`. */
	main > div.pt-20 {
		padding-top: 0 !important;
	}
}

@keyframes aa-mobile-menu-in {
	from {
		opacity: 0;
		transform: translate3d(0, -6px, 0);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}
