/* ==========================================================================
   Alsterdalens Trädservice – site styles
   Brand: Lexend Bold / Light · Sand #F2E8D7 · Sten #4F4F4F · Sol #EEEA8E · Skog #138E91
   ========================================================================== */

html:root {
	--sand: #F2E8D7;
	--sand-2: #E7D9C0;
	--sten: #4F4F4F;
	--sol: #EEEA8E;
	--sol-2: #E4DF66;
	--skog: #138E91;
	--skog-d: #0E6E70;
	--skog-dd: #0A4D4F;
	--ink: #232423;
	--ink-2: #1B1C1B;
	--ink-3: #2E2F2E;
	--paper: #FBF7F0;
	--text: #2B2C2B;
	--text-soft: #55564F;
	--on-dark: #EDE5D6;
	--on-dark-soft: rgba(237, 229, 214, .74);

	--font: 'Lexend', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--radius: 14px;
	--radius-lg: 22px;
	--gutter: clamp(20px, 4vw, 48px);
	--wrap: min(1320px, 100% - var(--gutter) * 2);
	--section: clamp(72px, 9vw, 140px);
	--ease: cubic-bezier(.2, .7, .2, 1);

	--fs-h1: clamp(2.5rem, 1.5rem + 4.4vw, 5.4rem);
	--fs-h2: clamp(2rem, 1.35rem + 2.5vw, 3.5rem);
	--fs-h3: clamp(1.2rem, 1.05rem + .55vw, 1.55rem);
	--fs-lead: clamp(1.08rem, 1rem + .4vw, 1.3rem);
	--fs-body: clamp(1rem, .97rem + .15vw, 1.0625rem);

	/* Themify palette */
	--theme_accent: var(--skog);
	--theme_accent_hover: var(--skog-d);
	--theme_accent_semi: rgba(19, 142, 145, .2);
	--theme_accent_contrast: #fff;
	--tb_pr_bg: var(--sol);
	--tb_pr_color: var(--ink);
}

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
body {
	font-family: var(--font);
	font-weight: 300;
	font-size: var(--fs-body);
	line-height: 1.7;
	color: var(--text);
	background: var(--ink-2);
	overflow-wrap: normal;
	-webkit-font-smoothing: antialiased;
}
#pagewrap { background: var(--sand); overflow-x: clip; }
h1, h2, h3, h4, h5, h6 {
	font-family: var(--font);
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -.02em;
	color: inherit;
	text-wrap: balance;
}
p, li { text-wrap: pretty; }
strong, b { font-weight: 600; }
a { color: var(--skog-d); transition: color .2s, background-color .2s, border-color .2s, transform .25s var(--ease); }
a:hover { color: var(--skog); }
a:focus, a:active, button:focus, input:focus, select:focus, textarea:focus, .builder_button:focus { outline: none !important; box-shadow: none; }
::selection { background: var(--sol); color: var(--ink); }
img { border-radius: 0; }
#content { padding: 0 !important; }
#layout.pagewidth, .full_width #layout { max-width: none; width: 100%; padding: 0; }

/* Content width for rows */
.themify_builder .module_row > .row_inner {
	width: var(--wrap);
	max-width: none;
	margin-inline: auto;
}
.themify_builder .module_row { padding-block: var(--section); position: relative; isolation: isolate; }
.themify_builder .module { margin-bottom: 0; }
.themify_builder .module + .module { margin-top: 24px; }
.themify_builder .module_column { padding: 0; }
.themify_builder .module_subrow { margin: 0; }
.themify_builder .module_subrow + .module_subrow { margin-top: 24px; }
.themify_builder .module-fancy-heading + .module_subrow { margin-top: clamp(36px, 5vw, 64px); }

