/*
Theme Name: Veshtina Academy
Theme URI: https://veshtina.net/
Author: Veshtina.net
Author URI: https://veshtina.net/
Description: Светла образователна WordPress тема за света на Вещина – видео академия, онлайн уроци, материали, пространство за родители, магазин и детски прогрес.
Version: 1.6.1
Requires at least: 6.2
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: veshtina-academy
Tags: education, e-commerce, blog, custom-logo, custom-menu, featured-images, translation-ready
*/

:root {
	--v-ink: #163f4b;
	--v-ink-deep: #0f303a;
	--v-teal: #176b79;
	--v-teal-2: #2d909b;
	--v-aqua: #dff4f1;
	--v-aqua-soft: #f0faf7;
	--v-orange: #dc794f;
	--v-orange-dark: #bc5b39;
	--v-apricot: #f5b779;
	--v-yellow: #f5cb69;
	--v-cream: #fff9ec;
	--v-paper: #fffdf8;
	--v-white: #fff;
	--v-muted: #5d7176;
	--v-border: rgba(22, 63, 75, .13);
	--v-shadow-sm: 0 8px 24px rgba(20, 64, 76, .08);
	--v-shadow: 0 22px 60px rgba(20, 64, 76, .12);
	--v-radius-sm: 14px;
	--v-radius: 24px;
	--v-radius-lg: 36px;
	--v-heading: "Arial Rounded MT Bold", "Trebuchet MS", ui-rounded, system-ui, sans-serif;
	--v-body: Inter, Aptos, "Segoe UI", system-ui, -apple-system, sans-serif;
	--v-header-height: 112px;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
	scroll-padding-top: 24px;
}

body {
	margin: 0;
	background: var(--v-paper);
	color: var(--v-ink-deep);
	font-family: var(--v-body);
	font-size: 17px;
	line-height: 1.62;
	-webkit-font-smoothing: antialiased;
}

body.menu-open {
	overflow: hidden;
}

img,
svg {
	display: block;
	max-width: 100%;
}

button,
input,
select,
textarea {
	font: inherit;
}

button,
a {
	-webkit-tap-highlight-color: transparent;
}

a {
	color: var(--v-teal);
	text-decoration: none;
}

a:hover {
	color: var(--v-orange-dark);
}

p,
h1,
h2,
h3,
h4 {
	margin-top: 0;
}

h1,
h2,
h3,
h4 {
	color: var(--v-ink-deep);
	font-family: var(--v-heading);
	line-height: 1.12;
	letter-spacing: -.025em;
}

h2 {
	font-size: clamp(2rem, 3.3vw, 3.35rem);
}

h3 {
	font-size: 1.35rem;
}

::selection {
	background: var(--v-yellow);
	color: var(--v-ink-deep);
}

.v-container {
	width: min(1180px, calc(100% - 44px));
	margin-inline: auto;
}

.section {
	padding: 100px 0;
}

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

.screen-reader-text:focus,
.skip-link:focus {
	top: 10px;
	left: 10px;
	z-index: 9999;
	width: auto;
	height: auto;
	clip: auto;
	padding: 10px 16px;
	background: var(--v-white);
	border-radius: 8px;
	box-shadow: var(--v-shadow-sm);
}

.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-height: 50px;
	padding: 12px 23px;
	border: 2px solid transparent;
	border-radius: 14px;
	font-weight: 800;
	line-height: 1.1;
	transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease, color .2s ease;
}

.button:hover {
	transform: translateY(-2px);
}

.button--small {
	min-height: 43px;
	padding: 10px 18px;
	border-radius: 13px;
	font-size: .92rem;
}

.button--primary {
	background: var(--v-orange);
	box-shadow: 0 9px 22px rgba(207, 105, 65, .23);
	color: var(--v-white);
}

.button--primary:hover {
	background: var(--v-orange-dark);
	color: var(--v-white);
	box-shadow: 0 13px 26px rgba(207, 105, 65, .3);
}

.button--outline {
	border-color: rgba(22, 63, 75, .28);
	background: rgba(255, 255, 255, .72);
	color: var(--v-ink);
}

.button--outline:hover {
	border-color: var(--v-teal);
	background: var(--v-white);
	color: var(--v-teal);
}

.button--quiet {
	min-height: 43px;
	padding: 9px 15px;
	color: var(--v-ink);
}

.button--quiet:hover {
	background: var(--v-aqua-soft);
	color: var(--v-teal);
}

.button--dark {
	background: var(--v-ink-deep);
	color: var(--v-white);
	box-shadow: 0 10px 22px rgba(15, 48, 58, .2);
}

.button--dark:hover {
	background: var(--v-teal);
	color: var(--v-white);
}

.button--cream {
	background: var(--v-cream);
	color: var(--v-ink-deep);
	box-shadow: 0 10px 25px rgba(6, 34, 41, .18);
}

.button--cream:hover {
	background: var(--v-white);
	color: var(--v-orange-dark);
}

.eyebrow {
	display: flex;
	align-items: center;
	gap: 9px;
	margin-bottom: 16px;
	color: var(--v-teal);
	font-size: .78rem;
	font-weight: 900;
	letter-spacing: .13em;
	line-height: 1.35;
	text-transform: uppercase;
}

.eyebrow span {
	color: var(--v-yellow);
}

.eyebrow--orange {
	color: var(--v-orange-dark);
}

.text-link {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: var(--v-ink);
	font-weight: 850;
}

.text-link span:last-child {
	display: inline-grid;
	width: 28px;
	height: 28px;
	place-items: center;
	border: 1px solid currentColor;
	border-radius: 50%;
	font-size: .9rem;
	transition: transform .2s ease;
}

.text-link:hover span:last-child {
	transform: translate(2px, -2px);
}

.text-link--large {
	font-size: .98rem;
	white-space: nowrap;
}

.text-link--light {
	color: #fff9ec;
}

/* Header */
.site-notice {
	background: var(--v-ink-deep);
	color: rgba(255, 255, 255, .88);
	font-size: .78rem;
	font-weight: 700;
}

.site-notice__inner {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 26px;
	min-height: 34px;
}

.site-notice span span {
	color: var(--v-yellow);
}

.site-notice a {
	color: var(--v-apricot);
	font-weight: 850;
}

.site-header {
	position: relative;
	z-index: 100;
	border-bottom: 1px solid var(--v-border);
	background: rgba(255, 253, 248, .97);
	box-shadow: 0 8px 30px rgba(16, 56, 65, .05);
}

.header-main {
	display: grid;
	grid-template-columns: 165px minmax(0, 1fr) auto;
	align-items: center;
	gap: clamp(20px, 2.3vw, 34px);
	min-height: var(--v-header-height);
}

.site-branding {
	line-height: 0;
}

.brand-lockup,
.custom-logo-link {
	display: inline-block;
}

.brand-lockup:not(.brand-lockup--footer) img {
	width: auto;
	height: 96px;
}

.custom-logo {
	width: auto;
	height: 72px;
}

.header-stack {
	display: contents;
}

.header-actions {
	grid-row: 1;
	grid-column: 3;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 6px;
}

.header-search {
	display: grid;
	width: 42px;
	height: 42px;
	place-items: center;
	color: var(--v-ink);
	border-radius: 50%;
}

.header-search:hover {
	background: var(--v-aqua-soft);
}

.header-search svg {
	width: 22px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
}

.header-register {
	background: var(--v-teal);
	color: var(--v-white);
	box-shadow: 0 7px 18px rgba(23, 107, 121, .18);
}

.header-register:hover {
	background: var(--v-ink);
	color: var(--v-white);
}

.header-account-link {
	display: inline-flex;
	min-width: 0;
	min-height: 43px;
	align-items: center;
	gap: 8px;
	padding: 6px 12px 6px 7px;
	border: 1px solid rgba(23, 107, 121, .14);
	border-radius: 14px;
	background: var(--v-aqua-soft);
	color: var(--v-ink-deep);
	font-size: .84rem;
	font-weight: 850;
	transition: background .2s ease, color .2s ease, transform .2s ease;
}

.header-account-link:hover {
	background: var(--v-aqua);
	color: var(--v-teal);
	transform: translateY(-1px);
}

.header-account-link__avatar {
	display: grid;
	flex: 0 0 29px;
	width: 29px;
	height: 29px;
	place-items: center;
	border-radius: 50%;
	background: var(--v-teal);
	color: var(--v-white);
	font-family: var(--v-heading);
	font-size: .8rem;
	font-weight: 900;
	text-transform: uppercase;
}

