:root {
	--bg: #ffffff;
	--ink: #0f172a;
	/* slate-900 */
	--muted: #475569;
	/* slate-600 */
	--accent: rgb(37, 48, 59);
	/* blue-500 */
	--accent-600: #616970;
	--border: #e2e8f0;
	/* slate-200 */
	--red: #ef4444;
	/* placeholder red */
}

* {
	box-sizing: border-box;

	-moz-hyphens: auto;
	-webkit-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto;
}

/* TODO: sort colors and variables */
html,
body {
	margin: 0;
	padding: 0;
	background: var(--bg);
	color: var(--ink);
	font: 16px/1.6 system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji"
}

a {
	color: inherit
}

a[href*="//"]::before {
	content: "";
	display: inline-block;
	position: relative;
	top: 2px;
	width: 15px;
	height: 15px;
	min-width: 15px;
	background: var(--ink);
	-webkit-mask: url("../Images/external-link.svg") no-repeat center left/100% auto;
	mask: url("../Images/external-link.svg") no-repeat center left/100% auto;
	margin-right: 10px;
	/* transition: var(--baseTransition) */
}

header a[href*="//"]::before {
	content: none
}

/* 
a[href*="//"]:hover::before,
a[href*="//"]:focus-visible::before {
    background: var(--mainColor)
} */

.container {
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 20px
}

header {
	border-bottom: 1px solid var(--border);
	background: #fff;
	position: sticky;
	top: 0;
	z-index: 10;
	padding: 0 15px;
}

.header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px 0
}

.logo {
	display: flex;
	align-items: center;
	gap: .6rem;
	font-weight: 700;
	letter-spacing: .4px
}

.logo img {
	height: 60px;
}

.btn {
	appearance: none;
	border: 0;
	cursor: pointer;
	background: var(--accent);
	color: #fff;
	padding: 12px 18px;
	border-radius: 8px;
	font-weight: 600;
	letter-spacing: .2px;
	transition: transform .05s ease, background .2s ease, box-shadow .2s ease;
	box-shadow: 0 2px 0 rgba(0, 0, 0, .12);
	text-decoration: none;
	display: inline-block;
}

.btn:active {
	transform: translateY(1px)
}

.btn:hover {
	background: var(--accent-600)
}

/* HERO */
.hero {
	/* border-bottom: 1px solid var(--border); */
	background: #fff
}

.container.hero-wrap {
	/* padding: 28px 0 34px */
	/* width: 100vw; */
	max-width: unset;
	/* margin: auto; */
	margin: 0;
	padding: 0;
	overflow: hidden;
	/* width: 100dvw; */
}