/* ---------- Section themes ---------- */
.themify_builder .module_row.ats-sand { background-color: var(--sand); color: var(--text); }
.themify_builder .module_row.ats-dark { background-color: var(--ink); color: var(--on-dark); }
.themify_builder .module_row.ats-skog { background-color: var(--skog-d); color: #F4FBFA; }
.themify_builder .module_row.ats-sol { background-color: var(--sol); color: var(--ink); }
.ats-dark h1, .ats-dark h2, .ats-dark h3, .ats-dark h4,
.ats-skog h1, .ats-skog h2, .ats-skog h3, .ats-skog h4 { color: #fff; }
.ats-dark a:not(.builder_button), .ats-skog a:not(.builder_button) { color: var(--sol); }
.ats-dark a:not(.builder_button):hover, .ats-skog a:not(.builder_button):hover { color: #fff; }
.ats-skog p, .ats-skog li { font-weight: 400; }

/* Topographic contour lines (from the profile logo) */
.themify_builder .module_row.ats-contour::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	background: url('/wp-content/themes/themify-ultra-child/assets/img/contour-light.svg') center / cover no-repeat;
}
.themify_builder .module_row.ats-sand.ats-contour::before { background-image: url('/wp-content/themes/themify-ultra-child/assets/img/contour-skog.svg'); }
.themify_builder .module_row.ats-sol.ats-contour::before { background-image: url('/wp-content/themes/themify-ultra-child/assets/img/contour-ink.svg'); }
.themify_builder .module_row.ats-split.ats-contour::before { background-position: 85% 50%; }

/* ---------- Fancy heading: eyebrow + title ---------- */
.module-fancy-heading.ats-heading .fancy-heading { margin: 0; font-size: inherit; line-height: inherit; }
.ats-heading .main-head {
	display: inline-flex !important;
	align-items: center;
	gap: 12px;
	margin: 0 0 18px;
	font-size: .78rem;
	font-weight: 600;
	letter-spacing: .16em;
	line-height: 1.4;
	text-transform: uppercase;
	color: var(--skog-d);
}
.ats-heading .main-head::before {
	content: '';
	width: 28px;
	height: 2px;
	flex: none;
	background: currentColor;
}
.ats-heading .main-head:empty { display: none !important; }
.ats-heading .sub-head {
	display: block;
	font-size: var(--fs-h2);
	font-weight: 700;
	line-height: 1.06;
	letter-spacing: -.025em;
	color: var(--ink);
	max-width: 18ch;
}
.ats-heading .tf_textc .sub-head, .ats-heading .fancy-heading.tf_textc .sub-head { margin-inline: auto; }
.ats-heading .tf_textc .main-head, .ats-heading .fancy-heading.tf_textc .main-head { justify-content: center; }
.ats-heading.module + .module { margin-top: 28px; }
.ats-dark .ats-heading .main-head, .ats-skog .ats-heading .main-head { color: var(--sol); }
.ats-dark .ats-heading .sub-head, .ats-skog .ats-heading .sub-head { color: #fff; }
.ats-sol .ats-heading .main-head { color: var(--ink); }
.ats-sol .ats-heading .sub-head { color: var(--ink); }
.ats-heading--small .sub-head { font-size: clamp(1.4rem, 1.15rem + 1vw, 2rem); max-width: none; }

/* ---------- Text ---------- */
.module-text p { margin: 0 0 1em; }
.module-text p:last-child { margin-bottom: 0; }
.ats-lead { font-size: var(--fs-lead); line-height: 1.6; max-width: 46ch; }
.ats-center, .ats-center .tb_text_wrap { text-align: center; }
.ats-center .ats-lead, .ats-narrow .ats-lead { margin-inline: auto; }
.ats-narrow { max-width: 760px; margin-inline: auto; }
.ats-small { font-size: .9rem; opacity: .8; }

.ats-checks { list-style: none; margin: 1.6em 0 0; padding: 0; display: grid; gap: 12px; }
.ats-checks li { position: relative; padding-left: 36px; font-weight: 400; line-height: 1.5; }
.ats-checks li::before {
	content: '';
	position: absolute;
	left: 0;
	top: .05em;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: var(--skog) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23EEEA8E' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center / 14px no-repeat;
}

.ats-chips { list-style: none; margin: 1.6em 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.ats-chips li {
	padding: 8px 16px;
	border: 1.5px solid rgba(238, 234, 142, .55);
	border-radius: 999px;
	font-size: .9rem;
	font-weight: 500;
	color: var(--sol);
	line-height: 1.3;
}
.ats-chips li.is-soon { border-style: dashed; color: var(--on-dark-soft); border-color: rgba(237, 229, 214, .35); }

.ats-note {
	margin-top: 1.4em !important;
	padding: 16px 20px;
	border-left: 3px solid var(--sol);
	background: rgba(255, 255, 255, .07);
	border-radius: 0 var(--radius) var(--radius) 0;
	font-size: .95rem;
}

.ats-quote { margin: 0 0 1.6em; padding: 0; border: 0; }
.ats-quote p {
	position: relative;
	margin: 0;
	font-size: clamp(1.35rem, 1.1rem + 1vw, 2rem);
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: -.015em;
	color: var(--ink);
	text-wrap: balance;
}
.ats-quote p::before {
	content: '”';
	display: block;
	height: .55em;
	margin-bottom: .1em;
	font-size: 3.2em;
	line-height: 1;
	font-weight: 700;
	color: var(--skog);
}
.ats-quote cite { display: block; margin-top: 14px; font-style: normal; font-size: .85rem; font-weight: 500; letter-spacing: .04em; color: var(--text-soft); }
.ats-quote--big { max-width: 980px; margin: 0 auto clamp(56px, 7vw, 96px); text-align: center; }
.ats-quote--big p { font-size: clamp(1.6rem, 1.1rem + 2.1vw, 3rem); color: #fff; }
.ats-quote--big p::before { color: var(--sol); }
.ats-quote--big cite { color: var(--on-dark-soft); }

.ats-soon { margin-top: 40px !important; font-weight: 400; }
.ats-soon span {
	display: inline-block;
	margin-right: 10px;
	padding: 4px 12px;
	border-radius: 999px;
	background: var(--sol);
	color: var(--ink);
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	vertical-align: middle;
}

.ats-rut {
	margin-top: 8px;
	padding: 24px 26px;
	border-radius: var(--radius);
	background: var(--sol);
	color: var(--ink);
}
.ats-rut p { color: var(--ink); }
.ats-rut__title { font-weight: 700; font-size: 1.1rem; margin-bottom: .4em !important; }

.ats-profile { display: grid; grid-template-columns: minmax(130px, auto) 1fr; gap: 14px 24px; margin: 0 0 1.4em; }
.ats-profile dt { font-weight: 600; color: var(--skog-d); font-size: .82rem; letter-spacing: .1em; text-transform: uppercase; padding-top: .25em; }
.ats-profile dd { margin: 0; padding-bottom: 14px; border-bottom: 1px solid rgba(35, 36, 35, .12); }
.ats-profile dd:last-of-type { border-bottom: 0; }

/* ---------- Buttons ---------- */
.module-buttons.ats-btns { display: flex; flex-wrap: wrap; gap: 12px; }
.ats-center.module-buttons, .module-buttons.ats-center { justify-content: center; }
.ats-btns .module-buttons-item { margin: 0; }
.ats-btns .builder_button,
.themify_builder .ats-btns .builder_button {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 15px 26px;
	border: 2px solid var(--sol);
	border-radius: 999px;
	background: var(--sol);
	color: var(--ink);
	font-family: var(--font);
	font-size: .98rem;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0;
	box-shadow: none;
	transition: background-color .2s, color .2s, border-color .2s, transform .25s var(--ease);
}
.ats-btns .builder_button em { display: inline-flex; margin: 0; transition: transform .25s var(--ease); }
.ats-btns .builder_button svg { width: .9em; height: .9em; }
.ats-btns .builder_button:hover { background: var(--sol-2); border-color: var(--sol-2); color: var(--ink); transform: translateY(-2px); }
.ats-btns .builder_button:hover em { transform: translateX(4px); }
/* Secondary = outline */
.ats-btns .module-buttons-item + .module-buttons-item .builder_button { background: transparent; border-color: currentColor; color: inherit; }
.ats-dark .ats-btns .module-buttons-item + .module-buttons-item .builder_button,
.ats-skog .ats-btns .module-buttons-item + .module-buttons-item .builder_button,
.ats-hero .ats-btns .module-buttons-item + .module-buttons-item .builder_button { color: #fff; border-color: rgba(255, 255, 255, .55); }
.ats-btns .module-buttons-item + .module-buttons-item .builder_button:hover { background: #fff; border-color: #fff; color: var(--ink); }
/* Light sections: primary in Skog */
.ats-sand .ats-btns .module-buttons-item:first-child .builder_button,
.ats-form-card .ats-btns .module-buttons-item:first-child .builder_button { background: var(--skog-d); border-color: var(--skog-d); color: #fff; }
.ats-sand .ats-btns .module-buttons-item:first-child .builder_button:hover { background: var(--ink); border-color: var(--ink); color: #fff; }
.ats-sand .ats-btns .module-buttons-item + .module-buttons-item .builder_button:hover { background: var(--ink); border-color: var(--ink); color: #fff; }
/* Sol sections: primary in ink */
.ats-sol .ats-btns .module-buttons-item:first-child .builder_button { background: var(--ink); border-color: var(--ink); color: var(--sol); }
.ats-sol .ats-btns .module-buttons-item:first-child .builder_button:hover { background: var(--skog-dd); border-color: var(--skog-dd); color: #fff; }
.ats-sol .ats-btns .module-buttons-item + .module-buttons-item .builder_button { color: var(--ink); border-color: var(--ink); }
.ats-sol .ats-btns .module-buttons-item + .module-buttons-item .builder_button:hover { background: var(--ink); color: var(--sol); }
/* Text link style (cards) */
.ats-btns--link .builder_button,
.themify_builder .ats-btns--link .builder_button { padding: 0; border: 0; background: none !important; color: var(--sol) !important; border-radius: 0; }
.ats-btns--link .builder_button:hover { transform: none; }

/* ---------- Header ---------- */
#headerwrap {
	background: transparent;
	transition: background-color .35s var(--ease), box-shadow .35s, padding .35s;
}
#headerwrap #header { width: var(--wrap); max-width: none; padding-block: 22px; transition: padding .35s var(--ease); }
.header-horizontal #header { display: flex; align-items: center; justify-content: space-between; gap: 32px; }
#site-logo { margin: 0; line-height: 0; }
#site-logo a { display: block; }
#site-logo img { width: clamp(160px, 14vw, 210px); height: auto; }
/* Blurred bar lives on a pseudo-element: backdrop-filter on #headerwrap itself
   would trap the fixed mobile panel inside the header. */
#headerwrap::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	background: rgba(27, 28, 27, .94);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	box-shadow: 0 10px 30px rgba(0, 0, 0, .18);
	opacity: 0;
	transition: opacity .35s var(--ease);
	pointer-events: none;
}
.fixed-header-on #headerwrap::before, #headerwrap.fixed-header::before { opacity: 1; }
.fixed-header-on #headerwrap #header { padding-block: 12px; }
.fixed-header-on #site-logo img { width: clamp(150px, 12vw, 180px); }
body.admin-bar.fixed-header-on #headerwrap { top: var(--wp-admin--admin-bar--height, 32px); }

/* Desktop nav */
.sidemenu-off .navbar-wrapper { display: flex; justify-content: flex-end; }
.header-horizontal #header > .sidemenu-off { margin-left: auto; }
.sidemenu-off #main-nav { display: flex; align-items: center; gap: 4px; margin: 0; }
#headerwrap .sidemenu-off #main-nav > li { margin: 0; padding: 0; }
#headerwrap .sidemenu-off #main-nav > li > a {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 10px 16px;
	font-family: var(--font);
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
	color: #fff;
	background: transparent;
}
#headerwrap .sidemenu-off #main-nav > li > a::after {
	content: '';
	position: absolute;
	left: 16px;
	right: 16px;
	bottom: 4px;
	height: 2px;
	background: var(--sol);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .3s var(--ease);
}
#headerwrap .sidemenu-off #main-nav > li > a:hover { color: var(--sol); }
#headerwrap .sidemenu-off #main-nav > li > a:hover::after,
#headerwrap .sidemenu-off #main-nav > li.current-menu-item > a::after,
#headerwrap .sidemenu-off #main-nav > li.current_page_item > a::after,
#headerwrap .sidemenu-off #main-nav > li.current-menu-ancestor > a::after,
#headerwrap .sidemenu-off #main-nav > li.current-menu-parent > a::after { transform: scaleX(1); }
#headerwrap .sidemenu-off #main-nav > li.current-menu-item > a,
#headerwrap .sidemenu-off #main-nav > li.current_page_item > a,
#headerwrap .sidemenu-off #main-nav > li.current-menu-ancestor > a { color: var(--sol); }

/* Submenu arrow */
#headerwrap #main-nav .child-arrow {
	display: inline-block;
	width: 8px;
	height: 8px;
	margin: -4px 0 0 2px;
	padding: 0;
	border: solid currentColor;
	border-width: 0 2px 2px 0;
	background: none;
	transform: rotate(45deg);
	transition: transform .25s var(--ease);
	position: static;
}
#headerwrap #main-nav .child-arrow::before, #headerwrap #main-nav .child-arrow::after { display: none; }
#headerwrap .sidemenu-off #main-nav > li:hover > a .child-arrow { transform: rotate(225deg); margin-top: 4px; }

/* Dropdown */
#headerwrap .sidemenu-off #main-nav .sub-menu {
	min-width: 230px;
	padding: 10px;
	margin-top: 6px;
	border: 0;
	border-radius: var(--radius);
	background: var(--skog-d);
	box-shadow: 0 24px 50px rgba(0, 0, 0, .28);
}
#headerwrap .sidemenu-off #main-nav .sub-menu::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: -14px;
	height: 14px;
}
#headerwrap .sidemenu-off #main-nav .sub-menu li { margin: 0; padding: 0; border: 0; }
#headerwrap .sidemenu-off #main-nav .sub-menu a {
	display: block;
	padding: 11px 16px;
	border-radius: 9px;
	font-family: var(--font);
	font-size: .97rem;
	font-weight: 500;
	text-transform: none;
	color: #fff;
	background: transparent;
}
#headerwrap .sidemenu-off #main-nav .sub-menu a:hover,
#headerwrap .sidemenu-off #main-nav .sub-menu .current-menu-item > a { background: rgba(255, 255, 255, .12); color: var(--sol); }

/* CTA nav button */
#headerwrap .sidemenu-off #main-nav > li.ats-nav-cta { margin-left: 14px; }
#headerwrap .sidemenu-off #main-nav > li.ats-nav-cta > a {
	padding: 12px 22px;
	border-radius: 999px;
	background: var(--sol);
	color: var(--ink);
	font-weight: 600;
}
#headerwrap .sidemenu-off #main-nav > li.ats-nav-cta > a::after { display: none; }
#headerwrap .sidemenu-off #main-nav > li.ats-nav-cta > a:hover,
#headerwrap .sidemenu-off #main-nav > li.ats-nav-cta.current-menu-item > a { background: #fff; color: var(--ink); }

/* Mobile menu */
#headerwrap #menu-icon {
	width: 46px;
	height: 46px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--sol);
	color: var(--ink);
	padding: 0;
}
#menu-icon .menu-icon-inner {
	overflow: visible;
	width: 20px;
	height: 2px;
	margin: 0;
	background: var(--ink);
	position: relative;
	top: auto;
	left: auto;
}
#menu-icon .menu-icon-inner::before, #menu-icon .menu-icon-inner::after {
	content: '';
	position: absolute;
	left: 0;
	width: 20px;
	height: 2px;
	background: var(--ink);
	transform: none;
	transition: none;
}
#menu-icon .menu-icon-inner::before { top: -6px; }
#menu-icon .menu-icon-inner::after { top: 6px; }
#headerwrap .header-icons { right: var(--gutter); }