.header-account-link__name {
	overflow: hidden;
	max-width: 95px;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.header-logout-form {
	display: inline-flex;
	margin: 0;
}

.header-logout-form button.header-logout-button {
	min-height: 40px;
	padding: 7px 10px;
	border: 0;
	border-radius: 11px;
	background: transparent;
	color: var(--v-muted);
	font-size: .78rem;
	font-weight: 800;
	cursor: pointer;
}

.header-logout-form button.header-logout-button:hover,
.header-logout-form button.header-logout-button:focus-visible {
	background: #fff0e9;
	color: var(--v-orange-dark);
}

.nav-shell {
	grid-row: 1;
	grid-column: 2;
	min-width: 0;
	padding: 8px 10px;
	border: 1px solid rgba(23, 107, 121, .1);
	border-radius: 18px;
	background: #f2f9f7;
}

.primary-navigation .menu {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 6px 7px;
	min-height: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.primary-navigation > .menu > .menu-item {
	flex: 0 0 calc(20% - 6px);
	min-width: 0;
	text-align: center;
}

.primary-navigation .menu-item {
	position: relative;
}

.primary-navigation .sub-menu {
	position: absolute;
	top: 100%;
	left: -18px;
	z-index: 10;
	display: block;
	visibility: hidden;
	min-width: 220px;
	margin: 0;
	padding: 10px;
	border: 1px solid var(--v-border);
	border-radius: 15px;
	background: var(--v-white);
	box-shadow: var(--v-shadow);
	list-style: none;
	opacity: 0;
	transform: translateY(7px);
	transition: opacity .2s ease, transform .2s ease, visibility .2s;
}

.primary-navigation .menu-item:hover > .sub-menu,
.primary-navigation .menu-item:focus-within > .sub-menu {
	visibility: visible;
	opacity: 1;
	transform: translateY(0);
}

.primary-navigation .sub-menu a {
	padding: 9px 11px;
	border-radius: 9px;
	font-size: .8rem;
	white-space: normal;
}

.primary-navigation .sub-menu a:hover {
	background: var(--v-aqua-soft);
}

.primary-navigation .sub-menu a::after {
	display: none;
}

.primary-navigation a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: 37px;
	padding: 8px 5px;
	border-radius: 9px;
	color: var(--v-ink-deep);
	font-size: clamp(.8rem, .86vw, .9rem);
	font-weight: 800;
	letter-spacing: -.01em;
	line-height: 1.2;
	white-space: nowrap;
	transition: background-color .2s ease, color .2s ease, box-shadow .2s ease;
}

.primary-navigation a::after {
	width: 5px;
	height: 5px;
	order: -1;
	flex: 0 0 5px;
	border-radius: 50%;
	background: var(--v-teal-2);
	content: "";
	opacity: .42;
}

.primary-navigation a:hover::after,
.primary-navigation .current-menu-item > a::after {
	opacity: 1;
}

.primary-navigation > .menu > .menu-item > a:hover,
.primary-navigation > .menu > .current-menu-item > a {
	background: var(--v-white);
	box-shadow: 0 4px 12px rgba(20, 64, 76, .08);
	color: var(--v-teal);
}

.primary-navigation > .menu > .menu-item:nth-child(3n+2) > a::after {
	background: var(--v-orange);
}

.primary-navigation > .menu > .menu-item:nth-child(3n) > a::after {
	background: #d3a13b;
}

.menu-toggle {
	display: none;
	width: 44px;
	height: 44px;
	padding: 10px;
	border: 0;
	border-radius: 12px;
	background: var(--v-aqua-soft);
	cursor: pointer;
}

.menu-toggle > span:not(.screen-reader-text) {
	display: block;
	width: 23px;
	height: 2px;
	margin: 5px auto;
	background: var(--v-ink);
	transition: transform .2s ease, opacity .2s ease;
}

/* Hero */
.hero {
	position: relative;
	overflow: hidden;
	min-height: 650px;
	background:
		radial-gradient(circle at 82% 13%, rgba(245, 203, 105, .3), transparent 19%),
		radial-gradient(circle at 6% 68%, rgba(97, 190, 194, .22), transparent 20%),
		linear-gradient(145deg, #f8fffc 0%, #edf9f6 56%, #fff7e8 100%);
}

.hero::before,
.hero::after {
	position: absolute;
	border: 1px solid rgba(23, 107, 121, .12);
	border-radius: 50%;
	content: "";
}

.hero::before {
	top: 48px;
	right: -190px;
	width: 470px;
	height: 470px;
}

.hero::after {
	top: 96px;
	right: -142px;
	width: 370px;
	height: 370px;
}

.hero-grid {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, .95fr) minmax(480px, 1.05fr);
	align-items: center;
	gap: 35px;
	min-height: 650px;
	padding-top: 34px;
	padding-bottom: 52px;
}

.hero-copy {
	position: relative;
	z-index: 3;
	padding: 26px 0 34px;
}

.hero h1 {
	max-width: 650px;
	margin-bottom: 23px;
	font-size: clamp(3rem, 5.3vw, 5.25rem);
	line-height: .98;
	letter-spacing: -.055em;
}

.hero h1 span {
	position: relative;
	display: inline-block;
	color: var(--v-orange);
}

.hero h1 span::after {
	position: absolute;
	right: 1%;
	bottom: -9px;
	left: 2%;
	height: 9px;
	border-top: 3px solid var(--v-yellow);
	border-radius: 50%;
	content: "";
	transform: rotate(-1deg);
}

.hero-lead {
	max-width: 610px;
	margin-bottom: 29px;
	color: #425f66;
	font-size: clamp(1.06rem, 1.4vw, 1.2rem);
	line-height: 1.65;
}

.hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 13px;
	margin-bottom: 37px;
}

.hero-trust {
	display: flex;
	gap: 20px;
	padding-top: 25px;
	border-top: 1px solid rgba(22, 63, 75, .14);
}

.hero-trust > div {
	display: flex;
	align-items: center;
	gap: 9px;
	min-width: 0;
}

.hero-trust__icon {
	display: grid;
	flex: 0 0 35px;
	width: 35px;
	height: 35px;
	place-items: center;
	border-radius: 11px;
	background: var(--v-white);
	box-shadow: var(--v-shadow-sm);
	color: var(--v-orange);
	font-size: .75rem;
	font-weight: 900;
}

.hero-trust strong,
.hero-trust small {
	display: block;
	white-space: nowrap;
}

.hero-trust strong {
	font-size: .75rem;
}

.hero-trust small {
	color: var(--v-muted);
	font-size: .66rem;
}

.hero-art {
	position: relative;
	align-self: end;
	min-width: 0;
	margin-right: -48px;
}

.hero-art > img {
	width: 100%;
	filter: saturate(.94);
}

.hero-float {
	position: absolute;
	display: grid;
	grid-template-columns: 38px 1fr;
	column-gap: 9px;
	min-width: 160px;
	padding: 11px 13px;
	border: 1px solid rgba(22, 63, 75, .1);
	border-radius: 16px;
	background: rgba(255, 255, 255, .91);
	box-shadow: var(--v-shadow);
	backdrop-filter: blur(8px);
	animation: gentle-float 4.6s ease-in-out infinite;
}

.hero-float > span {
	grid-row: 1 / span 2;
	display: grid;
	width: 38px;
	height: 38px;
	place-items: center;
	border-radius: 12px;
	background: var(--v-aqua);
	color: var(--v-teal);
	font-size: .78rem;
}

.hero-float strong,
.hero-float small {
	display: block;
	line-height: 1.2;
}

.hero-float strong {
	font-size: .75rem;
}

.hero-float small {
	color: var(--v-muted);
	font-size: .63rem;
}

.hero-float--lesson {
	top: 22%;
	left: 0;
}

.hero-float--progress {
	right: 4%;
	bottom: 15%;
	animation-delay: -2s;
}

.hero-float--progress > span {
	background: #fff3cf;
	color: #d17b27;
}

@keyframes gentle-float {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-8px); }
}

.hero-stars {
	position: absolute;
	z-index: 1;
	color: var(--v-yellow);
	font-size: 38px;
	line-height: 1;
}

.hero-stars--one {
	top: 90px;
	left: 3.5%;
}

.hero-stars--two {
	right: 3%;
	bottom: 108px;
	font-size: 25px;
}

.hero-wave {
	position: absolute;
	right: 0;
	bottom: -1px;
	left: 0;
	height: 24px;
	background: var(--v-paper);
	clip-path: polygon(0 55%, 3% 40%, 7% 62%, 11% 43%, 16% 60%, 21% 37%, 27% 58%, 33% 40%, 40% 61%, 47% 38%, 54% 58%, 62% 36%, 69% 57%, 76% 39%, 84% 61%, 91% 38%, 96% 54%, 100% 41%, 100% 100%, 0 100%);
}

/* Section headings */
.section-heading {
	margin-bottom: 46px;
}

.section-heading h2 {
	margin-bottom: 13px;
}

.section-heading > p:last-child {
	margin: 0;
	color: var(--v-muted);
	font-size: 1.08rem;
}

.section-heading--center {
	max-width: 760px;
	margin-right: auto;
	margin-left: auto;
	text-align: center;
}

.section-heading--center .eyebrow {
	justify-content: center;
}

.section-heading--split {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 40px;
}

.section-heading--split h2 {
	max-width: 750px;
	margin-bottom: 0;
}

/* Worlds */
.worlds {
	position: relative;
}

.worlds::before {
	position: absolute;
	top: 55px;
	left: 3%;
	width: 90px;
	height: 90px;
	border: 2px dotted rgba(220, 121, 79, .2);
	border-radius: 50%;
	content: "";
}

.world-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.world-card {
	--card-color: var(--v-teal);
	position: relative;
	overflow: hidden;
	min-height: 330px;
	padding: 26px;
	border: 1px solid var(--v-border);
	border-radius: var(--v-radius);
	background: var(--v-white);
	box-shadow: var(--v-shadow-sm);
	transition: transform .25s ease, box-shadow .25s ease;
}

.world-card::after {
	position: absolute;
	right: -52px;
	bottom: -61px;
	width: 170px;
	height: 170px;
	border-radius: 50%;
	background: var(--card-color);
	content: "";
	opacity: .08;
}

.world-card:hover {
	transform: translateY(-7px);
	box-shadow: var(--v-shadow);
}

