/* =========================================================
   VYTAUTAS EVENT – unified type & component system
   Loaded LAST. One scale for every page:
     H1 Lora 700 56px · H2 Lora 700 36px · H3 Lora 700 20px
     Lead Poppins 18px · Body Poppins 16px · Card text 15px · Label 11px caps
     Buttons: pill · Cards/images: 14px radius
   ========================================================= */

:root {
	--t-h1: 56px;
	--t-h2: 36px;
	--t-h3: 20px;
	--t-lead: 18px;
	--t-body: 16px;
	--t-small: 15px;
	--t-ink: rgb(28, 36, 64);
	--t-muted: #5b617a;
	--t-radius: 14px;
	--t-line: rgba(28, 36, 71, 0.16);
}

/* ---------- H1 ---------- */
.ve-site .ve-hero__title,
.ve-site .ve-about__title,
.ve-site .ve-t1,
.ve-site .ve-page-hero__title,
.ve-site .ve-contact__title,
.ve-site .ve-project__title--xl,
.ve-site .ve-case-hero__title,
.ve-site .ve-post__headline,
.ve-site .ve-blog-band__title,
.ve-site .ve-article__title,
.ve-site .ve-pf-intro__title,
.ve-site h1.ve-section__title {
	margin: 0 0 20px;
	max-width: none;
	width: auto;
	font-family: var(--ve-font-serif);
	font-size: var(--t-h1);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -1.2px;
	color: var(--t-ink);
}

/* homepage: greeting becomes the H2-sized line above the H1 */
.ve-site .ve-hero__greeting {
	font-family: var(--ve-font-serif);
	font-size: var(--t-h2);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.5px;
	color: var(--t-ink);
	white-space: normal;
}

.ve-site .ve-hero__greeting + .ve-hero__greeting {
	margin-bottom: 12px;
}

/* ---------- H2 ---------- */
.ve-site .ve-section__title,
.ve-site .ve-experience__title,
.ve-site .ve-about__subtitle,
.ve-site .ve-about__closing-title,
.ve-site .ve-t2,
.ve-site .ve-project__title,
.ve-site .ve-logos__title,
.ve-site .ve-case-h2,
.ve-site .ve-post__h2,
.ve-site .ve-cta__title,
.ve-site .ve-cta--serif .ve-cta__title,
.ve-site .ve-cta--card .ve-cta__title,
.ve-site .ve-post__cta h2,
.ve-site .ve-serif-cards__title,
.ve-site .ve-pf__title,
.ve-site .ve-footer__title {
	margin: 0 0 16px;
	font-family: var(--ve-font-serif);
	font-size: var(--t-h2);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.6px;
	color: var(--t-ink);
}

.ve-site .ve-experience__title,
.ve-site .ve-footer__title {
	color: #fff;
}

.ve-site .ve-footer__title {
	font-size: 24px;
}

.ve-site .ve-about__subtitle {
	font-size: 24px;
	font-weight: 600;
}

/* ---------- H3 ---------- */
.ve-site .ve-card__title,
.ve-site .ve-step__title,
.ve-site .ve-t3,
.ve-site .ve-serif-card__title,
.ve-site .ve-case-h3,
.ve-site .ve-post-grid__card h3,
.ve-site .ve-post__prose h3,
.ve-site .ve-post-card__title,
.ve-site .ve-post__card-title,
.ve-site .ve-post__link-card strong,
.ve-site .ve-post-highlight strong,
.ve-site .ve-post-process strong,
.ve-site .ve-case-work__card .ve-case-h3,
.ve-site .ve-case-steps .ve-case-h3,
.ve-site .ve-footer__heading {
	margin: 0 0 8px;
	font-family: var(--ve-font-serif);
	font-size: var(--t-h3);
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0;
	color: var(--t-ink);
	text-transform: none;
}