#headerwrap .sidemenu-on {
	background: var(--ink);
	color: var(--on-dark);
	padding-top: 84px;
}
#headerwrap .sidemenu-on #main-nav { display: block; }
#headerwrap .sidemenu-on #main-nav li { border: 0; margin: 0; }
#headerwrap .sidemenu-on #main-nav a {
	display: block;
	padding: 13px 0;
	border-bottom: 1px solid rgba(237, 229, 214, .12);
	font-family: var(--font);
	font-size: 1.1rem;
	font-weight: 500;
	color: #fff;
	background: none;
}
#headerwrap .sidemenu-on #main-nav a:hover,
#headerwrap .sidemenu-on #main-nav .current-menu-item > a,
#headerwrap .sidemenu-on #main-nav .current_page_item > a { color: var(--sol); }
#headerwrap .sidemenu-on #main-nav .sub-menu { padding: 0 0 6px 16px; background: none; border: 0; box-shadow: none; }
#headerwrap .sidemenu-on #main-nav .sub-menu a { font-size: 1rem; font-weight: 400; color: var(--on-dark); }
#headerwrap .sidemenu-on #main-nav .child-arrow {
	position: absolute;
	right: 8px;
	top: 18px;
	margin: 0;
	width: 10px;
	height: 10px;
	color: var(--sol);
	cursor: pointer;
}
#headerwrap .sidemenu-on #main-nav li { position: relative; }
#headerwrap .sidemenu-on #main-nav li.toggle-on > a .child-arrow { transform: rotate(225deg); top: 24px; }
#headerwrap .sidemenu-on #main-nav li.ats-nav-cta > a {
	margin-top: 24px;
	padding: 14px 22px;
	border: 0;
	border-radius: 999px;
	background: var(--sol);
	color: var(--ink);
	text-align: center;
	font-weight: 600;
}
#headerwrap #menu-icon-close {
	top: 22px;
	right: 22px;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--sol);
	color: var(--ink);
}
#headerwrap #menu-icon-close::before, #headerwrap #menu-icon-close::after { background: var(--ink); height: 2px; }