.world-card--coral { --card-color: #db7650; }
.world-card--blue { --card-color: #368eb2; }
.world-card--yellow { --card-color: #d6992f; }
.world-card--violet { --card-color: #806a9e; }
.world-card--green { --card-color: #4f9278; }
.world-card--teal { --card-color: #277c88; }

.world-card__top {
	display: grid;
	grid-template-columns: 36px minmax(0, 1fr) auto;
	align-items: center;
	gap: 14px;
	margin: -7px -7px 24px;
	padding: 15px 16px;
	border: 1px solid rgba(22, 63, 75, .06);
	border-radius: 19px;
	background: #f6f8f7;
	background: color-mix(in srgb, var(--card-color) 7%, white);
}

.world-card__number {
	display: grid;
	width: 36px;
	height: 36px;
	place-items: center;
	border: 1px solid rgba(255, 255, 255, .9);
	border-radius: 50%;
	background: rgba(255, 255, 255, .78);
	color: var(--card-color);
	font-family: var(--v-heading);
	font-size: .75rem;
	font-weight: 900;
	box-shadow: 0 5px 15px rgba(22, 63, 75, .05);
}

.world-card__heading {
	min-width: 0;
}

.world-card__icon {
	width: 56px;
	height: 56px;
	margin-left: auto;
	padding: 10px;
	border: 1px solid rgba(255, 255, 255, .95);
	border-radius: 17px;
	background: rgba(255, 255, 255, .78);
	color: var(--card-color);
	box-shadow: 0 7px 18px rgba(22, 63, 75, .06);
}

.world-card__kicker {
	margin: 0 0 5px;
	color: var(--card-color);
	font-size: .65rem;
	font-weight: 900;
	letter-spacing: .07em;
	line-height: 1.35;
	text-transform: uppercase;
}

.world-card h3 {
	min-height: 0;
	margin: 0;
	font-size: clamp(1.08rem, 1.5vw, 1.3rem);
	line-height: 1.18;
}

.world-card > p:not(.world-card__kicker) {
	margin-bottom: 23px;
	color: var(--v-muted);
	font-size: .9rem;
	line-height: 1.55;
}

.world-card .text-link {
	position: absolute;
	right: 26px;
	bottom: 24px;
	left: 26px;
	justify-content: space-between;
	color: var(--card-color);
	font-size: .83rem;
}

/* Lessons */
.academy-section {
	background: #f0f8f5;
}

.lesson-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 23px;
}

.lesson-card {
	overflow: hidden;
	border: 1px solid rgba(22, 63, 75, .1);
	border-radius: var(--v-radius);
	background: var(--v-white);
	box-shadow: var(--v-shadow-sm);
	transition: transform .25s ease, box-shadow .25s ease;
}

.lesson-card:hover {
	transform: translateY(-6px);
	box-shadow: var(--v-shadow);
}

.lesson-visual {
	position: relative;
	display: grid;
	height: 225px;
	place-items: center;
	overflow: hidden;
	background: #dcefee;
}

.lesson-visual::before,
.lesson-visual::after {
	position: absolute;
	border: 3px solid rgba(22, 63, 75, .13);
	border-radius: 50%;
	content: "";
}

.lesson-visual::before {
	width: 180px;
	height: 180px;
}

.lesson-visual::after {
	width: 115px;
	height: 115px;
}

.lesson-card--math .lesson-visual {
	background: #f8e5bf;
}

.lesson-card--english .lesson-visual {
	background: #e8e1ef;
}

.lesson-subject {
	position: absolute;
	top: 23px;
	left: 23px;
	color: rgba(22, 63, 75, .68);
	font-family: var(--v-heading);
	font-size: 1.5rem;
	font-weight: 900;
}

.lesson-play {
	position: relative;
	z-index: 2;
	display: grid;
	width: 70px;
	height: 70px;
	place-items: center;
	padding-left: 5px;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, .93);
	box-shadow: 0 12px 30px rgba(22, 63, 75, .16);
	color: var(--v-orange);
	font-size: 1.1rem;
	transition: transform .2s ease;
}

.lesson-card:hover .lesson-play {
	transform: scale(1.08);
}

.lesson-spark {
	position: absolute;
	right: 27px;
	bottom: 23px;
	color: var(--v-orange);
	font-size: 2.1rem;
}

.lesson-body {
	padding: 23px 24px 25px;
}

.lesson-meta {
	display: flex;
	justify-content: space-between;
	gap: 15px;
	margin-bottom: 12px;
	color: var(--v-muted);
	font-size: .72rem;
	font-weight: 750;
}

.lesson-meta span:first-child {
	color: var(--v-teal);
	text-transform: uppercase;
}

.lesson-body h3 {
	margin-bottom: 10px;
}

.lesson-body > p:last-child {
	margin-bottom: 0;
	color: var(--v-muted);
	font-size: .87rem;
}

/* Feature sections */
.feature-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, .92fr);
	align-items: center;
	gap: clamp(55px, 8vw, 110px);
}

.feature-grid--reverse {
	grid-template-columns: minmax(0, .82fr) minmax(0, 1.08fr);
}

.feature-copy h2 {
	margin-bottom: 20px;
}

.feature-lead {
	margin-bottom: 27px;
	color: var(--v-muted);
	font-size: 1.05rem;
}

.feature-art {
	position: relative;
}

.feature-art--science::before {
	position: absolute;
	top: -34px;
	right: -30px;
	width: 130px;
	height: 130px;
	border: 2px dashed rgba(220, 121, 79, .26);
	border-radius: 50%;
	content: "";
}

.live-card {
	position: relative;
	z-index: 2;
	overflow: hidden;
	border: 7px solid var(--v-white);
	border-radius: 29px;
	background: var(--v-ink-deep);
	box-shadow: var(--v-shadow);
}

.live-card__bar,
.live-card__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 49px;
	padding: 10px 18px;
	color: rgba(255, 255, 255, .8);
	font-size: .72rem;
	font-weight: 800;
}

.live-card__bar i {
	display: inline-block;
	width: 8px;
	height: 8px;
	margin-right: 7px;
	border-radius: 50%;
	background: #f06e56;
	box-shadow: 0 0 0 5px rgba(240, 110, 86, .16);
}

.live-card__stage {
	position: relative;
	display: grid;
	height: 330px;
	place-items: center;
	overflow: hidden;
	background:
		radial-gradient(circle at 52% 40%, rgba(72, 157, 166, .4), transparent 35%),
		linear-gradient(145deg, #214f59, #102f39);
}

.live-card__stage::before {
	position: absolute;
	right: -20%;
	bottom: -45%;
	left: -20%;
	height: 75%;
	border-radius: 50%;
	background: #193f49;
	content: "";
}

.teacher-avatar {
	position: relative;
	z-index: 2;
	display: grid;
	width: 130px;
	height: 130px;
	place-items: center;
	border: 5px solid rgba(255, 255, 255, .65);
	border-radius: 50%;
	background: linear-gradient(145deg, #edb071, #d97950);
	box-shadow: 0 17px 40px rgba(0, 0, 0, .25);
}

.teacher-avatar::before {
	position: absolute;
	top: 27px;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: #ffe6c9;
	content: "";
}

.teacher-avatar::after {
	position: absolute;
	bottom: 0;
	width: 85px;
	height: 51px;
	border-radius: 50px 50px 0 0;
	background: #fff7e8;
	content: "";
}

.teacher-avatar span {
	position: absolute;
	z-index: 2;
	top: 8px;
	right: 4px;
	color: var(--v-yellow);
	font-size: 1.3rem;
}

.formula {
	position: absolute;
	padding: 8px 12px;
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: 10px;
	background: rgba(255, 255, 255, .08);
	color: rgba(255, 255, 255, .7);
	font-family: var(--v-heading);
	font-size: .86rem;
}

.formula--one { top: 32px; left: 30px; transform: rotate(-6deg); }
.formula--two { right: 34px; bottom: 40px; transform: rotate(7deg); }
.formula--three { top: 55px; right: 65px; color: var(--v-yellow); font-size: 1.2rem; }

.live-card__footer {
	justify-content: center;
	gap: 13px;
}

.live-card__footer > span {
	display: grid;
	width: 30px;
	height: 30px;
	place-items: center;
	border-radius: 50%;
	background: rgba(255, 255, 255, .1);
}

.live-card__footer .live-card__end {
	background: #e46d53;
}

.feature-badge {
	position: absolute;
	z-index: 3;
	right: -25px;
	bottom: 43px;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 17px;
	border-radius: 15px;
	background: var(--v-white);
	box-shadow: var(--v-shadow);
}

.feature-badge strong {
	display: grid;
	width: 42px;
	height: 42px;
	place-items: center;
	border-radius: 12px;
	background: var(--v-aqua);
	color: var(--v-teal);
}

.feature-badge span {
	font-size: .75rem;
	font-weight: 800;
}

.check-list {
	margin: 0 0 30px;
	padding: 0;
	list-style: none;
}

.check-list li {
	display: grid;
	grid-template-columns: 34px 1fr;
	gap: 12px;
	margin-bottom: 17px;
}

.check-list li > span {
	display: grid;
	width: 31px;
	height: 31px;
	place-items: center;
	border-radius: 50%;
	background: var(--v-aqua);
	color: var(--v-teal);
	font-size: .78rem;
	font-weight: 900;
}

.check-list strong,
.check-list p {
	display: block;
}

.check-list p {
	margin: 2px 0 0;
	color: var(--v-muted);
	font-size: .86rem;
}

/* Materials */
.materials-section {
	padding-top: 50px;
}

.materials-panel {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(360px, .78fr);
	align-items: center;
	gap: 60px;
	overflow: hidden;
	min-height: 500px;
	padding: 65px 75px;
	border-radius: var(--v-radius-lg);
	background:
		radial-gradient(circle at 95% 10%, rgba(245, 203, 105, .18), transparent 28%),
		linear-gradient(145deg, #f8e9cb, #fff5df);
}

.materials-panel::before {
	position: absolute;
	right: 35%;
	bottom: -80px;
	width: 180px;
	height: 180px;
	border: 2px dotted rgba(220, 121, 79, .2);
	border-radius: 50%;
	content: "";
}

.materials-copy {
	position: relative;
	z-index: 2;
}

.materials-copy h2 {
	max-width: 630px;
	margin-bottom: 19px;
}

.materials-copy > p:not(.eyebrow) {
	max-width: 650px;
	color: #5e625d;
}

.material-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 25px 0 31px;
}

.material-tags span {
	padding: 7px 11px;
	border: 1px solid rgba(22, 63, 75, .14);
	border-radius: 999px;
	background: rgba(255, 255, 255, .57);
	font-size: .73rem;
	font-weight: 800;
}

.paper-stack {
	position: relative;
	height: 370px;
}

.paper {
	position: absolute;
	top: 30px;
	left: 50%;
	width: 235px;
	height: 300px;
	padding: 28px;
	border: 1px solid rgba(22, 63, 75, .16);
	border-radius: 10px;
	background: var(--v-white);
	box-shadow: 0 22px 40px rgba(91, 68, 34, .15);
	text-align: center;
}

.paper--back {
	background: #ddf1ef;
	color: var(--v-teal);
	transform: translateX(-70%) rotate(-11deg);
}

.paper--back span {
	position: absolute;
	bottom: 30px;
	left: 28px;
	font-family: var(--v-heading);
	font-size: 2rem;
	font-weight: 900;
}

.paper--middle {
	background: #f4d98f;
	transform: translateX(-39%) rotate(9deg);
}

.paper--front {
	transform: translateX(-52%) rotate(-1deg);
}

.paper-star {
	display: grid;
	width: 52px;
	height: 52px;
	margin: 0 auto 20px;
	place-items: center;
	border-radius: 50%;
	background: var(--v-aqua);
	color: var(--v-orange);
	font-size: 1.7rem;
}

.paper--front b {
	display: block;
	color: var(--v-ink);
	font-family: var(--v-heading);
	line-height: 1.25;
}

.paper-lines {
	margin-top: 30px;
}

.paper-lines i {
	display: block;
	height: 7px;
	margin: 12px 0;
	border-radius: 999px;
	background: #e6efed;
}

.paper-lines i:nth-child(2) { width: 78%; }
.paper-lines i:nth-child(3) { width: 54%; }

.mind-map {
	position: absolute;
	top: 55%;
	left: 50%;
	width: 65px;
	height: 65px;
	border-radius: 50%;
	background: var(--v-orange);
	transform: translate(-50%, -50%);
}

.mind-map i {
	position: absolute;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--v-white);
}

.mind-map i:nth-child(1) { top: -43px; left: 18px; }
.mind-map i:nth-child(2) { right: -49px; top: 17px; }
.mind-map i:nth-child(3) { bottom: -44px; left: 18px; }
.mind-map i:nth-child(4) { top: 17px; left: -49px; }

.paper-pencil {
	position: absolute;
	right: 7px;
	bottom: 18px;
	color: var(--v-orange);
	font-size: 5rem;
	transform: rotate(-20deg);
}

/* Diary */
.diary-section {
	background: linear-gradient(180deg, var(--v-paper), #eef8f6);
}

.audience-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 26px 0 30px;
}

.audience-pills span {
	padding: 8px 11px;
	border: 1px solid var(--v-border);
	border-radius: 999px;
	background: var(--v-white);
	font-size: .72rem;
	font-weight: 800;
}

.treasure-dashboard {
	overflow: hidden;
	padding: 24px;
	border: 7px solid var(--v-white);
	border-radius: 28px;
	background: #f9e6bb;
	box-shadow: var(--v-shadow);
}

.dashboard-top {
	display: grid;
	grid-template-columns: 46px 1fr auto;
	align-items: center;
	gap: 12px;
	padding: 11px 13px;
	border-radius: 15px;
	background: rgba(255, 255, 255, .78);
}

.dashboard-avatar {
	display: grid;
	width: 43px;
	height: 43px;
	place-items: center;
	border-radius: 50%;
	background: var(--v-teal);
	color: var(--v-white);
	font-family: var(--v-heading);
	font-weight: 900;
}

.dashboard-top strong,
.dashboard-top small {
	display: block;
	line-height: 1.3;
}

.dashboard-top strong {
	font-size: .82rem;
}

.dashboard-top small {
	color: var(--v-muted);
	font-size: .64rem;
}

.dashboard-stars {
	padding: 7px 10px;
	border-radius: 999px;
	background: #fff2c7;
	color: #b46d28;
	font-size: .72rem;
	font-weight: 900;
}

.map-path {
	position: relative;
	min-height: 235px;
}

.map-path svg {
	width: 100%;
	height: 235px;
	overflow: visible;
}

.map-line {
	fill: none;
	stroke: var(--v-teal);
	stroke-width: 6;
	stroke-linecap: round;
	stroke-dasharray: 2 13;
}

.map-path circle {
	fill: var(--v-white);
	stroke: var(--v-teal);
	stroke-width: 5;
}

.map-path .map-goal {
	fill: var(--v-yellow);
	stroke: var(--v-orange);
}

.map-marker {
	position: absolute;
	display: grid;
	width: 31px;
	height: 31px;
	place-items: center;
	border-radius: 50%;
	background: var(--v-teal);
	color: var(--v-white);
	font-size: .65rem;
	font-weight: 900;
}

.map-marker--one { top: 164px; left: 5.2%; }
.map-marker--two { top: 130px; left: 38.2%; }
.map-marker--three { top: 99px; left: 69.8%; background: var(--v-orange); }
.map-marker--four { top: 23px; right: 3%; width: 42px; height: 42px; background: var(--v-yellow); color: var(--v-orange-dark); font-size: 1rem; }

.dashboard-progress {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 7px 16px;
	padding: 14px 16px;
	border-radius: 14px;
	background: rgba(255, 255, 255, .78);
	font-size: .72rem;
	font-weight: 800;
}

.dashboard-progress div {
	grid-column: 1 / -1;
	overflow: hidden;
	height: 7px;
	border-radius: 999px;
	background: #e5ddd0;
}

.dashboard-progress i {
	display: block;
	width: 80%;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, var(--v-teal), #65bab9);
}

/* Parent and shop */
.community-section {
	padding-top: 30px;
}

.duo-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 22px;
}

.duo-card {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 150px;
	align-items: end;
	gap: 20px;
	overflow: hidden;
	min-height: 375px;
	padding: 44px;
	border-radius: var(--v-radius-lg);
}

.duo-card::before {
	position: absolute;
	top: -60px;
	right: -50px;
	width: 240px;
	height: 240px;
	border: 1px solid currentColor;
	border-radius: 50%;
	content: "";
	opacity: .12;
}

.duo-card--castle {
	background: linear-gradient(145deg, #234d64, #18394a);
	color: rgba(255, 255, 255, .77);
}

.duo-card--castle h2,
.duo-card--castle .eyebrow {
	color: #fff9ec;
}

.duo-card--shop {
	background: linear-gradient(145deg, #f4e6c6, #fff8e9);
}

.duo-card__content {
	position: relative;
	z-index: 2;
}

.duo-card h2 {
	margin-bottom: 16px;
	font-size: clamp(2rem, 3vw, 2.8rem);
}

.duo-card p:not(.eyebrow) {
	font-size: .92rem;
}

.duo-card__icon {
	position: relative;
	z-index: 2;
	width: 145px;
	height: 145px;
	padding: 19px;
	border-radius: 35px;
	background: rgba(255, 255, 255, .13);
	color: #7bc2c5;
}

.duo-card--shop .duo-card__icon {
	background: rgba(255, 255, 255, .62);
	color: var(--v-orange);
}

/* Teachers */
.teachers-section {
	background: var(--v-white);
}

.teacher-values {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	margin: 0 0 38px;
	border: 1px solid var(--v-border);
	border-radius: var(--v-radius);
	box-shadow: var(--v-shadow-sm);
}

.teacher-values > div {
	position: relative;
	padding: 35px;
}

.teacher-values > div + div {
	border-left: 1px solid var(--v-border);
}

.teacher-values span {
	display: inline-grid;
	width: 38px;
	height: 38px;
	margin-bottom: 22px;
	place-items: center;
	border-radius: 12px;
	background: var(--v-aqua);
	color: var(--v-teal);
	font-size: .72rem;
	font-weight: 900;
}

.teacher-values > div:nth-child(2) span {
	background: #fff1dc;
	color: var(--v-orange-dark);
}

.teacher-values > div:nth-child(3) span {
	background: #f0e9f4;
	color: #735f91;
}

.teacher-values h3 {
	margin-bottom: 9px;
}

.teacher-values p {
	margin: 0;
	color: var(--v-muted);
	font-size: .86rem;
}

.center-action {
	margin: 0;
	text-align: center;
}

/* Membership and contact */
.membership-section {
	padding: 85px 0;
	background: #f1f8f5;
}

.membership-card {
	display: grid;
	grid-template-columns: 1.5fr .9fr auto;
	align-items: center;
	gap: 45px;
	padding: 53px 58px;
	border-radius: var(--v-radius-lg);
	background:
		radial-gradient(circle at 95% 0, rgba(245, 203, 105, .2), transparent 22%),
		linear-gradient(145deg, var(--v-teal), var(--v-ink-deep));
	box-shadow: 0 24px 60px rgba(15, 48, 58, .18);
	color: rgba(255, 255, 255, .78);
}

.membership-card h2,
.membership-card .eyebrow {
	color: var(--v-white);
}

.membership-card h2 {
	margin-bottom: 15px;
	font-size: clamp(2rem, 3vw, 3rem);
}

.membership-card p {
	margin-bottom: 0;
	font-size: .93rem;
}

.membership-card ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.membership-card li {
	display: flex;
	align-items: center;
	gap: 9px;
	margin: 10px 0;
	font-size: .78rem;
	font-weight: 800;
}

.membership-card li span {
	display: grid;
	width: 23px;
	height: 23px;
	place-items: center;
	border-radius: 50%;
	background: rgba(255, 255, 255, .14);
	color: var(--v-yellow);
}

.membership-card .button {
	white-space: nowrap;
}

.contact-section {
	padding: 82px 0;
}

.contact-card {
	display: grid;
	grid-template-columns: 180px 1fr auto;
	align-items: center;
	gap: 35px;
	padding: 25px 45px 25px 25px;
	border: 1px solid var(--v-border);
	border-radius: var(--v-radius-lg);
	background: var(--v-white);
	box-shadow: var(--v-shadow-sm);
}

.contact-lighthouse {
	display: grid;
	min-height: 185px;
	place-items: end center;
	overflow: hidden;
	border-radius: 25px;
	background: linear-gradient(180deg, #e9f6f4, #fbefd5);
}

.contact-lighthouse img {
	height: 175px;
}

.contact-card h2 {
	max-width: 620px;
	margin-bottom: 10px;
	font-size: clamp(1.8rem, 3vw, 2.6rem);
}

.contact-card p:not(.eyebrow) {
	margin: 0;
	color: var(--v-muted);
	font-size: .9rem;
}

.contact-card .button {
	white-space: nowrap;
}

/* Footer */
.site-footer {
	padding-top: 70px;
	background: var(--v-ink-deep);
	color: rgba(255, 255, 255, .65);
}

.footer-grid {
	display: grid;
	grid-template-columns: 1.45fr .65fr .75fr .75fr;
	gap: 55px;
	padding-bottom: 55px;
}

.brand-lockup--footer img {
	width: auto;
	height: 108px;
}

.brand-lockup--footer {
	display: inline-flex;
	margin-bottom: 19px;
	padding: 8px 13px;
	border-radius: 18px;
	background: var(--v-cream);
}

.footer-brand p {
	max-width: 380px;
	margin: 0;
	font-size: .82rem;
}

.site-footer h2 {
	margin: 9px 0 20px;
	color: var(--v-white);
	font-family: var(--v-body);
	font-size: .82rem;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.site-footer ul,
.footer-links {
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer li {
	margin-bottom: 9px;
}

.site-footer a {
	color: rgba(255, 255, 255, .65);
	font-size: .78rem;
}

.site-footer a:hover {
	color: var(--v-apricot);
}

.footer-bottom {
	display: flex;
	justify-content: space-between;
	gap: 25px;
	padding: 22px 0 27px;
	border-top: 1px solid rgba(255, 255, 255, .1);
	font-size: .7rem;
}

.footer-bottom p {
	margin: 0;
}

.footer-motto span {
	color: var(--v-yellow);
}

/* Content templates */
.content-area {
	min-height: 60vh;
	padding: 80px 0 100px;
}

.archive-header,
.singular-header {
	max-width: 850px;
	margin-bottom: 42px;
}

.archive-header h1,
.singular-header h1 {
	margin: 0;
	font-size: clamp(2.6rem, 5vw, 4.6rem);
}

.posts-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.post-card {
	overflow: hidden;
	border: 1px solid var(--v-border);
	border-radius: var(--v-radius);
	background: var(--v-white);
	box-shadow: var(--v-shadow-sm);
}

.post-card__image {
	display: grid;
	height: 230px;
	place-items: center;
	overflow: hidden;
	background: linear-gradient(145deg, var(--v-aqua), #f8e4bd);
	color: var(--v-orange);
	font-size: 3rem;
}

.post-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.post-card__body {
	padding: 25px;
}

.post-card__body h2 {
	font-size: 1.45rem;
}

.post-card__body h2 a {
	color: var(--v-ink-deep);
}

.post-meta {
	color: var(--v-orange-dark);
	font-size: .72rem;
	font-weight: 800;
	text-transform: uppercase;
}

.post-card__body > p:not(.post-meta) {
	color: var(--v-muted);
	font-size: .88rem;
}

.navigation.pagination {
	margin-top: 45px;
}

.nav-links {
	display: flex;
	gap: 9px;
}

.page-numbers {
	display: grid;
	min-width: 40px;
	height: 40px;
	place-items: center;
	padding: 0 12px;
	border: 1px solid var(--v-border);
	border-radius: 10px;
	background: var(--v-white);
	font-weight: 750;
}

.page-numbers.current {
	background: var(--v-teal);
	color: var(--v-white);
}

.singular-content {
	max-width: 980px;
}

.singular-content--post {
	max-width: 860px;
}

.singular-content--veshtina-app {
	max-width: 1280px;
}

.singular-content--veshtina-app .entry-content > * {
	max-width: none;
}

.singular-content--veshtina-app .vl-shell {
	width: 100%;
	margin-top: 10px;
}

.singular-image {
	overflow: hidden;
	margin-bottom: 48px;
	border-radius: var(--v-radius);
	box-shadow: var(--v-shadow-sm);
}

.singular-image img {
	width: 100%;
	height: auto;
}

.entry-content {
	font-size: 1.03rem;
}

.entry-content > * {
	max-width: 780px;
	margin-right: auto;
	margin-left: auto;
}

.entry-content > .alignwide {
	max-width: 980px;
}

.entry-content > .alignfull {
	max-width: none;
}

.entry-content h2,
.entry-content h3 {
	margin-top: 1.8em;
}

.entry-content blockquote {
	padding: 7px 0 7px 25px;
	border-left: 4px solid var(--v-orange);
	color: var(--v-muted);
	font-size: 1.15rem;
}

.entry-content img {
	border-radius: var(--v-radius-sm);
}

.comments-area {
	max-width: 780px;
	margin: 55px auto 0;
	padding-top: 40px;
	border-top: 1px solid var(--v-border);
}

.comment-list {
	padding-left: 24px;
}

.comment-list li {
	margin-bottom: 20px;
}

.search-form {
	display: flex;
	gap: 9px;
}

.search-form label {
	flex: 1;
}

.error-page {
	display: grid;
	place-items: center;
	background: linear-gradient(145deg, #f1faf7, #fff5e1);
}

.error-card {
	max-width: 800px;
	padding: 65px;
	border-radius: var(--v-radius-lg);
	background: var(--v-white);
	box-shadow: var(--v-shadow);
	text-align: center;
}

.error-card .eyebrow {
	justify-content: center;
}

.error-code {
	display: block;
	margin-bottom: 10px;
	color: var(--v-aqua);
	font-family: var(--v-heading);
	font-size: 7rem;
	font-weight: 900;
	line-height: 1;
}

/* Forms and WooCommerce basics */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="search"],
input[type="number"],
select,
textarea {
	width: 100%;
	padding: 13px 15px;
	border: 1px solid var(--v-border);
	border-radius: 12px;
	background: var(--v-white);
	color: var(--v-ink-deep);
}

input:focus,
select:focus,
textarea:focus {
	border-color: var(--v-teal);
	outline: 3px solid rgba(23, 107, 121, .13);
}

button[type="submit"],
input[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
	padding: 13px 20px;
	border: 0;
	border-radius: 12px;
	background: var(--v-orange);
	color: var(--v-white);
	font-weight: 800;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	overflow: hidden;
	padding-bottom: 20px;
	border: 1px solid var(--v-border);
	border-radius: var(--v-radius);
	background: var(--v-white);
	box-shadow: var(--v-shadow-sm);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .button {
	margin-right: 20px;
	margin-left: 20px;
}

/* Responsive */
@media (max-width: 1100px) {
	.header-main { grid-template-columns: 140px minmax(0, 1fr) auto; gap: 16px; }
	.brand-lockup:not(.brand-lockup--footer) img { height: 88px; }
	.header-search { width: 37px; height: 37px; }
	.header-login { padding-right: 10px; padding-left: 10px; }
	.header-register { padding-right: 14px; padding-left: 14px; }
	.header-account-link__name { max-width: 72px; }
	.header-account-link { padding-right: 9px; }
	.header-logout-form button.header-logout-button { padding-right: 6px; padding-left: 6px; }
	.primary-navigation .menu { gap: 4px; }
	.primary-navigation a { gap: 4px; min-height: 34px; padding: 7px 2px; font-size: .8rem; }
	.hero-grid { grid-template-columns: minmax(0, 1fr) minmax(400px, .9fr); }
	.hero-art { margin-right: -30px; }
	.hero-trust { gap: 11px; }
	.hero-trust small { display: none; }
	.membership-card { grid-template-columns: 1.3fr .8fr; }
	.membership-card .button { grid-column: 1 / -1; justify-self: start; }
	.footer-grid { grid-template-columns: 1.25fr repeat(3, .75fr); gap: 30px; }
}

@media (max-width: 980px) {
	:root { --v-header-height: 88px; }
	.admin-bar .nav-shell { top: calc(var(--v-header-height) + 32px); }
	.section { padding: 78px 0; }
	.site-notice { display: none; }
	.header-main { display: flex; min-height: var(--v-header-height); }
	.header-stack { display: block; align-self: auto; margin-left: auto; }
	.brand-lockup:not(.brand-lockup--footer) img { height: 78px; }
	.custom-logo { height: 58px; }
	.header-login { display: none; }
	.menu-toggle { display: block; }
	.nav-shell {
		position: fixed;
		top: var(--v-header-height);
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 99;
		visibility: hidden;
		overflow-y: auto;
		padding: 0;
		border: 0;
		border-radius: 0;
		background: rgba(255, 253, 248, .99);
		opacity: 0;
		transform: translateY(-12px);
		transition: opacity .2s ease, transform .2s ease, visibility .2s;
	}
	.site-header.is-menu-open .nav-shell {
		visibility: visible;
		opacity: 1;
		transform: translateY(0);
	}
	.site-header.is-menu-open .menu-toggle > span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
	.site-header.is-menu-open .menu-toggle > span:nth-child(2) { opacity: 0; }
	.site-header.is-menu-open .menu-toggle > span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
	.primary-navigation .menu {
		align-items: stretch;
		flex-direction: column;
		gap: 0;
		padding: 25px 0 45px;
	}
	.primary-navigation .menu-item { border-bottom: 1px solid var(--v-border); }
	.primary-navigation > .menu > .menu-item { flex: 0 0 100%; width: 100%; text-align: left; }
	.primary-navigation a { padding: 14px 4px; font-size: 1rem; }
	.primary-navigation a { justify-content: flex-start; }
	.primary-navigation a::after { display: none; }
	.primary-navigation .sub-menu {
		position: static;
		visibility: visible;
		min-width: 0;
		padding: 0 0 8px 16px;
		border: 0;
		background: transparent;
		box-shadow: none;
		opacity: 1;
		transform: none;
	}
	.primary-navigation .sub-menu .menu-item { border-bottom: 0; }
	.primary-navigation .sub-menu a { padding: 9px 4px; color: var(--v-muted); font-size: .9rem; }
	.hero { min-height: auto; }
	.hero-grid { grid-template-columns: 1fr; padding-top: 55px; padding-bottom: 25px; }
	.hero-copy { padding: 0; }
	.hero h1 { max-width: 760px; }
	.hero-lead { max-width: 680px; }
	.hero-art { width: min(650px, 100%); margin: -50px auto 0; }
	.hero-float--lesson { left: 5%; }
	.world-grid { grid-template-columns: repeat(2, 1fr); }
	.lesson-grid { grid-template-columns: repeat(2, 1fr); }
	.lesson-card:last-child { grid-column: 1 / -1; width: calc(50% - 12px); justify-self: center; }
	.feature-grid,
	.feature-grid--reverse { grid-template-columns: 1fr; gap: 55px; }
	.diary-section .feature-copy { order: 1; }
	.diary-section .treasure-dashboard { order: 2; }
	.materials-panel { grid-template-columns: 1fr; padding: 55px; }
	.paper-stack { width: min(500px, 100%); margin: -5px auto -20px; }
	.duo-grid { grid-template-columns: 1fr; }
	.membership-card { grid-template-columns: 1fr; gap: 23px; }
	.contact-card { grid-template-columns: 150px 1fr; padding-right: 30px; }
	.contact-card .button { grid-column: 2; justify-self: start; }
	.footer-grid { grid-template-columns: 1.4fr 1fr 1fr; }
	.footer-brand { grid-column: 1 / -1; }
	.footer-brand p { max-width: 600px; }
	.posts-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
	:root { --v-header-height: 82px; }
	.admin-bar .nav-shell { top: calc(var(--v-header-height) + 46px); }
	:root { --v-radius-lg: 27px; }
	body { font-size: 16px; }
	.v-container { width: min(100% - 30px, 1180px); }
	.section { padding: 65px 0; }
	.header-main { gap: 10px; }
	.brand-lockup:not(.brand-lockup--footer) img { height: 72px; max-width: 116px; }
	.custom-logo { height: 50px; max-width: 206px; }
	.header-search { display: none; }
	.header-register { min-height: 39px; padding: 9px 12px; font-size: .76rem; }
	.header-account-link { min-height: 39px; padding: 5px 9px 5px 6px; }
	.header-account-link__avatar { flex-basis: 27px; width: 27px; height: 27px; }
	.header-account-link__name { max-width: 65px; }
	.header-logout-form button.header-logout-button { min-height: 38px; padding: 5px; font-size: .72rem; }
	.hero-grid { padding-top: 42px; }
	.hero h1 { font-size: clamp(2.9rem, 14vw, 4rem); }
	.hero h1 span::after { bottom: -5px; }
	.hero-actions { flex-direction: column; align-items: stretch; }
	.hero-actions .button { width: 100%; }
	.hero-trust { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
	.hero-trust > div:last-child { grid-column: 1 / -1; }
	.hero-trust small { display: block; }
	.hero-art { margin-top: -30px; margin-bottom: 0; }
	.hero-float { display: none; }
	.hero-stars--one { top: 36px; left: auto; right: 7%; }
	.section-heading { margin-bottom: 34px; }
	.section-heading--split { align-items: flex-start; flex-direction: column; gap: 12px; }
	.world-grid,
	.lesson-grid { grid-template-columns: 1fr; }
	.lesson-card:last-child { grid-column: auto; width: 100%; }
	.world-card { min-height: 335px; }
	.world-card h3 { min-height: auto; }
	.feature-badge { right: -3px; bottom: 28px; }
	.live-card__stage { height: 260px; }
	.teacher-avatar { width: 110px; height: 110px; }
	.materials-section { padding-top: 22px; }
	.materials-panel { gap: 25px; padding: 42px 25px 25px; }
	.paper-stack { height: 330px; transform: scale(.88); transform-origin: center top; }
	.duo-card { grid-template-columns: 1fr 100px; min-height: 420px; padding: 32px 27px; }
	.duo-card__icon { width: 105px; height: 105px; padding: 15px; }
	.teacher-values { grid-template-columns: 1fr; }
	.teacher-values > div + div { border-top: 1px solid var(--v-border); border-left: 0; }
	.teacher-values > div { padding: 28px; }
	.membership-section { padding: 65px 0; }
	.membership-card { padding: 38px 27px; }
	.membership-card .button { width: 100%; }
	.contact-card { grid-template-columns: 1fr; padding: 22px; }
	.contact-lighthouse { min-height: 160px; }
	.contact-card .button { grid-column: auto; width: 100%; }
	.footer-grid { grid-template-columns: 1fr 1fr; gap: 32px 24px; }
	.footer-brand { grid-column: 1 / -1; }
	.footer-bottom { flex-direction: column; gap: 7px; }
	.posts-grid { grid-template-columns: 1fr; }
	.error-card { padding: 40px 24px; }
	.error-code { font-size: 5rem; }
}

@media (max-width: 420px) {
	.header-register { display: none; }
	.header-account-link__avatar { display: none; }
	.header-account-link { padding-right: 7px; padding-left: 7px; }
	.header-account-link__name { max-width: 58px; }
	.brand-lockup:not(.brand-lockup--footer) img { max-width: 110px; }
	.custom-logo { max-width: 225px; }
	.hero-trust { grid-template-columns: 1fr; }
	.hero-trust > div:last-child { grid-column: auto; }
	.dashboard-top { grid-template-columns: 42px 1fr; }
	.dashboard-stars { grid-column: 1 / -1; justify-self: start; }
	.treasure-dashboard { padding: 14px; }
	.duo-card { grid-template-columns: 1fr; min-height: 0; }
	.duo-card__icon { position: absolute; right: 15px; bottom: 15px; opacity: .2; }
	.duo-card__content { padding-bottom: 30px; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}
}

/* 1.0.8: entrances to the existing learning platform, using the theme palette. */
.home-access { padding-bottom: 32px; }
.home-access-grid, .home-teachers-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.home-access-card, .home-teacher-card { display:flex; flex-direction:column; align-items:flex-start; gap:16px; min-width:0; padding:32px; border:1px solid #d4e5e2; border-radius:26px; background:#fff; }
.home-access-card h3, .home-teacher-card h3 { margin:0; font-size:24px; }
.home-access-card p, .home-teacher-card p { margin:0; line-height:1.7; }
.home-access-card .button { margin-top:auto; }
.home-access-card .button, .home-profile-banner .button { white-space:normal; text-align:center; }
.home-access-card small { font-size:14px; }
.home-access-icon, .home-teacher-avatar { display:grid; place-items:center; width:56px; height:56px; border-radius:18px; background:#eaf5f4; color:#196d77; font-size:28px; }
.home-profile-banner { display:flex; align-items:center; justify-content:space-between; gap:28px; padding:32px; border-radius:26px; background:#eaf5f4; }
.home-profile-banner h2 { margin:0 0 12px; }
.home-steps { background:#f5f9f7; }
.home-steps-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; }
.home-steps-grid article { min-width:0; }
.home-steps-grid article > span { color:#ba6b39; font-size:26px; font-weight:800; }
.home-steps-grid h3 { font-size:22px; margin:14px 0; }
.home-steps-grid p { line-height:1.7; }
.world-coming-soon { display:inline-block; padding:8px 14px; border-radius:30px; background:#f0f5f4; color:#536b70; font-size:15px; font-weight:700; }
.home-teacher-card img { width:88px; height:88px; border-radius:50%; object-fit:cover; }
.home-teacher-card h3 a { color:inherit; text-decoration:none; }
.home-teacher-subjects { color:#196d77; font-weight:650; }
.home-teacher-card .text-link { margin-top:auto; }
@media(max-width:1000px) { .home-steps-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .home-access-card,.home-teacher-card { padding:24px; } }
@media(max-width:760px) { .home-access-grid,.home-teachers-grid { grid-template-columns:1fr; } .home-profile-banner { flex-direction:column; align-items:flex-start; } .home-access-card .button { margin-top:8px; } }
@media(max-width:480px) { .home-steps-grid { grid-template-columns:1fr; gap:18px; } .home-profile-banner { padding:24px; } }

/* 1.0.9: compact role entrances with a shared action baseline. */
.home-access.section { padding:36px 0 56px; }
.home-access .section-heading { margin-bottom:28px; }
.home-access .section-heading .eyebrow { margin-bottom:10px; }
.home-access .section-heading h2 { font-size:clamp(1.85rem,3.2vw,2.7rem); }
.home-access-grid { gap:22px; }
.home-access-card {
 --access-accent:#176d78; --access-tint:#edf7f6; --access-line:#cbe3df;
 position:relative; overflow:hidden; padding:28px 26px 20px; gap:20px;
 border:1px solid var(--access-line); border-top:4px solid var(--access-accent);
 border-radius:24px; background:linear-gradient(155deg,var(--access-tint),#fff 76%);
 box-shadow:0 8px 26px rgba(18,59,71,.045);
}
.home-access-card--student { --access-accent:#a55b24; --access-tint:#fff5e5; --access-line:#efddbe; }
.home-access-card--teacher { --access-accent:#39628a; --access-tint:#edf4fb; --access-line:#d0dfee; }
.home-access-card__heading { display:flex; align-items:center; gap:14px; width:100%; min-width:0; }
.home-access-card__heading > div { min-width:0; }
.home-access-card .home-access-icon { flex:none; width:58px; height:64px; border-radius:18px; background:#fff; color:var(--access-accent); border:1px solid var(--access-line); transform:rotate(-5deg); }
.home-access-icon svg { width:38px; height:38px; transform:rotate(5deg); }
.home-access-kicker { display:block; margin-bottom:5px; color:var(--access-accent); font-size:12px; font-weight:700; line-height:1.5; }
.home-access-card h3 { font-size:clamp(1.15rem,1.65vw,1.45rem); line-height:1.25; }
.home-access-card > p { font-size:16px; line-height:1.7; color:var(--v-muted); }
.home-access-actions { display:grid; grid-template-rows:auto minmax(42px,auto); gap:10px; width:100%; margin-top:auto; padding-top:3px; }
.home-access-card .home-access-actions .button { width:100%; min-height:56px; margin:0; padding:12px 14px; font-size:16px; line-height:1.35; background:var(--access-accent); border-color:var(--access-accent); color:#fff; box-shadow:none; }
.home-access-actions .button > span { flex:none; margin-left:auto; }
.home-access-card .home-access-actions .button:hover { filter:brightness(.92); box-shadow:0 6px 16px rgba(18,59,71,.12); }
.home-access-note { display:flex; align-items:flex-start; justify-content:center; text-align:center; font-size:13px; line-height:1.5; color:var(--v-muted); }
.home-access-note a { color:var(--access-accent); font-weight:700; text-underline-offset:4px; }
.home-access-actions a:focus-visible { outline:3px solid var(--access-accent); outline-offset:4px; }
@supports (grid-template-rows:subgrid) {
 .home-access-grid { row-gap:20px; }
 .home-access-card { display:grid; grid-row:span 4; grid-template-rows:subgrid; align-items:start; row-gap:20px; }
 .home-access-actions { display:grid; grid-row:span 2; grid-template-rows:subgrid; row-gap:10px; margin-top:0; }
}
@media(max-width:1000px) and (min-width:761px) {
 .home-access-card { padding:24px 18px 16px; }
 .home-access-card__heading { flex-direction:column; align-items:flex-start; gap:12px; }
}
@media(max-width:760px) {
 .home-access.section { padding:26px 0 40px; }
 .home-access .section-heading { margin-bottom:24px; }
 .home-access-grid { gap:18px; }
 .home-access-card { display:flex; grid-row:auto; gap:18px; padding:24px; }
 .home-access-actions { grid-row:auto; grid-template-rows:auto auto; margin-top:4px; padding-top:0; }
 .home-access-card h3 { font-size:22px; }
 .home-access-note { min-height:0; }
}

@media(max-width:420px) {
 .home-access-card__heading { gap:10px; }
 .home-access-card .home-access-icon { width:44px; height:52px; }
 .home-access-icon svg { width:30px; height:30px; }
 .home-access-card h3 { font-size:20px; }
 .home-access-kicker { font-size:11px; }
}

/* 1.1.0 — whole-card navigation with native keyboard and touch support. */
.home-access-card,.home-profile-banner,.home-steps-grid article,.home-teacher-card,.world-card { position:relative; }
.v-card-link::after { content:""; position:absolute; inset:0; border-radius:inherit; }
.v-card-link:focus-visible::after { outline:3px solid var(--color-primary,#176c79); outline-offset:4px; }
.home-access-note a,.home-teacher-card > .text-link { position:relative; z-index:2; }
.home-steps-grid h3 a { color:inherit; text-decoration:none; }
.home-access-card:has(.v-card-link):hover,.home-steps-grid article:has(.v-card-link):hover,.home-teacher-card:hover,.world-card:has(.v-card-link):hover { box-shadow:0 8px 26px #17455220; }
.home-steps-grid article:focus-within,.home-teacher-card:focus-within,.home-access-card:focus-within { outline:2px solid #176c79; outline-offset:4px; }

.v-card-link::after { z-index:1; }
.button.v-card-link,.button.v-card-link:hover,.home-access-card .home-access-actions .button.v-card-link:hover { position:static; transform:none; filter:none; }
.world-card:has(.v-card-link) { display:flex; flex-direction:column; padding-bottom:24px; }
.world-card .text-link.v-card-link { position:static; margin-top:auto; padding-top:20px; }
.world-card::after { pointer-events:none; }
.world-card:not(:has(.v-card-link)):hover { transform:none; box-shadow:none; }
@media(prefers-reduced-motion:reduce) { .world-card:hover { transform:none; } }

/* 1.1.1: one spacing rhythm for content pages and embedded lesson screens. */
.content-area { padding:36px 0 48px; }
.content-area:has(.singular-content--veshtina-app) { min-height:0; padding:28px 0 40px; }
.singular-content--veshtina-app .vl-shell { margin:0 auto; }
.singular-content--veshtina-app .vl-shell--narrow { max-width:760px; }
/* Article heading margins must not leak into application panels. */
.entry-content .vl-shell h1,.entry-content .vl-shell h2,.entry-content .vl-shell h3 { margin-top:0; }
.entry-content .vl-shell .vl-eyebrow { margin:0 0 8px; }
.archive-header,.singular-header { margin-bottom:24px; }
.singular-image { margin-bottom:28px; }
.section { padding:56px 0; }
.section-heading { margin-bottom:28px; }
.feature-grid,.feature-grid--reverse { gap:36px; }
.world-card { min-height:0; }
.world-card:not(:has(.v-card-link)) { padding-bottom:66px; }
.duo-card { min-height:0; }
@media(max-width:760px) {
 .content-area { padding:24px 0 32px; }
 .content-area:has(.singular-content--veshtina-app) { padding:20px 0 28px; }
 .section,.membership-section { padding:36px 0; }
 .section-heading { margin-bottom:22px; }
 .feature-grid,.feature-grid--reverse { gap:24px; }
 .world-card,.duo-card { min-height:0; }
}

/* 1.1.3: compact welcome section, about 40% shorter at laptop widths.
   Content can grow for text zoom; never crop copy or interactive controls. */
.hero, .hero-grid { min-height:0; }
.hero-grid { padding-top:22px; padding-bottom:22px; gap:24px; }
.hero-copy { padding:0; }
.hero .eyebrow { margin-bottom:12px; }
.hero h1 { margin:0 0 16px; font-size:clamp(2rem,3.35vw,3.1rem); line-height:1.06; }
.hero h1 span { display:table; }
.hero-lead { margin-bottom:18px; font-size:1rem; line-height:1.55; }
.hero-actions { gap:10px; margin-bottom:20px; }
.hero-actions .button { padding:11px 16px; font-size:.9rem; min-height:46px; }
.hero-trust { padding-top:14px; gap:14px; }
.hero-trust strong,.hero-trust small { white-space:normal; }
.hero-art { align-self:center; width:min(370px,100%); margin:0 auto; }
.hero-art > img { display:block; height:auto; }
.hero-float { transform:scale(.85); }
.hero-float--lesson { left:-12px; }
.hero-float--progress { right:-12px; }
.hero-wave { height:20px; }
@media(min-width:1001px) {
 .hero-grid { min-height:clamp(418px, 33vw, 450px); grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); }
}
@media(min-width:761px) and (max-width:1000px) {
 .hero-grid { grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); }
 .hero h1 { font-size:2.2rem; }
 .hero-trust { flex-wrap:wrap; }
 .hero-float { display:none; }
}
@media(max-width:760px) {
 .hero-grid { grid-template-columns:1fr; padding-top:24px; padding-bottom:18px; gap:16px; }
 .hero h1 { font-size:clamp(2rem,7.5vw,2.8rem); }
 .hero-art { width:min(250px,70%); margin:0 auto; }
 .hero-actions { flex-direction:row; align-items:stretch; }
 .hero-actions .button { width:auto; flex:1 1 180px; }
 .hero-trust { display:flex; flex-wrap:wrap; gap:12px; }
 .hero-trust small { display:none; }
 .hero-trust > div { flex:1 1 130px; }
 .hero-float { display:none; }
}


/* Public team roles and lead teacher. */
.home-teacher-role{display:inline-flex;align-items:center;padding:6px 11px;border-radius:999px;background:#eef5f4;color:#486a70;font-size:12px;font-weight:750;line-height:1.4}
.home-teacher-role--head{background:#176c79;color:#fff}
.home-teacher-card--head{border-color:#b8d1cb;background:linear-gradient(145deg,#edf7f5,#fff9ec);box-shadow:inset 0 4px 0 #c7a35b}
.home-teacher-card--head img{box-shadow:0 0 0 3px #fff,0 0 0 5px #d6bf82}


.home-academy-stages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.home-academy-stages a{display:flex;flex-direction:column;gap:9px;padding:24px;border:1px solid #d9e6e1;border-radius:20px;background:#f4f8f3;color:#173f49;text-decoration:none}.home-academy-stages a:nth-child(2){background:#fff4e4}.home-academy-stages a:nth-child(3){background:#eef2fa}.home-academy-stages a:nth-child(4){background:#f3eff8}.home-academy-stages strong{font-size:22px}.home-academy-stages span{font-size:14px}.home-academy-stages small{font-size:12px;color:#526f77;margin-top:auto}.home-academy-stages a:hover{border-color:#176c79}.home-academy-stages a:focus-visible{outline:3px solid #176c79;outline-offset:4px}@media(max-width:800px){.home-academy-stages{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.home-academy-stages a{padding:16px}.home-academy-stages strong{font-size:19px}}

/* 1.5.10: compact shared spacing without changing controls or text leading. */
.content-area { padding-block:24px 36px; }
.content-area:has(.singular-content--veshtina-app) { padding-block:16px 28px; }
.section,.membership-section { padding-block:40px; }
.home-access.section { padding-block:26px 38px; }
.section-heading,.home-access .section-heading { margin-bottom:22px; }
.feature-grid,.feature-grid--reverse { gap:28px; }
.singular-header { margin-bottom:24px; }
.singular-image { margin-bottom:28px; }
.materials-panel { padding:40px; gap:32px; }
.membership-card { padding:32px; }
.site-footer { padding-top:40px; }
/* Module padding must not compound the page wrapper's top spacing. */
.singular-content--veshtina-app .vs-shop { padding-block:8px 24px; }
.singular-content--veshtina-app .vs-back { margin-bottom:18px; }
.singular-content--veshtina-app .vs-hero { gap:24px; margin-bottom:20px; }
.singular-content--veshtina-app .vs-benefits { padding-block:12px; margin-bottom:22px; }
.singular-content--veshtina-app .vs-grid { gap:20px; }
.singular-content--veshtina-app .vs-detail { gap:28px; }
.singular-content--veshtina-app .vs-delivery { margin-top:26px; padding:20px; }
.singular-content--veshtina-app .va-shell { padding-block:8px 24px; }
.singular-content--veshtina-app .va-heading { margin-bottom:20px; }
.v-container.vp-blog { padding-block:24px 36px; }
.vp-blog .vp-intro { margin-bottom:22px; }
.vp-blog .vp-grid { gap:20px; }
.vp-blog .vp-excerpt { margin-bottom:18px; }
.vp-blog .vp-copy { padding:20px; }
.vp-blog .vp-featured .vp-copy { padding:28px; }
@media(max-width:640px) {
 .content-area { padding-block:18px 26px; }
 .content-area:has(.singular-content--veshtina-app) { padding-block:12px 22px; }
 .section,.membership-section { padding-block:28px; }
 .home-access.section { padding-block:22px 28px; }
 .section-heading,.home-access .section-heading { margin-bottom:18px; }
 .feature-grid,.feature-grid--reverse { gap:20px; }
 .materials-panel,.membership-card { padding:24px 20px; gap:20px; }
 .site-footer { padding-top:30px; }
 .singular-content--veshtina-app .vs-shop,.singular-content--veshtina-app .va-shell { padding-block:6px 18px; }
 .singular-content--veshtina-app .vs-detail { gap:20px; }
 .singular-content--veshtina-app .vs-grid { gap:18px; }
 .singular-content--veshtina-app .vs-delivery { margin-top:22px; padding:18px; }
 .v-container.vp-blog { padding-block:18px 28px; }
 .vp-blog .vp-copy,.vp-blog .vp-featured .vp-copy { padding:20px; }
}

/* 1.5.10: balanced illustrated footer. */
.site-footer--art { position:relative; isolation:isolate; overflow:hidden; padding-top:36px; background:radial-gradient(ellipse at 50% 0, #28565e 0, #14363e 55%, #102e36 100%); border-top:4px solid #e8b479; }
.site-footer--art::before,.site-footer--art::after { content:""; position:absolute; z-index:-1; width:460px; height:460px; border:1px solid rgba(244,206,151,.13); border-radius:50%; pointer-events:none; }
.site-footer--art::before { left:-310px; top:80px; box-shadow:0 0 0 32px rgba(244,206,151,.025),0 0 0 65px rgba(244,206,151,.025); }
.site-footer--art::after { right:-310px; top:80px; box-shadow:0 0 0 32px rgba(244,206,151,.025),0 0 0 65px rgba(244,206,151,.025); }
.footer-constellation { position:absolute; inset:0; pointer-events:none; color:#efc48d; }
.footer-constellation span { position:absolute; font-size:28px; }
.footer-constellation span:nth-child(1) { left:13%; top:65px; transform:rotate(-12deg); }
.footer-constellation span:nth-child(2) { left:23%; top:140px; font-size:18px; }
.footer-constellation span:nth-child(3) { right:13%; top:65px; transform:rotate(12deg); }
.footer-constellation span:nth-child(4) { right:23%; top:140px; font-size:18px; }
.footer-intro { position:relative; text-align:center; padding-bottom:26px; }
.site-footer--art .brand-lockup--footer { margin:0 0 12px; padding:8px 20px; border-radius:24px 24px 24px 5px; transform:rotate(-2deg); box-shadow:0 8px 24px rgba(0,0,0,.12); }
.site-footer--art .brand-lockup--footer img { height:82px; }
.site-footer--art .footer-brand p { max-width:560px; margin:0 auto; font-size:.82rem; color:#bdd0d1; }
.site-footer--art .footer-brand .footer-tagline { max-width:none; margin-bottom:8px; color:#f9e6ca; font-family:var(--v-heading,var(--v-body)); font-size:1.5rem; line-height:1.3; }
.site-footer--art .footer-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; padding-bottom:0; }
.site-footer--art .footer-grid > div { min-width:0; padding:22px 18px; text-align:center; border:1px solid rgba(231,202,163,.2); border-radius:20px; background:rgba(255,255,255,.035); }
.site-footer--art h2 { display:flex; flex-direction:column; align-items:center; gap:9px; margin:0 0 16px; font-size:.8rem; letter-spacing:.12em; }
.footer-heading-icon { display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:rgba(239,196,141,.1); color:#efc48d; font-size:25px; font-weight:400; line-height:1; }
.site-footer--art li { margin:0 0 8px; }
.site-footer--art a { color:#d2dfe0; }
.site-footer--art a:hover { color:#f6c589; }
.footer-director { margin:0 0 10px; font-size:.84rem; }
.footer-director span,.footer-director strong { display:block; }
.footer-director span { margin-bottom:3px; font-size:.72rem; color:#bdd0d1; }
.footer-director strong { color:#fff2df; font-weight:600; }
.site-footer--art .footer-contact a[href^="tel:"] { color:#f6c589; font-size:1.2rem; font-weight:600; letter-spacing:.03em; }
.footer-contact a { overflow-wrap:anywhere; }
.footer-community { text-align:center; padding-block:22px; }
.footer-social-intro { margin:0 0 10px; font-size:.77rem; color:#bdd0d1; }
.footer-socials { display:flex; justify-content:center; flex-wrap:wrap; gap:12px; }
.site-footer--art .footer-socials a { display:inline-flex; justify-content:center; align-items:center; gap:15px; min-width:132px; min-height:42px; padding:9px 16px; border:1px solid rgba(239,196,141,.45); border-radius:30px; color:#f9e6ca; transition:background .2s,transform .2s; }
.footer-socials a:hover { background:rgba(239,196,141,.12); transform:translateY(-2px); }
.site-footer--art a:focus-visible { outline:2px solid #efc48d; outline-offset:4px; }
.site-footer--art .footer-bottom { padding-block:17px; font-size:.7rem; }
@media(max-width:700px) {
 .site-footer--art { padding-top:26px; }
 .site-footer--art .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .site-footer--art .footer-reach { grid-column:1 / -1; }
 .site-footer--art .footer-grid > div { padding:18px 12px; }
 .footer-constellation span:nth-child(2),.footer-constellation span:nth-child(4) { display:none; }
 .footer-constellation span:nth-child(1) { left:7%; top:55px; }
 .footer-constellation span:nth-child(3) { right:7%; top:55px; }
 .site-footer--art .footer-brand .footer-tagline { font-size:1.22rem; }
 .site-footer--art .footer-bottom { align-items:center; text-align:center; gap:8px; }
}
@media(prefers-reduced-motion:reduce) { .footer-socials a { transition:none; } .footer-socials a:hover { transform:none; } }

/* 1.5.10: compact footer, retaining the balanced decorative treatment. */
.site-footer--art { padding-top:18px; }
.site-footer--art .footer-intro { padding-bottom:16px; }
.site-footer--art .footer-brand { display:flex; align-items:center; justify-content:center; gap:22px; }
.site-footer--art .brand-lockup--footer { margin:0; padding:5px 12px; border-radius:15px 15px 15px 4px; }
.site-footer--art .brand-lockup--footer img { height:52px; }
.site-footer--art .footer-brand .footer-tagline { margin:0; font-size:1.15rem; }
.site-footer--art .footer-grid { gap:14px; padding-bottom:16px; }
.site-footer--art .footer-grid > div { padding:14px 16px; border-radius:15px; }
.site-footer--art h2 { flex-direction:row; justify-content:center; gap:8px; margin-bottom:10px; font-size:.75rem; }
.site-footer--art .footer-heading-icon { width:24px; height:24px; font-size:19px; }
.site-footer--art li { margin:0 0 5px; line-height:1.4; }
.site-footer--art li:last-child { margin-bottom:0; }
.site-footer--art .footer-director { margin:0 0 7px; line-height:1.45; }
.site-footer--art .footer-contact a[href^="tel:"] { font-size:1.05rem; }
.site-footer--art .footer-bottom { align-items:center; padding-block:12px; gap:15px; }
.site-footer--art .footer-socials { gap:8px; }
.site-footer--art .footer-socials a { min-width:0; min-height:34px; padding:5px 12px; gap:8px; }
.site-footer--art .footer-constellation span { top:28px; font-size:20px; }
.site-footer--art .footer-constellation span:nth-child(2),.site-footer--art .footer-constellation span:nth-child(4) { display:none; }
@media(max-width:700px) {
 .site-footer--art .footer-brand { gap:14px; }
 .site-footer--art .footer-brand .footer-tagline { max-width:190px; text-align:left; font-size:1rem; }
 .site-footer--art .brand-lockup--footer img { height:44px; }
 .site-footer--art .footer-grid { gap:10px; }
 .site-footer--art .footer-grid > div { padding:12px 10px; }
 .site-footer--art h2 { gap:5px; font-size:.68rem; letter-spacing:.06em; }
 .site-footer--art .footer-reach h2 { margin-bottom:6px; }
 .site-footer--art .footer-director span,.site-footer--art .footer-director strong { display:inline; }
 .site-footer--art .footer-director span { margin-right:6px; }
 .site-footer--art .footer-bottom { flex-direction:column; gap:8px; }
 .site-footer--art .footer-constellation { display:none; }
}

/* Keep the decorative science ring inside the mobile page. */
@media(max-width:600px){.feature-art--science::before{right:0;}}

/* 1.6.1: language controls and uncluttered mobile account actions. */
.header-actions{gap:10px;flex-wrap:nowrap;align-items:center}
.header-mobile-account-actions{display:none}
@media(max-width:980px){
 .header-mobile-account-actions{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:18px 20px 32px;border-top:1px solid var(--v-border)}
 .header-mobile-account-actions .header-login,.header-mobile-account-actions .header-register,.header-mobile-account-actions .header-account-link{display:inline-flex}
 .header-mobile-account-actions .header-account-link__avatar{display:inline-flex}
 .header-mobile-account-actions .header-account-link__name{max-width:180px}
 .header-mobile-account-actions .header-logout-form{display:block}
 .primary-navigation .menu{padding-bottom:20px}
}
@media(max-width:640px){
 .header-main{gap:8px}
 .header-actions{gap:8px;flex-wrap:nowrap}
 .header-actions>.header-account-link,.header-actions>.header-logout-form,.header-actions>.header-login,.header-actions>.header-register{display:none}
 .site-branding{flex:0 1 104px;min-width:0}
 .site-branding .custom-logo{max-width:104px;height:auto;max-height:72px}
 .brand-lockup:not(.brand-lockup--footer) img{max-width:104px;height:auto}
 .menu-toggle{flex-shrink:0}
}
@media(max-width:380px){.site-branding{flex-basis:94px}.site-branding .custom-logo,.brand-lockup:not(.brand-lockup--footer) img{max-width:94px}}
@media(min-width:981px){
 .primary-navigation>.menu>.menu-item{flex:0 0 auto;min-width:0}
 .primary-navigation>.menu{column-gap:6px;row-gap:3px}
 .primary-navigation>.menu>.menu-item>a{padding:7px 6px;min-height:32px;font-size:.8rem;white-space:nowrap}
}
