/* Contact page (exm-page--contact): pieces that are only used here. Core: modern.css */

/* The core's gold focus ring is too faint on the light section: use the ink colour. */
.exm-page--contact .exm-light :is(a, .elementor-button):focus-visible { outline-color: #101B18; }

/* ------------------------------------------------------------------ contact details */
.exm-page--contact .exm-contact-section.e-con { padding: clamp(60px, 7vw, 110px) 0; }
.exm-page--contact .exm-contact__rows.e-con { display: block; }
.exm-page--contact .exm-crow.e-con {
	position: relative;
	display: grid;
	grid-template-columns: minmax(110px, 200px) minmax(0, 1fr);
	gap: 18px clamp(28px, 4vw, 64px);
	align-items: start;
	padding: clamp(40px, 5vw, 76px) 0;
	border-top: 1px solid var(--exm-line);
}
.exm-page--contact .exm-crow.e-con:last-child { border-bottom: 1px solid var(--exm-line); }
.exm-page--contact .exm-crow.e-con::before {
	content: "";
	position: absolute;
	top: -1px;
	left: 0;
	right: auto;
	bottom: auto;
	width: 72px;
	height: 2px;
	background: var(--exm-accent);
}
.exm-page--contact .exm-crow__label .elementor-heading-title {
	color: var(--exm-kicker);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .2em;
	line-height: 1.5;
	padding-top: .9em;
}
.exm-page--contact .exm-crow__body.e-con { display: flex; flex-direction: column; align-items: flex-start; gap: 22px; }
.exm-page--contact .exm-mail p { margin: 0; line-height: 1.04; }
.exm-page--contact .exm-mail a {
	position: relative;
	display: inline-block;
	max-width: 100%;
	padding-bottom: .1em;
	color: var(--exm-ink);
	font-size: clamp(30px, 6.2vw, 92px);
	font-weight: 400;
	letter-spacing: -.05em;
	line-height: 1.04;
	overflow-wrap: anywhere;
	background: linear-gradient(var(--exm-accent), var(--exm-accent)) 0 100% / 100% 2px no-repeat;
	transition: color .3s, background-size .5s cubic-bezier(.22, 1, .36, 1);
}
.exm-page--contact .exm-mail a::after {
	content: "";
	display: inline-block;
	width: .34em;
	height: .34em;
	margin-left: .16em;
	vertical-align: .32em;
	background: currentColor;
	-webkit-mask: var(--exm-arrow-up-right) center / contain no-repeat;
	mask: var(--exm-arrow-up-right) center / contain no-repeat;
	transition: transform .35s;
}
.exm-page--contact .exm-mail a:hover { color: #766B54; }
.exm-page--contact .exm-mail a:hover::after { transform: translate(.08em, -.08em); }
.exm-page--contact .exm-mail a:focus-visible { outline: 2px solid #101B18; outline-offset: 6px; }
.exm-page--contact .exm-crow__note p { max-width: 520px; font-size: clamp(15px, 1.2vw, 18px); }
.exm-page--contact .exm-crow__place .elementor-heading-title {
	color: var(--exm-ink);
	font-size: clamp(30px, 3.6vw, 54px);
	font-weight: 400;
	line-height: 1.12;
	letter-spacing: -.04em;
}

/* ------------------------------------------------------------------ two ways in */
.exm-page--contact .exm-ways-section.e-con { padding: clamp(70px, 8vw, 124px) 0 clamp(80px, 9vw, 140px); }
.exm-page--contact .exm-ways.e-con { gap: clamp(20px, 2.6vw, 40px); }
.exm-page--contact .exm-way.e-con { gap: 0; min-height: clamp(340px, 30vw, 440px); padding: clamp(30px, 3.4vw, 52px); }
.exm-page--contact .exm-way .exm-number .elementor-heading-title { margin-bottom: 0; }
.exm-page--contact .exm-way > .exm-way__title.elementor-widget { padding: clamp(36px, 4vw, 64px) 0 18px; }
.exm-page--contact .exm-way__title .elementor-heading-title {
	color: var(--exm-ink);
	font-size: clamp(32px, 3.4vw, 52px);
	font-weight: 400;
	line-height: 1.1;
	letter-spacing: -.04em;
}
.exm-page--contact .exm-way__text p { max-width: 440px; }
.exm-page--contact .exm-way > .exm-way__action.elementor-widget { margin-top: auto; padding-top: clamp(30px, 3vw, 44px); }
.exm-page--contact .exm-way .exm-btn .elementor-button { min-width: 230px; }

@media (max-width: 899px) {
	.exm-page--contact .exm-crow.e-con { grid-template-columns: 1fr; gap: 14px; }
	.exm-page--contact .exm-crow__label .elementor-heading-title { padding-top: 0; }
}
@media (max-width: 767px) {
	.exm-page--contact .exm-way .exm-btn .elementor-button { min-width: 0; }
}

/* Cards lift on hover (core): .exm-reveal.is-visible resets transform after the card hover rule, so it is restored here;
   the stagger delay that modern.js leaves inline on the card must not delay the lift. */
@media (hover: hover) {
	.exm-motion .exm-page--contact .exm-card.exm-reveal.is-visible:hover {
		transform: translateY(-6px);
		transition: opacity .8s ease, transform .5s cubic-bezier(.22, 1, .36, 1), border-color .4s, box-shadow .5s;
		transition-delay: 0s !important;
	}
}