.ve-site .ve-post-card__title { font-size: 24px; }
.ve-site .ve-post__card-title { font-size: 26px; }
.ve-site .ve-post__prose .ve-post-callout__title { font-family: var(--ve-font-serif); font-size: 28px; font-weight: 700; line-height: 1.2; color: var(--t-ink); }
.ve-site .ve-footer__heading { color: #fff; font-family: var(--ve-font); font-size: 12px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; }

/* ---------- labels / eyebrows ---------- */
.ve-site .ve-eyebrow,
.ve-site .ve-case-label,
.ve-site .ve-post-label,
.ve-site .ve-post-num,
.ve-site .ve-step__number,
.ve-site .ve-contact__list dt,
.ve-site .ve-case-facts dt {
	font-family: var(--ve-font);
	font-size: 11px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #7c8199;
}

.ve-site .ve-step__number { font-size: 11px; margin-bottom: 14px; }

/* ---------- lead paragraphs ---------- */
.ve-site .ve-hero__lead,
.ve-site .ve-intro,
.ve-site .ve-page-hero__lead,
.ve-site .ve-case-hero__lead,
.ve-site .ve-post__lead,
.ve-site .ve-contact__lead,
.ve-site .ve-cta__text,
.ve-site .ve-experience__text,
.ve-site .ve-case-intro,
.ve-site .ve-post__faq-intro,
.ve-site .ve-blog-band__desc {
	font-family: var(--ve-font);
	font-size: var(--t-lead);
	font-weight: 400;
	line-height: 1.6;
	color: var(--ve-text);
}

.ve-site .ve-experience__text { color: rgba(255, 255, 255, 0.9); }

/* ---------- body text ---------- */
.ve-site .ve-about__content p,
.ve-site .ve-about__serif,
.ve-site .ve-rich p,
.ve-site .ve-case-copy p,
.ve-site .ve-case-columns p,
.ve-site .ve-project__text p,
.ve-site .ve-post__prose p,
.ve-site .ve-post__prose ul:not([class]),
.ve-site .ve-check-list li,
.ve-site .ve-post-card__excerpt,
.ve-site .ve-article__content,
.ve-site .ve-faq__answer p,
.ve-site .ve-post__faq-a p,
.ve-site .ve-case-result p,
.ve-site .ve-footer__text {
	font-family: var(--ve-font);
	font-size: var(--t-body);
	font-weight: 400;
	line-height: 1.65;
}

.ve-site .ve-about__content p,
.ve-site .ve-rich p,
.ve-site .ve-project__text p,
.ve-site .ve-post__prose p {
	margin: 0 0 18px;
}

.ve-site .ve-about__content p:last-child,
.ve-site .ve-rich p:last-child,
.ve-site .ve-project__text p:last-child,
.ve-site .ve-post__prose p:last-child { margin-bottom: 0; }

/* card descriptions */
.ve-site .ve-card__text,
.ve-site .ve-step__text,
.ve-site .ve-serif-card__text,
.ve-site .ve-testimonial__quote,
.ve-site .ve-case-work__card p,
.ve-site .ve-case-steps p,
.ve-site .ve-post-grid__card p,
.ve-site .ve-post-highlight p,
.ve-site .ve-post-process p,
.ve-site .ve-post__card p,
.ve-site .ve-post-callout p:not(.ve-post-callout__title),
.ve-site .ve-post-card__meta,
.ve-site .ve-contact__list dd,
.ve-site .ve-case-facts dd,
.ve-site .ve-footer__menu a,
.ve-site .ve-footer__contacts li {
	font-family: var(--ve-font);
	font-size: var(--t-small);
	line-height: 1.6;
}

.ve-site .ve-case-facts dd,
.ve-site .ve-contact__list dd { font-weight: 500; color: var(--t-ink); }

/* FAQ question */
.ve-site .ve-faq__question,
.ve-site .ve-post__faq-q {
	font-family: var(--ve-font);
	font-size: 16px;
	font-weight: 600;
	color: var(--t-ink);
}

/* ---------- buttons: original square style, one variant set ---------- */
.ve-site .ve-btn,
.ve-site .ve-btn--main,
.ve-site .ve-btn--card,
.ve-site .ve-btn--cta,
.ve-site .ve-pill,
.ve-site .ve-case-btn,
.ve-site .ve-post__cta-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	min-width: 0;
	width: auto;
	padding: 11px 20px;
	border: 1px solid var(--ve-primary);
	border-radius: 0;
	background: var(--ve-primary);
	color: #fff !important;
	font-family: var(--ve-font);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: none;
	text-decoration: none !important;
	box-shadow: none;
	transition: background-color .25s ease, color .25s ease, transform .25s ease, box-shadow .25s ease;
}

.ve-site .ve-btn:hover,
.ve-site .ve-pill:hover,
.ve-site .ve-case-btn:hover,
.ve-site .ve-post__cta-btn:hover {
	background: #fff;
	color: var(--ve-primary) !important;
	transform: translateY(-2px);
	box-shadow: 0 7px 18px rgba(28, 36, 71, 0.12);
}

