/*
Theme Name: Paglia Joy
Theme URI: https://pagliajoy.ro/
Author: iuli.dev
Author URI: https://iuli.dev/
Description: Temă WordPress modulară pentru Paglia Joy After-school, cu administrare completă a conținutului, animație cromatică a titlului și design responsive.
Version: 2.4.1
Requires at least: 6.5
Tested up to: 7.0
Requires PHP: 8.1
Text Domain: pagliajoy
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

:root {
	--pj-ink: #241f20;
	--pj-paper: #fffaf2;
	--pj-white: #ffffff;
	--pj-coral: #f38c76;
	--pj-blue: #63b7c6;
	--pj-yellow: #f4c94b;
	--pj-green: #57b98d;
	--pj-purple: #8967d8;
	--pj-border: rgba(36, 31, 32, 0.12);
	--pj-shadow: 0 24px 70px rgba(55, 39, 31, 0.13);
	--pj-radius: 28px;
	--pj-wrap: min(1180px, calc(100% - 40px));
	--pj-font: "Nunito Sans", "Avenir Next", "Segoe UI", sans-serif;
}

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

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--pj-paper);
	color: var(--pj-ink);
	font-family: var(--pj-font);
	font-size: 18px;
	line-height: 1.6;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

body.admin-bar .pj-site-header {
	top: 32px;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

a {
	color: inherit;
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.16em;
}

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

:focus-visible {
	outline: 3px solid var(--pj-purple);
	outline-offset: 4px;
}

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

.pj-skip-link:focus {
	position: fixed;
	z-index: 99999;
	top: 12px;
	left: 12px;
	width: auto;
	height: auto;
	padding: 10px 16px;
	clip: auto;
	background: var(--pj-ink);
	color: var(--pj-white);
	border-radius: 10px;
}

.pj-wrap {
	width: var(--pj-wrap);
	margin-inline: auto;
}

.pj-site-main {
	overflow: clip;
}

.pj-section {
	position: relative;
	padding: clamp(78px, 9vw, 136px) 0;
}

.pj-section--white {
	background: var(--pj-white);
}

.pj-section--ink {
	background: var(--pj-ink);
	color: var(--pj-white);
}

.pj-section-heading {
	max-width: 820px;
	margin-bottom: clamp(34px, 5vw, 64px);
}

.pj-section-heading--center {
	margin-inline: auto;
	text-align: center;
}

.pj-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin: 0 0 18px;
	font-size: 0.78rem;
	font-weight: 900;
	letter-spacing: 0.16em;
	line-height: 1.2;
	text-transform: uppercase;
}

.pj-eyebrow::before {
	width: 11px;
	height: 11px;
	background: var(--pj-coral);
	border-radius: 50% 50% 50% 12%;
	content: "";
	transform: rotate(25deg);
}

.pj-section-title {
	margin: 0;
	font-size: clamp(2.35rem, 5.6vw, 5.25rem);
	font-weight: 900;
	letter-spacing: -0.055em;
	line-height: 0.96;
}

.pj-section-intro {
	max-width: 680px;
	margin: 24px 0 0;
	color: rgba(36, 31, 32, 0.72);
	font-size: clamp(1rem, 1.7vw, 1.25rem);
}

.pj-section--ink .pj-section-intro {
	color: rgba(255, 255, 255, 0.7);
}

.pj-button {
	display: inline-flex;
	min-height: 54px;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 13px 23px;
	border: 2px solid transparent;
	border-radius: 15px;
	background: var(--pj-ink);
	box-shadow: 0 10px 0 rgba(36, 31, 32, 0.12);
	color: var(--pj-white);
	font-size: 0.96rem;
	font-weight: 900;
	line-height: 1.1;
	text-decoration: none;
	transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.pj-button:hover {
	box-shadow: 0 5px 0 rgba(36, 31, 32, 0.12);
	transform: translateY(5px);
}

.pj-button--coral {
	background: var(--pj-coral);
	color: var(--pj-ink);
}

.pj-button--light {
	border-color: var(--pj-border);
	background: rgba(255, 255, 255, 0.76);
	box-shadow: none;
	color: var(--pj-ink);
}

.pj-button--light:hover {
	background: var(--pj-white);
	box-shadow: none;
}

.pj-button--white {
	background: var(--pj-white);
	color: var(--pj-ink);
}

.pj-text-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 900;
	text-decoration: none;
}

.pj-text-link::after {
	content: "→";
	transition: transform 180ms ease;
}

.pj-text-link:hover::after {
	transform: translateX(4px);
}

/* Header */
.pj-site-header {
	position: sticky;
	z-index: 100;
	top: 0;
	padding: 14px 0;
	background: rgba(255, 250, 242, 0.88);
	border-bottom: 1px solid transparent;
	backdrop-filter: blur(18px);
	transition: border-color 180ms ease, box-shadow 180ms ease;
}

.pj-site-header.is-scrolled {
	border-color: var(--pj-border);
	box-shadow: 0 8px 32px rgba(36, 31, 32, 0.06);
}

.pj-header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.pj-brand {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font-size: 1.28rem;
	font-weight: 950;
	letter-spacing: -0.045em;
	text-decoration: none;
}

.pj-brand .custom-logo {
	width: auto;
	max-height: 54px;
}

.pj-brand-mark {
	display: grid;
	width: 48px;
	height: 48px;
	place-items: center;
	background: var(--pj-yellow);
	border: 2px solid var(--pj-ink);
	border-radius: 50% 45% 46% 35%;
	box-shadow: 4px 4px 0 var(--pj-ink);
	font-weight: 950;
	transform: rotate(-5deg);
}

.pj-primary-nav {
	display: flex;
	align-items: center;
	gap: clamp(20px, 2.5vw, 36px);
}

.pj-primary-nav ul {
	display: flex;
	align-items: center;
	gap: clamp(18px, 2vw, 30px);
	padding: 0;
	margin: 0;
	list-style: none;
}

.pj-primary-nav a {
	position: relative;
	font-size: 0.9rem;
	font-weight: 850;
	text-decoration: none;
}

.pj-primary-nav li:not(.pj-menu-cta) > a::after {
	position: absolute;
	right: 0;
	bottom: -6px;
	left: 0;
	height: 3px;
	background: var(--pj-coral);
	border-radius: 10px;
	content: "";
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 180ms ease;
}

.pj-primary-nav li.current-menu-item > a::after,
.pj-primary-nav li:not(.pj-menu-cta) > a:hover::after {
	transform: scaleX(1);
}

.pj-header-cta {
	padding: 11px 17px;
	border-radius: 13px;
	background: var(--pj-ink);
	color: var(--pj-white);
	text-decoration: none;
	font-size: 0.86rem;
	font-weight: 900;
}

.pj-nav-toggle {
	display: none;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 2px solid var(--pj-ink);
	border-radius: 13px;
	background: var(--pj-white);
	color: var(--pj-ink);
	cursor: pointer;
}

.pj-nav-toggle span {
	display: block;
	width: 22px;
	height: 2px;
	margin: 5px auto;
	background: currentColor;
	border-radius: 5px;
	transition: transform 180ms ease, opacity 180ms ease;
}

.pj-nav-toggle[aria-expanded="true"] span:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
}

.pj-nav-toggle[aria-expanded="true"] span:nth-child(2) {
	opacity: 0;
}

.pj-nav-toggle[aria-expanded="true"] span:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg);
}

/* Hero */
.pj-hero {
	position: relative;
	display: grid;
	min-height: calc(100svh - 82px);
	align-items: center;
	padding: clamp(60px, 8vw, 110px) 0;
	background:
		radial-gradient(circle at 7% 15%, rgba(244, 201, 75, 0.24) 0 9%, transparent 9.2%),
		radial-gradient(circle at 92% 28%, rgba(99, 183, 198, 0.19) 0 13%, transparent 13.2%),
		var(--pj-paper);
}

.pj-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(330px, 0.65fr);
	align-items: center;
	gap: clamp(44px, 7vw, 96px);
}

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

.pj-hero-title {
	max-width: 900px;
	margin: 0;
	font-size: clamp(3.65rem, 7.6vw, 7.35rem);
	font-weight: 950;
	letter-spacing: -0.075em;
	line-height: 0.84;
	text-wrap: balance;
}

.pj-hero-line {
	display: block;
}

.pj-hero-word {
	display: inline-block;
	white-space: nowrap;
}

.pj-hero-letter {
	display: inline-block;
	color: var(--pj-ink);
	transition: color 300ms ease, transform 300ms cubic-bezier(0.2, 0.8, 0.2, 1);
	will-change: color, transform;
}

.pj-hero-letter.is-accent {
	color: var(--pj-letter-color, var(--pj-purple));
}

.pj-hero-letter.is-bouncing {
	transform: translateY(-0.075em) rotate(var(--pj-letter-rotate, -1deg));
}

.pj-hero-space {
	display: inline-block;
	width: 0.23em;
}

.pj-hero-lead {
	max-width: 650px;
	margin: clamp(26px, 4vw, 42px) 0 0;
	font-size: clamp(1.08rem, 1.8vw, 1.38rem);
	font-weight: 650;
	line-height: 1.42;
}

.pj-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 32px;
}

.pj-hero-visual {
	position: relative;
	min-height: 560px;
}

.pj-hero-photo {
	position: absolute;
	z-index: 2;
	inset: 30px 0 30px 20px;
	overflow: hidden;
	border: 3px solid var(--pj-ink);
	border-radius: 46% 54% 43% 57% / 38% 43% 57% 62%;
	background: var(--pj-blue);
	box-shadow: 13px 14px 0 var(--pj-ink);
	transform: rotate(2.2deg);
}

.pj-hero-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.pj-playground {
	position: absolute;
	inset: 0;
	overflow: hidden;
	background:
		linear-gradient(155deg, transparent 48%, rgba(255,255,255,.28) 48.3% 50%, transparent 50.3%),
		var(--pj-blue);
}

.pj-playground::before {
	position: absolute;
	width: 210px;
	height: 210px;
	top: 55px;
	right: 38px;
	background: var(--pj-yellow);
	border: 3px solid var(--pj-ink);
	border-radius: 50%;
	content: "";
	box-shadow: -120px 250px 0 -50px var(--pj-green), -3px 8px 0 rgba(36,31,32,.25);
}

.pj-playground::after {
	position: absolute;
	width: 230px;
	height: 120px;
	right: -10px;
	bottom: 65px;
	background: var(--pj-coral);
	border: 3px solid var(--pj-ink);
	border-radius: 80px 80px 12px 12px;
	content: "";
	transform: rotate(-10deg);
}

.pj-hero-card {
	position: absolute;
	z-index: 4;
	max-width: 210px;
	padding: 18px 20px;
	border: 2px solid var(--pj-ink);
	border-radius: 20px;
	background: var(--pj-white);
	box-shadow: 7px 7px 0 var(--pj-ink);
	font-size: 0.87rem;
	font-weight: 850;
	line-height: 1.25;
}

.pj-hero-card strong {
	display: block;
	font-size: 1.36rem;
	font-weight: 950;
	letter-spacing: -0.04em;
}

.pj-hero-card--top {
	top: 0;
	left: 0;
	transform: rotate(-6deg);
}

.pj-hero-card--bottom {
	right: -10px;
	bottom: 0;
	background: var(--pj-yellow);
	transform: rotate(4deg);
}

.pj-doodle {
	position: absolute;
	z-index: 1;
	width: 88px;
	height: 88px;
	border: 3px solid var(--pj-ink);
	border-radius: 44% 56% 58% 42%;
}

.pj-doodle--one {
	right: -35px;
	top: 52px;
	background: var(--pj-purple);
	transform: rotate(22deg);
}

.pj-doodle--two {
	bottom: 46px;
	left: -26px;
	background: var(--pj-green);
	transform: rotate(-18deg);
}

/* Trust ribbon */
.pj-ribbon {
	overflow: hidden;
	padding: 17px 0;
	background: var(--pj-ink);
	color: var(--pj-white);
}

.pj-ribbon-track {
	display: flex;
	width: max-content;
	animation: pj-marquee 28s linear infinite;
}

.pj-ribbon-group {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	gap: 24px;
	padding-right: 24px;
}

.pj-ribbon-item {
	display: flex;
	align-items: center;
	gap: 24px;
	font-size: 0.88rem;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	white-space: nowrap;
}

.pj-ribbon-item::after {
	width: 12px;
	height: 12px;
	background: var(--pj-yellow);
	border-radius: 50%;
	content: "";
}

@keyframes pj-marquee {
	to { transform: translateX(-50%); }
}

/* Programs */
.pj-card-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.pj-program-card {
	position: relative;
	display: flex;
	min-height: 430px;
	flex-direction: column;
	overflow: hidden;
	padding: clamp(26px, 3vw, 38px);
	border: 2px solid var(--pj-ink);
	border-radius: var(--pj-radius);
	background: var(--pj-card-color, var(--pj-blue));
	box-shadow: 8px 8px 0 var(--pj-ink);
	transition: transform 220ms ease, box-shadow 220ms ease;
}

.pj-program-card:hover {
	box-shadow: 12px 14px 0 var(--pj-ink);
	transform: translate(-4px, -6px);
}

