
.ekc-contact{
	--orange:#F16A21;
	--orange-dark:#D95714;
	--ink:#171717;
	--charcoal:#242424;
	--text:#484848;
	--muted:#747474;
	--cream:#F6F3EE;
	--warm:#ECE5DB;
	--line:#DDD6CD;
	--white:#fff;
	--max:1320px;
	--ease:cubic-bezier(.22,.61,.36,1);

	width:100vw;
	max-width:none!important;
	margin-left:calc(50% - 50vw);
	overflow:hidden;
	background:#fff;
	color:var(--text);
	font-family:Arial,Helvetica,sans-serif;
	font-size:16px;
	line-height:1.68;
}

.ekc-contact *,
.ekc-contact *::before,
.ekc-contact *::after{box-sizing:border-box}

.ekc-contact img{display:block;max-width:100%}
.ekc-contact a{text-decoration:none}

.ekc-contact h1,
.ekc-contact h2,
.ekc-contact h3{
	margin:0;
	color:var(--ink);
	font-family:Georgia,"Times New Roman",serif;
	font-weight:600;
	line-height:1.03;
	letter-spacing:-.03em;
}

.ekc-ct-wrap{
	width:min(calc(100% - 56px),var(--max));
	margin-inline:auto;
}

.ekc-ct-kicker{
	display:inline-flex;
	align-items:center;
	gap:12px;
	margin:0 0 14px;
	color:var(--orange);
	font-size:11px;
	font-weight:900;
	letter-spacing:.17em;
	text-transform:uppercase;
}

.ekc-ct-kicker::before{
	content:"";
	width:40px;
	height:2px;
	background:currentColor;
}

.ekc-ct-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:50px;
	padding:14px 23px;
	border:1px solid var(--orange);
	border-radius:2px;
	background:var(--orange);
	color:#fff!important;
	font-size:11px;
	font-weight:900;
	letter-spacing:.06em;
	text-transform:uppercase;
	transition:.28s var(--ease);
}

.ekc-ct-btn:hover{
	background:var(--ink);
	border-color:var(--ink);
	transform:translateY(-2px);
}

.ekc-ct-btn--outline{
	border-color:rgba(255,255,255,.75);
	background:transparent;
}

.ekc-ct-btn--outline:hover{
	border-color:#fff;
	background:#fff;
	color:var(--ink)!important;
}

.ekc-ct-btn--dark{
	border-color:var(--ink);
	background:var(--ink);
}

/* Hero */
.ekc-ct-hero{
	position:relative;
	min-height:740px;
	display:flex;
	align-items:flex-end;
	overflow:hidden;
	background:#111;
	isolation:isolate;
}

.ekc-ct-hero__media{
	position:absolute;
	inset:0;
}

.ekc-ct-hero__media img{
	width:100%;
	height:100%;
	object-fit:cover;
	transform:scale(1.06);
	animation:ekcCtZoom 8s var(--ease) forwards;
}

@keyframes ekcCtZoom{to{transform:scale(1.01)}}

.ekc-ct-hero__media::after{
	content:"";
	position:absolute;
	inset:0;
	background:
		linear-gradient(90deg,rgba(7,7,7,.96),rgba(7,7,7,.69) 41%,rgba(7,7,7,.11) 78%),
		linear-gradient(0deg,rgba(7,7,7,.42),transparent 52%);
}

.ekc-ct-hero__content{
	position:relative;
	z-index:2;
	width:100%;
	padding:120px 0 155px;
}