/* ---------- Hero ---------- */
.themify_builder .module_row.ats-hero {
	display: flex;
	align-items: flex-end;
	min-height: 78vh;
	min-height: 78svh;
	padding: clamp(150px, 20vh, 220px) 0 clamp(64px, 9vw, 120px);
	background-color: var(--ink);
	color: #fff;
	overflow: hidden;
}
.themify_builder .module_row.ats-hero--home { min-height: 100vh; min-height: 100svh; }
.themify_builder .module_row.ats-hero::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background:
		linear-gradient(90deg, rgba(20, 21, 20, .78) 0%, rgba(20, 21, 20, .45) 45%, rgba(20, 21, 20, .1) 75%),
		linear-gradient(0deg, rgba(20, 21, 20, .7) 0%, rgba(20, 21, 20, 0) 50%),
		linear-gradient(180deg, rgba(20, 21, 20, .55) 0%, rgba(20, 21, 20, 0) 25%);
}
.themify_builder .module_row.ats-hero > .row_inner { position: relative; z-index: 1; }
.ats-hero .big-video-wrap, .ats-hero .tb_row_frame { z-index: 0; }
.ats-hero .ats-heading .main-head { color: var(--sol); }
.ats-hero .ats-heading .sub-head {
	font-size: var(--fs-h1);
	line-height: 1;
	letter-spacing: -.035em;
	color: #fff;
	max-width: 14ch;
}
.ats-hero--inner .ats-heading .sub-head { font-size: clamp(2.3rem, 1.4rem + 3.6vw, 4.6rem); max-width: 16ch; }
.ats-hero .ats-lead { color: rgba(255, 255, 255, .9); font-weight: 300; }
.ats-hero .module-buttons { margin-top: 36px !important; }

/* Marquee band */
.themify_builder .module_row.ats-band { padding-block: 0; overflow: hidden; }
.themify_builder .module_row.ats-band > .row_inner { width: 100%; }
.ats-marquee {
	display: flex;
	width: max-content;
	margin: 0;
	padding: 22px 0;
	list-style: none;
	animation: ats-marquee 38s linear infinite;
}
.ats-marquee li {
	display: flex;
	align-items: center;
	gap: 0;
	margin: 0;
	padding: 0;
	font-size: clamp(1.15rem, .9rem + 1.1vw, 1.9rem);
	font-weight: 700;
	letter-spacing: -.01em;
	line-height: 1.1;
	color: var(--ink);
	white-space: nowrap;
}
.ats-marquee li::after {
	content: '';
	width: 14px;
	height: 26px;
	margin: 0 clamp(22px, 3vw, 44px);
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 26'%3E%3Cpath fill='%23138E91' d='M9 0h3v26H9zM9 4C6 4 2 6 0 9h4c1-1 3-2 5-2zM9 11c-3 0-7 2-9 5h4c1-1 3-2 5-2zM9 18c-3 0-7 2-9 5h4c1-1 3-2 5-2z'/%3E%3C/svg%3E") center / contain no-repeat;
}
@keyframes ats-marquee { to { transform: translateX(-50%); } }