.pj-program-card::after {
	position: absolute;
	right: -42px;
	bottom: -42px;
	width: 170px;
	height: 170px;
	border: 2px solid var(--pj-ink);
	border-radius: 45% 55% 52% 48%;
	background: rgba(255, 255, 255, 0.24);
	content: "";
	transform: rotate(22deg);
}

.pj-program-icon {
	display: grid;
	width: 68px;
	height: 68px;
	place-items: center;
	border: 2px solid var(--pj-ink);
	border-radius: 21px;
	background: var(--pj-white);
	box-shadow: 4px 4px 0 var(--pj-ink);
	font-size: 2rem;
	transform: rotate(-4deg);
}

.pj-program-kicker {
	margin: auto 0 10px;
	font-size: 0.76rem;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.pj-program-card h3 {
	max-width: 12ch;
	margin: 0;
	font-size: clamp(2rem, 3.1vw, 3.1rem);
	font-weight: 950;
	letter-spacing: -0.055em;
	line-height: 0.98;
}

.pj-program-card p {
	position: relative;
	z-index: 1;
	margin: 20px 0 28px;
	font-size: 0.98rem;
	line-height: 1.5;
}

.pj-program-meta {
	position: relative;
	z-index: 1;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 24px;
	padding: 0;
	list-style: none;
}

.pj-program-meta li {
	padding: 6px 10px;
	border: 1px solid var(--pj-ink);
	border-radius: 999px;
	background: rgba(255,255,255,.36);
	font-size: 0.74rem;
	font-weight: 850;
}

/* About */
.pj-about-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	align-items: center;
	gap: clamp(48px, 8vw, 110px);
}

.pj-about-art {
	position: relative;
	min-height: 520px;
}

.pj-about-shape {
	position: absolute;
	inset: 0 8% 0 0;
	overflow: hidden;
	border: 3px solid var(--pj-ink);
	border-radius: 34% 66% 61% 39% / 48% 37% 63% 52%;
	background: var(--pj-yellow);
	box-shadow: 13px 14px 0 var(--pj-ink);
	transform: rotate(-2deg);
}

.pj-about-shape img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.pj-about-shape:not(:has(img))::before,
.pj-about-shape:not(:has(img))::after {
	position: absolute;
	content: "";
}

.pj-about-shape:not(:has(img))::before {
	width: 64%;
	height: 64%;
	top: 18%;
	left: 18%;
	border: 3px solid var(--pj-ink);
	border-radius: 50%;
	background: var(--pj-coral);
	box-shadow: inset 0 0 0 36px rgba(255,255,255,.3);
}

.pj-about-shape:not(:has(img))::after {
	width: 140px;
	height: 140px;
	right: 8%;
	bottom: 6%;
	border: 3px solid var(--pj-ink);
	border-radius: 28px;
	background: var(--pj-blue);
	transform: rotate(15deg);
}

.pj-about-note {
	position: absolute;
	z-index: 3;
	right: 0;
	bottom: 38px;
	max-width: 220px;
	padding: 20px;
	border: 2px solid var(--pj-ink);
	border-radius: 18px;
	background: var(--pj-white);
	box-shadow: 7px 7px 0 var(--pj-ink);
	font-weight: 900;
	line-height: 1.3;
	transform: rotate(4deg);
}

.pj-about-copy .pj-section-intro {
	margin-bottom: 32px;
}

.pj-values {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
	margin: 34px 0;
}

.pj-value {
	padding: 16px 14px;
	border: 1px solid var(--pj-border);
	border-radius: 16px;
	background: var(--pj-white);
	font-size: 0.78rem;
	font-weight: 900;
	line-height: 1.25;
	text-align: center;
}

/* Stages */
.pj-stages {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}

.pj-stage {
	position: relative;
	padding: 28px 24px 30px;
	border: 1px solid rgba(255,255,255,.22);
	border-radius: 24px;
	background: rgba(255,255,255,.06);
}

.pj-stage-number {
	display: grid;
	width: 48px;
	height: 48px;
	margin-bottom: 42px;
	place-items: center;
	border-radius: 50%;
	background: var(--pj-stage-color, var(--pj-yellow));
	color: var(--pj-ink);
	font-size: 0.83rem;
	font-weight: 950;
}

.pj-stage h3 {
	margin: 0 0 14px;
	font-size: 1.4rem;
	font-weight: 900;
	letter-spacing: -0.03em;
	line-height: 1.08;
}

.pj-stage p {
	margin: 0;
	color: rgba(255,255,255,.7);
	font-size: 0.91rem;
}

/* Testimonials */
.pj-testimonial-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.pj-testimonial {
	position: relative;
	margin: 0;
	padding: 32px;
	border: 2px solid var(--pj-ink);
	border-radius: 24px;
	background: var(--pj-white);
	box-shadow: 7px 7px 0 var(--pj-ink);
}

.pj-testimonial:nth-child(2) {
	background: #fff1ee;
	transform: rotate(1.4deg);
}

.pj-testimonial:nth-child(3) {
	background: #f0fbf7;
	transform: rotate(-1.2deg);
}

.pj-stars {
	margin-bottom: 20px;
	color: #cf7900;
	font-size: 1rem;
	letter-spacing: 0.08em;
}

.pj-testimonial blockquote {
	margin: 0;
	font-size: 1.08rem;
	font-weight: 720;
	line-height: 1.52;
}

.pj-testimonial footer {
	margin-top: 26px;
	font-size: 0.82rem;
}

.pj-testimonial cite {
	display: block;
	font-size: 1rem;
	font-style: normal;
	font-weight: 950;
}

/* Gallery */
.pj-gallery-grid {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	grid-auto-rows: 140px;
	gap: 16px;
}

.pj-gallery-item {
	position: relative;
	grid-column: span 4;
	grid-row: span 2;
	overflow: hidden;
	border: 2px solid var(--pj-ink);
	border-radius: 24px;
	background: var(--pj-gallery-color, var(--pj-yellow));
}

.pj-gallery-item:nth-child(1),
.pj-gallery-item:nth-child(5) {
	grid-column: span 5;
}

.pj-gallery-item:nth-child(2),
.pj-gallery-item:nth-child(4) {
	grid-column: span 3;
}

.pj-gallery-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 500ms ease;
}

.pj-gallery-item:hover img {
	transform: scale(1.045);
}

.pj-gallery-placeholder {
	display: grid;
	height: 100%;
	place-items: center;
	padding: 30px;
	background:
		radial-gradient(circle at 70% 30%, rgba(255,255,255,.45) 0 20%, transparent 20.5%),
		var(--pj-gallery-color, var(--pj-yellow));
	text-align: center;
}

.pj-gallery-caption {
	position: absolute;
	right: 12px;
	bottom: 12px;
	left: 12px;
	padding: 11px 14px;
	border-radius: 14px;
	background: rgba(255,255,255,.9);
	font-size: 0.82rem;
	font-weight: 850;
	opacity: 0;
	transform: translateY(10px);
	transition: opacity 180ms ease, transform 180ms ease;
}

.pj-gallery-item:hover .pj-gallery-caption,
.pj-gallery-item:focus-within .pj-gallery-caption {
	opacity: 1;
	transform: none;
}

/* Contact */
.pj-contact-shell {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(420px, 1.15fr);
	gap: clamp(40px, 7vw, 90px);
	padding: clamp(32px, 5vw, 66px);
	border: 2px solid var(--pj-ink);
	border-radius: 36px;
	background: var(--pj-yellow);
	box-shadow: 12px 12px 0 var(--pj-ink);
}

.pj-contact-list {
	display: grid;
	gap: 16px;
	margin: 30px 0 0;
	padding: 0;
	list-style: none;
}

.pj-contact-list a {
	font-weight: 900;
}

.pj-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	padding: clamp(24px, 4vw, 38px);
	border: 2px solid var(--pj-ink);
	border-radius: 26px;
	background: var(--pj-white);
}

.pj-field {
	display: grid;
	gap: 7px;
}

.pj-field--wide {
	grid-column: 1 / -1;
}

.pj-field label {
	font-size: 0.8rem;
	font-weight: 900;
}

.pj-field input,
.pj-field textarea,
.pj-field select {
	width: 100%;
	padding: 13px 14px;
	border: 1.5px solid rgba(36,31,32,.35);
	border-radius: 12px;
	background: var(--pj-paper);
	color: var(--pj-ink);
}

.pj-field textarea {
	min-height: 120px;
	resize: vertical;
}

.pj-consent {
	display: flex;
	grid-column: 1 / -1;
	align-items: flex-start;
	gap: 10px;
	font-size: 0.78rem;
}

.pj-consent input {
	width: 19px;
	height: 19px;
	flex: 0 0 auto;
	margin-top: 3px;
	accent-color: var(--pj-green);
}

.pj-form .pj-button {
	grid-column: 1 / -1;
	border: 0;
	cursor: pointer;
}

