/* =========================================================
   VYTAUTAS EVENT – inner page sections (services, service detail)
   Lora headings 64/80 · 42 · 24, Poppins 18/27 body — from the original site.
   ========================================================= */

/* ---------- serif type scale ---------- */

.ve-site .ve-t1 {
	margin: 0 0 25px;
	max-width: 1000px;
	font-family: var(--ve-font-serif);
	font-size: 64px;
	font-weight: 700;
	line-height: 80px;
	letter-spacing: -1px;
	color: rgb(28, 36, 64);
}

.ve-site .ve-t2 {
	margin: 0 0 28px;
	font-family: var(--ve-font-serif);
	font-size: 42px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.4px;
	color: rgb(28, 36, 64);
}

.ve-site .ve-t3 {
	margin: 0 0 14px;
	font-family: var(--ve-font-serif);
	font-size: 24px;
	font-weight: 700;
	line-height: 1.3;
	color: rgb(28, 36, 64);
}

/* ---------- section scaffolding for inner pages ---------- */

.ve-page-section {
	padding: 0 24px;
	margin: 0 0 78px;
}

.ve-page-section__inner {
	max-width: var(--ve-container);
	margin: 0 auto;
}

/* rich text (WYSIWYG) */
.ve-rich p {
	margin: 0 0 20px;
	font-size: 18px;
	line-height: 27px;
}

.ve-rich p:last-child {
	margin-bottom: 0;
}

.ve-site .ve-rich a {
	color: var(--ve-primary);
	font-weight: 500;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* main / card buttons (square, Poppins 13/600) */
.ve-btn--main {
	min-height: 46px;
	padding: 12px 23px;
	border-radius: 2px;
	font-weight: 600;
}

.ve-btn--card {
	width: fit-content;
	margin-top: auto;
	padding: 10px 18px;
	min-height: 0;
	border-radius: 2px;
}

/* ---------- page hero ---------- */

.ve-page-hero {
	padding: 45px 24px 0;
	margin: 0 0 78px;
}

.ve-page-hero__inner {
	max-width: var(--ve-container);
	margin: 0 auto;
}

.ve-page-hero--with-image {
	padding-top: 56px;
}

.ve-page-hero--with-image .ve-page-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 534px) 480px;
	justify-content: space-between;
	column-gap: 60px;
}

.ve-page-hero--with-image .ve-page-hero__media {
	padding-top: 59px;
}

.ve-site .ve-page-hero__img {
	display: block;
	width: 480px;
	max-width: 100%;
	height: 600px;
	object-fit: cover;
}

.ve-page-hero__lead {
	max-width: 820px;
	margin: 0 0 30px;
	font-size: 18px;
	line-height: 27px;
}

.ve-page-hero--with-image .ve-page-hero__title {
	margin-bottom: 96px;
}

.ve-page-hero--with-image .ve-page-hero__lead {
	margin-bottom: 0;
}

.ve-breadcrumbs {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 9px;
	margin: 0 0 45px;
	font-size: 13px;
	line-height: 1.5;
	color: #59617c;
}

.ve-breadcrumbs a {
	color: var(--ve-primary);
	text-decoration: none;
	transition: opacity .2s ease;
}

.ve-breadcrumbs a:hover {
	opacity: .65;
}

.ve-breadcrumbs__sep,
.ve-breadcrumbs__current {
	color: #7a8097;
}

.ve-eyebrow {
	display: inline-block;
	margin-bottom: 15px;
	color: var(--ve-primary);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

/* ---------- serif cards ---------- */

.ve-serif-cards__title {
	margin-bottom: 28px;
}

.ve-serif-cards__grid {
	display: grid;
	gap: 18px;
}

.ve-serif-cards__grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ve-serif-cards__grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ve-serif-cards__grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }

.ve-serif-card {
	display: flex;
	flex-direction: column;
	min-height: 225px;
	padding: 28px 24px;
	background: rgba(255, 255, 255, 0.45);
	border: 1px solid rgba(28, 36, 71, 0.055);
	border-radius: 3px;
	transition: transform .25s ease, background-color .25s ease, box-shadow .25s ease;
}

.ve-serif-cards__grid--4 .ve-serif-card {
	min-height: 270px;
	padding: 23px;
}

.ve-serif-card:hover {
	background: rgba(255, 255, 255, 0.72);
	transform: translateY(-3px);
	box-shadow: 0 10px 25px rgba(28, 36, 71, 0.07);
}

.ve-serif-card__text {
	margin: 0 0 18px;
	font-size: 18px;
	line-height: 27px;
}

.ve-serif-card__text:last-child {
	margin-bottom: 0;
}

/* ---------- two columns ---------- */

.ve-two-col__inner {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 70px;
}

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

.ve-check-list li {
	position: relative;
	margin-bottom: 18px;
	padding-left: 30px;
	font-size: 18px;
	line-height: 27px;
}

.ve-check-list li:last-child {
	margin-bottom: 0;
}

.ve-check-list li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 0;
	color: var(--ve-primary);
	font-size: 17px;
	font-weight: 700;
}

/* ---------- FAQ ---------- */

.ve-faq__inner {
	max-width: 920px;
	margin-left: calc((100% - var(--ve-container)) / 2);
}

.ve-faq__item {
	margin-bottom: 12px;
	background: rgba(255, 255, 255, 0.42);
	border: 1px solid rgba(28, 36, 71, 0.045);
	border-radius: 3px;
	overflow: hidden;
}