.ekc-ct-hero .ekc-ct-kicker{color:#fff}
.ekc-ct-hero .ekc-ct-kicker::before{background:var(--orange)}

.ekc-ct-hero h1{
	max-width:900px;
	color:#fff;
	font-size:clamp(52px,6.3vw,86px);
}

.ekc-ct-hero h1 em{
	color:var(--orange);
	font-style:normal;
}

.ekc-ct-hero p{
	max-width:620px;
	margin:18px 0 0;
	color:rgba(255,255,255,.80);
	font-size:16px;
	line-height:1.65;
}

.ekc-ct-hero__actions{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	margin-top:25px;
}

.ekc-ct-hero__strip{
	position:absolute;
	z-index:3;
	left:0;right:0;bottom:0;
	background:linear-gradient(0deg,rgba(8,8,8,.94),rgba(8,8,8,.08));
}

.ekc-ct-hero__strip-grid{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	border-top:1px solid rgba(255,255,255,.17);
}

.ekc-ct-hero__strip-grid div{
	min-width:0;
	padding:14px 17px 16px 0;
	color:rgba(255,255,255,.63);
	font-size:11px;
	overflow-wrap:anywhere;
}

.ekc-ct-hero__strip-grid div+div{
	padding-left:17px;
	border-left:1px solid rgba(255,255,255,.14);
}

.ekc-ct-hero__strip-grid strong{
	display:block;
	margin-bottom:3px;
	color:#fff;
	font-size:12px;
}

/* Intro */
.ekc-ct-intro{
	padding:clamp(54px,5.5vw,76px) 0;
	background:var(--cream);
}

.ekc-ct-intro__grid{
	display:grid;
	grid-template-columns:.8fr 1.2fr;
	gap:65px;
	align-items:start;
}

.ekc-ct-intro h2{
	font-size:clamp(39px,4.7vw,64px);
}

.ekc-ct-intro p{
	margin:0;
	color:var(--muted);
}

.ekc-ct-contact-links{
	display:grid;
	grid-template-columns:1fr 1fr;
	margin-top:22px;
	border-top:1px solid var(--line);
	border-left:1px solid var(--line);
}

.ekc-ct-contact-links a{
	display:grid;
	grid-template-columns:1fr auto;
	gap:3px 15px;
	align-items:end;
	min-height:112px;
	padding:16px;
	border-right:1px solid var(--line);
	border-bottom:1px solid var(--line);
	background:#fff;
	color:var(--ink)!important;
	transition:.3s var(--ease);
}

.ekc-ct-contact-links a:hover{
	background:var(--ink);
	color:#fff!important;
	transform:translateY(-3px);
}

.ekc-ct-contact-links small{
	grid-column:1/-1;
	color:var(--orange);
	font-size:9px;
	font-weight:900;
	text-transform:uppercase;
	letter-spacing:.13em;
}

.ekc-ct-contact-links strong{
	min-width:0;
	font-size:12px;
	overflow-wrap:anywhere;
}

.ekc-ct-contact-links span{
	font-size:17px;
}

/* Form */
.ekc-ct-form-section{
	padding:clamp(56px,6vw,84px) 0;
	background:#fff;
}

.ekc-ct-form-grid{
	display:grid;
	grid-template-columns:330px minmax(0,1fr);
	gap:54px;
	align-items:start;
}

.ekc-ct-form-aside{
	position:sticky;
	top:28px;
}

.ekc-ct-form-aside h2{
	font-size:clamp(36px,4vw,53px);
}

.ekc-ct-form-aside>p{
	margin:16px 0 0;
	color:var(--muted);
	font-size:14px;
}

.ekc-ct-aside-list{
	margin-top:22px;
	border-top:1px solid var(--line);
}

.ekc-ct-aside-list>div{
	display:grid;
	grid-template-columns:35px 1fr;
	gap:10px;
	padding:13px 0;
	border-bottom:1px solid var(--line);
}

.ekc-ct-aside-list b{
	color:var(--orange);
	font-size:9px;
}

.ekc-ct-aside-list strong{
	display:block;
	color:var(--ink);
	font-size:12px;
}

.ekc-ct-aside-list span{
	color:var(--muted);
	font-size:11.5px;
}

.ekc-ct-project-link{
	display:inline-block;
	margin-top:18px;
	color:var(--ink)!important;
	border-bottom:1px solid var(--orange);
	font-size:10px;
	font-weight:900;
	text-transform:uppercase;
	letter-spacing:.045em;
}

.ekc-ct-form-card{
	position:relative;
	padding:28px;
	border:1px solid var(--line);
	background:var(--cream);
	box-shadow:0 24px 60px rgba(23,23,23,.07);
}

.ekc-ct-form-card::before{
	content:"";
	position:absolute;
	left:-1px;
	top:-1px;
	width:4px;
	height:82px;
	background:var(--orange);
}

.ekc-ct-form-head{
	display:flex;
	justify-content:space-between;
	gap:25px;
	align-items:start;
	padding-bottom:20px;
	margin-bottom:22px;
	border-bottom:1px solid var(--line);
}

.ekc-ct-form-head span{
	display:block;
	margin-bottom:5px;
	color:var(--orange);
	font-size:9px;
	font-weight:900;
	text-transform:uppercase;
	letter-spacing:.15em;
}

.ekc-ct-form-head h3{
	font-size:clamp(30px,3.4vw,45px);
}

.ekc-ct-form-head small{
	flex:0 0 auto;
	color:var(--muted);
	font-size:10px;
}

.ekc-ct-fields{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:15px;
}

.ekc-ct-field{
	display:block;
}

.ekc-ct-field--wide{grid-column:1/-1}

.ekc-ct-field>span{
	display:block;
	margin-bottom:6px;
	color:var(--ink);
	font-size:11px;
	font-weight:800;
}

.ekc-ct-field input,
.ekc-ct-field select,
.ekc-ct-field textarea{
	width:100%;
	min-height:50px;
	padding:12px 13px;
	border:1px solid var(--line);
	border-radius:2px;
	outline:none;
	background:#fff;
	color:var(--ink);
	font:600 13px/1.45 Arial,Helvetica,sans-serif;
	transition:border-color .2s ease,box-shadow .2s ease;
}

.ekc-ct-field textarea{
	min-height:140px;
	resize:vertical;
	font-weight:500;
}

.ekc-ct-field input:focus,
.ekc-ct-field select:focus,
.ekc-ct-field textarea:focus{
	border-color:var(--orange);
	box-shadow:0 0 0 3px rgba(241,106,33,.10);
}

.ekc-ct-consent{
	display:grid;
	grid-template-columns:18px 1fr;
	gap:9px;
	align-items:start;
	margin-top:16px;
	color:var(--muted);
	font-size:10.5px;
	line-height:1.55;
}

.ekc-ct-consent input{
	width:15px;
	height:15px;
	margin:2px 0 0;
	accent-color:var(--orange);
}

.ekc-ct-consent a{
	color:var(--ink)!important;
	text-decoration:underline!important;
	text-underline-offset:3px;
}

.ekc-ct-submit-row{
	display:grid;
	grid-template-columns:minmax(270px,auto) 1fr;
	gap:17px;
	align-items:center;
	margin-top:20px;
}

.ekc-ct-submit{
	min-height:52px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px;
	padding:13px 17px;
	border:1px solid var(--orange);
	border-radius:2px;
	background:var(--orange);
	color:#fff;
	font-size:10px;
	font-weight:900;
	text-transform:uppercase;
	letter-spacing:.055em;
	cursor:pointer;
	transition:.28s var(--ease);
}

.ekc-ct-submit:hover{
	border-color:var(--ink);
	background:var(--ink);
	transform:translateY(-2px);
}

.ekc-ct-submit:disabled{
	opacity:.65;
	cursor:wait;
	transform:none;
}

.ekc-ct-submit i{
	font-size:17px;
	font-style:normal;
}

.ekc-ct-submit-row p{
	margin:0;
	color:var(--muted);
	font-size:10.5px;
	line-height:1.5;
}

.ekc-ct-status{
	display:none;
	margin-top:15px;
	padding:11px 13px;
	border-left:3px solid #b42318;
	background:#fff0ee;
	color:#8a1c14;
	font-size:12px;
}

.ekc-ct-status.is-error{display:block}

.ekc-ct-hp{
	position:absolute!important;
	left:-99999px!important;
	width:1px!important;
	height:1px!important;
	overflow:hidden!important;
}

.ekc-ct-success{
	text-align:left;
	padding:10px 4px 4px;
}

.ekc-ct-success__mark{
	width:58px;
	height:58px;
	display:grid;
	place-items:center;
	margin-bottom:22px;
	border:1px solid var(--orange);
	background:var(--orange);
	color:#fff;
	font-size:23px;
}

.ekc-ct-success h3{
	max-width:650px;
	font-size:clamp(34px,4vw,53px);
}

.ekc-ct-success>p{
	max-width:650px;
	margin:14px 0 0;
	color:var(--muted);
}

.ekc-ct-success__actions{
	display:flex;
	flex-wrap:wrap;
	gap:9px;
	margin-top:20px;
}

.ekc-ct-success>small{
	display:block;
	margin-top:14px;
	color:var(--muted);
	font-size:10px;
	font-weight:800;
	text-transform:uppercase;
	letter-spacing:.05em;
}

/* Direct */
.ekc-ct-direct{
	padding:clamp(54px,5.5vw,76px) 0;
	background:var(--ink);
	color:#fff;
}

.ekc-ct-direct .ekc-ct-kicker{color:#fff}
.ekc-ct-direct .ekc-ct-kicker::before{background:var(--orange)}

.ekc-ct-direct__head{
	display:grid;
	grid-template-columns:1fr minmax(300px,450px);
	gap:45px;
	align-items:end;
	margin-bottom:25px;
}

.ekc-ct-direct h2{
	color:#fff;
	font-size:clamp(38px,4.7vw,64px);
}

.ekc-ct-direct__head p{
	margin:0;
	color:rgba(255,255,255,.59);
	font-size:14px;
}

.ekc-ct-direct__grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	border-top:1px solid rgba(255,255,255,.14);
	border-left:1px solid rgba(255,255,255,.14);
}

.ekc-ct-direct-card{
	min-height:180px;
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	padding:20px;
	border-right:1px solid rgba(255,255,255,.14);
	border-bottom:1px solid rgba(255,255,255,.14);
	color:#fff!important;
	transition:.3s var(--ease);
}

.ekc-ct-direct-card:hover{
	background:#242424;
	transform:translateY(-3px);
}

.ekc-ct-direct-card small{
	color:var(--orange);
	font-size:9px;
	font-weight:900;
	text-transform:uppercase;
	letter-spacing:.12em;
}

.ekc-ct-direct-card strong{
	font-family:Georgia,"Times New Roman",serif;
	font-size:clamp(19px,2vw,27px);
	line-height:1.15;
	overflow-wrap:anywhere;
}

.ekc-ct-direct-card span{
	color:rgba(255,255,255,.55);
	font-size:10px;
	font-weight:900;
	text-transform:uppercase;
}

/* Workshops */
.ekc-ct-workshops{
	padding:clamp(54px,5.5vw,76px) 0;
	background:#fff;
}

.ekc-ct-workshops__head{
	display:grid;
	grid-template-columns:1fr minmax(300px,450px);
	gap:45px;
	align-items:end;
	margin-bottom:25px;
}

.ekc-ct-workshops h2{
	font-size:clamp(38px,4.7vw,64px);
}

.ekc-ct-workshops__head p{
	margin:0;
	color:var(--muted);
	font-size:14px;
}

.ekc-ct-workshops__grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:10px;
}