.pj-honeypot {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.pj-notice {
	grid-column: 1 / -1;
	padding: 12px 14px;
	border: 1px solid currentColor;
	border-radius: 12px;
	font-size: 0.85rem;
	font-weight: 800;
}

.pj-notice--success {
	background: #e9f9f0;
	color: #16683d;
}

.pj-notice--error {
	background: #fff0ed;
	color: #9a3025;
}

/* Footer */
.pj-site-footer {
	padding: 72px 0 28px;
	background: var(--pj-ink);
	color: var(--pj-white);
}

.pj-footer-grid {
	display: grid;
	grid-template-columns: 1.3fr 0.8fr 1fr;
	gap: 50px;
}

.pj-footer-brand {
	font-size: clamp(2rem, 4vw, 3.6rem);
	font-weight: 950;
	letter-spacing: -0.06em;
	line-height: 0.95;
}

.pj-footer-description {
	max-width: 440px;
	margin-top: 20px;
	color: rgba(255,255,255,.68);
}

.pj-footer-title {
	margin: 0 0 20px;
	font-size: 0.75rem;
	font-weight: 900;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.pj-footer-menu,
.pj-footer-contact {
	display: grid;
	gap: 10px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.pj-footer-menu a,
.pj-footer-contact a {
	color: rgba(255,255,255,.8);
	text-decoration: none;
}

.pj-footer-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding-top: 26px;
	margin-top: 54px;
	border-top: 1px solid rgba(255,255,255,.14);
	color: rgba(255,255,255,.55);
	font-size: 0.76rem;
}

.pj-socials {
	display: flex;
	gap: 10px;
}

.pj-socials a {
	display: grid;
	width: 38px;
	height: 38px;
	place-items: center;
	border: 1px solid rgba(255,255,255,.22);
	border-radius: 50%;
	color: var(--pj-white);
	font-size: 0.72rem;
	font-weight: 900;
	text-decoration: none;
	text-transform: uppercase;
}

/* Inner pages */
.pj-page-hero {
	padding: clamp(70px, 9vw, 120px) 0;
	background:
		radial-gradient(circle at 86% 34%, rgba(137,103,216,.18) 0 12%, transparent 12.3%),
		var(--pj-yellow);
	border-bottom: 2px solid var(--pj-ink);
}

.pj-page-hero h1 {
	max-width: 900px;
	margin: 0;
	font-size: clamp(3rem, 7vw, 6.5rem);
	font-weight: 950;
	letter-spacing: -0.065em;
	line-height: 0.9;
}

.pj-content {
	width: min(820px, calc(100% - 40px));
	margin-inline: auto;
	padding: clamp(60px, 8vw, 110px) 0;
}

.pj-content > * {
	max-width: 100%;
}

.pj-content h2,
.pj-content h3 {
	font-weight: 950;
	letter-spacing: -0.04em;
	line-height: 1.05;
}

.pj-content h2 {
	margin-top: 1.5em;
	font-size: clamp(2rem, 4vw, 3.4rem);
}

.pj-content a {
	color: #5e42af;
	font-weight: 800;
}

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

.pj-post-card {
	overflow: hidden;
	border: 2px solid var(--pj-ink);
	border-radius: 22px;
	background: var(--pj-white);
	box-shadow: 6px 6px 0 var(--pj-ink);
}

.pj-post-card-media {
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--pj-blue);
}

.pj-post-card-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.pj-post-card-copy {
	padding: 25px;
}

.pj-post-card h2,
.pj-post-card h3 {
	margin: 0 0 14px;
	font-size: 1.55rem;
	font-weight: 950;
	letter-spacing: -0.035em;
	line-height: 1.08;
}

.pj-pagination {
	margin-top: 52px;
}

.pj-empty {
	padding: 40px;
	border: 2px dashed var(--pj-border);
	border-radius: 24px;
	text-align: center;
}

/* Reveal motion */
[data-reveal] {
	opacity: 0;
	transform: translateY(26px);
	transition: opacity 650ms ease, transform 650ms cubic-bezier(.2,.8,.2,1);
}

[data-reveal].is-visible {
	opacity: 1;
	transform: none;
}

@media (max-width: 1040px) {
	.pj-hero-grid {
		grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
		gap: 38px;
	}

	.pj-hero-title {
		font-size: clamp(3.4rem, 8.8vw, 6rem);
	}

	.pj-hero-visual {
		min-height: 480px;
	}

	.pj-card-grid,
	.pj-testimonial-grid,
	.pj-post-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.pj-stages {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.pj-primary-nav ul {
		gap: 16px;
	}

	.pj-header-cta {
		display: none;
	}
}

@media (max-width: 820px) {
	body.admin-bar .pj-site-header {
		top: 46px;
	}

	.pj-site-header {
		padding: 10px 0;
	}

	.pj-nav-toggle {
		display: block;
	}

	.pj-js .pj-primary-nav {
		position: absolute;
		top: calc(100% + 1px);
		right: 20px;
		left: 20px;
		display: none;
		padding: 18px;
		border: 2px solid var(--pj-ink);
		border-radius: 20px;
		background: var(--pj-white);
		box-shadow: 8px 8px 0 var(--pj-ink);
	}

	.pj-js .pj-primary-nav.is-open {
		display: block;
	}

	.pj-primary-nav ul {
		display: grid;
		gap: 4px;
	}

	.pj-primary-nav a {
		display: block;
		padding: 12px;
	}

	.pj-primary-nav li:not(.pj-menu-cta) > a::after {
		display: none;
	}

	.pj-hero {
		min-height: auto;
	}

	.pj-hero-grid,
	.pj-about-grid,
	.pj-contact-shell,
	.pj-footer-grid {
		grid-template-columns: 1fr;
	}

	.pj-hero-copy {
		text-align: center;
	}

	.pj-hero-lead {
		margin-inline: auto;
	}

	.pj-hero-actions {
		justify-content: center;
	}

	.pj-hero-visual {
		width: min(540px, 100%);
		min-height: 500px;
		margin-inline: auto;
	}

	.pj-about-art {
		width: min(560px, 100%);
		margin-inline: auto;
	}

	.pj-contact-shell {
		gap: 34px;
	}

	.pj-footer-grid {
		gap: 36px;
	}
}

@media (max-width: 620px) {
	:root {
		--pj-wrap: min(100% - 28px, 1180px);
		--pj-radius: 22px;
	}

	body {
		font-size: 16px;
	}

	.pj-brand {
		font-size: 1.08rem;
	}

	.pj-brand-mark {
		width: 42px;
		height: 42px;
	}

	.pj-hero {
		padding-top: 48px;
	}

	.pj-hero-title {
		font-size: clamp(3rem, 15vw, 4.6rem);
		line-height: 0.87;
	}

	.pj-hero-actions .pj-button {
		width: 100%;
	}

	.pj-hero-visual {
		min-height: 390px;
	}

	.pj-hero-photo {
		inset: 35px 10px 25px;
		box-shadow: 8px 9px 0 var(--pj-ink);
	}

	.pj-hero-card {
		max-width: 160px;
		padding: 13px 14px;
		font-size: 0.72rem;
	}

	.pj-hero-card strong {
		font-size: 1.05rem;
	}

	.pj-card-grid,
	.pj-testimonial-grid,
	.pj-post-grid,
	.pj-stages {
		grid-template-columns: 1fr;
	}

	.pj-program-card {
		min-height: 390px;
	}

	.pj-about-art {
		min-height: 400px;
	}

	.pj-values {
		grid-template-columns: 1fr;
	}

	.pj-stage-number {
		margin-bottom: 24px;
	}

	.pj-gallery-grid {
		grid-template-columns: 1fr;
		grid-auto-rows: 240px;
	}

	.pj-gallery-item,
	.pj-gallery-item:nth-child(1),
	.pj-gallery-item:nth-child(2),
	.pj-gallery-item:nth-child(4),
	.pj-gallery-item:nth-child(5) {
		grid-column: auto;
		grid-row: auto;
	}

	.pj-contact-shell {
		padding: 22px;
		box-shadow: 7px 7px 0 var(--pj-ink);
	}

	.pj-form {
		grid-template-columns: 1fr;
		padding: 20px;
	}

	.pj-field {
		grid-column: 1 / -1;
	}

	.pj-footer-bottom {
		align-items: flex-start;
		flex-direction: column;
	}
}

/* ================================================================
   Paglia Joy 2.1 — Coolors motion, mozaic dens și micro-interacțiuni
   ================================================================ */

.pj-hero-letter.is-accent {
	text-shadow: 0 .025em 0 rgba(36, 31, 32, .08);
	transition: color 340ms cubic-bezier(.2,.8,.2,1), transform 520ms cubic-bezier(.16,1,.3,1);
}

.pj-hero-letter.is-bouncing {
	animation: pj-coolors-letter 580ms cubic-bezier(.16,1,.3,1) both;
}

@keyframes pj-coolors-letter {
	0% { transform: translateY(0) rotate(0) scale(1); }
	42% { transform: translateY(-.14em) rotate(var(--pj-letter-rotate, -1deg)) scale(1.055); }
	72% { transform: translateY(.025em) rotate(calc(var(--pj-letter-rotate, -1deg) * -.35)) scale(.99); }
	100% { transform: translateY(0) rotate(0) scale(1); }
}

.pj-fluid-title.is-color-sweep .pj-title-char {
	background: linear-gradient(105deg, var(--pj-coral), var(--pj-purple), var(--pj-blue), var(--pj-green), var(--pj-yellow), var(--pj-coral));
	background-clip: text;
	-webkit-background-clip: text;
	background-size: 350% 100%;
	color: transparent;
	animation: pj-title-sweep 1.45s cubic-bezier(.16,1,.3,1) both;
	animation-delay: calc(var(--pj-char-index, 0) * 22ms);
}

@keyframes pj-title-sweep {
	0% { background-position: 0 50%; transform: translateY(0) rotate(0); }
	34% { transform: translateY(var(--pj-wave, -.04em)) rotate(var(--pj-wave-rotate, 0deg)); }
	70% { background-position: 185% 50%; transform: translateY(calc(var(--pj-wave, -.04em) * -.4)) rotate(0); }
	100% { background-position: 350% 50%; transform: translateY(0) rotate(0); }
}

[data-reveal] {
	filter: blur(7px);
	transition-duration: 760ms;
	transition-delay: calc(var(--pj-reveal-index, 0) * 52ms);
	transition-timing-function: cubic-bezier(.16,1,.3,1);
	will-change: opacity, transform, filter;
}

[data-reveal][data-reveal-direction="left"]:not([data-tilt]):not([data-parallax]) {
	transform: translate3d(-34px, 22px, 0) rotate(-.8deg) scale(.985);
}

[data-reveal][data-reveal-direction="right"]:not([data-tilt]):not([data-parallax]) {
	transform: translate3d(34px, 22px, 0) rotate(.8deg) scale(.985);
}

[data-reveal][data-reveal-direction="up"]:not([data-tilt]):not([data-parallax]) {
	transform: translate3d(0, 38px, 0) scale(.975);
}

[data-reveal].is-visible {
	filter: blur(0);
}

[data-reveal].is-visible:not([data-tilt]):not([data-parallax]) {
	transform: none;
}

.pj-button {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	transition-duration: 320ms;
	transition-timing-function: cubic-bezier(.16,1,.3,1);
}

.pj-button::after {
	position: absolute;
	inset: -45% auto -45% -48%;
	width: 34%;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,.66), transparent);
	content: "";
	pointer-events: none;
	transform: skewX(-18deg);
	transition: left 620ms cubic-bezier(.16,1,.3,1);
}

.pj-button:hover::after,
.pj-button:focus-visible::after {
	left: 118%;
}

.pj-hero-photo img {
	animation: pj-hero-breathe 9s ease-in-out infinite alternate;
	transform-origin: 50% 58%;
}

@keyframes pj-hero-breathe {
	0% { transform: scale(1.01) translate3d(0, 0, 0); }
	100% { transform: scale(1.045) translate3d(0, -1.1%, 0); }
}

.pj-hero-stat {
	transition: transform 320ms cubic-bezier(.16,1,.3,1), background 320ms ease, border-color 320ms ease;
}

.pj-hero-stat:hover {
	border-color: var(--pj-ink);
	background: var(--pj-white);
	transform: translateY(-6px) rotate(-.6deg);
}

.pj-benefit-card:hover .pj-benefit-icon,
.pj-activity-card:hover .pj-activity-icon {
	animation: pj-icon-wiggle 720ms cubic-bezier(.16,1,.3,1);
}

@keyframes pj-icon-wiggle {
	0%, 100% { transform: rotate(0) scale(1); }
	34% { transform: rotate(-8deg) scale(1.12); }
	67% { transform: rotate(7deg) scale(1.06); }
}

.pj-gallery-grid--mosaic {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	grid-auto-flow: dense;
	grid-auto-rows: 112px;
	gap: 18px;
}

.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(1) {
	grid-column: 1 / span 5;
	grid-row: 1 / span 4;
}

.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(2) {
	grid-column: 6 / span 4;
	grid-row: 1 / span 2;
}

.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(3) {
	grid-column: 10 / span 3;
	grid-row: 1 / span 3;
}

.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(4) {
	grid-column: 6 / span 4;
	grid-row: 3 / span 3;
}

.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(5) {
	grid-column: 1 / span 5;
	grid-row: 5 / span 3;
}

.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(6) {
	grid-column: 10 / span 3;
	grid-row: 4 / span 4;
}

.pj-gallery-grid--mosaic .pj-gallery-item {
	min-height: 0;
	outline: none;
	transform-origin: center;
}

.pj-gallery-grid--mosaic .pj-gallery-item::after {
	position: absolute;
	z-index: 1;
	inset: 0;
	background: radial-gradient(circle at var(--pj-gallery-glow-x, 50%) var(--pj-gallery-glow-y, 50%), rgba(255,255,255,.24), transparent 34%);
	content: "";
	opacity: 0;
	pointer-events: none;
	transition: opacity 320ms ease;
}

.pj-gallery-media {
	position: absolute;
	inset: 0;
	overflow: hidden;
	background: var(--pj-gallery-color, var(--pj-yellow));
	animation: pj-gallery-breathe 8s ease-in-out infinite alternate;
	animation-delay: calc((var(--pj-reveal-index, 0) + 1) * -930ms);
	transform-origin: center;
}

.pj-gallery-grid--mosaic .pj-gallery-media img {
	position: absolute;
	inset: 0;
	width: 100%;
	max-width: none;
	height: 100%;
	object-fit: cover;
	transform: scale(2.08) translate3d(var(--pj-gallery-pan-x, 0%), var(--pj-gallery-pan-y, 0%), 0);
	transition: transform 720ms cubic-bezier(.16,1,.3,1), filter 420ms ease;
}

.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(1) .pj-gallery-media img { transform-origin: 25% 25%; }
.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(2) .pj-gallery-media img { transform-origin: 75% 25%; }
.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(3) .pj-gallery-media img { transform-origin: 25% 75%; }
.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(4) .pj-gallery-media img { transform-origin: 75% 75%; }
.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(5) .pj-gallery-media img { transform-origin: 25% 25%; }
.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(6) .pj-gallery-media img { transform-origin: 75% 75%; }

.pj-gallery-grid--mosaic .pj-gallery-item:hover,
.pj-gallery-grid--mosaic .pj-gallery-item:focus-visible {
	z-index: 4;
	border-radius: 46px 24px 40px 28px;
	box-shadow: 0 26px 62px rgba(36,31,32,.24);
	transform: translateY(-10px) rotate(.65deg) scale(1.012);
}

.pj-gallery-grid--mosaic .pj-gallery-item:hover::after,
.pj-gallery-grid--mosaic .pj-gallery-item:focus-visible::after {
	opacity: 1;
}

.pj-gallery-grid--mosaic .pj-gallery-item:hover .pj-gallery-media img,
.pj-gallery-grid--mosaic .pj-gallery-item:focus-visible .pj-gallery-media img {
	filter: saturate(1.08) contrast(1.03);
	transform: scale(2.2) translate3d(var(--pj-gallery-pan-x, 0%), var(--pj-gallery-pan-y, 0%), 0);
}

.pj-gallery-grid--mosaic .pj-gallery-caption {
	z-index: 2;
	box-shadow: 0 10px 34px rgba(36,31,32,.13);
	transition: opacity 320ms ease, transform 420ms cubic-bezier(.16,1,.3,1);
}

.pj-gallery-grid--mosaic .pj-gallery-item:focus-visible {
	outline: 4px solid var(--pj-blue);
	outline-offset: 5px;
}

@keyframes pj-gallery-breathe {
	0% { scale: 1; }
	100% { scale: 1.018; }
}

@media (max-width: 900px) and (min-width: 621px) {
	.pj-gallery-grid--mosaic {
		grid-template-columns: repeat(6, minmax(0, 1fr));
		grid-auto-rows: 104px;
	}

	.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(1) { grid-column: 1 / span 4; grid-row: 1 / span 4; }
	.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(2) { grid-column: 5 / span 2; grid-row: 1 / span 2; }
	.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(3) { grid-column: 5 / span 2; grid-row: 3 / span 3; }
	.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(4) { grid-column: 1 / span 4; grid-row: 5 / span 2; }
	.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(5) { grid-column: 5 / span 2; grid-row: 6 / span 3; }
	.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(6) { grid-column: 1 / span 4; grid-row: 7 / span 2; }
}