.ve-faq__question {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 21px 24px;
	border: 0;
	background: transparent;
	color: var(--ve-primary);
	font-family: var(--ve-font);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.5;
	text-align: left;
	cursor: pointer;
}

.ve-faq__icon {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	font-size: 22px;
	font-weight: 400;
	line-height: 1;
	transition: transform .25s ease;
}

.ve-faq__item.is-open .ve-faq__icon {
	transform: rotate(45deg);
}

.ve-faq__answer {
	padding: 0 24px 23px;
}

.ve-faq__answer p {
	font-size: 17px;
	line-height: 27px;
}

/* ---------- serif CTA variant ---------- */

.ve-cta--serif {
	margin-top: 0;
	margin-bottom: 70px;
	background: linear-gradient(135deg, #ffffff 0%, #f7f7fc 55%, #eef0f8 100%);
	border-color: rgba(28, 36, 71, 0.07);
	border-radius: 3px;
	box-shadow: 0 8px 25px rgba(28, 36, 71, 0.06);
}

.ve-site .ve-cta--serif .ve-cta__title {
	font-family: var(--ve-font-serif);
	font-size: 42px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.4px;
	color: rgb(28, 36, 64);
}

.ve-cta--serif .ve-btn--cta {
	border-radius: 2px;
	font-weight: 600;
	text-transform: uppercase;
}

/* ---------- contact ---------- */

.ve-contact {
	padding: 64px 24px 40px;
}

.ve-contact__inner {
	max-width: var(--ve-container);
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(0, 606px) 436px;
	justify-content: space-between;
	column-gap: 60px;
}

.ve-contact__text {
	padding-top: 16px;
}

.ve-site .ve-contact__title {
	margin: 0 0 24px;
	font-family: var(--ve-font);
	font-size: 48px;
	font-weight: 400;
	line-height: 1.3;
}

.ve-contact__lead {
	margin: 0 0 56px;
	font-size: 18px;
	line-height: 1.5;
}

.ve-contact__list {
	margin: 0;
}

.ve-contact__list dt {
	font-size: 24px;
	line-height: 1.3;
	margin-bottom: 8px;
}

.ve-contact__list dd {
	margin: 0 0 16px;
	font-size: 16px;
	line-height: 1.5;
}

.ve-site .ve-contact__list a {
	color: var(--ve-primary);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.ve-contact__social {
	list-style: none;
	margin: 20px 0 0;
	padding: 0;
	display: flex;
	gap: 48px;
}

.ve-contact__social a {
	display: inline-flex;
	color: var(--ve-primary);
	transition: opacity .2s ease;
}

.ve-contact__social a:hover {
	opacity: .65;
}

.ve-site .ve-contact__img {
	display: block;
	width: 436px;
	max-width: 100%;
	height: 492px;
	object-fit: cover;
}

/* ---------- logo grid ---------- */

.ve-logos {
	padding: 40px 24px 80px;
}

.ve-logos__inner {
	max-width: var(--ve-container);
	margin: 0 auto;
}

.ve-site .ve-logos__title {
	margin: 0 0 48px;
	font-family: var(--ve-font);
	font-size: 40px;
	font-weight: 400;
	line-height: 1.3;
	text-align: center;
	color: #1a1a1a;
}

.ve-logos__grid {
	display: grid;
	gap: 64px;
	align-items: center;
	justify-items: center;
}

.ve-logos__grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ve-logos__grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ve-logos__grid--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.ve-logos__grid--6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }

.ve-site .ve-logos__item {
	margin: 0;
	width: 100%;
}

.ve-logos__item img {
	display: block;
	width: 100%;
	height: auto;
}

/* ---------- project (text + masonry gallery) ---------- */

.ve-project {
	padding: 64px 24px;
}

.ve-project__inner {
	max-width: 1224px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(0, 520px) minmax(0, 656px);
	justify-content: space-between;
	column-gap: 48px;
	align-items: start;
}

.ve-project--gallery-left .ve-project__inner {
	grid-template-columns: minmax(0, 656px) minmax(0, 520px);
}

.ve-project--gallery-left .ve-project__text {
	order: 2;
}

.ve-project--gallery-left .ve-project__gallery {
	order: 1;
}

.ve-site .ve-project__title {
	margin: 0 0 24px;
	font-family: var(--ve-font);
	font-size: 32px;
	font-weight: 400;
	line-height: 1.3;
	color: var(--ve-primary);
}

.ve-site .ve-project__title--xl {
	margin-bottom: 56px;
	font-size: 64px;
	line-height: 1.25;
	color: #1a1a1a;
}

.ve-project__text p {
	margin: 0 0 24px;
	font-size: 18px;
	line-height: 1.5;
}

.ve-project__text p:last-child {
	margin-bottom: 0;
}

.ve-project__text p.ve-small {
	font-size: 14px;
}

.ve-project__gallery {
	display: grid;
	gap: 16px;
}

.ve-project__gallery--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ve-project__gallery--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.ve-project__col {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.ve-site .ve-project__item {
	margin: 0;
}

.ve-project__item a {
	display: block;
}

.ve-site .ve-project__item img {
	display: block;
	width: 100%;
	height: auto;
	transition: opacity .2s ease;
}

.ve-project__item a:hover img {
	opacity: .9;
}