.hero-visual {
	height: 500px;
	width: 100dvw;
	/* max-width: 2300px; */
	background: url(../img/AdobeStock_1318559176.jpeg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: 0% 70%;
	/* border-radius: 10px; */
	position: relative;
	overflow: hidden;
}

.hero-card {
	position: absolute;
	/* left: 28px; */
	left: 50%;
	margin-left: -540px;
	bottom: 24px;
	background: #f1f5f9;
	padding: 16px 18px;
	border-radius: 6px;
	max-width: 680px;
	box-shadow: 0 6px 28px rgba(2, 6, 23, .18);
}

.hero-card h1 {
	margin: 0 0 8px 0;
	font-size: 1.6rem;
	line-height: 1.25;
	color: #111827
}

.hero-card p {
	margin: 0 0 14px 0;
	color: #111827
}

/* Generic section helpers */
.section {
	padding: 34px 0;
	/* border-bottom: 1px solid var(--border) */
}

.section h2 {
	margin: 0 0 10px 0;
	font-size: 1.35rem
}

/* .section p.lead { */
/* color: #111827 */
/* } */


.section:nth-child(odd) {
	background-color: var(--accent);
	color: var(--bg);
}

/* section:nth-child(even) .btn{
    background-color: var(--bg);
    color: var(--accent);
} */


.list {
	margin: 8px 0 0 0;
	padding-left: 18px
}

.list li {
	margin: 6px 0
}

/* Split section */
.split {
	display: grid;
	grid-template-columns: minmax(260px, 1fr) 1.4fr;
	gap: 26px
}

.copy-img {
	background: url(../img/AdobeStock_1657099861.jpeg);
	/* background-position: 50% 0%; */
	background-size: cover;
	background-repeat: no-repeat;
	/* background: var(--red); */
	/* border: 6px solid #e5e7eb; */
	border-radius: 6px;
	width: 100%;
	min-height: 350px
}

.copy {
	background: #f1f5f9;
	border-radius: 6px;
	padding: 16px;
	color: var(--ink)
}

.copy h3 {
	margin: 0 0 10px 0;
	font-size: 1.15rem
}

.copy p {
	margin: 0 0 12px 0;
	/* color: #111827 */
}

.cta-row {
	margin-top: 8px
}

.cta-center {
	display: flex;
	/* align-items: end; */
	justify-content: center;
}

.btn .cta-icon {
	display: none;
}

/* Cards / columns */
.cols {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	justify-content: center;

	gap: 16px;
	margin-top: 12px
}

.card {
	border: 1px solid var(--border);
	border-radius: 10px;
	padding: 16px;
	background: #fff;
	color: var(--ink)
}

.card h3 {
	margin: 0 0 8px 0;
	font-size: 1.05rem
}

.card-split {

	display: flex;
	/* flex-direction: row; */
	gap: 25px
}

.card-icon {
	/* flex-basis: 30%; */
	display: flex;
	height: 100%;
	/* align-items: center; */
	justify-content: end;
}

.card-description {
	/* display: flex; */
	height: 100%;
	/* align-items: center; */
	/* flex-direction: column; */
	/* flex-basis: 70%; */
	/* word-wrap: break-word; */
	word-wrap: break-word;
}

.muted {
	color: var(--muted)
}

/* FORM */
.form-area {
	padding: 34px 0
}

.form-area h2 {
	text-align: center;
	/* margin: 0 0 6px 0; */
	font-size: 1.15rem
}

.form-area p.center {
	margin: 0 0 24px 0;
	text-align: center;
	color: var(--muted)
}

form {
	max-width: 880px;
	margin: 0 auto
}

/* form > .frame > .inner > #contactform_wrap,
form > .frame > .inner > #contactform_wrap > * {
  display: flex;
  gap: 1rem;
  flex-direction: column;
} */

.grid {
	display: grid;
	gap: 14px;
	grid-template-columns: 1fr 1fr
}

.field {
	display: flex;
	flex-direction: column;
	gap: 6px
}

/* label {
  font-weight: 600;
  font-size: .95rem
} */

input[type="text"],
input[type="email"],
input[type="tel"],
select,
textarea {
	padding: 12px 12px;
	border: 1px solid #cbd5e1;
	border-radius: 8px;
	font: inherit;
	background: #fff;
	outline: none;
	transition: border .2s ease, box-shadow .2s ease;
}

input[type="submit"] {
	background: var(--accent);

}

textarea {
	min-height: 160px;
	resize: vertical
}

input:focus,
textarea:focus {
	border-color: var(--accent);
	box-shadow: 0 0 0 3px rgba(59, 130, 246, .15)
}

.span-2 {
	grid-column: 1 / span 2
}

.checkline {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: .95rem;
	color: #111827;
	margin: 8px 0 18px
}

.submit-wrap {
	display: flex;
	justify-content: center
}

.link-btn {
	color: var(--accent);
	font-weight: 700;
	text-decoration: none;
	border-bottom: 2px solid currentColor;
	padding-bottom: 2px
}

footer {
	border-top: 1px solid var(--border);
	padding: 20px 0 36px 0;
	color: #334155
}

footer .foot-grid {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px
}

footer a {
	text-decoration: none;
	border-bottom: 1px solid transparent
}

footer a:hover {
	border-color: currentColor
}

small {
	color: #475569
}

.how-do-i-center-a-div {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 5px;
	text-align: center;
}


@media (max-width: 1100px) {
	.hero-card {
		/* position: ; */
		left: 28px;
		margin-left: 0;
	}
}


/* Responsive */
@media (max-width: 980px) {
	.cols {
		grid-template-columns: 1fr 1fr
	}
}

@media (max-width: 860px) {
	.hero-visual {
		height: 340px;
	}

	.split {
		grid-template-columns: 1fr
	}

	.span-2 {
		grid-column: auto
	}

	.grid {
		grid-template-columns: 1fr
	}

	.hero-card {
		left: 20px;
		right: 20px;
		bottom: 20px
	}

	.cols {
		grid-template-columns: 1fr
	}
}

@media (max-width: 650px) {

	.hero-visual {
		background-position: center;
	}
}

@media (max-width: 450px) {
	.btn .cta-text {
		display: none;
	}

	.btn .cta-icon {
		display: block;
		transform: translateY(4px) scale(1.5);
	}

	.btn:has(.cta-icon) {
		padding: 5px 10px;
	}

}

.icon.linkedin {
	font-size: 0;
	line-height: 0;
	display: inline-block;
	width: 20px;
	height: 20px;
	background: var(--ink);
	-webkit-mask: url("../Images/linkedin.svg") no-repeat center left/100% auto;
	mask: url("../Images/linkedin.svg") no-repeat center left/100% auto;
	margin-left: 4px;
	border-radius: 2px;
}