/* secondary (outline) */
.ve-site .ve-case-btn--ghost {
	background: transparent;
	color: var(--ve-primary) !important;
}

.ve-site .ve-case-btn--ghost:hover {
	background: var(--ve-primary);
	color: #fff !important;
}

/* on dark backgrounds */
.ve-site .ve-btn--light {
	background: #fff;
	border-color: #fff;
	color: var(--ve-primary) !important;
}

.ve-site .ve-btn--light:hover {
	background: transparent;
	color: #fff !important;
}

/* homepage hero: full-width stacked, uppercase (original design) */
.ve-site .ve-btn--hero {
	display: flex;
	width: 100%;
	min-height: 0;
	padding: 14px 32px;
	border: 0;
	border-radius: 0;
	background: var(--ve-primary);
	color: #fff !important;
	font-family: var(--ve-font);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none !important;
	transition: background-color .2s ease;
}

.ve-site .ve-btn--hero:hover {
	background: rgb(70, 70, 70);
	color: #fff !important;
	transform: none;
	box-shadow: none;
}

.ve-site .ve-about__buttons .ve-btn { min-width: 220px; }

/* ---------- cards & surfaces: one radius, one border ---------- */
.ve-site .ve-card,
.ve-site .ve-step,
.ve-site .ve-testimonial,
.ve-site .ve-serif-card,
.ve-site .ve-faq__item,
.ve-site .ve-case-work__card,
.ve-site .ve-post-grid__card,
.ve-site .ve-post__link-card,
.ve-site .ve-case-related,
.ve-site .ve-post-highlight,
.ve-site .ve-case-result {
	border-radius: var(--t-radius);
	border: 1px solid var(--t-line);
	box-shadow: none;
	background: rgba(255, 255, 255, 0.55);
}

.ve-site .ve-card:hover,
.ve-site .ve-step:hover,
.ve-site .ve-serif-card:hover,
.ve-site .ve-post__link-card:hover {
	background: #fff;
	transform: translateY(-3px);
	box-shadow: 0 12px 30px rgba(28, 36, 71, 0.10);
}