@media (max-width: 620px) {
	.pj-gallery-grid--mosaic {
		display: grid;
		grid-template-columns: 1fr;
		grid-auto-rows: auto;
		gap: 16px;
	}

	.pj-gallery-grid--mosaic .pj-gallery-item,
	.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(1),
	.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(2),
	.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(3),
	.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(4),
	.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(5),
	.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(6) {
		min-height: 280px;
		grid-column: 1;
		grid-row: auto;
	}

	.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(1),
	.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(4) {
		min-height: 390px;
	}

	.pj-gallery-grid--mosaic .pj-gallery-media img {
		transform: scale(2.18);
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}

	[data-reveal] {
		opacity: 1;
		transform: none;
	}
}

/* ================================================================
   Paglia Joy 2.0 — sistem vizual, interacțiuni și pagini extinse
   ================================================================ */

@view-transition {
	navigation: auto;
}

::view-transition-old(root),
::view-transition-new(root) {
	animation-duration: 260ms;
}

.pj-js body {
	opacity: 0;
	transition: opacity 320ms ease, transform 320ms ease;
}

.pj-js body.pj-page-loaded {
	opacity: 1;
}

.pj-js body.pj-page-leaving {
	opacity: 0;
	transform: translateY(8px);
}

[data-parallax] {
	translate: 0 var(--pj-parallax-y, 0);
}

.pj-fluid-title {
	color: var(--pj-ink);
	cursor: default;
}

.pj-section-title,
.pj-page-title,
.pj-benefit-card h3,
.pj-activity-card h3,
.pj-team-copy h2 {
	color: var(--pj-ink);
}

.pj-section--ink .pj-section-heading {
	padding: clamp(24px, 4vw, 42px);
	border: 2px solid var(--pj-ink);
	border-radius: 30px;
	background: var(--pj-yellow);
	color: var(--pj-ink);
}

.pj-section--ink .pj-section-heading .pj-section-intro {
	color: rgba(36,31,32,.72);
}

.pj-title-char {
	display: inline-block;
	color: currentColor;
	transform: translateY(0) rotate(0);
	transform-origin: 50% 80%;
	transition: color 380ms ease, transform 480ms cubic-bezier(.2,.8,.2,1);
}

.pj-title-word {
	display: inline-block;
	white-space: nowrap;
}

.pj-title-char:nth-child(4n + 1) { --pj-wave: -0.065em; --pj-wave-rotate: -1.2deg; }
.pj-title-char:nth-child(4n + 2) { --pj-wave: 0.025em; --pj-wave-rotate: 0.7deg; }
.pj-title-char:nth-child(4n + 3) { --pj-wave: -0.035em; --pj-wave-rotate: 1.1deg; }
.pj-title-char:nth-child(4n) { --pj-wave: 0.015em; --pj-wave-rotate: -0.5deg; }

.pj-fluid-title:hover .pj-title-char,
.pj-fluid-title:focus-visible .pj-title-char {
	background: linear-gradient(105deg, var(--pj-coral), var(--pj-purple), var(--pj-blue), var(--pj-green), var(--pj-yellow), var(--pj-coral));
	background-clip: text;
	-webkit-background-clip: text;
	background-size: 350% 100%;
	color: transparent;
	transform: translateY(var(--pj-wave, -0.03em)) rotate(var(--pj-wave-rotate, 0deg));
	animation: pj-title-gradient 2.8s linear infinite;
	animation-delay: calc(var(--pj-char-index, 0) * 24ms);
}

@keyframes pj-title-gradient {
	to { background-position: 350% 50%; }
}

[data-tilt] {
	transform: perspective(900px) rotateX(var(--pj-tilt-x, 0deg)) rotateY(var(--pj-tilt-y, 0deg));
	transform-style: preserve-3d;
	transition: transform 260ms cubic-bezier(.2,.8,.2,1), box-shadow 260ms ease;
}

[data-tilt]::before {
	pointer-events: none;
}

.pj-program-card[data-tilt]:hover {
	box-shadow: 12px 15px 0 var(--pj-ink);
	transform: perspective(900px) rotateX(var(--pj-tilt-x, 0deg)) rotateY(var(--pj-tilt-y, 0deg)) translateY(-5px);
}

.pj-site-header {
	background: rgba(255, 250, 242, 0.82);
}

.pj-header-inner {
	max-width: 1440px;
}

.pj-primary-nav ul {
	gap: clamp(12px, 1.25vw, 22px);
}

.pj-primary-nav a {
	font-size: clamp(.76rem, .85vw, .88rem);
}

.pj-hero {
	min-height: min(940px, calc(100svh - 76px));
	overflow: hidden;
	padding: clamp(70px, 7.5vw, 118px) 0 clamp(62px, 7vw, 105px);
	background:
		radial-gradient(circle at 5% 12%, rgba(244, 201, 75, .31) 0 8%, transparent 8.2%),
		radial-gradient(circle at 96% 38%, rgba(99, 183, 198, .21) 0 16%, transparent 16.2%),
		linear-gradient(145deg, #fffaf2 0%, #fffdf8 54%, #fff5e4 100%);
}

.pj-hero-grid {
	position: relative;
	z-index: 2;
	grid-template-columns: minmax(0, 1.05fr) minmax(440px, .95fr);
	gap: clamp(34px, 5vw, 74px);
}

.pj-hero-title {
	font-size: clamp(3.8rem, 6.55vw, 7rem);
	line-height: .86;
}

.pj-hero-lead {
	max-width: 610px;
}

.pj-hero-visual {
	min-height: 640px;
}

.pj-hero-photo {
	inset: 18px -55px 24px -8px;
	border-radius: 42% 58% 36% 64% / 47% 35% 65% 53%;
	background: #f4dfbd;
	box-shadow: 15px 16px 0 var(--pj-ink), 0 42px 90px rgba(65, 45, 30, .16);
}

.pj-hero-photo::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(255,255,255,.18), transparent 42%);
	content: "";
	pointer-events: none;
}

.pj-hero-card {
	backdrop-filter: blur(12px);
}

.pj-hero-spark {
	position: absolute;
	z-index: 5;
	display: grid;
	place-items: center;
	animation: pj-float 4.8s ease-in-out infinite;
}

.pj-hero-spark--one {
	top: 18%;
	right: -5%;
	width: 56px;
	height: 56px;
	border: 2px solid var(--pj-ink);
	border-radius: 18px;
	background: var(--pj-coral);
	font-size: 1.5rem;
	transform: rotate(10deg);
}

.pj-hero-spark--two {
	right: 3%;
	bottom: 20%;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--pj-purple);
	color: var(--pj-white);
	animation-delay: -1.7s;
}

.pj-hero-stats {
	display: grid;
	max-width: 680px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	margin-top: 42px;
}

.pj-hero-stat {
	padding: 13px 12px;
	border: 1px solid var(--pj-border);
	border-radius: 16px;
	background: rgba(255,255,255,.62);
	backdrop-filter: blur(12px);
}

.pj-hero-stat strong,
.pj-hero-stat span {
	display: block;
}

.pj-hero-stat strong {
	font-size: 1.28rem;
	font-weight: 950;
	letter-spacing: -.04em;
}

.pj-hero-stat span {
	font-size: .66rem;
	font-weight: 800;
	line-height: 1.25;
}

.pj-orb,
.pj-section-shape,
.pj-cta-orb,
.pj-page-hero-shape {
	pointer-events: none;
}

.pj-orb {
	position: absolute;
	z-index: 0;
	border: 2px solid var(--pj-ink);
	animation: pj-blob 9s ease-in-out infinite alternate;
}

.pj-orb--hero-one {
	left: 1.5%;
	top: 43%;
	width: 82px;
	height: 82px;
	border-radius: 38% 62% 55% 45%;
	background: var(--pj-green);
}

.pj-orb--hero-two {
	right: 4%;
	top: 9%;
	width: 118px;
	height: 118px;
	border-radius: 63% 37% 46% 54%;
	background: var(--pj-purple);
	opacity: .5;
	animation-delay: -4s;
}

@keyframes pj-float {
	0%, 100% { translate: 0 0; }
	50% { translate: 0 -13px; }
}

@keyframes pj-blob {
	0% { border-radius: 38% 62% 55% 45% / 55% 42% 58% 45%; transform: rotate(-4deg); }
	100% { border-radius: 58% 42% 37% 63% / 42% 58% 42% 58%; transform: rotate(8deg); }
}

.pj-section-heading--split {
	display: grid;
	max-width: none;
	grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
	align-items: end;
	gap: clamp(30px, 6vw, 90px);
}

.pj-section-heading--split .pj-section-intro {
	margin: 0 0 8px;
}

.pj-benefits {
	overflow: hidden;
	background: linear-gradient(180deg, #fff7ea 0%, var(--pj-paper) 100%);
}

.pj-section-shape {
	position: absolute;
	right: -80px;
	top: 90px;
	width: 220px;
	height: 220px;
	border: 2px solid var(--pj-ink);
	border-radius: 46% 54% 64% 36%;
	opacity: .45;
	animation: pj-blob 10s ease-in-out infinite alternate;
}

.pj-section-shape--coral {
	background: var(--pj-coral);
}

.pj-benefit-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}

.pj-benefit-card {
	position: relative;
	min-height: 340px;
	overflow: hidden;
	padding: 30px;
	border: 2px solid var(--pj-ink);
	border-radius: 30px;
	background:
		radial-gradient(circle at var(--pj-glow-x, 75%) var(--pj-glow-y, 15%), rgba(255,255,255,.85), transparent 34%),
		var(--pj-white);
	box-shadow: 7px 8px 0 var(--pj-ink);
}