.ekc-ct-workshop{
	position:relative;
	min-height:300px;
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	padding:27px;
	overflow:hidden;
	border:1px solid var(--line);
	background:var(--warm);
}

.ekc-ct-workshop::after{
	content:"";
	position:absolute;
	right:-70px;
	top:-90px;
	width:230px;
	height:230px;
	border:1px solid rgba(241,106,33,.30);
	transform:rotate(31deg);
}

.ekc-ct-workshop>*{position:relative;z-index:2}

.ekc-ct-workshop small{
	color:var(--orange);
	font-size:9px;
	font-weight:900;
	text-transform:uppercase;
	letter-spacing:.14em;
}

.ekc-ct-workshop h3{
	margin-top:12px;
	font-size:clamp(30px,3.2vw,44px);
}

.ekc-ct-workshop address{
	max-width:440px;
	margin-top:11px;
	color:var(--muted);
	font-style:normal;
	font-size:14px;
}

.ekc-ct-workshop__actions{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin-top:32px;
}

.ekc-ct-workshop__actions a{
	min-height:42px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:9px 13px;
	border:1px solid var(--ink);
	border-radius:2px;
	color:var(--ink)!important;
	font-size:9px;
	font-weight:900;
	text-transform:uppercase;
	letter-spacing:.05em;
	transition:.25s ease;
}

