/* Demy chat (ported from agency) — gold accents for Vize */
:root {
  --ak-purple: #c9a227;
  --ak-purple-2: #a8861a;
  --ak-ink: #0a0a0a;
  --ak-navy: #1a1a1a;
}
.akademi-chat {
	position: fixed;
	left: 1.15rem;
	bottom: 4.75rem;
	z-index: 70;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.75rem;
	font-family: Raleway, system-ui, sans-serif;
}

.akademi-chat__launcher {
	appearance: none;
	border: 0;
	padding: 0;
	background: transparent;
	cursor: pointer;
	position: relative;
	width: 78px;
	height: 86px;
	display: grid;
	place-items: end center;
	padding-bottom: 4px;
	filter: drop-shadow(0 10px 18px rgba(1, 8, 86, 0.26));
	transition: transform 0.25s cubic-bezier(0.22, 1, 0.36, 1);
}

.akademi-chat__launcher:hover {
	transform: translateY(-3px) scale(1.04);
}

.akademi-chat__launcher:hover .akademi-bot {
	animation-play-state: paused;
}

.akademi-chat__launcher:hover .akademi-bot__skin {
	animation-play-state: paused;
}

.akademi-chat__cloud {
	position: absolute;
	left: 88px;
	bottom: 3.85rem;
	transform: translateY(8px) scale(0.96);
	min-width: max-content;
	max-width: 180px;
	padding: 0.45rem 0.7rem;
	border-radius: 12px;
	background: #fff;
	color: var(--ak-ink);
	font-family: Quicksand, system-ui, sans-serif;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	line-height: 1.25;
	box-shadow:
		0 0 0 1px rgba(1, 8, 86, 0.08),
		0 10px 24px rgba(1, 8, 86, 0.16);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.25s ease, transform 0.25s cubic-bezier(0.22, 1, 0.36, 1), visibility 0.25s;
	z-index: 2;
	cursor: pointer;
}

.akademi-chat__cloud[hidden] {
	display: block !important;
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

.akademi-chat__cloud.is-visible {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0) scale(1);
}

.akademi-chat__cloud::after {
	content: "";
	position: absolute;
	left: -5px;
	bottom: 10px;
	width: 10px;
	height: 10px;
	background: #fff;
	border-left: 1px solid rgba(1, 8, 86, 0.08);
	border-bottom: 1px solid rgba(1, 8, 86, 0.08);
	transform: rotate(45deg);
}

.akademi-chat__cloud.is-visible {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(50%);
}

.akademi-chat.is-open .akademi-chat__cloud {
	opacity: 0 !important;
	pointer-events: none !important;
}

@property --gaze-x {
	syntax: "<number>";
	inherits: true;
	initial-value: 0;
}

@property --gaze-y {
	syntax: "<number>";
	inherits: true;
	initial-value: 0;
}