/* ---------- Split sections ---------- */
.themify_builder .ats-split > .row_inner { align-items: center; gap: clamp(40px, 6vw, 96px); }
.themify_builder .ats-split > .row_inner > .module_column { margin: 0; }
.ats-split.ats-split--reverse > .row_inner > .ats-media { order: 2; }
.ats-copy .ats-heading .sub-head { max-width: 16ch; }

.ats-img .image-wrap { display: block; border-radius: var(--radius-lg); overflow: hidden; line-height: 0; }
.ats-img img { width: 100%; height: auto; object-fit: cover; transition: transform .8s var(--ease); }
.ats-img--tall img { aspect-ratio: 4 / 5; }
.ats-img--wide img { aspect-ratio: 4 / 3; }
.ats-img--press .image-wrap { border-radius: 6px; box-shadow: 0 30px 60px rgba(35, 36, 35, .25); transform: rotate(-2deg); max-width: 460px; margin-inline: auto; }
.ats-img--press a:hover img { transform: scale(1.03); }
.ats-media { position: relative; }
.ats-sand .ats-media .ats-img--tall .image-wrap { box-shadow: 18px 18px 0 var(--skog); }
.ats-dark .ats-media .ats-img .image-wrap,
.ats-skog .ats-media .ats-img .image-wrap { box-shadow: -18px 18px 0 var(--sol); }
.ats-split--reverse.ats-sand .ats-media .ats-img--tall .image-wrap { box-shadow: -18px 18px 0 var(--skog); }

