@charset "UTF-8";
/* ===== Contact page ===== */
.vlora-contact-page {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding-inline: var(--o-gutter);
	padding-bottom: clamp(3rem, 7vw, 6rem);
	background:
		radial-gradient(52rem 30rem at 90% -4%, rgba(184, 154, 111, .2), transparent 62%),
		radial-gradient(44rem 28rem at 0% 34%, rgba(85, 85, 47, .06), transparent 60%),
		var(--o-bg);
	color: var(--o-ink);
	font-family: var(--o-sans);
}

.vlora-contact-page__inner {
	width: 100%;
	max-width: var(--vlora-container);
	margin-inline: auto;
}

.vlora-contact-page :is(a, button):focus-visible {
	outline: var(--vlora-focus);
	outline-offset: 3px;
}

/* ===== Hero ===== */
.vlora-contact-page__hero {
	padding-top: clamp(2rem, 5vw, 4rem);
}

.vlora-contact-page__content {
	max-width: 46rem;
	font-size: clamp(.9375rem, 1.1vw, 1.0625rem);
	line-height: 1.65;
}

.vlora-contact-page__content > :last-child {
	margin-bottom: 0;
}

/* ===== Layout ===== */
.vlora-contact-page__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 33rem);
	gap: clamp(2rem, 6vw, 6rem);
	align-items: start;
	margin-top: clamp(2.5rem, 6vw, 5rem);
}