.akademi-bot {
	--gaze-x: 0;
	--gaze-y: 0;
	--lit-x: 35%;
	--lit-y: 28%;
	position: relative;
	width: 68px;
	height: 68px;
	overflow: visible;
	animation: akademi-bot-bob 4.8s ease-in-out infinite;
	will-change: transform;
	transition:
		transform 0.55s cubic-bezier(0.22, 1, 0.36, 1),
		--gaze-x 0.55s cubic-bezier(0.22, 1, 0.36, 1),
		--gaze-y 0.55s cubic-bezier(0.22, 1, 0.36, 1),
		background 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.akademi-bot__head {
	position: absolute;
	inset: 0;
	border-radius: 50%;
	background:
		radial-gradient(circle at var(--lit-x) var(--lit-y), #ffffff 0%, #f0f4ff 42%, #d9e3f8 72%, #b8c7e8 100%);
	box-shadow:
		inset 0 0 0 3px #7b28c5,
		inset 0 0 0 5px rgba(255, 255, 255, 0.55),
		inset -10px -14px 22px rgba(1, 8, 86, 0.18),
		inset 8px 10px 18px rgba(255, 255, 255, 0.55);
	overflow: hidden;
	z-index: 2;
	transition: background 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

/* Spherical terminator — keeps outline round while the “surface” turns */
.akademi-bot__head::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 50%;
	background:
		radial-gradient(
			circle at calc(50% + (var(--gaze-x) * -22%)) calc(42% + (var(--gaze-y) * -14%)),
			transparent 0%,
			transparent 48%,
			rgba(1, 8, 86, 0.08) 68%,
			rgba(1, 8, 86, 0.34) 100%
		);
	pointer-events: none;
	z-index: 6;
	transition: background 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.akademi-bot__head::after {
	content: "";
	position: absolute;
	inset: 6% 10% auto;
	height: 36%;
	border-radius: 50%;
	background: radial-gradient(
		circle at calc(40% + (var(--gaze-x) * -18%)) calc(40% + (var(--gaze-y) * -10%)),
		rgba(255, 255, 255, 0.7),
		rgba(72, 246, 238, 0.18) 42%,
		transparent 72%
	);
	pointer-events: none;
	z-index: 5;
	mix-blend-mode: soft-light;
	transition: background 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.akademi-bot.is-look-left,
.akademi-bot.is-look-right,
.akademi-bot.is-look-up,
.akademi-bot.is-look-down,
.akademi-bot.is-talking,
.akademi-bot.is-writing,
.akademi-bot.is-noticing {
	animation-play-state: paused;
}

.akademi-bot.is-look-left,
.akademi-bot.is-look-right,
.akademi-bot.is-look-up,
.akademi-bot.is-look-down,
.akademi-bot.is-talking,
.akademi-bot.is-writing {
	transform: translateY(-3px);
}

.akademi-bot.is-noticing {
	transform: translateY(-5px) scale(1.06);
	transition:
		transform 0.28s cubic-bezier(0.22, 1.4, 0.36, 1),
		--gaze-x 0.2s ease-out,
		--gaze-y 0.2s ease-out,
		background 0.2s ease-out;
}

.akademi-bot.is-talking {
	transition:
		transform 0.2s ease-out,
		--gaze-x 0.14s ease-out,
		--gaze-y 0.14s ease-out,
		background 0.14s ease-out;
}

.akademi-bot.is-look-left {
	--gaze-x: -1;
	--gaze-y: 0.15;
	--lit-x: 22%;
	--lit-y: 30%;
}

.akademi-bot.is-look-right {
	--gaze-x: 1;
	--gaze-y: 0.1;
	--lit-x: 68%;
	--lit-y: 30%;
}

.akademi-bot.is-look-up {
	--gaze-x: -0.15;
	--gaze-y: -1;
	--lit-x: 40%;
	--lit-y: 18%;
}

.akademi-bot.is-look-down {
	--gaze-x: 0.2;
	--gaze-y: 1;
	--lit-x: 42%;
	--lit-y: 48%;
}

.akademi-bot.is-look-left .akademi-bot__skin,
.akademi-bot.is-look-right .akademi-bot__skin,
.akademi-bot.is-look-up .akademi-bot__skin,
.akademi-bot.is-look-down .akademi-bot__skin,
.akademi-bot.is-talking .akademi-bot__skin,
.akademi-bot.is-writing .akademi-bot__skin,
.akademi-bot.is-noticing .akademi-bot__skin {
	animation: none;
}

.akademi-bot.is-look-left .akademi-bot__skin {
	transform: translate3d(-8px, 1px, 0) scale(0.98, 1);
}

.akademi-bot.is-look-right .akademi-bot__skin {
	transform: translate3d(8px, 1px, 0) scale(0.98, 1);
}

.akademi-bot.is-look-up .akademi-bot__skin {
	transform: translate3d(-2px, -6px, 0) scale(1, 0.97);
}

.akademi-bot.is-look-down .akademi-bot__skin {
	transform: translate3d(2px, 5px, 0) scale(1, 0.97);
}

/* Continuous sphere gaze while speaking / noticing (driven by --gaze-x / --gaze-y from JS) */
.akademi-bot.is-talking .akademi-bot__skin,
.akademi-bot.is-noticing .akademi-bot__skin {
	transform:
		translate3d(calc(var(--gaze-x) * 8px), calc(var(--gaze-y) * 6px), 0)
		scale(0.98, 0.97);
	transition: transform 0.14s ease-out;
}

.akademi-bot.is-noticing .akademi-bot__skin {
	transition: transform 0.28s cubic-bezier(0.22, 1.2, 0.36, 1);
}

.akademi-bot.is-noticing .akademi-bot__eye {
	transform: scale(1.18);
	transition: transform 0.28s cubic-bezier(0.22, 1.4, 0.36, 1);
}

.akademi-bot.is-talking .akademi-bot__eye--l,
.akademi-bot.is-noticing .akademi-bot__eye--l {
	opacity: calc(0.55 + (var(--gaze-x) + 1) * 0.225);
	transform: scale(calc(0.82 + (var(--gaze-x) + 1) * 0.12));
}

.akademi-bot.is-talking .akademi-bot__eye--r,
.akademi-bot.is-noticing .akademi-bot__eye--r {
	opacity: calc(0.55 + (1 - var(--gaze-x)) * 0.225);
	transform: scale(calc(0.82 + (1 - var(--gaze-x)) * 0.12));
}

.akademi-bot.is-noticing .akademi-bot__eye--l,
.akademi-bot.is-noticing .akademi-bot__eye--r {
	transform: scale(1.18);
	opacity: 1;
}

.akademi-bot.is-look-left .akademi-bot__eye--l,
.akademi-bot.is-look-right .akademi-bot__eye--r {
	opacity: 0.55;
	transform: scale(0.82);
}

.akademi-bot.is-look-left .akademi-bot__eye--r,
.akademi-bot.is-look-right .akademi-bot__eye--l {
	transform: scale(1.06);
}

.akademi-bot__skin {
	position: absolute;
	inset: 10px;
	border-radius: 50%;
	transform-origin: 50% 50%;
	animation: akademi-bot-turn 7.5s ease-in-out infinite;
	will-change: transform;
	transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.akademi-bot__ring {
	position: absolute;
	inset: -3px;
	border-radius: 50%;
	border: 2px solid rgba(72, 246, 238, 0.35);
	animation: akademi-bot-ring 2.8s ease-out infinite;
	pointer-events: none;
	z-index: 7;
}

.akademi-bot__glow {
	position: absolute;
	inset: 8% 12% auto;
	height: 38%;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(72, 246, 238, 0.28), transparent 70%);
	pointer-events: none;
	z-index: 1;
}

/* Graduation mortarboard (SVG) */
.akademi-bot__cap {
	position: absolute;
	left: 50%;
	top: -16px;
	width: 68px;
	height: 41px;
	margin-left: -34px;
	z-index: 8;
	pointer-events: none;
	transform:
		translate3d(calc(var(--gaze-x) * 5px), calc(var(--gaze-y) * 2px), 0)
		rotate(calc(var(--gaze-x) * -5deg));
	transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
	filter: drop-shadow(0 3px 5px rgba(1, 8, 86, 0.22));
}

.akademi-bot.is-noticing .akademi-bot__cap {
	transform:
		translate3d(calc(var(--gaze-x) * 5px), calc(var(--gaze-y) * 2px - 2px), 0)
		rotate(calc(var(--gaze-x) * -5deg))
		scale(1.04);
}

.akademi-bot__cap-svg {
	display: block;
	width: 100%;
	height: 100%;
	overflow: visible;
}

.akademi-bot__cap-swing {
	transform-box: view-box;
	transform-origin: 82px 32px;
	animation: akademi-bot-tassel 3.6s ease-in-out infinite;
}

.akademi-bot.is-talking .akademi-bot__cap-swing,
.akademi-bot.is-writing .akademi-bot__cap-swing,
.akademi-bot.is-noticing .akademi-bot__cap-swing {
	animation: akademi-bot-tassel-speak 0.55s ease-in-out infinite;
}

.akademi-bot.is-noticing .akademi-bot__cap-svg circle {
	filter: drop-shadow(0 0 4px rgba(232, 121, 249, 0.9));
}

.akademi-bot__cap-base,
.akademi-bot__cap-board,
.akademi-bot__cap-button,
.akademi-bot__cap-cord,
.akademi-bot__cap-tassel,
.akademi-bot__antenna,
.akademi-bot__helmet,
.akademi-bot__visor,
.akademi-bot__mark {
	display: none !important;
}

.akademi-bot__face {
	position: absolute;
	left: 0;
	right: 0;
	top: 38%;
	bottom: 12%;
	height: auto;
	z-index: 3;
}

.akademi-bot__eye {
	position: absolute;
	top: 18%;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: #1d1c1f;
	overflow: hidden;
	transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.55s ease;
}

.akademi-bot__eye--l { left: 28%; }
.akademi-bot__eye--r { right: 28%; }

.akademi-bot__eye i {
	position: absolute;
	inset: 0;
	display: block;
	background: #1d1c1f;
	border-radius: 50%;
	box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.25);
	transform-origin: center;
	animation: akademi-bot-blink 3.2s ease-in-out infinite;
}

.akademi-bot.is-blink .akademi-bot__eye i {
	animation: none;
	transform: scaleY(0.06);
}

.akademi-bot__eye--r i {
	animation-delay: 0.12s;
}

.akademi-bot__mouth {
	position: absolute;
	left: 50%;
	bottom: 16%;
	width: 18px;
	height: 10px;
	margin-left: -9px;
	overflow: hidden;
}

.akademi-bot__mouth i {
	display: block;
	width: 18px;
	height: 18px;
	margin-top: -10px;
	border: 2.5px solid #1d1c1f;
	border-radius: 50%;
	border-color: transparent transparent #1d1c1f;
	transform-origin: center;
	/* Steady warm smile while listening */
	transform: scaleY(1.05);
}

.akademi-bot.is-listening .akademi-bot__mouth i {
	animation: akademi-bot-smile-soft 4.5s ease-in-out infinite;
}

.akademi-bot.is-talking .akademi-bot__mouth i {
	animation: akademi-bot-smile-soft 1.2s ease-in-out infinite;
	transform: scaleY(1.12);
}

/* Writing: focused little line + eyes down + scribbling pen */
.akademi-bot.is-writing .akademi-bot__mouth {
	width: 10px;
	height: 4px;
	margin-left: -5px;
	bottom: 22%;
	overflow: visible;
}

.akademi-bot.is-writing .akademi-bot__mouth i {
	animation: none;
	width: 10px;
	height: 3px;
	margin-top: 0;
	border: 0;
	border-radius: 999px;
	background: #1d1c1f;
	transform: none;
}

.akademi-bot.is-writing .akademi-bot__eye {
	top: 28%;
	transform: scaleY(0.82);
}

.akademi-bot.is-writing .akademi-bot__eye--l { left: 26%; }
.akademi-bot.is-writing .akademi-bot__eye--r { right: 26%; }

.akademi-bot.is-writing .akademi-bot__eye i {
	animation: none;
	box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.2);
}

.akademi-bot__pen {
	position: absolute;
	right: 8%;
	bottom: 8%;
	width: 14px;
	height: 3px;
	border-radius: 2px;
	background: linear-gradient(90deg, #7b28c5, #48f6ee);
	opacity: 0;
	transform: rotate(-38deg) translate(4px, 6px);
	transform-origin: 100% 50%;
	pointer-events: none;
	z-index: 4;
	box-shadow: 0 1px 2px rgba(1, 8, 86, 0.25);
}

.akademi-bot__pen::before {
	content: "";
	position: absolute;
	right: -3px;
	top: -1px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 2.5px 0 2.5px 5px;
	border-color: transparent transparent transparent #1d1c1f;
}

.akademi-bot__pen::after {
	content: "";
	position: absolute;
	left: -1px;
	top: -1px;
	width: 4px;
	height: 5px;
	border-radius: 1px;
	background: #f0abfc;
}

.akademi-bot.is-writing .akademi-bot__pen {
	opacity: 1;
	animation: akademi-bot-write 0.38s ease-in-out infinite;
}

.akademi-bot.is-writing .akademi-bot__skin {
	transform: translate3d(2px, 3px, 0) scale(0.98, 0.97);
}

.akademi-chat.is-open .akademi-bot__ring {
	animation: none;
	opacity: 0;
}

@keyframes akademi-bot-smile-soft {
	0%, 100% { transform: scaleY(1.02); }
	50% { transform: scaleY(1.14); }
}

@keyframes akademi-bot-write {
	0%, 100% { transform: rotate(-38deg) translate(3px, 5px); }
	50% { transform: rotate(-48deg) translate(1px, 7px); }
}

@keyframes akademi-bot-bob {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-5px); }
}

@keyframes akademi-bot-turn {
	0%, 100% {
		transform: translate3d(0, 0, 0);
	}
	20% {
		transform: translate3d(-7px, 1px, 0) scale(0.985, 1);
	}
	40% {
		transform: translate3d(-3px, -2px, 0);
	}
	55% {
		transform: translate3d(0, 1px, 0);
	}
	72% {
		transform: translate3d(6px, 1px, 0) scale(0.985, 1);
	}
	88% {
		transform: translate3d(-5px, 2px, 0) scale(0.99, 1);
	}
}

@keyframes akademi-bot-ring {
	0% { transform: scale(0.92); opacity: 0.7; }
	70% { transform: scale(1.18); opacity: 0; }
	100% { opacity: 0; }
}

@keyframes akademi-bot-blink {
	0%, 38%, 46%, 100% { transform: scaleY(1); }
	42% { transform: scaleY(0.06); }
}

@keyframes akademi-bot-blink-dot {
	0%, 100% { opacity: 1; transform: scale(1); }
	50% { opacity: 0.45; transform: scale(0.85); }
}

@keyframes akademi-bot-notice-dot {
	0% { transform: scale(1); opacity: 0.5; }
	35% { transform: scale(1.55); opacity: 1; }
	100% { transform: scale(1.15); opacity: 1; }
}

@keyframes akademi-bot-tassel {
	0%, 100% { transform: rotate(-4deg); }
	50% { transform: rotate(10deg); }
}

@keyframes akademi-bot-tassel-speak {
	0%, 100% { transform: rotate(-6deg); }
	50% { transform: rotate(14deg); }
}

@keyframes akademi-bot-smile {
	0%, 55%, 100% { transform: scaleY(1); }
	62%, 72% { transform: scaleY(0.25); }
}

@keyframes akademi-bot-talk {
	0%, 100% { transform: scaleY(0.45); }
	50% { transform: scaleY(1); }
}

@media (prefers-reduced-motion: reduce) {
	.akademi-bot__ring {
		animation: none !important;
		opacity: 0.35;
	}
}

.akademi-chat__panel {
	width: min(360px, calc(100vw - 1.75rem));
	height: min(520px, calc(100vh - 7rem));
	display: flex;
	flex-direction: column;
	background: #fff;
	border-radius: 16px;
	overflow: hidden;
	box-shadow:
		0 0 0 1px rgba(1, 8, 86, 0.08),
		0 22px 48px rgba(1, 8, 86, 0.18);
	animation: akademi-chat-rise 0.28s cubic-bezier(0.22, 1, 0.36, 1);
}

.akademi-chat__panel[hidden] {
	display: none !important;
}

.akademi-chat__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.9rem 0.9rem 0.8rem;
	background: linear-gradient(135deg, #010856 0%, #043dab 55%, #7b28c5 100%);
	color: #fff;
}

.akademi-chat__who {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	min-width: 0;
}

.akademi-chat__avatar {
	width: 36px;
	height: 36px;
	border-radius: 11px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(72, 246, 238, 0.18);
	color: var(--ak-cyan);
	font-family: Quicksand, sans-serif;
	font-weight: 700;
	flex-shrink: 0;
}

.akademi-chat__who strong {
	display: block;
	font-family: Quicksand, sans-serif;
	font-size: 0.95rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: #fff;
}

.akademi-chat__who small {
	display: block;
	font-size: 0.72rem;
	color: rgba(255, 255, 255, 0.78);
}

.akademi-chat__iconbtn {
	appearance: none;
	border: 0;
	width: 32px;
	height: 32px;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
	font-size: 1.25rem;
	line-height: 1;
	cursor: pointer;
}

.akademi-chat__note {
	padding: 0.45rem 0.85rem;
	font-size: 0.72rem;
	font-weight: 600;
	color: var(--ak-muted);
	background: #f5f7fb;
	border-bottom: 1px solid var(--ak-line);
}

.akademi-chat__messages {
	flex: 1;
	overflow: auto;
	padding: 0.9rem;
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
	background: linear-gradient(180deg, #fbfcfe, #fff);
}

.akademi-chat__bubble {
	max-width: 88%;
	padding: 0.65rem 0.75rem;
	border-radius: 12px;
	font-size: 0.875rem;
	line-height: 1.45;
	animation: akademi-chat-rise 0.22s ease;
}

.akademi-chat__bubble--bot {
	align-self: flex-start;
	background: #eef2fb;
	color: #111827;
	border-bottom-left-radius: 4px;
}

.akademi-chat__bubble--user {
	align-self: flex-end;
	background: var(--ak-ink);
	color: #fff;
	border-bottom-right-radius: 4px;
}

.akademi-chat__bubble.is-typing {
	opacity: 0.7;
	font-style: italic;
}

.akademi-chat__deeplink {
	display: inline-block;
	margin-top: 0.4rem;
	font-weight: 700;
	font-size: 0.8rem;
	color: var(--ak-navy);
	text-decoration: none;
}

.akademi-chat__deeplink:hover {
	color: var(--ak-purple);
	text-decoration: underline;
}

.akademi-chat__suggestions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	padding: 0 0.75rem 0.65rem;
}

.akademi-chat__chip {
	appearance: none;
	border: 1px solid var(--ak-line);
	background: #fff;
	border-radius: 999px;
	padding: 0.35rem 0.7rem;
	font: inherit;
	font-size: 0.75rem;
	font-weight: 700;
	font-family: Quicksand, sans-serif;
	color: var(--ak-ink);
	cursor: pointer;
	transition: transform 0.15s ease;
}

.akademi-chat__chip:hover {
	transform: scale(0.94);
}

.akademi-chat__composer {
	display: flex;
	gap: 0.45rem;
	padding: 0.7rem;
	border-top: 1px solid var(--ak-line);
	background: #fff;
}

.akademi-chat__composer input {
	flex: 1;
	border: 1px solid var(--ak-line);
	border-radius: 10px;
	padding: 0.65rem 0.75rem;
	font: inherit;
	background: #f8fafc;
}

.akademi-chat__composer input:focus {
	outline: 0;
	border-color: var(--ak-navy);
	box-shadow: 0 0 0 3px rgba(4, 61, 171, 0.14);
	background: #fff;
}

.akademi-chat__send {
	appearance: none;
	border: 0;
	width: 42px;
	height: 42px;
	border-radius: 10px;
	background: var(--ak-grad);
	color: #fff;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.akademi-chat__send svg {
	width: 16px;
	height: 16px;
}

@keyframes akademi-chat-rise {
	from {
		opacity: 0;
		transform: translateY(8px);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

@keyframes akademi-chat-pulse {
	0% {
		opacity: 0.55;
		transform: scale(1);
	}
	70% {
		opacity: 0;
		transform: scale(1.08);
	}
	100% {
		opacity: 0;
	}
}

.akademi-preview-body .akademi-chat {
	display: none;
}

.akademi-preview-body .akademi-social-dock {
	display: none;
}

.akademi-preview-body .akademi-site-header,
.akademi-preview-body .akademi-site-footer {
	display: none;
}

@media (max-width: 1024px) {
	.akademi-footer__band {
		grid-template-columns: 1fr;
	}
	.akademi-social-rail {
		flex-direction: row;
		border-left: 0;
		border-right: 0;
		border-top: 1px solid var(--ak-footer-line);
		border-bottom: 1px solid var(--ak-footer-line);
	}
	.akademi-social-rail__btn {
		min-height: 3rem;
		border-bottom: 0;
		border-right: 1px solid var(--ak-footer-line);
		flex: 1 1 0;
	}
	.akademi-social-rail__btn:last-child {
		border-right: 0;
	}
	.akademi-footer__links {
		padding-bottom: clamp(1.5rem, 3vw, 2.25rem);
	}
	.akademi-footer__cols {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1rem 0.85rem;
	}
	.akademi-footer__row {
		grid-template-columns: 1fr;
	}
	.akademi-footer__brand img {
		height: 68px;
	}
	.akademi-footer__contact h2 {
		font-size: 1.3rem;
	}
	.akademi-footer__base {
		padding-bottom: 3.25rem;
	}
	.akademi-social-dock__btn {
		width: 40px;
		height: 40px;
	}
	.akademi-social-dock__btn svg {
		width: 16px;
		height: 16px;
	}
}

@media (max-width: 720px) {
	.akademi-social-dock {
		display: none;
	}
	.akademi-chat {
		left: 0.85rem;
		bottom: 4.5rem;
	}
	.akademi-chat__cloud {
		left: 0;
		bottom: calc(86px + 0.55rem);
		max-width: 160px;
	}
	.akademi-chat__cloud::after {
		left: 22px;
		bottom: -5px;
		border-left: 0;
		border-top: 1px solid rgba(1, 8, 86, 0.08);
		border-bottom: 1px solid rgba(1, 8, 86, 0.08);
		border-right: 1px solid rgba(1, 8, 86, 0.08);
		transform: rotate(45deg);
	}
	.akademi-footer__cols {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 1024px) {
	.akademi-hero {
		padding-right: max(1.25rem, min(40vw, 360px));
		background-size: cover;
		background-position: right center;
	}
}

@media (max-width: 782px) {
	.akademi-header-ic {
		flex-wrap: wrap;
		gap: 0.75rem;
	}
	.akademi-lang {
		margin-left: auto;
		order: 2;
	}
	.akademi-header-ic .wp-block-buttons {
		order: 3;
	}
	.akademi-cta {
		padding: 4.5rem 0 4.25rem;
		overflow: visible;
		clip-path: none;
		min-height: 18rem;
	}
	.akademi-cta__art {
		left: -2%;
		width: min(110%, 620px);
		transform: translateY(-46%);
		opacity: 0;
		visibility: hidden;
	}
	.akademi-cta__art.is-ready {
		opacity: 0.55 !important;
		visibility: visible !important;
	}
	.akademi-cta__art img {
		width: 120%;
		margin-left: 0;
		transform: scale(1.2);
	}
	.akademi-cta > .akademi-cta__copy,
	.akademi-cta__copy {
		width: 100% !important;
		max-width: 100% !important;
		margin-right: 0 !important;
		padding-left: 1.25rem;
		padding-right: 1.25rem;
		text-align: left;
	}
	.akademi-cta__copy .wp-block-buttons {
		justify-content: flex-start;
	}
	.akademi-hero {
		padding: 3.5rem var(--ak-page-gutter) 5.5rem;
		background-position: center right;
		background-size: cover;
		min-height: 320px;
	}
	.akademi-hero__stage {
		display: none;
	}
	.akademi-hero > .akademi-kicker,
	.akademi-hero > h1,
	.akademi-hero > .wp-block-heading,
	.akademi-hero > p,
	.akademi-hero > .wp-block-buttons,
	.akademi-hero h1,
	.akademi-hero .akademi-lead {
		max-width: 100%;
	}
}

/* Avoid double H1: template already prints post-title; content pattern must not repeat it */
.wp-block-post-title + .entry-content > .akademi-page-intro:first-child,
main > .wp-block-post-title + .wp-block-post-content > .akademi-page-intro:first-child {
	display: none;
}

/* Hizmetler — scroll pin + rail + morph (Sirius motion, Akademi content/brand) */
.entry-content:has(.akademi-ozellik),
.wp-block-post-content:has(.akademi-ozellik),
.wp-block-group:has(.akademi-ozellik),
.wp-block-shortcode:has(.akademi-ozellik) {
	overflow: visible !important;
}

.akademi-ozellik {
	--ak-ozellik-bg: #f7f8fc;
	--ak-ozellik-rail: rgba(1, 8, 86, 0.14);
	--ak-ozellik-accent: var(--ak-purple);
	--ak-ozellik-title: var(--ak-ink);
	--ak-ozellik-body: rgba(1, 8, 86, 0.78);
	--ak-ozellik-header: 5.5rem;
	--ak-ozellik-panel: 26.25rem;
	/* Center panel like Sirius (~27% from top when ~420px tall) */
	--ak-ozellik-pin-top: max(var(--ak-ozellik-header), calc((100vh - var(--ak-ozellik-panel)) / 2));
	--ak-ozellik-radius: 14rem;
	background:
		radial-gradient(ellipse 50% 60% at 92% 18%, rgba(123, 40, 197, 0.08), transparent 55%),
		radial-gradient(ellipse 40% 50% at 8% 82%, rgba(4, 61, 171, 0.07), transparent 50%),
		var(--ak-ozellik-bg);
	color: var(--ak-ozellik-title);
	padding: 4rem var(--ak-page-gutter) 3rem;
	box-sizing: border-box;
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	position: relative;
	z-index: 1;
}

.akademi-ozellik__head {
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 0 clamp(2.5rem, 6vh, 5rem);
}

.akademi-ozellik__badge {
	margin: 0 0 0.55rem;
	font-family: Quicksand, sans-serif;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ak-navy);
}

.akademi-ozellik__title {
	margin: 0;
	font-family: Quicksand, sans-serif;
	font-size: clamp(1.55rem, 2.8vw, 2.35rem);
	font-weight: 700;
	letter-spacing: -0.04em;
	line-height: 1.08;
	color: var(--ak-ink);
}

.akademi-ozellik__title span {
	display: block;
}

/*
 * Track = panel + scrub distance.
 * Sirius uses ~1.6× viewport of pin scroll for 3 cards; JS refines height.
 */
.akademi-ozellik__track {
	position: relative;
	height: calc(var(--ak-ozellik-panel) + 160vh);
}

.akademi-ozellik__pin {
	position: sticky;
	top: var(--ak-ozellik-pin-top);
	height: auto;
	box-sizing: border-box;
	overflow: visible;
}

.akademi-ozellik__content {
	position: relative;
	display: block;
	width: 100%;
	max-width: 1180px;
	height: var(--ak-ozellik-panel);
	margin: 0 auto;
}

.akademi-ozellik__benefits {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: clamp(1.25rem, 2.8vh, 3rem);
	width: min(42%, 28rem);
	height: 100%;
	min-width: 0;
	padding-left: 1.5rem;
	box-sizing: border-box;
	overflow: visible;
}

.akademi-ozellik__rail {
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 2px;
	border-radius: 999px;
	background: var(--ak-ozellik-rail);
	pointer-events: none;
}

.akademi-ozellik__cursor {
	position: absolute;
	left: 0;
	top: 0;
	width: 3px;
	height: 4.5rem;
	margin-left: -0.5px;
	border-radius: 999px;
	background: var(--ak-ozellik-accent);
	transform: translate3d(0, 0, 0);
	will-change: transform, height, top;
	pointer-events: none;
	z-index: 1;
}

.akademi-ozellik__item {
	appearance: none;
	border: 0;
	background: transparent;
	text-align: left;
	cursor: pointer;
	padding: 0 0 0 0.55rem;
	margin: 0;
	font: inherit;
	display: grid;
	gap: 0.45rem;
	opacity: 0.24;
	color: var(--ak-ozellik-title);
	will-change: opacity, transform;
	transform: translate3d(0, 0, 0);
}

.akademi-ozellik__item:hover,
.akademi-ozellik__item:focus-visible {
	outline: none;
}

.akademi-ozellik__item-title {
	display: block;
	font-family: Quicksand, sans-serif;
	font-size: clamp(1.05rem, 1.7vw, 1.35rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.25;
	color: var(--ak-ozellik-title);
}

.akademi-ozellik__item-text {
	display: block;
	font-size: clamp(0.86rem, 1.15vw, 0.96rem);
	line-height: 1.55;
	font-weight: 400;
	color: var(--ak-ozellik-body);
	max-width: 36ch;
}

/* Taller image stack on the right, vertically centered — like Sirius figures */
.akademi-ozellik__visual {
	position: absolute;
	top: 50%;
	right: 0;
	width: min(52%, 36rem);
	height: min(72vh, 38.5rem);
	transform: translateY(-50%);
	overflow: hidden;
	isolation: isolate;
	background: #e8ebf4;
	z-index: 1;
}

.akademi-ozellik__figure {
	position: absolute;
	inset: 0;
	margin: 0;
	opacity: 1;
	transform: translate3d(0, 0, 0);
	will-change: transform;
	pointer-events: none;
	z-index: 0;
	overflow: hidden;
}

.akademi-ozellik__figure.is-active {
	pointer-events: auto;
	z-index: 1;
}

.akademi-ozellik__figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	border-radius: 0 var(--ak-ozellik-radius) 0 0;
}

.akademi-ozellik__figure[data-shape="tr"] img {
	border-radius: 0 var(--ak-ozellik-radius) 0 0;
}

.akademi-ozellik__figure[data-shape="br"] img {
	border-radius: 0 0 var(--ak-ozellik-radius) 0;
}

.akademi-ozellik__figure[data-shape="tl"] img {
	border-radius: var(--ak-ozellik-radius) 0 0 0;
}

.akademi-ozellik__foot {
	max-width: 1180px;
	margin: 0 auto;
	padding: 2rem 0 0;
}

.akademi-ozellik__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.6rem 1.15rem;
	border-radius: 999px;
	border: 1.5px solid var(--ak-ink);
	color: var(--ak-ink);
	background: transparent;
	font-family: Quicksand, sans-serif;
	font-size: 0.9rem;
	font-weight: 700;
	text-decoration: none;
	transform: scale(1);
	transform-origin: center;
	transition: transform 0.2s ease;
}

.akademi-ozellik__cta:hover,
.akademi-ozellik__cta:focus-visible {
	transform: scale(0.92);
	outline: none;
}

.akademi-ozellik__cta:active {
	transform: scale(0.88);
}

@media (max-width: 900px) {
	.akademi-ozellik {
		width: 100%;
		max-width: none;
		margin-left: 0;
		margin-right: 0;
		padding: 2.75rem var(--ak-page-gutter) 2.5rem;
	}
	.akademi-ozellik__head {
		padding-bottom: 1.25rem;
	}
	.akademi-ozellik__title {
		font-size: clamp(1.6rem, 6.5vw, 2.1rem);
	}
	.akademi-ozellik__track {
		height: auto;
	}
	.akademi-ozellik__pin {
		position: relative;
		top: auto;
	}
	.akademi-ozellik__content {
		height: auto;
		display: flex;
		flex-direction: column;
		gap: 1.5rem;
	}
	.akademi-ozellik__benefits {
		width: 100%;
		height: auto;
		gap: 1.25rem;
	}
	.akademi-ozellik__visual {
		position: relative;
		top: auto;
		right: auto;
		order: -1;
		width: 100%;
		height: 15rem;
		transform: none;
	}
	.akademi-ozellik__figure {
		transform: none !important;
	}
	.akademi-ozellik__item {
		transform: none !important;
	}
	.akademi-ozellik__figure img {
		border-radius: 1.25rem !important;
	}
	.akademi-ozellik__item:not(.is-active) .akademi-ozellik__item-text {
		display: none;
	}
	.akademi-ozellik__foot {
		padding-top: 1.25rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.akademi-ozellik__cta {
		transition-duration: 0.01ms !important;
	}
}

/* ========== Akademi Vize Demy theme (gold / ink) ========== */
.akademi-chat {
  --ak-purple: #c9a227;
  --ak-purple-2: #a8861a;
  --ak-ink: #0a0a0a;
  --ak-navy: #1a1a1a;
  --ak-cyan: var(--ak-purple);
  --ak-muted: #575556;
  --ak-line: rgba(10, 10, 10, 0.12);
  font-family: "Montserrat", Manrope, sans-serif !important;
}

.akademi-chat__launcher {
  filter: drop-shadow(0 10px 18px color-mix(in srgb, var(--ak-purple) 35%, transparent));
}

.akademi-chat__cloud {
  font-family: "Montserrat", sans-serif !important;
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--ak-purple) 22%, transparent),
    0 10px 24px rgba(10, 10, 10, 0.16);
}

.akademi-bot__head {
  background:
    radial-gradient(circle at var(--lit-x) var(--lit-y), #ffffff 0%, color-mix(in srgb, var(--ak-purple) 12%, #fff) 42%, color-mix(in srgb, var(--ak-purple) 55%, #fff) 72%, var(--ak-purple) 100%) !important;
  box-shadow:
    inset 0 0 0 3px var(--ak-purple),
    inset 0 0 0 5px rgba(255, 255, 255, 0.55),
    inset -10px -14px 22px rgba(10, 10, 10, 0.16),
    inset 8px 10px 18px rgba(255, 255, 255, 0.55) !important;
}

.akademi-bot__ring {
  border-color: color-mix(in srgb, var(--ak-purple) 45%, transparent) !important;
  background: radial-gradient(circle, color-mix(in srgb, var(--ak-purple) 28%, transparent), transparent 70%) !important;
}

.akademi-bot__pen {
  background: linear-gradient(90deg, var(--ak-purple), color-mix(in srgb, var(--ak-purple) 55%, #fff)) !important;
  box-shadow: 0 1px 2px rgba(10, 10, 10, 0.25) !important;
}

.akademi-bot__pen::after {
  background: color-mix(in srgb, var(--ak-purple) 35%, #fff) !important;
}

.akademi-bot__cap {
  filter: drop-shadow(0 3px 5px rgba(10, 10, 10, 0.22)) !important;
}

.akademi-bot.is-talking .akademi-bot__cap,
.akademi-bot.is-noticing .akademi-bot__cap {
  filter: drop-shadow(0 0 4px color-mix(in srgb, var(--ak-purple) 90%, transparent)) !important;
}

.akademi-chat__panel {
  border-radius: 0 !important;
  box-shadow:
    0 0 0 1px rgba(10, 10, 10, 0.1),
    0 22px 48px rgba(10, 10, 10, 0.22) !important;
}

.akademi-chat__head {
  background: linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 45%, var(--ak-purple) 100%) !important;
  color: #fff !important;
}

.akademi-chat__avatar {
  background: color-mix(in srgb, var(--ak-purple) 22%, transparent) !important;
  color: var(--ak-purple) !important;
  border-radius: 0 !important;
}

.akademi-chat__who strong,
.akademi-chat__who small,
.akademi-chat__cloud,
.akademi-chat__chip,
.akademi-chat__note,
.akademi-chat__bubble,
.akademi-chat__composer input {
  font-family: "Montserrat", sans-serif !important;
}

.akademi-chat__note {
  color: #575556 !important;
  background: #f7f7f7 !important;
  border-bottom: 1px solid rgba(10, 10, 10, 0.1) !important;
}

.akademi-chat__messages {
  background: linear-gradient(180deg, #faf8f2, #fff) !important;
}

.akademi-chat__bubble--bot {
  background: #f5f0e4 !important;
  color: #0a0a0a !important;
  border-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}

.akademi-chat__bubble--user {
  background: var(--ak-purple) !important;
  color: #0a0a0a !important;
  border-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.akademi-chat__deeplink {
  color: var(--ak-purple-2) !important;
}

.akademi-chat__deeplink:hover {
  color: var(--ak-purple) !important;
}

.akademi-chat__chip {
  border: 1px solid color-mix(in srgb, var(--ak-purple) 45%, transparent) !important;
  border-radius: 0 !important;
  color: #0a0a0a !important;
  background: #fff !important;
}

.akademi-chat__chip:hover {
  background: color-mix(in srgb, var(--ak-purple) 12%, transparent) !important;
}

.akademi-chat__composer {
  border-top: 1px solid rgba(10, 10, 10, 0.1) !important;
}

.akademi-chat__composer input {
  border: 1px solid rgba(10, 10, 10, 0.14) !important;
  border-radius: 0 !important;
  background: #f7f7f7 !important;
}

.akademi-chat__composer input:focus {
  border-color: var(--ak-purple) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--ak-purple) 22%, transparent) !important;
  background: #fff !important;
}

.akademi-chat__send {
  background: var(--ak-purple) !important;
  color: #0a0a0a !important;
  border-radius: 0 !important;
}

.akademi-chat__send:hover {
  background: var(--ak-purple-2) !important;
  color: #fff !important;
}

.akademi-chat__iconbtn {
  border-radius: 0 !important;
}

/* Readable font + text prefs must win over chat font locks */
body.akademi-a11y-font .akademi-chat,
body.akademi-a11y-font .akademi-chat * {
  font-family: Arial, Helvetica, sans-serif !important;
}

/* Stop bot motion when a11y stop-animations is on */
body.akademi-a11y-stop-anim .akademi-chat .akademi-bot,
body.akademi-a11y-stop-anim .akademi-chat .akademi-bot *,
html.akademi-a11y-stop-anim .akademi-chat .akademi-bot,
html.akademi-a11y-stop-anim .akademi-chat .akademi-bot * {
  animation: none !important;
  transition: none !important;
}