/* ---------- Cards ---------- */
.themify_builder .module_subrow.ats-cards { gap: 20px; }
.themify_builder .module_column.ats-card {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: clamp(380px, 34vw, 480px);
	padding: 32px 30px 30px;
	border-radius: var(--radius-lg);
	overflow: hidden;
	isolation: isolate;
	color: #fff;
	cursor: pointer;
	background-size: cover;
	transition: transform .45s var(--ease), box-shadow .45s var(--ease);
}
.themify_builder .module_column.ats-card::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, rgba(20, 21, 20, .05) 15%, rgba(20, 21, 20, .55) 55%, rgba(20, 21, 20, .92) 100%);
	transition: background-color .45s;
}
.themify_builder .module_column.ats-card::after {
	content: '';
	position: absolute;
	left: 30px;
	right: 30px;
	bottom: 0;
	height: 4px;
	background: var(--sol);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .45s var(--ease);
}
.themify_builder .module_column.ats-card:hover { transform: translateY(-6px); box-shadow: 0 30px 60px rgba(0, 0, 0, .3); }
.themify_builder .module_column.ats-card:hover::after { transform: scaleX(1); }
.ats-card .ats-heading .main-head { margin-bottom: 12px; color: var(--sol); }
.ats-card .ats-heading .sub-head { font-size: clamp(1.4rem, 1.2rem + .7vw, 1.8rem); color: #fff; max-width: 16ch; }
.ats-card .module-text { font-size: .97rem; color: rgba(255, 255, 255, .85); }
.themify_builder .ats-card .module + .module { margin-top: 14px; }
.ats-card .module-buttons { margin-top: 20px !important; }

/* ---------- Steps / facts ---------- */
.themify_builder .module_subrow.ats-steps,
.themify_builder .module_subrow.ats-facts { gap: 20px; }
.themify_builder .module_column.ats-step {
	padding: 30px 28px 32px;
	border-radius: var(--radius-lg);
	background: rgba(255, 255, 255, .05);
	border: 1px solid rgba(237, 229, 214, .12);
	transition: background-color .3s, border-color .3s, transform .4s var(--ease);
}
.themify_builder .module_column.ats-step:hover { background: rgba(255, 255, 255, .08); border-color: rgba(238, 234, 142, .4); transform: translateY(-4px); }
.ats-step .ats-heading .main-head {
	display: inline-flex !important;
	justify-content: center;
	min-width: 52px;
	height: 52px;
	padding: 0 10px;
	margin-bottom: 22px;
	border-radius: 50%;
	background: var(--sol);
	color: var(--ink) !important;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0;
	border-radius: 999px;
}
.ats-step .ats-heading .main-head::before { display: none; }
.ats-step .ats-heading .sub-head { font-size: var(--fs-h3); max-width: none; }
.themify_builder .ats-step .module + .module { margin-top: 12px; }
.ats-step .module-text { font-size: .97rem; color: var(--on-dark-soft); }
.ats-steps--light .ats-step,
.themify_builder .ats-steps--light .module_column.ats-step { background: var(--paper); border-color: rgba(35, 36, 35, .08); }
.themify_builder .ats-steps--light .module_column.ats-step:hover { border-color: var(--skog); }
.ats-steps--light .ats-step .module-text { color: var(--text-soft); }
.ats-steps--light .ats-step .ats-heading .main-head { background: var(--skog-d); color: #fff !important; }
.themify_builder .ats-sand + .ats-sand { padding-top: 0; }

.themify_builder .module_column.ats-fact { padding: 28px; border-radius: var(--radius-lg); background: var(--paper); border-top: 4px solid var(--skog); }
.ats-fact .ats-heading .main-head { margin-bottom: 10px; }
.ats-fact .ats-heading .sub-head { font-size: var(--fs-h3); }
.themify_builder .ats-fact .module + .module { margin-top: 10px; }

/* ---------- Panels, forms ---------- */
.themify_builder .module_column.ats-panel {
	padding: clamp(28px, 3vw, 40px);
	border-radius: var(--radius-lg);
	background: var(--ink-3);
	border: 1px solid rgba(237, 229, 214, .1);
}
.themify_builder .module_column.ats-form-card {
	padding: clamp(28px, 3.4vw, 48px);
	border-radius: var(--radius-lg);
	background: var(--ink);
	color: var(--on-dark);
	box-shadow: 0 30px 60px rgba(35, 36, 35, .18);
}
.ats-form-card .ats-heading .main-head { color: var(--sol); }
.ats-form-card .ats-heading .sub-head { color: #fff; }
.themify_builder .ats-split > .row_inner { align-items: start; }
.themify_builder .ats-split:not(:has(.ats-form-card)) > .row_inner { align-items: center; }

.module-contact.ats-form form { display: grid; gap: 18px; }
.module-contact.ats-form .builder-contact-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.module-contact.ats-form .builder-contact-field { margin: 0; width: auto; padding: 0; }
.module-contact.ats-form .builder-contact-field-message,
.module-contact.ats-form .builder-contact-textarea-field,
.module-contact.ats-form .builder-contact-field-sendcopy,
.module-contact.ats-form .builder-contact-field-captcha,
.module-contact.ats-form .builder-contact-field-send { grid-column: 1 / -1; }
.ats-form-card .module-contact.ats-form .builder-contact-fields > .builder-contact-field:first-child { grid-column: 1 / -1; }
.module-contact.ats-form label,
.module-contact.ats-form .control-label {
	display: block;
	margin-bottom: 7px;
	font-size: .85rem;
	font-weight: 500;
	letter-spacing: .02em;
	color: inherit;
}
.module-contact.ats-form .required { color: var(--sol); }
.module-contact.ats-form input[type="text"],
.module-contact.ats-form input[type="email"],
.module-contact.ats-form input[type="tel"],
.module-contact.ats-form input[type="number"],
.module-contact.ats-form select,
.module-contact.ats-form textarea {
	width: 100%;
	padding: 14px 16px;
	border: 1.5px solid rgba(237, 229, 214, .18);
	border-radius: 10px;
	background: rgba(255, 255, 255, .07);
	color: #fff;
	font-family: var(--font);
	font-size: 1rem;
	font-weight: 300;
	box-shadow: none;
	transition: border-color .2s, background-color .2s;
}
.module-contact.ats-form select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23EEEA8E' stroke-width='2'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; background-size: 12px; padding-right: 40px; }
.module-contact.ats-form select option { color: var(--ink); background: #fff; }
.module-contact.ats-form textarea { min-height: 150px; resize: vertical; }
.module-contact.ats-form input:focus,
.module-contact.ats-form select:focus,
.module-contact.ats-form textarea:focus { border-color: var(--sol); background-color: rgba(255, 255, 255, .11); }
/* Checkbox: Ultra draws its own box (appearance:none + ::before tick) */
.module-contact.ats-form .send-copy { display: inline-flex; align-items: center; gap: 12px; cursor: pointer; }
.module-contact.ats-form input[type="checkbox"] {
	position: relative;
	flex: none;
	box-sizing: border-box;
	width: 22px;
	height: 22px;
	min-width: 22px;
	min-height: 22px;
	margin: 0;
	padding: 0;
	border: 1.5px solid rgba(237, 229, 214, .35);
	border-radius: 6px;
	background: rgba(255, 255, 255, .07);
	color: var(--ink);
	transition: background-color .2s, border-color .2s;
}
.module-contact.ats-form input[type="checkbox"]:hover { border-color: var(--sol); }
.module-contact.ats-form input[type="checkbox"]:checked { background: var(--sol); border-color: var(--sol); }
.module-contact.ats-form input[type="checkbox"]::before {
	position: absolute;
	left: 50%;
	top: 45%;
	width: 11px;
	height: 5px;
	margin: 0;
	border-left: 2.5px solid transparent;
	border-bottom: 2.5px solid transparent;
	transform: translate(-50%, -50%) rotate(-45deg);
}
.module-contact.ats-form input[type="checkbox"]:checked::before { border-color: var(--ink); }
.module-contact.ats-form .builder-contact-field-send { text-align: left; }
.module-contact.ats-form button,
.module-contact.ats-form .btn,
.module-contact.ats-form input[type="submit"] {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 15px 30px;
	border: 0;
	border-radius: 999px;
	background: var(--sol) !important;
	color: var(--ink) !important;
	font-family: var(--font);
	font-size: 1rem;
	font-weight: 600;
	box-shadow: none !important;
	transform: none;
	cursor: pointer;
	transition: background-color .2s, transform .25s var(--ease);
}
.module-contact.ats-form button:hover { background: #fff !important; transform: translateY(-2px); }
.module-contact.ats-form .contact-message { margin-top: 12px; border-radius: 10px; }

/* Contact list */
.ats-contact { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.ats-contact li { display: grid; grid-template-columns: 110px 1fr; gap: 16px; padding: 18px 0; border-bottom: 1px solid rgba(35, 36, 35, .12); line-height: 1.55; }
.ats-contact li:first-child { padding-top: 0; }
.ats-contact span { font-size: .78rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--skog-d); padding-top: .25em; }
.ats-contact a { font-weight: 500; color: var(--ink); text-decoration: none; }
.ats-contact a:hover { color: var(--skog); }
.ats-contact li:first-child a { font-size: clamp(1.4rem, 1.1rem + 1vw, 2rem); font-weight: 700; letter-spacing: -.01em; }

/* ---------- Courses list ---------- */
.ats-kurser { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.ats-kurs {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 18px;
	padding: 16px 18px;
	border-radius: var(--radius);
	background: rgba(255, 255, 255, .06);
	border: 1px solid rgba(237, 229, 214, .12);
}
.ats-kurs__date {
	display: grid;
	place-items: center;
	width: 62px;
	height: 62px;
	border-radius: 12px;
	background: var(--sol);
	color: var(--ink);
	font-size: .72rem;
	font-weight: 600;
	text-transform: uppercase;
	line-height: 1;
}
.ats-kurs__date b { font-size: 1.5rem; font-weight: 700; }
.ats-kurs__body { display: grid; gap: 2px; }
.ats-kurs__name { font-weight: 600; color: #fff; }
.ats-kurs__meta, .ats-kurs__info { font-size: .9rem; color: var(--on-dark-soft); }
.ats-kurs__info { color: var(--sol); }
.ats-kurs__cta { font-size: .88rem; font-weight: 600; white-space: nowrap; }
.ats-sand .ats-kurs { background: var(--paper); border-color: rgba(35, 36, 35, .08); }
.ats-sand .ats-kurs__name { color: var(--ink); }
.ats-sand .ats-kurs__meta { color: var(--text-soft); }
.ats-sand .ats-kurs__info { color: var(--skog-d); }
.ats-kurser--empty { padding: 24px 26px; border-radius: var(--radius); border: 1.5px dashed rgba(238, 234, 142, .45); }
.ats-kurser--empty p { margin: 0; }
.ats-kurser__empty-title { font-weight: 600; font-size: 1.1rem; color: var(--sol); margin-bottom: .4em !important; }
.ats-sand .ats-kurser--empty { border-color: rgba(14, 110, 112, .4); background: var(--paper); }
.ats-sand .ats-kurser__empty-title { color: var(--skog-d); }

/* ---------- Gallery ---------- */
.themify_builder .ats-gallery { margin-top: clamp(36px, 5vw, 64px) !important; }
.ats-gallery .module-gallery-grid { gap: 14px; display: grid; grid-template-columns: repeat(var(--gald), 1fr); }
.ats-gallery .gallery-item { margin: 0; padding: 0; width: auto; }
.ats-gallery .gallery-icon { margin: 0; }
.ats-gallery .gallery-icon a { display: block; overflow: hidden; border-radius: var(--radius); line-height: 0; }
.ats-gallery img { width: 100%; aspect-ratio: 1; object-fit: cover; transition: transform .7s var(--ease), filter .4s; }
.ats-gallery a:hover img { transform: scale(1.05); }
.ats-gallery--press img { aspect-ratio: 3 / 4; object-position: top; }
.ats-gallery--press .gallery-icon a { border-radius: 6px; box-shadow: 0 20px 40px rgba(0, 0, 0, .25); }

/* Instagram */
#sb_instagram { margin-top: 32px; }
#sb_instagram .sbi_follow_btn a, #sb_instagram .sbi_load_btn { background: var(--skog-d) !important; border-radius: 999px !important; font-family: var(--font) !important; }

/* ---------- CTA ---------- */
.themify_builder .module_row.ats-cta { padding-block: clamp(80px, 9vw, 130px); }
.ats-cta .ats-heading .sub-head { font-size: clamp(2rem, 1.3rem + 3vw, 4rem); max-width: 18ch; }
.ats-cta .ats-lead { margin-inline: auto; }

/* ---------- Footer (layout part on themify_body_end) ---------- */
body > .tb_layout_part_wrap { background: var(--ink-2); }
.themify_builder .module_row.ats-footer { padding: clamp(72px, 8vw, 110px) 0 56px; color: var(--on-dark-soft); font-size: .97rem; }
.ats-footer > .row_inner { gap: clamp(32px, 4vw, 56px); }
.ats-footer__logo img { width: 220px; max-width: 100%; height: auto; }
.ats-footer .module-text p { max-width: 34ch; }
.ats-footer__title .main-head { display: none !important; }
.ats-footer__title .sub-head,
.ats-footer .ats-heading.ats-footer__title .sub-head { font-size: .82rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--sol); max-width: none; }
.themify_builder .ats-footer .ats-heading.module + .module { margin-top: 18px; }
.ats-footer__links { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.ats-footer__links li { margin: 0; padding: 0; line-height: 1.5; }
.ats-footer__links a { color: #fff !important; text-decoration: none; }
.ats-footer__links a:hover { color: var(--sol) !important; }
.ats-footer .ats-btns .builder_button { padding: 13px 22px; font-size: .94rem; }
.ats-social .module-icon-item { margin: 0 10px 0 0; }
.ats-social a { display: inline-flex !important; }
.ats-social .module-icon-item em,
.ats-social em {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .08) !important;
	color: #fff !important;
	transition: background-color .2s, color .2s;
}
.ats-social a:hover em { background: var(--sol) !important; color: var(--ink) !important; }
.ats-social svg { width: 18px; height: 18px; }
.themify_builder .module_row.ats-footer-bottom { padding: 22px 0; border-top: 1px solid rgba(237, 229, 214, .1); font-size: .85rem; color: rgba(237, 229, 214, .6); }
.ats-footer-bottom > .row_inner { align-items: center; }
.ats-credit { text-align: right; }
.ats-credit a { color: #fff; text-decoration: none; font-weight: 500; }
.ats-credit a:hover { color: var(--sol); }

/* Back to top */
#pagewrap .back-top.back-top-float {
	right: 22px;
	bottom: 22px;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background: var(--sol);
	box-shadow: 0 10px 26px rgba(0, 0, 0, .25);
	transition: transform .3s var(--ease), opacity .3s, background-color .2s;
	z-index: 90;
}
#pagewrap .back-top.back-top-float:hover { transform: translateY(-4px); background: #fff; }
#pagewrap .back-top .arrow-up a { width: 100%; height: 100%; display: block; position: relative; background: none; }
#pagewrap .back-top .arrow-up a::before {
	content: '';
	position: absolute;
	left: 50%;
	top: 55%;
	width: 12px;
	height: 12px;
	border: solid var(--ink);
	border-width: 2.5px 0 0 2.5px;
	transform: translate(-50%, -50%) rotate(45deg);
	background: none;
}
#pagewrap .back-top .arrow-up a::after { display: none; }

/* Lightbox */
.mfp-bg { background: var(--ink-2); opacity: .94; }

/* ---------- Reveal animation (gated by html.ats-anim, skipped in builder) ---------- */
html.ats-anim:not(.ats-anim-done) .ats-r { opacity: 0; transition: opacity .9s var(--ease); }
html.ats-anim .ats-r.is-in { opacity: 1; }
html.ats-anim:not(.ats-anim-done) .ats-r .ats-ri { opacity: 0; transform: translateY(28px); transition: opacity .8s var(--ease), transform .9s var(--ease); transition-delay: var(--d, 0ms); }
html.ats-anim .ats-r.is-in .ats-ri { opacity: 1; transform: none; }
html.ats-anim .ats-r.is-in .ats-card.ats-ri:hover { transform: translateY(-6px); }

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
	#headerwrap .header-icons { display: flex !important; align-items: center; position: absolute; top: 50%; transform: translateY(-50%); }
	#headerwrap #header { padding-block: 16px; }
	.fixed-header-on #headerwrap #header { padding-block: 10px; }
}
@media (max-width: 1024px) {
	.themify_builder .module_row > .row_inner,
	.themify_builder .module_subrow {
		grid-template-areas: none !important;
		grid-template-columns: 1fr 1fr !important;
	}
	.themify_builder .module_row > .row_inner > .module_column,
	.themify_builder .module_subrow .module_column { grid-area: auto !important; width: auto; }
	.themify_builder .module_row.ats-split > .row_inner,
	.themify_builder .module_row.ats-hero > .row_inner,
	.themify_builder .module_row.ats-cta > .row_inner,
	.themify_builder .module_row.ats-footer-bottom > .row_inner,
	.themify_builder .module_row > .row_inner.tb_col_count_1 { grid-template-columns: 1fr !important; }
	.themify_builder .module_subrow.ats-cards > .module_column.last:nth-child(odd) { grid-column: 1 / -1; }
	.themify_builder .ats-split > .row_inner { gap: 48px; }
	.ats-split.ats-split--reverse > .row_inner > .ats-media { order: 0; }
	.ats-img--tall img { aspect-ratio: 4 / 3; }
	.ats-img--press .image-wrap { max-width: 380px; }
	.ats-credit { text-align: left; }
	.ats-gallery .module-gallery-grid { grid-template-columns: repeat(2, 1fr); }
	.ats-gallery--press .module-gallery-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 680px) {
	.themify_builder .module_row > .row_inner,
	.themify_builder .module_subrow { grid-template-columns: 1fr !important; }
	.themify_builder .module_subrow.ats-cards > .module_column.last:nth-child(odd) { grid-column: auto; }
	.themify_builder .module_column.ats-card { min-height: 340px; }
	.themify_builder .module_row.ats-hero { padding-top: 130px; }
	.themify_builder .module_row.ats-hero::after {
		background: linear-gradient(0deg, rgba(20, 21, 20, .88) 0%, rgba(20, 21, 20, .5) 55%, rgba(20, 21, 20, .35) 100%);
	}
	.ats-hero .module-buttons .module-buttons-item { width: 100%; }
	.ats-hero .module-buttons .builder_button { width: 100%; justify-content: center; }
	.module-contact.ats-form .builder-contact-fields { grid-template-columns: 1fr; }
	.ats-contact li { grid-template-columns: 1fr; gap: 4px; }
	.ats-profile { grid-template-columns: 1fr; gap: 4px; }
	.ats-profile dd { margin-bottom: 10px; }
	.ats-kurs { grid-template-columns: auto 1fr; }
	.ats-kurs__cta { grid-column: 2; }
	.ats-sand .ats-media .ats-img--tall .image-wrap,
	.ats-split--reverse.ats-sand .ats-media .ats-img--tall .image-wrap { box-shadow: 10px 10px 0 var(--skog); }
	.ats-dark .ats-media .ats-img .image-wrap,
	.ats-skog .ats-media .ats-img .image-wrap { box-shadow: -10px 10px 0 var(--sol); }
	.ats-gallery .module-gallery-grid { gap: 10px; }
	#pagewrap .back-top.back-top-float { right: 16px; bottom: 16px; width: 46px; height: 46px; }
}

/* ---------- Additions ---------- */
.themify_builder .module_column > .module + .module_subrow { margin-top: clamp(40px, 5vw, 64px); }

/* Hero variant: text on the right when the subject stands on the left */
.themify_builder .module_row.ats-hero--right > .row_inner { justify-items: end; }
.themify_builder .module_row.ats-hero--right > .row_inner > .module_column { max-width: 640px; margin-left: auto; }
.themify_builder .module_row.ats-hero--right::after {
	background:
		linear-gradient(270deg, rgba(20, 21, 20, .82) 0%, rgba(20, 21, 20, .5) 45%, rgba(20, 21, 20, .1) 75%),
		linear-gradient(0deg, rgba(20, 21, 20, .6) 0%, rgba(20, 21, 20, 0) 50%),
		linear-gradient(180deg, rgba(20, 21, 20, .55) 0%, rgba(20, 21, 20, 0) 25%);
}
.module-contact.ats-form button .tf_submit_icon:empty { display: none; }
.module-contact.ats-form button .tf_loader { position: absolute; left: 10px; }
.module-contact.ats-form button { position: relative; gap: 0; }
#sb_instagram .sb_instagram_header, #sb_instagram #sbi_load .sbi_follow_btn { display: none !important; }
#sb_instagram #sbi_images { padding: 0 !important; }
#sb_instagram .sbi_photo { border-radius: var(--radius); overflow: hidden; }
#headerwrap #menu-icon-close::before,
#headerwrap #menu-icon-close::after { width: 20px; height: 2px; left: 50%; top: 50%; margin: -1px 0 0 -10px; border-radius: 2px; }
#headerwrap #menu-icon-close::before { transform: rotate(45deg); }
#headerwrap #menu-icon-close::after { transform: rotate(-45deg); }
#headerwrap #main-nav .child-arrow { border-radius: 0; box-sizing: border-box; }
@media (max-width: 1024px) and (min-width: 681px) {
	.themify_builder .module_subrow.ats-cards > .module_column.last:nth-child(odd) { min-height: 320px; }
}
@media (max-width: 680px) {
	.ats-footer-bottom .module_column + .module_column { margin-top: 8px; }
	.ats-credit { text-align: left; }
}

/* Back to top: the link fills the circle, chevron as SVG background */
#pagewrap .back-top.back-top-float .arrow-up { position: absolute; inset: 0; }
#pagewrap .back-top.back-top-float .arrow-up a {
	position: absolute;
	inset: 0;
	padding: 0;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23232423' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 15l6-6 6 6'/%3E%3C/svg%3E") center / 20px no-repeat;
}
#pagewrap .back-top.back-top-float .arrow-up a::before,
#pagewrap .back-top.back-top-float .arrow-up a::after { content: none; display: none; }