.pj-benefit-card:nth-child(2) { background-color: #f0fafb; }
.pj-benefit-card:nth-child(3) { background-color: #fff6d7; }
.pj-benefit-card:nth-child(4) { background-color: #f4efff; }

.pj-benefit-icon {
	display: grid;
	width: 62px;
	height: 62px;
	place-items: center;
	border: 2px solid var(--pj-ink);
	border-radius: 20px;
	background: var(--pj-yellow);
	font-size: 1.7rem;
	font-weight: 950;
	transform: rotate(-5deg);
}

.pj-benefit-card:nth-child(2) .pj-benefit-icon { background: var(--pj-blue); }
.pj-benefit-card:nth-child(3) .pj-benefit-icon { background: var(--pj-green); }
.pj-benefit-card:nth-child(4) .pj-benefit-icon { background: var(--pj-purple); color: var(--pj-white); }

.pj-benefit-index {
	position: absolute;
	right: 24px;
	top: 22px;
	color: rgba(36,31,32,.32);
	font-size: .72rem;
	font-weight: 950;
}

.pj-benefit-card h3 {
	margin: 74px 0 15px;
	font-size: 1.55rem;
	font-weight: 950;
	letter-spacing: -.045em;
	line-height: 1.02;
}

.pj-benefit-card p {
	margin: 0;
	color: rgba(36,31,32,.72);
	font-size: .9rem;
}

.pj-activities-section {
	overflow: hidden;
	background:
		radial-gradient(circle at 10% 18%, rgba(137,103,216,.13) 0 12%, transparent 12.2%),
		linear-gradient(180deg, #f8f5ff, var(--pj-paper));
}

.pj-activity-orbit {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	gap: 18px;
}

.pj-activity-card {
	position: relative;
	grid-column: span 4;
	min-height: 285px;
	overflow: hidden;
	padding: 28px;
	border: 2px solid var(--pj-ink);
	border-radius: 28px;
	background: var(--pj-white);
	box-shadow: 7px 8px 0 var(--pj-ink);
}

.pj-activity-card:nth-child(1),
.pj-activity-card:nth-child(6) {
	grid-column: span 5;
}

.pj-activity-card:nth-child(2),
.pj-activity-card:nth-child(5) {
	grid-column: span 3;
}

.pj-activity-card:nth-child(3),
.pj-activity-card:nth-child(4) {
	grid-column: span 4;
}

.pj-activity-card::after {
	position: absolute;
	right: -45px;
	top: -45px;
	width: 145px;
	height: 145px;
	border: 2px solid var(--pj-ink);
	border-radius: 42% 58% 64% 36%;
	background: var(--pj-activity-color);
	content: "";
	transition: transform 450ms cubic-bezier(.2,.8,.2,1);
}

.pj-activity-card:hover::after {
	transform: scale(1.18) rotate(14deg);
}

.pj-activity-icon {
	position: relative;
	z-index: 2;
	display: grid;
	width: 58px;
	height: 58px;
	place-items: center;
	border: 2px solid var(--pj-ink);
	border-radius: 18px;
	background: var(--pj-activity-color);
	font-size: 1.2rem;
	font-weight: 950;
}

.pj-activity-card h3 {
	max-width: 12ch;
	margin: 58px 0 13px;
	font-size: clamp(1.55rem, 2.3vw, 2.25rem);
	font-weight: 950;
	letter-spacing: -.05em;
	line-height: 1;
}

.pj-activity-card p {
	max-width: 44ch;
	margin: 0;
	color: rgba(36,31,32,.68);
	font-size: .88rem;
}

.pj-cta-band {
	position: relative;
	overflow: hidden;
	padding: clamp(72px, 8vw, 118px) 0;
	background: var(--pj-purple);
	color: var(--pj-white);
}

.pj-cta-band--page {
	background: var(--pj-blue);
	color: var(--pj-ink);
}

.pj-cta-band-inner {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 50px;
}

.pj-cta-band .pj-section-title {
	max-width: 880px;
	color: inherit;
}

.pj-cta-band .pj-fluid-title {
	color: var(--pj-ink);
}

.pj-cta-band-inner p:not(.pj-eyebrow) {
	max-width: 650px;
	margin: 25px 0 0;
	opacity: .78;
}

.pj-cta-orb {
	position: absolute;
	border: 2px solid var(--pj-ink);
	animation: pj-blob 8s ease-in-out infinite alternate;
}

.pj-cta-orb--one {
	right: 10%;
	top: -70px;
	width: 210px;
	height: 210px;
	background: var(--pj-yellow);
}

.pj-cta-orb--two {
	left: 2%;
	bottom: -55px;
	width: 130px;
	height: 130px;
	background: var(--pj-coral);
	animation-delay: -3s;
}

.pj-contact-section {
	background: linear-gradient(180deg, #fffaf2, #fff2d7);
}

.pj-page-hero {
	position: relative;
	overflow: hidden;
	min-height: 570px;
	display: grid;
	align-items: center;
	padding: clamp(95px, 11vw, 160px) 0;
	border-bottom: 2px solid var(--pj-ink);
}

.pj-page-hero--yellow { background: #f8d768; }
.pj-page-hero--coral { background: #f7a08e; }
.pj-page-hero--blue { background: #87cad5; }
.pj-page-hero--green { background: #78caa5; }
.pj-page-hero--purple { background: #ab92e8; }

.pj-page-hero-inner {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 170px;
	align-items: end;
	gap: 50px;
}

.pj-page-title {
	max-width: 1050px;
	margin: 0;
	font-size: clamp(4rem, 9vw, 8.5rem);
	font-weight: 950;
	letter-spacing: -.078em;
	line-height: .85;
}

.pj-page-lead {
	max-width: 730px;
	margin: 32px 0 0;
	font-size: clamp(1.08rem, 1.8vw, 1.32rem);
	font-weight: 680;
	line-height: 1.48;
}

.pj-page-hero-token {
	display: grid;
	width: 150px;
	height: 150px;
	place-items: center;
	border: 2px solid var(--pj-ink);
	border-radius: 42% 58% 63% 37%;
	background: var(--pj-white);
	box-shadow: 9px 10px 0 var(--pj-ink);
	text-align: center;
	transform: rotate(6deg);
}

.pj-page-hero-token span,
.pj-page-hero-token small {
	display: block;
}

.pj-page-hero-token span {
	font-size: 2.1rem;
}

.pj-page-hero-token small {
	font-weight: 950;
}

.pj-page-hero-shape {
	position: absolute;
	border: 2px solid var(--pj-ink);
	border-radius: 40% 60% 64% 36%;
	animation: pj-blob 10s ease-in-out infinite alternate;
}

.pj-page-hero-shape--one {
	right: -50px;
	top: -80px;
	width: 310px;
	height: 310px;
	background: rgba(255,255,255,.34);
}

.pj-page-hero-shape--two {
	left: -70px;
	bottom: -120px;
	width: 250px;
	height: 250px;
	background: rgba(255,255,255,.2);
	animation-delay: -4s;
}

.pj-rich-copy {
	font-size: 1.05rem;
}

.pj-rich-copy > :first-child { margin-top: 0; }
.pj-rich-copy > :last-child { margin-bottom: 0; }

.pj-team-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 26px;
}

.pj-team-card {
	display: grid;
	grid-template-columns: minmax(180px, .75fr) minmax(0, 1.25fr);
	overflow: hidden;
	min-height: 380px;
	border: 2px solid var(--pj-ink);
	border-radius: 32px;
	background: var(--pj-white);
	box-shadow: 8px 9px 0 var(--pj-ink);
}

.pj-team-portrait {
	position: relative;
	min-height: 100%;
	overflow: hidden;
	background: var(--pj-team-color);
}

.pj-team-portrait img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.pj-team-placeholder {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	overflow: hidden;
}

.pj-team-placeholder::before,
.pj-team-placeholder::after,
.pj-team-placeholder i {
	position: absolute;
	border: 2px solid var(--pj-ink);
	content: "";
}

.pj-team-placeholder::before {
	top: 16%;
	width: 92px;
	height: 92px;
	border-radius: 50%;
	background: #ffe7c2;
}

.pj-team-placeholder::after {
	bottom: -18%;
	width: 230px;
	height: 260px;
	border-radius: 50% 50% 20% 20%;
	background: rgba(255,255,255,.45);
}

.pj-team-placeholder i {
	right: -24px;
	top: 38%;
	width: 80px;
	height: 80px;
	border-radius: 28px;
	background: var(--pj-yellow);
	transform: rotate(15deg);
}

.pj-team-placeholder span {
	position: absolute;
	z-index: 3;
	left: 18px;
	top: 16px;
	font-size: .75rem;
	font-weight: 950;
}

.pj-team-copy {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 34px;
}

.pj-team-role {
	margin: 0 0 auto;
	font-size: .72rem;
	font-weight: 950;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.pj-team-copy h2 {
	margin: 70px 0 16px;
	font-size: clamp(1.7rem, 2.6vw, 2.7rem);
	font-weight: 950;
	letter-spacing: -.055em;
	line-height: .98;
}

.pj-team-copy > p:last-child {
	margin: 0;
	color: rgba(36,31,32,.68);
	font-size: .9rem;
}

.pj-faq-section {
	background: linear-gradient(180deg, #fffaf2, #f6f3ff);
}

.pj-faq-layout {
	display: grid;
	grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr);
	align-items: start;
	gap: clamp(48px, 8vw, 110px);
}

.pj-faq-sticky {
	position: sticky;
	top: 120px;
}

.pj-faq-list {
	display: grid;
	gap: 14px;
}

.pj-faq-item {
	overflow: hidden;
	border: 2px solid var(--pj-ink);
	border-radius: 22px;
	background: var(--pj-white);
	box-shadow: 5px 6px 0 var(--pj-ink);
}

.pj-faq-item summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 24px 26px;
	cursor: pointer;
	font-weight: 950;
	letter-spacing: -.02em;
	list-style: none;
}

.pj-faq-item summary::-webkit-details-marker { display: none; }

.pj-faq-item summary i {
	position: relative;
	width: 30px;
	height: 30px;
	flex: 0 0 auto;
	border-radius: 50%;
	background: var(--pj-yellow);
}

.pj-faq-item summary i::before,
.pj-faq-item summary i::after {
	position: absolute;
	left: 8px;
	top: 14px;
	width: 14px;
	height: 2px;
	background: var(--pj-ink);
	content: "";
	transition: transform 220ms ease;
}

.pj-faq-item summary i::after { transform: rotate(90deg); }
.pj-faq-item[open] summary i::after { transform: rotate(0); }

.pj-faq-answer {
	padding: 0 26px 25px;
	color: rgba(36,31,32,.72);
}

.pj-faq-answer p { margin: 0; }

.pj-gallery-grid--mosaic {
	grid-auto-rows: 118px;
}

.pj-gallery-grid--mosaic .pj-gallery-item {
	grid-row: span 3;
	border-radius: 30px;
	transition: border-radius 320ms ease, transform 450ms cubic-bezier(.2,.8,.2,1), box-shadow 320ms ease;
}

.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(1),
.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(5) {
	grid-row: span 4;
}

.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(3),
.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(6) {
	grid-row: span 2;
}

.pj-gallery-grid--mosaic .pj-gallery-item:hover {
	z-index: 3;
	border-radius: 42px 24px 38px 26px;
	box-shadow: 0 22px 50px rgba(36,31,32,.2);
	transform: translateY(-8px) rotate(.5deg);
}

.pj-gallery-grid--mosaic .pj-gallery-item img {
	object-position: var(--pj-focus, center);
	transform: scale(1.02);
}

.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(1) img { object-position: 18% 18%; }
.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(2) img { object-position: 82% 18%; }
.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(3) img { object-position: 18% 82%; }
.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(4) img { object-position: 82% 82%; }
.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(5) img { object-position: 28% 20%; }
.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(6) img { object-position: 72% 80%; }

.pj-gallery-grid--mosaic .pj-gallery-item:hover img {
	transform: scale(1.095) translate3d(0, -1%, 0);
}

.pj-gallery-grid--mosaic .pj-gallery-caption {
	display: grid;
	gap: 2px;
	padding: 14px 16px;
}

.pj-gallery-grid--mosaic .pj-gallery-caption strong {
	font-size: .9rem;
}

.pj-gallery-grid--mosaic .pj-gallery-caption span {
	overflow: hidden;
	font-size: .67rem;
	font-weight: 650;
	text-overflow: ellipsis;
	white-space: nowrap;
}

@media (max-width: 1260px) {
	.pj-header-cta { display: none; }
	.pj-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(360px, .82fr); }
	.pj-hero-title { font-size: clamp(3.5rem, 7vw, 6.2rem); }
	.pj-benefit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 1040px) {
	.pj-hero-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pj-team-grid { grid-template-columns: 1fr; }
	.pj-page-hero { min-height: 500px; }
	.pj-page-title { font-size: clamp(3.7rem, 10vw, 7rem); }
}

@media (max-width: 820px) {
	.pj-hero-grid,
	.pj-section-heading--split,
	.pj-cta-band-inner,
	.pj-page-hero-inner,
	.pj-faq-layout {
		grid-template-columns: 1fr;
	}

	.pj-hero {
		min-height: auto;
	}

	.pj-hero-visual {
		min-height: 520px;
	}

	.pj-hero-photo {
		inset: 25px 20px 30px;
	}

	.pj-section-heading--split .pj-section-intro {
		margin: 0;
	}

	.pj-activity-card,
	.pj-activity-card:nth-child(1),
	.pj-activity-card:nth-child(2),
	.pj-activity-card:nth-child(3),
	.pj-activity-card:nth-child(4),
	.pj-activity-card:nth-child(5),
	.pj-activity-card:nth-child(6) {
		grid-column: span 6;
	}

	.pj-cta-band-inner {
		align-items: start;
	}

	.pj-cta-band-inner .pj-button {
		justify-self: start;
	}

	.pj-page-hero-token { display: none; }
	.pj-faq-sticky { position: static; }
}

@media (max-width: 620px) {
	.pj-hero-title { font-size: clamp(3rem, 14.3vw, 4.45rem); }
	.pj-hero-stats { gap: 7px; margin-top: 30px; }
	.pj-hero-stat { padding: 11px 10px; }
	.pj-hero-visual { min-height: 430px; }
	.pj-hero-photo { inset: 30px 8px 24px; }
	.pj-hero-spark--one { right: 1%; }
	.pj-benefit-grid { grid-template-columns: 1fr; }
	.pj-benefit-card { min-height: 300px; }
	.pj-activity-orbit { grid-template-columns: 1fr; }
	.pj-activity-card,
	.pj-activity-card:nth-child(1),
	.pj-activity-card:nth-child(2),
	.pj-activity-card:nth-child(3),
	.pj-activity-card:nth-child(4),
	.pj-activity-card:nth-child(5),
	.pj-activity-card:nth-child(6) { grid-column: auto; }
	.pj-page-hero { min-height: 440px; padding: 88px 0; }
	.pj-page-title { font-size: clamp(3.3rem, 17vw, 5rem); }
	.pj-page-lead { font-size: 1rem; }
	.pj-team-card { grid-template-columns: 1fr; }
	.pj-team-portrait { min-height: 300px; }
	.pj-team-copy h2 { margin-top: 50px; }
	.pj-gallery-grid--mosaic { grid-auto-rows: 260px; }
	.pj-gallery-grid--mosaic .pj-gallery-item,
	.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(1),
	.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(2),
	.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(3),
	.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(4),
	.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(5),
	.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(6) {
		grid-row: auto;
	}
}

/* 2.1 trebuie să rămână ultimul strat de layout peste regulile 2.0. */
.pj-gallery-grid--mosaic {
	grid-auto-rows: 112px;
	grid-auto-flow: dense;
}

.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(1) { grid-column: 1 / span 5; grid-row: 1 / span 4; }
.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(2) { grid-column: 6 / span 4; grid-row: 1 / span 2; }
.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(3) { grid-column: 10 / span 3; grid-row: 1 / span 3; }
.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(4) { grid-column: 6 / span 4; grid-row: 3 / span 5; }
.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(5) { grid-column: 1 / span 5; grid-row: 5 / span 3; }
.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(6) { grid-column: 10 / span 3; grid-row: 4 / span 4; }

.pj-gallery-grid--mosaic .pj-gallery-media img {
	object-position: center;
	transform: scale(2.45) translate3d(var(--pj-gallery-pan-x, 0%), var(--pj-gallery-pan-y, 0%), 0);
}

.pj-gallery-grid--mosaic .pj-gallery-item:hover .pj-gallery-media img,
.pj-gallery-grid--mosaic .pj-gallery-item:focus-visible .pj-gallery-media img {
	transform: scale(2.62) translate3d(var(--pj-gallery-pan-x, 0%), var(--pj-gallery-pan-y, 0%), 0);
}

@media (max-width: 900px) and (min-width: 621px) {
	.pj-gallery-grid--mosaic { grid-auto-rows: 104px; }
	.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(1) { grid-column: 1 / span 4; grid-row: 1 / span 4; }
	.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(2) { grid-column: 5 / span 2; grid-row: 1 / span 2; }
	.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(3) { grid-column: 5 / span 2; grid-row: 3 / span 3; }
	.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(4) { grid-column: 1 / span 4; grid-row: 5 / span 2; }
	.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(5) { grid-column: 5 / span 2; grid-row: 6 / span 3; }
	.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(6) { grid-column: 1 / span 4; grid-row: 7 / span 2; }
}

@media (max-width: 620px) {
	.pj-gallery-grid--mosaic { grid-auto-rows: auto; }
	.pj-gallery-grid--mosaic .pj-gallery-item,
	.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(1),
	.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(2),
	.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(3),
	.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(4),
	.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(5),
	.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(6) {
		grid-column: 1;
		grid-row: auto;
	}

	.pj-gallery-grid--mosaic .pj-gallery-media img { transform: scale(2.5); }
}

/* ================================================================
   Paglia Joy 2.2 — școală creativă, obiecte plutitoare și titluri fluide
   ================================================================ */

:root {
	--pj-rose: #ef9fb4;
	--pj-sky: #dff4f7;
	--pj-cream: #fff1c9;
	--pj-ease-spring: cubic-bezier(.16, 1, .3, 1);
}

.pj-fluid-title {
	--pj-title-origin: 50%;
	--pj-title-tilt: 0deg;
	--pj-title-lift: 0em;
	isolation: isolate;
}

.pj-title-char,
.pj-hero-letter {
	position: relative;
	z-index: 0;
	display: inline-block;
	color: var(--pj-ink);
	transform: translateY(0) rotate(0) scale(1);
	transform-origin: 50% 78%;
	transition: color 420ms ease, transform 520ms var(--pj-ease-spring);
	will-change: transform;
}

.pj-hero-letter.is-accent {
	color: var(--pj-ink);
	text-shadow: none;
}

.pj-title-char::after,
.pj-hero-letter::after {
	position: absolute;
	z-index: 1;
	inset: 0;
	background: linear-gradient(105deg, var(--pj-coral) 0%, var(--pj-purple) 20%, var(--pj-blue) 40%, var(--pj-green) 60%, var(--pj-yellow) 80%, var(--pj-coral) 100%);
	background-clip: text;
	-webkit-background-clip: text;
	background-position: var(--pj-title-origin) 50%;
	background-size: 380% 100%;
	color: transparent;
	content: attr(data-char);
	font: inherit;
	letter-spacing: inherit;
	line-height: inherit;
	opacity: 0;
	pointer-events: none;
	-webkit-text-fill-color: transparent;
	transition: opacity 460ms ease;
}

.pj-title-char:nth-child(4n + 1),
.pj-hero-letter:nth-child(4n + 1) { --pj-wave: -.075em; --pj-wave-rotate: -1.25deg; }
.pj-title-char:nth-child(4n + 2),
.pj-hero-letter:nth-child(4n + 2) { --pj-wave: .018em; --pj-wave-rotate: .7deg; }
.pj-title-char:nth-child(4n + 3),
.pj-hero-letter:nth-child(4n + 3) { --pj-wave: -.045em; --pj-wave-rotate: 1.15deg; }
.pj-title-char:nth-child(4n),
.pj-hero-letter:nth-child(4n) { --pj-wave: .012em; --pj-wave-rotate: -.55deg; }

.pj-fluid-title:hover .pj-title-char,
.pj-fluid-title:hover .pj-hero-letter,
.pj-fluid-title:focus-visible .pj-title-char,
.pj-fluid-title:focus-visible .pj-hero-letter {
	background: none;
	color: var(--pj-ink);
	animation: pj-fluid-letter-wave 1.55s var(--pj-ease-spring) infinite;
	animation-delay: calc(var(--pj-char-index, 0) * -48ms);
}

.pj-fluid-title:hover .pj-title-char::after,
.pj-fluid-title:hover .pj-hero-letter::after,
.pj-fluid-title:focus-visible .pj-title-char::after,
.pj-fluid-title:focus-visible .pj-hero-letter::after {
	opacity: 1;
	animation: pj-fluid-color-flow 2.65s linear infinite;
	animation-delay: calc(var(--pj-char-index, 0) * -62ms);
}

.pj-fluid-title.is-color-sweep .pj-title-char,
.pj-fluid-title.is-color-sweep .pj-hero-letter {
	background: none;
	color: var(--pj-ink);
	animation: pj-fluid-intro-wave 1.8s var(--pj-ease-spring) both;
	animation-delay: calc(var(--pj-char-index, 0) * 18ms);
}

.pj-fluid-title.is-color-sweep .pj-title-char::after,
.pj-fluid-title.is-color-sweep .pj-hero-letter::after {
	animation: pj-fluid-intro-color 1.8s var(--pj-ease-spring) both;
	animation-delay: calc(var(--pj-char-index, 0) * 18ms);
}

@keyframes pj-fluid-letter-wave {
	0%, 100% { transform: translateY(0) rotate(0) scale(1); }
	28% { transform: translateY(calc(var(--pj-wave, -.04em) + var(--pj-title-lift, 0em))) rotate(calc(var(--pj-wave-rotate, 0deg) + var(--pj-title-tilt, 0deg))) scale(1.018); }
	58% { transform: translateY(calc(var(--pj-wave, -.04em) * -.34)) rotate(calc(var(--pj-wave-rotate, 0deg) * -.35)) scale(.996); }
}

@keyframes pj-fluid-color-flow {
	0% { background-position: 0% 50%; filter: saturate(1); }
	50% { background-position: 190% 50%; filter: saturate(1.14); }
	100% { background-position: 380% 50%; filter: saturate(1); }
}

@keyframes pj-fluid-intro-wave {
	0%, 100% { transform: translateY(0) rotate(0); }
	42% { transform: translateY(var(--pj-wave, -.04em)) rotate(var(--pj-wave-rotate, 0deg)); }
	72% { transform: translateY(calc(var(--pj-wave, -.04em) * -.3)) rotate(0); }
}

@keyframes pj-fluid-intro-color {
	0%, 100% { background-position: 0 50%; opacity: 0; }
	14% { opacity: 1; }
	72% { background-position: 250% 50%; opacity: 1; }
	100% { background-position: 380% 50%; opacity: 0; }
}

.pj-hero::after,
.pj-learning-section::after {
	position: absolute;
	z-index: 0;
	inset: 0;
	background-image: radial-gradient(circle, rgba(36, 31, 32, .12) 1.1px, transparent 1.2px);
	background-size: 26px 26px;
	content: "";
	mask-image: linear-gradient(90deg, rgba(0,0,0,.52), transparent 38%, transparent 72%, rgba(0,0,0,.35));
	pointer-events: none;
}

.pj-learning-section,
.pj-benefits {
	position: relative;
	overflow: hidden;
}

.pj-learning-section > .pj-wrap,
.pj-benefits > .pj-wrap {
	position: relative;
	z-index: 2;
}

.pj-hero-copy::after {
	display: block;
	width: min(230px, 48%);
	height: 12px;
	margin: 16px 0 -4px 12%;
	border-top: 4px solid var(--pj-coral);
	border-radius: 50%;
	content: "";
	transform: rotate(-2deg);
}

.pj-hero-visual::before {
	position: absolute;
	z-index: 1;
	inset: -4px -68px 4px -28px;
	border: 2px dashed rgba(36,31,32,.3);
	border-radius: 46% 54% 58% 42% / 52% 43% 57% 48%;
	content: "";
	pointer-events: none;
	animation: pj-orbit-breathe 8s ease-in-out infinite alternate;
}

@keyframes pj-orbit-breathe {
	0% { transform: rotate(-2deg) scale(.985); }
	100% { transform: rotate(3deg) scale(1.018); }
}

.pj-hero-card {
	box-shadow: 7px 8px 0 var(--pj-ink), 0 20px 46px rgba(36,31,32,.14);
	transition: transform 420ms var(--pj-ease-spring), box-shadow 420ms ease;
}

.pj-hero-card:hover {
	box-shadow: 10px 12px 0 var(--pj-ink), 0 28px 54px rgba(36,31,32,.18);
}

.pj-hero-card--top:hover { transform: rotate(-3deg) translateY(-7px); }
.pj-hero-card--bottom:hover { transform: rotate(2deg) translateY(-7px); }

.pj-school-doodles {
	position: absolute;
	z-index: 1;
	inset: 0;
	overflow: hidden;
	pointer-events: none;
}

.pj-school-object {
	position: absolute;
	display: block;
	filter: drop-shadow(0 8px 8px rgba(36,31,32,.12));
	transform: translate3d(0, 0, 0) rotate(var(--pj-object-rotate, 0deg)) scale(var(--pj-object-scale, 1));
	transform-origin: center;
	animation: pj-school-float var(--pj-object-duration, 7s) ease-in-out infinite;
	animation-delay: var(--pj-object-delay, 0s);
	will-change: transform;
}

.pj-school-object:nth-child(2n) { --pj-object-duration: 8.6s; --pj-object-delay: -2.2s; }
.pj-school-object:nth-child(3n) { --pj-object-duration: 6.8s; --pj-object-delay: -4.1s; }
.pj-school-object:nth-child(4n) { --pj-object-duration: 9.4s; --pj-object-delay: -1.3s; }

@keyframes pj-school-float {
	0%, 100% { transform: translate3d(0, 0, 0) rotate(var(--pj-object-rotate, 0deg)) scale(var(--pj-object-scale, 1)); }
	34% { transform: translate3d(var(--pj-float-x, 7px), var(--pj-float-y, -11px), 0) rotate(calc(var(--pj-object-rotate, 0deg) + 3deg)) scale(var(--pj-object-scale, 1)); }
	68% { transform: translate3d(calc(var(--pj-float-x, 7px) * -.55), calc(var(--pj-float-y, -11px) * .35), 0) rotate(calc(var(--pj-object-rotate, 0deg) - 2deg)) scale(var(--pj-object-scale, 1)); }
}

.pj-school-object--pencil {
	width: 104px;
	height: 22px;
	border: 2px solid var(--pj-ink);
	border-radius: 5px 2px 2px 5px;
	background: linear-gradient(180deg, #ffd963 0 48%, #f2b83c 49% 100%);
}

.pj-school-object--pencil i {
	position: absolute;
	left: 13px;
	top: 6px;
	width: 67px;
	height: 3px;
	border-radius: 9px;
	background: rgba(255,255,255,.48);
}

.pj-school-object--pencil::before {
	position: absolute;
	left: 100%;
	top: -2px;
	width: 23px;
	height: 22px;
	background: linear-gradient(90deg, #f4d7af 0 74%, var(--pj-ink) 75% 100%);
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	content: "";
}

.pj-school-object--pencil::after {
	position: absolute;
	right: 100%;
	top: -2px;
	width: 16px;
	height: 22px;
	border: 2px solid var(--pj-ink);
	border-right: 0;
	border-radius: 6px 0 0 6px;
	background: var(--pj-rose);
	content: "";
}

.pj-school-object--book {
	width: 100px;
	height: 68px;
}

.pj-school-object--book::before,
.pj-school-object--book::after {
	position: absolute;
	top: 0;
	width: 52px;
	height: 66px;
	border: 2px solid var(--pj-ink);
	background: repeating-linear-gradient(180deg, #fff 0 8px, #dfeef7 9px 10px);
	content: "";
}

.pj-school-object--book::before {
	left: 0;
	border-radius: 12px 3px 5px 13px;
	transform: skewY(4deg);
}

.pj-school-object--book::after {
	right: 0;
	border-radius: 3px 12px 13px 5px;
	transform: skewY(-4deg);
}

.pj-school-object--book i {
	position: absolute;
	z-index: 2;
	left: 49px;
	top: 2px;
	width: 3px;
	height: 63px;
	border-radius: 4px;
	background: var(--pj-coral);
}

.pj-school-object--ruler {
	width: 120px;
	height: 28px;
	border: 2px solid var(--pj-ink);
	border-radius: 7px;
	background:
		repeating-linear-gradient(90deg, transparent 0 9px, rgba(36,31,32,.7) 9px 11px, transparent 11px 19px),
		var(--pj-yellow);
}

.pj-school-object--ruler i {
	position: absolute;
	inset: 12px 7px auto;
	height: 2px;
	background: rgba(36,31,32,.18);
}

.pj-school-object--notebook {
	width: 74px;
	height: 92px;
	border: 2px solid var(--pj-ink);
	border-radius: 8px 13px 13px 8px;
	background:
		linear-gradient(90deg, transparent 0 16px, rgba(243,140,118,.45) 17px 19px, transparent 20px),
		repeating-linear-gradient(180deg, #fff 0 12px, #bfe4eb 13px 14px);
}

.pj-school-object--notebook::before {
	position: absolute;
	left: -7px;
	top: 9px;
	width: 12px;
	height: 7px;
	border: 2px solid var(--pj-ink);
	border-radius: 8px;
	background: var(--pj-blue);
	content: "";
	box-shadow: 0 16px 0 -2px var(--pj-blue), 0 16px 0 0 var(--pj-ink), 0 32px 0 -2px var(--pj-blue), 0 32px 0 0 var(--pj-ink), 0 48px 0 -2px var(--pj-blue), 0 48px 0 0 var(--pj-ink), 0 64px 0 -2px var(--pj-blue), 0 64px 0 0 var(--pj-ink);
}

.pj-school-object--notebook i {
	position: absolute;
	right: 10px;
	top: 14px;
	width: 28px;
	height: 20px;
	border: 2px solid var(--pj-purple);
	border-radius: 50%;
}

.pj-school-object--letter,
.pj-school-object--number {
	display: grid;
	width: 54px;
	height: 54px;
	place-items: center;
	border: 2px solid var(--pj-ink);
	border-radius: 16px;
	background: var(--pj-coral);
	color: var(--pj-ink);
	font-size: 1.75rem;
	font-weight: 950;
	line-height: 1;
}

.pj-school-object--number {
	border-radius: 50%;
	background: var(--pj-green);
}

.pj-school-object--brush {
	width: 94px;
	height: 18px;
	border: 2px solid var(--pj-ink);
	border-radius: 10px 4px 4px 10px;
	background: linear-gradient(180deg, var(--pj-blue), #459cac);
}

.pj-school-object--brush::before {
	position: absolute;
	left: 100%;
	top: -5px;
	width: 34px;
	height: 24px;
	border: 2px solid var(--pj-ink);
	border-left: 7px solid #dad1be;
	border-radius: 2px 16px 16px 2px;
	background: var(--pj-purple);
	content: "";
	clip-path: polygon(0 8%, 100% 0, 86% 100%, 0 92%);
}

.pj-school-object--brush i {
	position: absolute;
	left: 12px;
	top: 5px;
	width: 52px;
	height: 3px;
	border-radius: 4px;
	background: rgba(255,255,255,.5);
}

.pj-school-object--star {
	width: 54px;
	height: 54px;
	background: var(--pj-yellow);
	clip-path: polygon(50% 0, 61% 35%, 98% 35%, 68% 56%, 80% 94%, 50% 72%, 20% 94%, 32% 56%, 2% 35%, 39% 35%);
}

.pj-school-object--star::after {
	position: absolute;
	inset: 7px;
	background: #ffe89a;
	clip-path: inherit;
	content: "";
}

.pj-school-object--backpack {
	width: 64px;
	height: 70px;
	border: 2px solid var(--pj-ink);
	border-radius: 24px 24px 14px 14px;
	background: var(--pj-purple);
}

.pj-school-object--backpack::before {
	position: absolute;
	left: 11px;
	right: 11px;
	top: -13px;
	height: 22px;
	border: 4px solid var(--pj-ink);
	border-bottom: 0;
	border-radius: 18px 18px 0 0;
	content: "";
}

.pj-school-object--backpack::after {
	position: absolute;
	left: 9px;
	right: 9px;
	bottom: 8px;
	height: 24px;
	border: 2px solid var(--pj-ink);
	border-radius: 10px;
	background: var(--pj-coral);
	content: "";
}

.pj-school-object--backpack i {
	position: absolute;
	z-index: 2;
	left: 28px;
	top: 13px;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--pj-yellow);
}

.pj-school-doodles--hero .pj-school-object--pencil { left: 45%; top: 7%; --pj-object-rotate: -9deg; --pj-float-x: 10px; }
.pj-school-doodles--hero .pj-school-object--book { right: 1.5%; bottom: 5%; --pj-object-rotate: 8deg; --pj-float-y: -9px; }
.pj-school-doodles--hero .pj-school-object--ruler { left: 5%; bottom: 5%; --pj-object-rotate: 8deg; opacity: .72; }
.pj-school-doodles--hero .pj-school-object--notebook { right: 2%; top: 18%; --pj-object-rotate: 7deg; opacity: .82; }
.pj-school-doodles--hero .pj-school-object--letter { left: 1.5%; top: 42%; --pj-object-rotate: -8deg; opacity: .58; }
.pj-school-doodles--hero .pj-school-object--number { right: 35%; top: 4%; --pj-object-rotate: 9deg; opacity: .72; }
.pj-school-doodles--hero .pj-school-object--brush { right: 37%; bottom: 13%; --pj-object-rotate: -12deg; opacity: .76; }
.pj-school-doodles--hero .pj-school-object--star { right: 1.5%; top: 54%; --pj-object-rotate: 10deg; opacity: .82; }
.pj-school-doodles--hero .pj-school-object--backpack { right: 18%; bottom: 1.5%; --pj-object-rotate: 4deg; opacity: .76; }

.pj-page-hero {
	overflow: hidden;
}

.pj-page-hero-inner {
	position: relative;
	z-index: 2;
}

.pj-school-doodles--page .pj-school-object--pencil { left: 4%; top: 19%; --pj-object-rotate: -12deg; }
.pj-school-doodles--page .pj-school-object--book { right: 4%; bottom: 7%; --pj-object-rotate: 7deg; }
.pj-school-doodles--page .pj-school-object--ruler { right: 31%; top: 12%; --pj-object-rotate: 8deg; opacity: .72; }
.pj-school-doodles--page .pj-school-object--letter { left: 28%; bottom: 9%; --pj-object-rotate: -7deg; opacity: .68; }
.pj-school-doodles--page .pj-school-object--star { right: 19%; bottom: 15%; --pj-object-rotate: 12deg; }
.pj-school-doodles--page .pj-school-object--notebook,
.pj-school-doodles--page .pj-school-object--number,
.pj-school-doodles--page .pj-school-object--brush,
.pj-school-doodles--page .pj-school-object--backpack { display: none; }

.pj-school-doodles--section-left .pj-school-object,
.pj-school-doodles--section-right .pj-school-object {
	display: none;
	opacity: .5;
}

.pj-school-doodles--section-left .pj-school-object--book,
.pj-school-doodles--section-left .pj-school-object--brush,
.pj-school-doodles--section-left .pj-school-object--star,
.pj-school-doodles--section-right .pj-school-object--pencil,
.pj-school-doodles--section-right .pj-school-object--ruler,
.pj-school-doodles--section-right .pj-school-object--notebook {
	display: block;
}

.pj-school-doodles--section-left .pj-school-object--book { left: -30px; top: 12%; --pj-object-rotate: 11deg; }
.pj-school-doodles--section-left .pj-school-object--brush { left: 2%; bottom: 9%; --pj-object-rotate: -17deg; }
.pj-school-doodles--section-left .pj-school-object--star { left: 4%; top: 54%; --pj-object-rotate: 9deg; }
.pj-school-doodles--section-right .pj-school-object--pencil { right: -24px; top: 14%; --pj-object-rotate: -14deg; }
.pj-school-doodles--section-right .pj-school-object--ruler { right: 1%; bottom: 10%; --pj-object-rotate: 10deg; }
.pj-school-doodles--section-right .pj-school-object--notebook { right: 3%; top: 53%; --pj-object-rotate: 8deg; }

.pj-program-card,
.pj-benefit-card,
.pj-activity-card,
.pj-testimonial {
	background-image: linear-gradient(145deg, rgba(255,255,255,.58), transparent 42%);
}

.pj-program-card::before {
	position: absolute;
	z-index: 3;
	left: 50%;
	top: -9px;
	width: 72px;
	height: 20px;
	background: rgba(255, 241, 201, .86);
	box-shadow: inset 0 0 0 1px rgba(36,31,32,.08);
	content: "";
	transform: translateX(-50%) rotate(calc((var(--pj-reveal-index, 0) - 2) * 1deg));
}

.pj-benefit-card:nth-child(2n),
.pj-activity-card:nth-child(3n + 1),
.pj-testimonial:nth-child(3n) {
	border-radius: 36px 24px 42px 26px;
}

.pj-benefit-card:nth-child(2n + 1),
.pj-activity-card:nth-child(3n + 2) {
	border-radius: 24px 40px 26px 38px;
}

.pj-program-icon,
.pj-benefit-icon,
.pj-activity-icon {
	box-shadow: 4px 5px 0 rgba(36,31,32,.16);
}

.pj-gallery-grid--mosaic {
	gap: 18px;
}

.pj-gallery-grid--mosaic .pj-gallery-item:not(.is-demo-collage) .pj-gallery-media img {
	object-position: var(--pj-focus, center);
	transform: scale(1.035) translate3d(var(--pj-gallery-pan-x, 0%), var(--pj-gallery-pan-y, 0%), 0);
}

.pj-gallery-grid--mosaic .pj-gallery-item:not(.is-demo-collage):hover .pj-gallery-media img,
.pj-gallery-grid--mosaic .pj-gallery-item:not(.is-demo-collage):focus-visible .pj-gallery-media img {
	transform: scale(1.105) translate3d(var(--pj-gallery-pan-x, 0%), var(--pj-gallery-pan-y, 0%), 0);
}

.pj-gallery-grid--mosaic .pj-gallery-item.is-demo-collage .pj-gallery-media img {
	object-position: center;
	transform: scale(2.45) translate3d(var(--pj-gallery-pan-x, 0%), var(--pj-gallery-pan-y, 0%), 0);
}

.pj-gallery-grid--mosaic .pj-gallery-item.is-demo-collage:hover .pj-gallery-media img,
.pj-gallery-grid--mosaic .pj-gallery-item.is-demo-collage:focus-visible .pj-gallery-media img {
	transform: scale(2.62) translate3d(var(--pj-gallery-pan-x, 0%), var(--pj-gallery-pan-y, 0%), 0);
}

.pj-gallery-grid--full .pj-gallery-item:nth-child(n + 7) {
	grid-column: span 4;
	grid-row: span 3;
}

@media (max-width: 1260px) {
	.pj-school-doodles--hero .pj-school-object--letter,
	.pj-school-doodles--hero .pj-school-object--number,
	.pj-school-doodles--hero .pj-school-object--brush { opacity: .34; }
}

@media (max-width: 820px) {
	.pj-school-doodles--hero .pj-school-object--ruler,
	.pj-school-doodles--hero .pj-school-object--letter,
	.pj-school-doodles--hero .pj-school-object--number,
	.pj-school-doodles--hero .pj-school-object--brush,
	.pj-school-doodles--hero .pj-school-object--backpack,
	.pj-school-doodles--page .pj-school-object--ruler,
	.pj-school-doodles--page .pj-school-object--letter { display: none; }

	.pj-school-doodles--hero .pj-school-object--pencil { left: 6%; top: 48%; }
	.pj-school-doodles--hero .pj-school-object--book { right: 3%; bottom: 3%; }
	.pj-school-doodles--hero .pj-school-object--notebook { right: 1%; top: 54%; }
	.pj-hero-copy::after { margin-inline: auto; }
	.pj-hero-visual::before { inset: 5px 0; }
	.pj-school-doodles--section-left,
	.pj-school-doodles--section-right { opacity: .55; }
}

@media (max-width: 620px) {
	.pj-school-doodles--hero .pj-school-object--notebook,
	.pj-school-doodles--hero .pj-school-object--book,
	.pj-school-doodles--page .pj-school-object--book,
	.pj-school-doodles--section-left,
	.pj-school-doodles--section-right { display: none; }

	.pj-school-doodles--hero .pj-school-object--pencil { left: -18px; top: 45%; --pj-object-scale: .78; }
	.pj-school-doodles--hero .pj-school-object--star { right: 8px; top: 49%; --pj-object-scale: .78; }
	.pj-school-doodles--page .pj-school-object--pencil { left: -24px; top: 16%; --pj-object-scale: .72; }
	.pj-school-doodles--page .pj-school-object--star { right: 10px; bottom: 8%; --pj-object-scale: .72; }

	.pj-gallery-grid--mosaic {
		grid-template-columns: minmax(0, 1fr);
		grid-auto-rows: auto;
		gap: 14px;
	}

	.pj-gallery-grid--mosaic .pj-gallery-item,
	.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(1),
	.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(2),
	.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(3),
	.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(4),
	.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(5),
	.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(6),
	.pj-gallery-grid--full .pj-gallery-item:nth-child(n + 7) {
		min-height: 0;
		aspect-ratio: 4 / 3;
		grid-column: 1;
		grid-row: auto;
	}

	.pj-gallery-grid--mosaic .pj-gallery-item:nth-child(3n + 1) { aspect-ratio: 4 / 5; }
	.pj-gallery-grid--mosaic .pj-gallery-item:not(.is-demo-collage) .pj-gallery-media img { transform: scale(1.035); }
	.pj-gallery-grid--mosaic .pj-gallery-item.is-demo-collage .pj-gallery-media img { transform: scale(2.5); }
}

@media (prefers-reduced-motion: reduce) {
	.pj-school-object,
	.pj-hero-visual::before,
	.pj-fluid-title:hover .pj-title-char,
	.pj-fluid-title:hover .pj-hero-letter,
	.pj-fluid-title:focus-visible .pj-title-char,
	.pj-fluid-title:focus-visible .pj-hero-letter,
	.pj-fluid-title.is-color-sweep .pj-title-char,
	.pj-fluid-title.is-color-sweep .pj-hero-letter,
	.pj-fluid-title:hover .pj-title-char::after,
	.pj-fluid-title:hover .pj-hero-letter::after,
	.pj-fluid-title:focus-visible .pj-title-char::after,
	.pj-fluid-title:focus-visible .pj-hero-letter::after,
	.pj-fluid-title.is-color-sweep .pj-title-char::after,
	.pj-fluid-title.is-color-sweep .pj-hero-letter::after {
		animation: none;
		transform: none;
	}

	.pj-fluid-title.is-color-sweep .pj-title-char::after,
	.pj-fluid-title.is-color-sweep .pj-hero-letter::after { opacity: 0; }

	.pj-school-object {
		transform: rotate(var(--pj-object-rotate, 0deg)) scale(var(--pj-object-scale, 1));
	}
}

.pj-motion-disabled .pj-school-object,
.pj-motion-disabled .pj-hero-visual::before {
	animation: none;
}

/* ================================================================
   Paglia Joy 2.3 — header aerisit și animație RGBA exclusiv pe H1
   ================================================================ */

.pj-site-header {
	padding: 10px 0;
	border-bottom: 1px solid rgba(36, 31, 32, .08);
	background: rgba(255, 250, 242, .92);
	box-shadow: 0 10px 34px rgba(60, 42, 30, .035);
	backdrop-filter: blur(22px) saturate(1.2);
}

.pj-site-header.is-scrolled {
	border-color: rgba(36, 31, 32, .12);
	box-shadow: 0 14px 42px rgba(60, 42, 30, .09);
}

.pj-header-inner {
	position: relative;
	width: min(1420px, calc(100% - 40px));
	max-width: none;
	min-height: 58px;
	gap: clamp(14px, 1.8vw, 28px);
}

.pj-brand {
	flex: 0 0 auto;
	gap: 10px;
	white-space: nowrap;
}

.pj-brand > span:last-child {
	display: block;
	white-space: nowrap;
}

.pj-brand-mark {
	width: 46px;
	height: 46px;
	flex: 0 0 46px;
	box-shadow: 3px 4px 0 var(--pj-ink);
	transition: transform 420ms var(--pj-ease-spring), box-shadow 420ms ease;
}

.pj-brand:hover .pj-brand-mark,
.pj-brand:focus-visible .pj-brand-mark {
	box-shadow: 5px 6px 0 var(--pj-ink);
	transform: translateY(-3px) rotate(2deg);
}

.pj-primary-nav {
	display: flex;
	min-width: 0;
	flex: 1 1 auto;
	justify-content: center;
}

.pj-primary-nav ul {
	flex-wrap: nowrap;
	justify-content: center;
	gap: clamp(3px, .7vw, 11px);
}

.pj-primary-nav li {
	flex: 0 0 auto;
}

.pj-primary-nav a {
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	padding: 7px clamp(6px, .65vw, 10px);
	border-radius: 12px;
	font-size: clamp(.72rem, .73vw, .83rem);
	line-height: 1.1;
	white-space: nowrap;
	transition: color 260ms ease, background 260ms ease, transform 360ms var(--pj-ease-spring);
}

.pj-primary-nav a:hover,
.pj-primary-nav a:focus-visible {
	background: rgba(255,255,255,.82);
	transform: translateY(-2px);
}

.pj-primary-nav li:not(.pj-menu-cta) > a::after {
	right: 10px;
	bottom: 3px;
	left: 10px;
	height: 2px;
	background: linear-gradient(90deg, var(--pj-coral), var(--pj-yellow));
	transition: transform 360ms var(--pj-ease-spring);
}

.pj-header-cta {
	display: inline-flex;
	max-width: 280px;
	min-height: 48px;
	flex: 0 0 auto;
	align-items: center;
	gap: 12px;
	padding: 9px 10px 9px 16px;
	border: 2px solid var(--pj-ink);
	border-radius: 16px;
	box-shadow: 4px 5px 0 rgba(36,31,32,.16);
	font-size: .73rem;
	line-height: 1.25;
	transition: transform 380ms var(--pj-ease-spring), box-shadow 380ms ease, background 260ms ease;
}

.pj-header-cta:hover,
.pj-header-cta:focus-visible {
	box-shadow: 7px 8px 0 rgba(36,31,32,.18);
	transform: translateY(-3px);
}

.pj-header-cta-text {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.pj-header-cta-arrow {
	display: grid;
	width: 30px;
	height: 30px;
	flex: 0 0 30px;
	place-items: center;
	border-radius: 10px;
	background: var(--pj-yellow);
	color: var(--pj-ink);
	font-size: 1rem;
	transition: transform 380ms var(--pj-ease-spring);
}

.pj-header-cta:hover .pj-header-cta-arrow,
.pj-header-cta:focus-visible .pj-header-cta-arrow {
	transform: rotate(8deg) scale(1.06);
}

.pj-nav-toggle {
	place-items: center;
	transition: color 260ms ease, background 260ms ease, transform 380ms var(--pj-ease-spring);
}

.pj-nav-toggle:hover,
.pj-nav-toggle:focus-visible {
	transform: translateY(-2px);
}

.pj-nav-toggle[aria-expanded="true"] {
	background: var(--pj-ink);
	color: var(--pj-white);
}

.pj-site-main h2,
.pj-site-main h3 {
	color: var(--pj-ink);
}

.pj-section--ink .pj-stage h3,
.pj-cta-band:not(.pj-cta-band--page) h2 {
	color: var(--pj-white);
}

:is(h1, h2).pj-fluid-title .pj-title-char,
:is(h1, h2).pj-fluid-title .pj-hero-letter,
:is(h1, h2).pj-fluid-title .pj-hero-letter.is-accent {
	background: none;
	text-shadow: none;
	-webkit-text-fill-color: currentColor;
	transition: color 420ms ease, transform 520ms var(--pj-ease-spring), filter 420ms ease;
}

h1.pj-fluid-title .pj-title-char,
h1.pj-fluid-title .pj-hero-letter,
h1.pj-fluid-title .pj-hero-letter.is-accent {
	color: var(--pj-ink);
}

h2.pj-fluid-title .pj-title-char,
h2.pj-fluid-title .pj-hero-letter {
	color: inherit;
}

:is(h1, h2).pj-fluid-title .pj-title-char::after,
:is(h1, h2).pj-fluid-title .pj-hero-letter::after {
	display: none;
}

:is(h1, h2).pj-fluid-title:hover .pj-title-char,
:is(h1, h2).pj-fluid-title:hover .pj-hero-letter {
	background: none;
	color: inherit;
	filter: none;
	-webkit-text-fill-color: currentColor;
	animation: none;
	transform: none;
}

:is(h1, h2).pj-fluid-title .pj-title-char:hover,
:is(h1, h2).pj-fluid-title .pj-hero-letter:hover,
:is(h1, h2).pj-fluid-title .pj-title-char.is-color-held,
:is(h1, h2).pj-fluid-title .pj-hero-letter.is-color-held {
	background: none;
	color: var(--pj-letter-rgba, rgba(198, 40, 40, 1));
	filter: saturate(1.04);
	-webkit-text-fill-color: currentColor;
	animation: pj-h1-rgba-wave 1.45s var(--pj-ease-spring) infinite;
	animation-delay: 0ms;
}

.pj-global-ambient {
	position: fixed;
	z-index: 18;
	inset: 76px 0 0;
	overflow: hidden;
	pointer-events: none;
}

.pj-global-ambient .pj-ambient-pencil {
	display: block;
	opacity: .2;
}

.pj-ambient-pencil--one {
	left: -42px;
	top: 18%;
	--pj-object-rotate: 17deg;
	--pj-object-scale: .88;
	--pj-float-x: 14px;
	--pj-float-y: -16px;
}

.pj-ambient-pencil--two {
	right: -36px;
	bottom: 16%;
	--pj-object-rotate: -16deg;
	--pj-object-scale: .82;
	--pj-float-x: -12px;
	--pj-float-y: -14px;
}

.pj-ambient-circle {
	position: absolute;
	display: block;
	border: 2px solid rgba(36,31,32,.25);
	border-radius: 50%;
	box-shadow: inset 0 0 0 8px rgba(255,255,255,.13);
	opacity: .34;
	animation: pj-ambient-circle-float 10s ease-in-out infinite alternate;
}

.pj-ambient-circle--one {
	right: 3%;
	top: 10%;
	width: 92px;
	height: 92px;
	background: rgba(244,201,75,.28);
}

.pj-ambient-circle--two {
	left: 2%;
	top: 58%;
	width: 64px;
	height: 64px;
	background: rgba(99,183,198,.24);
	animation-delay: -3.4s;
}

.pj-ambient-circle--three {
	right: 17%;
	bottom: 5%;
	width: 48px;
	height: 48px;
	background: rgba(137,103,216,.22);
	animation-delay: -6.2s;
}

@keyframes pj-ambient-circle-float {
	0% { transform: translate3d(0, 0, 0) rotate(0deg) scale(.96); }
	45% { transform: translate3d(8px, -14px, 0) rotate(7deg) scale(1.04); }
	100% { transform: translate3d(-6px, 9px, 0) rotate(-5deg) scale(1); }
}

@keyframes pj-h1-rgba-wave {
	0%, 100% { transform: translateY(0) rotate(0) scale(1); }
	30% { transform: translateY(calc(var(--pj-wave, -.055em) + var(--pj-title-lift, 0em))) rotate(calc(var(--pj-wave-rotate, 0deg) + var(--pj-title-tilt, 0deg))) scale(1.025); }
	62% { transform: translateY(.018em) rotate(calc(var(--pj-wave-rotate, 0deg) * -.28)) scale(.997); }
}

[data-reveal] {
	filter: blur(4px);
	transition-duration: 880ms;
	transition-timing-function: var(--pj-ease-spring);
}

.pj-button {
	box-shadow: 0 8px 24px rgba(36,31,32,.08);
	transition: transform 380ms var(--pj-ease-spring), box-shadow 380ms ease, background 260ms ease, color 260ms ease;
}

.pj-button:hover,
.pj-button:focus-visible {
	box-shadow: 0 16px 34px rgba(36,31,32,.14);
	transform: translateY(-4px);
}

.pj-program-card,
.pj-benefit-card,
.pj-activity-card,
.pj-testimonial,
.pj-team-card {
	transition-duration: 480ms;
	transition-timing-function: var(--pj-ease-spring);
}

@media (max-width: 1399px) {
	.pj-header-cta { display: none; }
}

@media (max-width: 1100px) {
	.pj-site-header { padding: 8px 0; }
	.pj-header-inner { width: min(100% - 28px, 1060px); min-height: 54px; }
	.pj-nav-toggle { display: grid; margin-left: auto; }

	.pj-js .pj-primary-nav {
		position: absolute;
		top: calc(100% + 10px);
		right: 0;
		left: 0;
		display: block;
		width: auto;
		padding: 12px;
		border: 2px solid var(--pj-ink);
		border-radius: 22px;
		background: rgba(255,255,255,.97);
		box-shadow: 8px 10px 0 var(--pj-ink), 0 26px 60px rgba(36,31,32,.16);
		opacity: 0;
		pointer-events: none;
		transform: translateY(-12px) scale(.985);
		transform-origin: top center;
		visibility: hidden;
		transition: opacity 260ms ease, transform 420ms var(--pj-ease-spring), visibility 260ms ease;
	}

	.pj-js .pj-primary-nav.is-open {
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0) scale(1);
		visibility: visible;
	}

	.pj-primary-nav ul {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 4px;
	}

	.pj-primary-nav li { min-width: 0; }
	.pj-primary-nav a { display: flex; min-height: 44px; padding: 10px 12px; font-size: .86rem; }
	.pj-primary-nav li:not(.pj-menu-cta) > a::after { display: none; }
}

@media (max-width: 620px) {
	.pj-header-inner { width: calc(100% - 24px); }
	.pj-brand { font-size: 1.02rem; }
	.pj-brand-mark { width: 42px; height: 42px; flex-basis: 42px; }
	.pj-nav-toggle { width: 44px; height: 44px; border-radius: 14px; }
	.pj-primary-nav ul { grid-template-columns: 1fr; }
	.pj-js .pj-primary-nav { top: calc(100% + 8px); border-radius: 18px; }
	.pj-global-ambient { inset-block-start: 66px; }
	.pj-global-ambient .pj-ambient-pencil { display: block; opacity: .13; }
	.pj-ambient-pencil--one { left: -62px; top: 25%; --pj-object-scale: .66; }
	.pj-ambient-pencil--two { right: -58px; bottom: 13%; --pj-object-scale: .62; }
	.pj-ambient-circle { display: block; opacity: .2; transform: scale(.76); }
	.pj-ambient-circle--one { right: -24px; top: 8%; }
	.pj-ambient-circle--two { left: -20px; top: 56%; }
	.pj-ambient-circle--three { right: 10%; bottom: 3%; }
}

@media (prefers-reduced-motion: reduce) {
	:is(h1, h2).pj-fluid-title .pj-title-char:hover,
	:is(h1, h2).pj-fluid-title .pj-hero-letter:hover,
	:is(h1, h2).pj-fluid-title .pj-title-char.is-color-held,
	:is(h1, h2).pj-fluid-title .pj-hero-letter.is-color-held,
	.pj-ambient-circle {
		animation: none;
		transform: none;
	}
}