/* ===== Info column ===== */
.vlora-contact-page__info {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.vlora-contact-page__label {
	display: flex;
	align-items: center;
	gap: .9rem;
	margin: 0 0 1.1rem;
	color: var(--o-gold);
	font-size: .8125rem;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.vlora-contact-page__label::before {
	content: "";
	width: 2.5rem;
	height: 1px;
	background: currentColor;
}

.vlora-contact-page__phone-block {
	display: grid;
	gap: .5rem;
}

.vlora-contact-page__phone-label {
	color: var(--o-muted);
	font-size: .75rem;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.vlora-contact-page__phone {
	justify-self: start;
	padding-bottom: .12em;
	color: var(--o-olive);
	font-size: clamp(2rem, 4.6vw, 4.75rem);
	font-weight: 300;
	line-height: 1;
	letter-spacing: -.02em;
	text-decoration: none;
	white-space: nowrap;
	background: linear-gradient(var(--o-gold), var(--o-gold)) 0 100% / 0 1px no-repeat;
	transition: background-size .5s cubic-bezier(.2, .7, .2, 1);
}

.vlora-contact-page__phone:hover,
.vlora-contact-page__phone:focus-visible {
	background-size: 100% 1px;
}

.vlora-contact-page__rows {
	display: grid;
	gap: .35rem;
	width: 100%;
	max-width: 32rem;
	margin: clamp(1.75rem, 4vw, 2.75rem) 0 0;
	padding-top: clamp(1.5rem, 3vw, 2rem);
	border-top: 1px solid rgba(85, 85, 47, .18);
}

.vlora-contact-page__row {
	display: flex;
	align-items: center;
	gap: .9rem;
	padding: .55rem 0;
	color: inherit;
	text-decoration: none;
	font-size: clamp(1rem, 1.25vw, 1.1875rem);
	border-bottom: 1px solid transparent;
}

a.vlora-contact-page__row {
	transition: color .25s, border-color .25s;
}

a.vlora-contact-page__row:hover,
a.vlora-contact-page__row:focus-visible {
	color: var(--o-olive);
	border-color: rgba(85, 85, 47, .35);
}

.vlora-contact-page__row svg {
	flex: none;
	color: var(--o-gold);
}

.vlora-contact-page__row span {
	line-height: 1.4;
}

.vlora-contact-page__row em {
	font-style: normal;
	color: var(--o-muted);
	font-size: .8125rem;
}

.vlora-contact-page__channels {
	display: flex;
	flex-wrap: wrap;
	gap: .6rem;
	margin: clamp(1.5rem, 3vw, 2rem) 0 0;
	padding: 0;
	list-style: none;
}

.vlora-contact-page__channel {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	min-height: 2.75rem;
	padding: 0 1.25rem;
	border: 1px solid rgba(85, 85, 47, .35);
	color: var(--o-olive);
	text-decoration: none;
	font-size: .75rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	transition: background-color .25s, color .25s, border-color .25s;
}

.vlora-contact-page__channel::after {
	content: "\2197";
	font-size: .8rem;
	opacity: .7;
	transition: transform .25s;
}

.vlora-contact-page__channel:hover,
.vlora-contact-page__channel:focus-visible {
	background: var(--o-olive);
	border-color: var(--o-olive);
	color: var(--o-cream);
}

.vlora-contact-page__channel:hover::after,
.vlora-contact-page__channel:focus-visible::after {
	transform: translate(1px, -1px);
}

.vlora-contact-page__note {
	display: flex;
	align-items: flex-start;
	gap: .9rem;
	max-width: 24rem;
	margin: clamp(2rem, 4vw, 3rem) 0 0;
	color: var(--o-olive);
	font: 400 clamp(1.15rem, 1.5vw, 1.4rem)/1.3 var(--o-script);
}

.vlora-contact-page__note::before {
	content: "";
	flex: none;
	width: 2rem;
	height: 1px;
	margin-top: .75em;
	background: var(--o-gold);
}

/* ===== Form card ===== */
.vlora-contact-page__cardwrap {
	position: relative;
}

.vlora-contact-page__cardwrap::before {
	content: "";
	position: absolute;
	inset: .85rem -.85rem -.85rem .85rem;
	border: 1px solid rgba(184, 154, 111, .55);
	pointer-events: none;
}

.vlora-contact-page__card {
	position: relative;
	padding: clamp(1.5rem, 2.6vw, 2.5rem);
	background: var(--o-white);
	border-top: 2px solid var(--o-gold);
	box-shadow: 0 2rem 4rem rgba(60, 50, 30, .16);
}

.vlora-contact-page__brand {
	margin: 0;
	text-align: center;
	color: var(--o-olive);
	font: 400 clamp(2rem, 2.6vw, 2.6rem)/1 var(--o-script);
}

.vlora-contact-page__sub {
	margin: .4rem 0 1.5rem;
	text-align: center;
	font-size: .8125rem;
	color: var(--o-muted);
}

.vlora-contact-page__sub::after {
	content: "";
	display: block;
	width: 2.5rem;
	height: 1px;
	margin: .95rem auto 0;
	background: var(--o-gold);
}

/* ===== Fluent Forms ===== */
.vlora-contact-page__form fieldset {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .75rem 1rem;
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}

.vlora-contact-page__form .ff-el-group {
	min-width: 0;
	margin: 0;
}

.vlora-contact-page__form .ff_submit_btn_wrapper,
.vlora-contact-page__form .ff-t-container,
.vlora-contact-page__form .ff-el-turnstile,
.vlora-contact-page__form .ff-el-group:has(textarea),
.vlora-contact-page__form .ff-el-group:has(.ff-el-form-check) {
	grid-column: 1 / -1;
}

.vlora-contact-page__form .ff-el-input--label {
	margin-bottom: .3rem;
	font-size: .6875rem;
	line-height: 1.3;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--o-muted);
}

.vlora-contact-page__form .ff-el-input--label label {
	margin: 0;
	font-weight: 400;
}

.vlora-contact-page__form .ff-el-required {
	margin: 0;
	color: var(--o-danger);
}

.vlora-contact-page__form .ff-el-input--content {
	width: 100%;
}

.vlora-contact-page__form .ff-el-form-control {
	width: 100%;
	height: 2.75rem;
	padding: 0 1rem;
	border: 1px solid rgba(85, 85, 47, .16);
	border-radius: var(--vlora-radius-field);
	background: var(--o-white);
	color: var(--o-ink);
	font: 400 .9375rem var(--o-sans);
	box-shadow: none;
	transition: border-color .2s, box-shadow .2s;
}

.vlora-contact-page__form textarea.ff-el-form-control {
	height: auto;
	min-height: 4.5rem;
	padding: .65rem 1rem;
	resize: vertical;
}

.vlora-contact-page__form .ff-el-form-control::placeholder {
	color: var(--o-placeholder-text);
}

.vlora-contact-page__form .ff-el-form-control:focus {
	outline: none;
	border-color: var(--o-olive);
	box-shadow: 0 0 0 3px rgba(85, 85, 47, .12);
}

.vlora-contact-page__form select.ff-el-form-control {
	appearance: none;
	-webkit-appearance: none;
	cursor: pointer;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%2355552f' stroke-width='1.3'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 1rem center;
	background-color: var(--o-white);
}

.vlora-contact-page__form .ff-el-group:has(.ff-el-input--content > .ff-el-form-check:only-child) > .ff-el-input--label {
	display: none;
}

.vlora-contact-page__form .ff-el-form-check {
	margin: 0;
}

.vlora-contact-page__form .ff-el-form-check-label {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: .6rem;
	align-items: start;
	font-size: .8125rem;
	line-height: 1.4;
	color: var(--o-muted);
}

.vlora-contact-page__form .ff-el-form-check-label input {
	width: 1rem;
	height: 1rem;
	margin: .15rem 0 0;
	accent-color: var(--o-olive);
}

.vlora-contact-page__form .ff-el-turnstile {
	margin-top: .25rem;
}

.vlora-contact-page__form .ff-btn-submit {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .75rem;
	width: 100%;
	height: 3rem;
	margin: .15rem 0 0;
	border: 0;
	border-radius: 0;
	background: var(--o-olive);
	color: var(--o-cream);
	cursor: pointer;
	font: 400 .875rem/1 var(--o-sans);
	letter-spacing: .08em;
	text-transform: uppercase;
	transition: background-color .25s;
}

.vlora-contact-page__form .ff-btn-submit::after {
	content: "\2192";
	transition: transform .25s;
}

.vlora-contact-page__form .ff-btn-submit:hover:not(:disabled) {
	background: var(--o-olive-dark);
}

.vlora-contact-page__form .ff-btn-submit:hover:not(:disabled)::after {
	transform: translateX(4px);
}

.vlora-contact-page__form .ff-btn-submit:disabled {
	opacity: .6;
	cursor: progress;
}

.vlora-contact-page__form .ff-message-success,
.vlora-contact-page__form .ff-message-error {
	margin: 0;
	padding: .85rem 1rem;
	text-align: center;
	font-size: .9375rem;
	line-height: 1.4;
}

.vlora-contact-page__form .ff-message-success {
	background: var(--o-tint);
	color: var(--o-olive);
}

.vlora-contact-page__form .ff-errors,
.vlora-contact-page__form .ff-el-help-message,
.vlora-contact-page__form .error {
	margin: .2rem 0 0;
	font-size: .75rem;
	color: var(--o-danger);
}

.vlora-contact-page__cta {
	display: block;
	text-align: center;
	padding: 1.1rem 1.5rem;
	background: var(--o-olive);
	border-radius: var(--vlora-radius-btn);
	color: var(--o-cream);
	font: 400 .9375rem/1 var(--o-sans);
	letter-spacing: .02em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background-color .25s;
}

.vlora-contact-page__cta:hover,
.vlora-contact-page__cta:focus-visible {
	background: var(--o-olive-dark);
}

/* ===== Office map ===== */
.vlora-contact-page__office {
	margin-top: clamp(3rem, 7vw, 6rem);
}

.vlora-contact-page__office-head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem 2.5rem;
	margin-bottom: clamp(1.25rem, 3vw, 2rem);
}

.vlora-contact-page__office-title {
	margin: 0;
	color: var(--o-olive);
	font-weight: 400;
}

.vlora-contact-page__office-caps {
	display: block;
	font: 400 clamp(1.6rem, 2.8vw, 2.75rem)/1 var(--o-sans);
	letter-spacing: -.01em;
	text-transform: uppercase;
}

.vlora-contact-page__office-accent {
	display: block;
	margin-top: .12em;
	color: var(--o-gold);
	font: 400 clamp(1.5rem, 2.4vw, 2.25rem)/1 var(--o-script);
}

.vlora-contact-page__office-address {
	max-width: 20rem;
	margin: 0;
	color: var(--o-muted);
	font-size: clamp(.9375rem, 1.05vw, 1.0625rem);
	line-height: 1.5;
	text-align: right;
}

.vlora-contact-page .vlora-map__canvas {
	height: clamp(20rem, 40vw, 34rem);
	min-height: 18rem;
	border: 0;
	border-radius: 0;
	background: var(--o-surface);
}

/* ===== Responsive ===== */
@media (max-width: 900px) {
	.vlora-contact-page__grid {
		grid-template-columns: 1fr;
	}

	.vlora-contact-page__cardwrap {
		justify-self: stretch;
	}

	.vlora-contact-page__cardwrap::before {
		inset: .6rem -.6rem -.6rem .6rem;
	}

	.vlora-contact-page__office-address {
		max-width: 24rem;
		text-align: left;
	}
}

@media (max-width: 600px) {
	.vlora-contact-page__form fieldset {
		grid-template-columns: 1fr;
	}

	.vlora-contact-page__phone {
		font-size: clamp(1.9rem, 10vw, 2.6rem);
	}
}

.vl-contact-js [data-reveal] {
	opacity: 0;
	transform: translateY(1.75rem);
	transition: opacity .9s ease, transform .9s cubic-bezier(.2, .7, .2, 1);
}

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