.ve-site .ve-testimonial { border-left: 3px solid var(--ve-primary); }
.ve-site .ve-post-highlight,
.ve-site .ve-case-result,
.ve-site .ve-post__card { background: #f6f6fb; }

.ve-site .ve-faq--rows .ve-faq__item,
.ve-site .ve-post__faq-item { border-radius: 0; border-width: 0 0 1px; background: transparent; }

.ve-site .ve-cta,
.ve-site .ve-post__cta,
.ve-site .ve-post__card,
.ve-site .ve-post-callout,
.ve-site .ve-experience__inner {
	border-radius: 20px;
}

.ve-site .ve-cta {
	background: linear-gradient(135deg, #ffffff 0%, #f7f7fc 55%, #eef0f8 100%);
	border: 1px solid rgba(28, 36, 71, 0.08);
	box-shadow: 0 14px 35px rgba(28, 36, 71, 0.08);
}

/* ---------- images: one radius ---------- */
.ve-site .ve-hero__img,
.ve-site .ve-about__img,
.ve-site .ve-page-hero__img,
.ve-site .ve-contact__img,
.ve-site .ve-case-hero__img,
.ve-site .ve-project__item img,
.ve-site .ve-project__item,
.ve-site .ve-post-card__thumb,
.ve-site .ve-post-card__thumb img,
.ve-site .ve-case-gallery__item,
.ve-site .ve-article__thumb img {
	border-radius: var(--t-radius);
	overflow: hidden;
}

/* ---------- responsive scale ---------- */
@media (max-width: 1024px) {
	:root { --t-h1: 44px; --t-h2: 32px; }
}

@media (max-width: 767px) {
	:root { --t-h1: 34px; --t-h2: 27px; --t-h3: 19px; --t-lead: 17px; }
	.ve-site .ve-hero__title,
	.ve-site .ve-about__title,
	.ve-site .ve-t1,
	.ve-site .ve-page-hero__title,
	.ve-site .ve-contact__title,
	.ve-site .ve-project__title--xl,
	.ve-site .ve-case-hero__title,
	.ve-site .ve-post__headline,
	.ve-site .ve-blog-band__title { font-size: var(--t-h1); letter-spacing: -0.8px; }
	.ve-site .ve-section__title,
	.ve-site .ve-experience__title,
	.ve-site .ve-t2,
	.ve-site .ve-project__title,
	.ve-site .ve-case-h2,
	.ve-site .ve-post__h2,
	.ve-site .ve-cta__title,
	.ve-site .ve-hero__greeting { font-size: var(--t-h2); }
}

/* ---------- homepage alignment with the rest of the site ---------- */
.ve-site .ve-hero__inner {
	grid-template-columns: 496px minmax(0, 600px);
	column-gap: 56px;
	justify-content: space-between;
}

.ve-site .ve-hero__text { padding-top: 40px; }
.ve-site .ve-hero__buttons { flex-direction: column; gap: 16px; max-width: 392px; }

.ve-site .ve-section__title,
.ve-site .ve-intro {
	text-align: left;
	margin-left: 0;
	margin-right: 0;
}

.ve-site .ve-cta__title,
.ve-site .ve-cta__text { text-align: center; }
.ve-site .ve-cta__text { margin-left: auto; margin-right: auto; }
/* standalone "more" buttons under grids: centered on every page */
.ve-site .ve-cards__more,
.ve-site .ve-case-more,
.ve-site .ve-about__buttons,
.ve-site .ve-blog__pagination { justify-content: center; text-align: center; }
.ve-site .ve-cards__more { margin-top: 32px; }
.ve-site .ve-case-more { margin-top: 28px; }
.ve-site .ve-logos__title { text-align: left; }

@media (max-width: 1024px) {
	.ve-site .ve-hero__inner { grid-template-columns: minmax(0, 420px) minmax(0, 1fr); column-gap: 32px; }
}

@media (max-width: 767px) {
	.ve-site .ve-hero__inner { display: flex; }
	.ve-site .ve-hero__text { padding-top: 0; }
	.ve-site .ve-hero__buttons { max-width: none; }
}

.ve-site .ve-hero__inner { grid-template-rows: auto 1fr; }
.ve-site .ve-hero__buttons { align-self: start; margin-top: 8px; }

/* about page: portrait aligned with the top of the text */
.ve-site .ve-about__media { padding-top: 0; align-self: start; }

/* ---------- serif cards (services grid) ---------- */
.ve-site .ve-serif-cards__grid { gap: 20px; }
.ve-site .ve-serif-card {
	position: relative;
	min-height: 0;
	padding: 32px 30px 28px;
	background: rgba(255, 255, 255, 0.6);
}
.ve-site .ve-serif-card__num {
	display: block;
	margin-bottom: 18px;
	font-family: var(--ve-font);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.16em;
	color: #7c8199;
}
.ve-site .ve-serif-card__title { margin-bottom: 10px; }
.ve-site .ve-serif-card__text { margin: 0; }
.ve-site .ve-serif-card__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 22px;
	font-family: var(--ve-font);
	font-size: 14px;
	font-weight: 600;
	color: var(--ve-primary);
	text-decoration: none;
	border-bottom: 1px solid rgba(28, 36, 71, 0.3);
	padding-bottom: 2px;
	transition: border-color .2s ease, gap .2s ease;
}
.ve-site .ve-serif-card__link:hover { border-color: var(--ve-primary); gap: 12px; }
.ve-site .ve-serif-card--contact {
	background: var(--ve-primary);
	border-color: var(--ve-primary);
}
.ve-site .ve-serif-card--contact:hover { background: var(--ve-primary); transform: none; box-shadow: none; }
.ve-site .ve-serif-card--contact .ve-serif-card__title,
.ve-site .ve-serif-card--contact .ve-serif-card__text { color: #fff; }
.ve-site .ve-serif-card--contact .ve-serif-card__text { color: rgba(255, 255, 255, 0.85); }
.ve-site .ve-serif-card--contact .ve-btn { margin-top: 24px; }
.ve-site .ve-serif-card { display: flex; flex-direction: column; }
.ve-site .ve-serif-card__link,
.ve-site .ve-serif-card--contact .ve-btn { margin-top: auto; padding-top: 0; }
.ve-site .ve-serif-card__link { margin-top: auto; padding-top: 22px; align-self: flex-start; }
.ve-site .ve-serif-card--contact .ve-btn { margin-top: 24px; }
.ve-site .ve-serif-card__text { margin-bottom: 0; }
.ve-site .ve-page-section.ve-serif-cards { margin-bottom: 96px; }

/* page hero with image: text vertically centred against the photo, no offset */
.ve-site .ve-page-hero--with-image .ve-page-hero__inner {
	grid-template-columns: minmax(0, 560px) 480px;
	align-items: center;
	column-gap: 80px;
}
.ve-site .ve-page-hero--with-image .ve-page-hero__media { padding-top: 0; }
.ve-site .ve-page-hero--with-image .ve-page-hero__title { margin-bottom: 20px; }
.ve-site .ve-page-hero--with-image .ve-page-hero__lead { margin-bottom: 28px; }
.ve-site .ve-page-hero__img { height: 560px; }
@media (max-width: 1024px) {
	.ve-site .ve-page-hero--with-image .ve-page-hero__inner { grid-template-columns: minmax(0, 1fr) minmax(0, 380px); column-gap: 32px; }
	.ve-site .ve-page-hero__img { height: auto; }
}

/* portraits: never crop heads – keep the source aspect ratio, anchor any crop to the top */
.ve-site .ve-page-hero__img,
.ve-site .ve-about__img,
.ve-site .ve-hero__img,
.ve-site .ve-contact__img,
.ve-site .ve-case-hero__img {
	height: auto;
	object-position: center top;
}
.ve-site .ve-page-hero__img { aspect-ratio: 4 / 5; }
.ve-site .ve-about__img { aspect-ratio: 4 / 5; }
.ve-site .ve-hero__img { aspect-ratio: 2 / 3; }
.ve-site .ve-contact__img { aspect-ratio: 436 / 492; }
.ve-site .ve-case-hero__img { aspect-ratio: 3 / 2; }

.ve-site .ve-pf__title { font-size: 28px; margin-bottom: 18px; }

.ve-site .ve-project__link {
	display: inline-flex; align-items: center; gap: 8px; margin-top: 4px; padding-bottom: 2px;
	border-bottom: 1px solid rgba(28, 36, 71, 0.3); font-family: var(--ve-font); font-size: 14px; font-weight: 600;
	color: var(--ve-primary); text-decoration: none;
}
.ve-site .ve-project__link:hover { border-color: var(--ve-primary); }

/* project rows with slider gallery */
.ve-site .ve-project__inner { grid-template-columns: minmax(0, 480px) minmax(0, 660px); column-gap: 64px; align-items: start; }
.ve-site .ve-project--gallery-left .ve-project__inner { grid-template-columns: minmax(0, 660px) minmax(0, 480px); }

/* blog post: comfortable reading */
.ve-site .ve-post__headline { font-size: 48px; letter-spacing: -1px; margin-bottom: 18px; }
.ve-site .ve-post__h2 { font-size: 30px; }
@media (max-width: 767px) { .ve-site .ve-post__headline { font-size: 32px; } }

/* readable small text (labels, breadcrumbs, numbers) */
.ve-site .ve-eyebrow,
.ve-site .ve-case-label,
.ve-site .ve-post-label,
.ve-site .ve-serif-card__num,
.ve-site .ve-pg__cat { font-size: 13px; letter-spacing: 0.12em; color: #5b617a; }
.ve-site .ve-post-num,
.ve-site .ve-step__number { font-size: 13px; color: #5b617a; }
.ve-site .ve-post__crumbs,
.ve-site .ve-case-crumbs,
.ve-site .ve-breadcrumbs { font-size: 14px; }
.ve-site .ve-post-process__num,
.ve-site .ve-case-steps__num { font-size: 13px; }
.ve-site .ve-post-process__num { width: 36px; height: 36px; flex-basis: 36px; }
.ve-site .ve-contact__list dt,
.ve-site .ve-case-facts dt,
.ve-site .ve-pf__facts dt { font-size: 12px; }
.ve-site .ve-post__meta,
.ve-site .ve-post-card__meta { font-size: 15px; }
.ve-site .ve-post__link-card .ve-post-label { font-size: 12px; }
.ve-site .ve-post-highlight p,
.ve-site .ve-post-grid__card p,
.ve-site .ve-post-process p,
.ve-site .ve-post-callout p:not(.ve-post-callout__title),
.ve-site .ve-post__faq-a p,
.ve-site .ve-case-work__card p,
.ve-site .ve-case-steps p { font-size: 16px; color: #4a5068; }

/* blog post CTA: full page width like other pages */
.ve-site .ve-post__cta { max-width: 1224px; padding: 64px 40px; }

/* brand arrow icon inside buttons and links */
.ve-site .ve-arrow { width: 15px; height: 15px; flex: 0 0 auto; margin-left: 2px; transition: transform .2s ease; }
.ve-site a:hover .ve-arrow { transform: translateX(3px); }
.ve-site .ve-btn, .ve-site .ve-case-btn, .ve-site .ve-post__cta-btn { gap: 10px; }
.ve-site .ve-post__link-arrow { font-size: 0; }
.ve-site .ve-post__link-arrow .ve-arrow { width: 14px; height: 14px; margin: 0; }

/* projects on mobile: text first, then the slider */
@media (max-width: 767px) {
	.ve-site .ve-project__inner { display: flex; flex-direction: column; gap: 22px; }
	.ve-site .ve-project__text { order: 1; }
	.ve-site .ve-project .ve-gal { order: 2; }
}

/* tablet portrait: stack the homepage hero */
@media (max-width: 900px) {
	.ve-site .ve-hero__inner { display: flex; flex-direction: column; }
	.ve-site .ve-hero__text { order: 1; padding-top: 0; }
	.ve-site .ve-hero__media { order: 2; margin: 24px 0; max-width: 480px; }
	.ve-site .ve-hero__buttons { order: 3; max-width: 480px; }
	.ve-site .ve-hero__lead { margin-bottom: 0; }
}

@media (max-width: 900px) {
	.ve-site .ve-hero__buttons { align-self: stretch; width: 100%; max-width: none; gap: 12px; }
	.ve-site .ve-hero__media { align-self: stretch; max-width: none; }
	.ve-site .ve-btn--hero { width: 100%; }
}

/* about page on phones/tablets: full-width photo and buttons */
@media (max-width: 900px) {
	.ve-site .ve-about__inner { display: flex; flex-direction: column; }
	.ve-site .ve-about__media { align-self: stretch; padding-top: 0; margin: 28px 0 0; }
	.ve-site .ve-about__img { width: 100%; height: auto; }
	.ve-site .ve-about__closing { margin-top: 32px; }
	.ve-site .ve-about__buttons { align-self: stretch; width: 100%; flex-direction: column; gap: 12px; margin-top: 32px; }
	.ve-site .ve-about__buttons .ve-btn { width: 100%; min-width: 0; }
}

/* generic safety: any stacked hero/section child that was start-aligned on desktop */
@media (max-width: 900px) {
	.ve-site .ve-page-hero__media,
	.ve-site .ve-case-hero__media,
	.ve-site .ve-contact__media { align-self: stretch; }
	.ve-site .ve-page-hero .ve-btn,
	.ve-site .ve-case-hero .ve-case-btn,
	.ve-site .ve-cta__buttons .ve-btn,
	.ve-site .ve-cta__buttons .ve-case-btn { width: 100%; }
	.ve-site .ve-cta__buttons { flex-direction: column; align-items: stretch; }
}
@media (max-width: 900px) { .ve-site .ve-btn--main, .ve-site .ve-about__buttons .ve-btn { max-width: none; } }

.ve-site .ve-post__prose a.ve-post__link-card { text-decoration: none; font-weight: 400; }
.ve-site .ve-post__prose .ve-post__link-grid { margin: 24px 0 8px; }
.ve-site .ve-post__link-arrow { display: inline-flex; align-items: center; justify-content: center; color: var(--ve-primary); }

/* contact page: comfortable tap targets, uncropped photo on small screens */
.ve-site .ve-contact__social a {
	width: 44px; height: 44px; align-items: center; justify-content: center;
	border: 1px solid rgba(28, 36, 71, 0.25); border-radius: 0;
}
.ve-site .ve-contact__social { gap: 12px; }
.ve-site .ve-contact__list dd { font-size: 17px; margin-bottom: 18px; }
.ve-site .ve-contact__list dd a { display: inline-block; padding: 2px 0; }
@media (max-width: 900px) {
	.ve-site .ve-contact__inner { display: flex; flex-direction: column; gap: 32px; }
	.ve-site .ve-contact__media { order: 2; align-self: stretch; margin: 0; }
	.ve-site .ve-contact__img { width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; }
	.ve-site .ve-contact__lead { margin-bottom: 28px; }
	.ve-site .ve-logos { padding-top: 8px; }
}

/* header phone: same weight as the menu, clearly readable */
.ve-site .ve-header__phone { font-size: 16px; font-weight: 600; letter-spacing: 0.01em; }
.ve-site .ve-nav__mobile-extra .ve-header__phone { font-size: 18px; }