.ekc-ct-workshop__actions a:hover{
	border-color:var(--orange);
	background:var(--orange);
	color:#fff!important;
}

/* Social */
.ekc-ct-social{
	padding:clamp(50px,5vw,68px) 0;
	background:var(--cream);
}

.ekc-ct-social__grid{
	display:grid;
	grid-template-columns:.9fr 1.1fr;
	gap:55px;
	align-items:center;
}

.ekc-ct-social h2{
	font-size:clamp(36px,4.4vw,58px);
}

.ekc-ct-social__links{
	display:grid;
	grid-template-columns:1fr 1fr;
	border-top:1px solid var(--line);
	border-left:1px solid var(--line);
}

.ekc-ct-social__links a{
	min-height:120px;
	display:grid;
	grid-template-columns:1fr auto;
	gap:5px 15px;
	align-items:end;
	padding:16px;
	border-right:1px solid var(--line);
	border-bottom:1px solid var(--line);
	color:var(--ink)!important;
	background:#fff;
	transition:.3s var(--ease);
}

.ekc-ct-social__links a:hover{
	background:var(--ink);
	color:#fff!important;
}

.ekc-ct-social__links small{
	grid-column:1/-1;
	color:var(--orange);
	font-size:9px;
	font-weight:900;
	text-transform:uppercase;
}

.ekc-ct-social__links strong{
	font-size:13px;
}

/* Reveal */
.ekc-ct-reveal{
	opacity:0;
	transform:translateY(20px);
	transition:opacity .72s ease,transform .72s var(--ease);
}

.ekc-ct-reveal.is-visible{
	opacity:1;
	transform:none;
}

@media(max-width:1000px){
	.ekc-ct-intro__grid,
	.ekc-ct-form-grid,
	.ekc-ct-social__grid{
		grid-template-columns:1fr;
		gap:32px;
	}

	.ekc-ct-form-aside{position:static}
}

@media(max-width:900px){
	.ekc-ct-direct__head,
	.ekc-ct-workshops__head{
		grid-template-columns:1fr;
		gap:15px;
	}

	.ekc-ct-direct__grid{grid-template-columns:1fr 1fr}
}

@media(max-width:767px){
	.ekc-ct-wrap{width:calc(100% - 30px)}

	.ekc-ct-hero{min-height:760px}

	.ekc-ct-hero__media::after{
		background:linear-gradient(0deg,rgba(7,7,7,.96),rgba(7,7,7,.58) 66%,rgba(7,7,7,.13));
	}

	.ekc-ct-hero__content{
		padding:105px 0 205px;
	}

	.ekc-ct-hero h1{font-size:44px}
	.ekc-ct-hero p{font-size:14.5px}

	.ekc-ct-hero__actions{
		display:grid;
		grid-template-columns:1fr;
	}

	.ekc-ct-btn{width:100%}

	.ekc-ct-hero__strip-grid{grid-template-columns:1fr 1fr}

	.ekc-ct-hero__strip-grid div{
		padding:10px 8px 10px 0;
	}

	.ekc-ct-contact-links,
	.ekc-ct-fields,
	.ekc-ct-submit-row,
	.ekc-ct-direct__grid,
	.ekc-ct-workshops__grid,
	.ekc-ct-social__links{
		grid-template-columns:1fr;
	}

	.ekc-ct-field--wide{grid-column:auto}
	.ekc-ct-form-card{padding:20px 15px}

	.ekc-ct-form-head{
		display:block;
	}

	.ekc-ct-form-head>small{
		display:block;
		margin-top:8px;
	}

	.ekc-ct-success__actions{
		display:grid;
		grid-template-columns:1fr;
	}
}

@media(prefers-reduced-motion:reduce){
	.ekc-contact *,
	.ekc-contact *::before,
	.ekc-contact *::after{
		animation-duration:.01ms!important;
		transition-duration:.01ms!important;
	}

	.ekc-ct-reveal{
		opacity:1;
		transform:none;
	}
}
