/* ==========================================================================
   Reset (from the parent theme bethree/style.css, inlined here so the browser
   downloads one stylesheet less before the first paint; inc/performance.php
   dequeues the parent file). Keep in sync if the parent reset ever changes.
   ========================================================================== */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}html{scroll-behavior:smooth}body{line-height:1}a{text-decoration-skip-ink:auto}a[href^="tel"]{color:inherit;text-decoration:none}button{outline:0}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}q{display:inline;font-style:italic}q:before{content:'"';font-style:normal}q:after{content:'"';font-style:normal}textarea,input[type="text"],input[type="button"],input[type="submit"],input[type="reset"],input[type="search"],input[type="password"]{-webkit-appearance:none;appearance:none;border-radius:0}input[type="search"]{-webkit-appearance:textfield}table{border-collapse:collapse;border-spacing:0}th,td{padding:2px}big{font-size:120%}small,sup,sub{font-size:80%}sup{vertical-align:super}sub{vertical-align:sub}dd{margin-left:20px}kbd,tt{font-family:courier;font-size:12px}ins{text-decoration:underline}del,strike,s{text-decoration:line-through}dt{font-weight:bold}address,cite,var{font-style:italic}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
.sticky{}.bypostauthor{}.wp-caption{}.wp-caption-text{}.gallery-caption{}.alignright{}.alignleft{}.aligncenter{}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important;word-break:normal}
.screen-reader-text:focus{background-color:#f7f7f7;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;-webkit-clip-path:none;clip-path:none;color:#007acc;display:block;font-size:14px;font-size:.875rem;font-weight:700;height:auto;right:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}
.skip-link{left:-9999rem;top:2.5rem;z-index:999999999;text-decoration:underline}
.skip-link:focus{display:block;left:6px;top:7px;font-size:14px;font-weight:600;text-decoration:none;line-height:normal;padding:15px 23px 14px;z-index:100000;right:auto}
.visually-hidden:not(:focus):not(:active), .form-allowed-tags:not(:focus):not(:active){position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px 1px 1px 1px);clip:rect(1px, 1px, 1px, 1px);white-space:nowrap}

/* ==========================================================================
   BeThree Child – main.css (vasculartreatment.gr)
   Global stylesheet, loaded on every page. Per-page styles live in
   assets/css/pages/{key}.css (see inc/enqueue.php), the article column and
   sidebar in assets/css/longform.css.

   The design is the old Elementor site rebuilt by hand: every size, colour and
   distance below was measured on vasculartreatment.gr (desktop / ≤1024 / ≤767).

   1. Fonts            6. Buttons            11. Carousel + video + lightbox
   2. Tokens           7. Section title      12. Maps
   3. Base             8. Header             13. Forms (Contact Form 7)
   4. Layout (.be_row) 9. Footer             14. Floating contact, search overlay
   5. Prose            10. FAQ, reviews      15. Entrance animations
   ========================================================================== */


/* 1. Fonts ----------------------------------------------------------------
   Self-hosted, Latin + Greek subsets (unicode-range: only what a page needs
   is downloaded). Roboto and Inter are variable fonts.
   -------------------------------------------------------------------------- */
@font-face {
	font-family: "Inter";
	font-style: normal;
	font-weight: 300 600;
	font-display: swap;
	src: url("../fonts/inter-greek.woff2") format("woff2");
	unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}

@font-face {
	font-family: "Inter";
	font-style: normal;
	font-weight: 300 600;
	font-display: swap;
	src: url("../fonts/inter-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Open Sans";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/open-sans-greek.woff2") format("woff2");
	unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}

@font-face {
	font-family: "Open Sans";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/open-sans-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Roboto";
	font-style: italic;
	font-weight: 300 700;
	font-display: swap;
	src: url("../fonts/roboto-italic-greek.woff2") format("woff2");
	unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}

@font-face {
	font-family: "Roboto";
	font-style: italic;
	font-weight: 300 700;
	font-display: swap;
	src: url("../fonts/roboto-italic-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Roboto";
	font-style: normal;
	font-weight: 300 700;
	font-display: swap;
	src: url("../fonts/roboto-greek.woff2") format("woff2");
	unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}

@font-face {
	font-family: "Roboto";
	font-style: normal;
	font-weight: 300 700;
	font-display: swap;
	src: url("../fonts/roboto-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Roboto Slab";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/roboto-slab-greek.woff2") format("woff2");
	unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}

@font-face {
	font-family: "Roboto Slab";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/roboto-slab-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


/* 2. Tokens --------------------------------------------------------------- */
:root {
	/* Colours (Elementor kit: primary / secondary / text) */
	--be-navy: #102d5e;
	--be-red: #c40506;
	--be-grey: #717171; /* the old #7a7a7a, a shade darker: 4.5:1 contrast on white and on #f7f7f7 */
	--be-slate: #4c5b6d;
	--be-ink: #333333;
	--be-menu: #16163f;
	--be-sky: #599dc2;
	--be-light: #f7f7f7;
	--be-line: #efefef;
	--be-faq-line: #bec5d6;
	--be-white: #ffffff;

	/* Typography */
	--be-font: "Roboto", sans-serif;
	--be-font-sys: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
	/* The old site set Nunito / Montserrat / Karla / Poppins on a few elements; none of them
	   has Greek glyphs, so visitors always saw the browser's sans-serif there. Same here. */
	--be-font-alt: sans-serif;
	--be-font-inter: "Inter", sans-serif;

	/* Layout */
	--be-content: 1140px; /* Elementor boxed width */
	--be-wide: 1400px;    /* hero rows */
	--be-gutter: 10px;    /* container side padding; columns add their own 10px */
	--be-header-h: 133px; /* sticky header height (55 top bar + 78 main bar) */
}

@media (max-width: 1024px) {
	:root {
		--be-header-h: 145px; /* 78 + 67 */
	}
}

@media (max-width: 767px) {
	:root {
		--be-header-h: 65px;
	}
}


/* 3. Base ----------------------------------------------------------------- */
html {
	-webkit-text-size-adjust: 100%;
	scroll-padding-top: calc(var(--be-header-h) + 20px);
}

body {
	margin: 0;
	background: var(--be-white);
	color: var(--be-ink);
	font: 400 16px/1.5 var(--be-font-sys);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

img,
svg,
video {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

a {
	color: var(--be-navy);
	text-decoration: none;
	transition: color 0.3s;
}

b,
strong {
	font-weight: bolder;
}

em,
i {
	font-style: italic;
}

button {
	font: inherit;
	color: inherit;
	background: none;
	border: 0;
	padding: 0;
	cursor: pointer;
}

ul,
ol {
	list-style: none;
}

:focus-visible {
	outline: 2px solid var(--be-sky);
	outline-offset: 2px;
}

.be_icon {
	width: 1em;
	height: 1em;
	fill: currentColor;
	flex: none;
}

.be_hfeed {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

.be_container {
	flex: 1 0 auto;
}


/* 4. Layout ---------------------------------------------------------------
   Every section is a full-width .be_row: no max-width wrappers, the side
   padding grows so the content box stays at the Elementor boxed width
   (1140px; --wide 1400px). Columns inside add the 10px Elementor column
   padding, so text and images sit exactly where they sat on the old site.
   -------------------------------------------------------------------------- */
.be_row {
	padding-inline: max(var(--be-gutter), calc((100% - var(--be-content)) / 2));
}

.be_row--wide {
	padding-inline: max(var(--be-gutter), calc((100% - var(--be-wide)) / 2));
}

.be_row--flush {
	padding-inline: 0;
}

.be_col {
	padding: 10px;
	min-width: 0;
}


/* 5. Prose (WYSIWYG output, article bodies) ------------------------------- */
.be_prose {
	font: 300 16px/24px var(--be-font);
	color: var(--be-grey);
}

.be_prose p {
	margin: 0 0 0.9rem;
}

.be_prose ul,
.be_prose ol {
	padding-left: 40px;
}

.be_prose ul {
	list-style: disc;
}

.be_prose ol {
	list-style: decimal;
}

.be_prose ul ul {
	list-style: circle;
}

.be_prose a {
	color: var(--be-navy);
}

.be_prose a:hover {
	color: #333366;
}

.be_prose h2,
.be_prose h3,
.be_prose h4 {
	margin: 0.5rem 0 1rem;
	font-family: var(--be-font);
	font-weight: 500;
	line-height: 1.2;
	color: inherit;
}

.be_prose h2 {
	font-size: 2rem;
}

.be_prose h3 {
	font-size: 1.75rem;
}

.be_prose h4 {
	font-size: 1.5rem;
}

.be_prose img {
	height: auto;
}

.be_prose table {
	width: 100%;
	margin-bottom: 15px;
	font-size: 0.9em;
}

.be_prose th,
.be_prose td {
	padding: 15px;
	border: 1px solid hsla(0, 0%, 50.2%, 0.5);
	line-height: 1.5;
	vertical-align: top;
	text-align: left;
}

.be_prose th {
	font-weight: 700;
}

.be_prose blockquote {
	margin: 0 0 0.9rem;
	padding-left: 20px;
	border-left: 3px solid var(--be-line);
	font-style: italic;
}


/* 6. Buttons -------------------------------------------------------------- */
.be_btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	padding: 12px 24px;
	border: 0;
	border-radius: 3px;
	background: var(--be-navy);
	color: var(--be-white);
	fill: var(--be-white);
	font: 400 15px/1 var(--be-font-sys);
	text-align: center;
	cursor: pointer;
	transition: background-color 0.3s, color 0.3s, border-color 0.3s;
}

.be_btn:hover,
.be_btn:focus {
	color: var(--be-white);
}

/* Header «Κλείστε Ραντεβού» */
.be_btn--header {
	gap: 10px;
	padding: 15px 30px;
	border-radius: 0;
	font-family: var(--be-font);
}

.be_btn--header:hover,
.be_btn--header:focus {
	background: var(--be-sky);
}

/* Red «ΕΠΙΚΟΙΝΩΝΙΑ» (homepage appointment box) */
.be_btn--red {
	border: 1px solid #d61747;
	border-radius: 4px;
	background: var(--be-red);
	font: 500 14px/24px var(--be-font);
	text-transform: uppercase;
}

.be_btn--red .be_icon {
	width: 14px;
	height: 14px;
}

.be_btn--red:hover,
.be_btn--red:focus {
	border-color: var(--be-white);
	background: var(--be-white);
	color: var(--be-navy);
}

/* Red button of the dark call-to-action band */
.be_btn--cta {
	padding: 22px 63px;
	border: 2px solid transparent;
	border-radius: 0;
	background: var(--be-red);
	font: 700 13px/1 var(--be-font-alt);
	letter-spacing: 1.3px;
	text-transform: uppercase;
}

.be_btn--cta:hover,
.be_btn--cta:focus {
	background: rgba(37, 41, 48, 0.94);
}

/* Hero button of the condition pages */
.be_btn--hero {
	padding: 25px 50px;
	border-radius: 0;
	box-shadow: 4px 5px 14px 0 rgba(0, 0, 0, 0.2);
	color: #f2fcfe;
	font: 500 18px/14px var(--be-font-inter);
	text-transform: capitalize;
}

.be_btn--hero:hover,
.be_btn--hero:focus {
	background: transparent;
	color: #0396c2;
}

/* Form submit */
.be_btn--form {
	padding: 16px 55px;
	border: 1px solid var(--be-navy);
	border-radius: 0;
	font: 400 16px/1 var(--be-font-alt);
	text-transform: capitalize;
}

.be_btn--form:hover,
.be_btn--form:focus {
	border-color: #467ff7;
	background: transparent;
	color: #467ff7;
}

.be_btn[disabled] {
	opacity: 0.45;
	cursor: not-allowed;
}


/* 7. Section title (centered, two-tone) ----------------------------------- */
.be_section-title {
	padding: 10px;
	text-align: center;
}

.be_section-title-heading {
	margin: 0 0 20px;
	color: var(--be-navy);
	font: 300 55px/54px var(--be-font);
}

.be_section-title-text {
	margin: 0 0 0.9rem;
	color: var(--be-navy);
	font: 300 18px/24px var(--be-font);
}

.be_section-title-heading:last-child {
	margin-bottom: 0;
}

/* Sections that open with a hairline and 80px of air (old «title» sections) */
.be_section-head {
	padding-top: 80px;
	border-top: 1px solid var(--be-line);
}

@media (max-width: 1024px) {
	.be_section-title-heading {
		font-size: 40px;
		line-height: 44px;
	}

	.be_section-title-text {
		font-size: 14px;
		line-height: 20px;
	}

	.be_section-head .be_section-title {
		padding-inline: 15px;
	}
}

@media (max-width: 767px) {
	.be_section-title-heading {
		font-size: 28px;
		line-height: 34px;
	}
}


/* Page hero (Ιατρείο, Βιογραφικό): text left, photo/video right, over a
   faint clinic photo (the old white overlay at opacity .9). */
.be_pagehero {
	position: relative;
	display: flex;
	gap: 10px;
	padding-block: 80px;
	overflow: hidden;
	background: var(--be-white);
}

.be_pagehero-bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.1;
}

.be_pagehero-text,
.be_pagehero-media {
	position: relative;
	display: flex;
	flex: 1 1 0;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	padding: 10px;
}

.be_pagehero-text {
	margin-right: 30px;
}

.be_pagehero-media {
	margin-left: 30px;
}

.be_pagehero-eyebrow {
	margin: 0 0 20px;
	color: var(--be-navy);
	font: 400 28px/1 var(--be-font);
}

.be_pagehero-title {
	margin: 0 0 20px;
	color: var(--be-navy);
	font: 300 40px/1 var(--be-font);
}

.be_pagehero-subtitle {
	margin: 0;
	color: var(--be-navy);
	font: 300 25px/31px var(--be-font);
}

.be_pagehero-social {
	display: flex;
	gap: 10px;
	margin: 50px 0 30px;
}

.be_pagehero-social a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 29px;
	height: 29px;
	border-radius: 50%;
	background: var(--be-navy);
	color: var(--be-white);
	transition: background-color 0.3s;
}

.be_pagehero-social .be_icon {
	width: 12px;
	height: 12px;
}

.be_pagehero-social a:hover,
.be_pagehero-social a:focus {
	background: rgba(16, 45, 94, 0.6);
}

.be_pagehero-media img {
	display: block;
	width: 100%;
	height: auto;
}

.be_pagehero-video {
	border-radius: 3px;
	box-shadow: -12px 12px 57px 10px rgba(16, 45, 94, 0.17);
}

.be_pagehero-video .be_video-play {
	font-size: 115px;
}

@media (max-width: 1024px) {
	.be_pagehero {
		flex-wrap: wrap;
		padding: 60px 30px;
	}

	.be_pagehero-text,
	.be_pagehero-media {
		flex-basis: 100%;
		margin: 0;
	}

	.be_pagehero-text {
		margin-top: 40px;
	}
}

@media (max-width: 767px) {
	.be_pagehero {
		flex-direction: column-reverse;
		flex-wrap: nowrap;
		padding: 40px 10px;
	}

	.be_pagehero-text {
		margin-top: 0;
	}

	.be_pagehero-text,
	.be_pagehero-media {
		flex: 0 0 auto;
	}
}


/* 8. Header ---------------------------------------------------------------
   Sticky: navy top bar (hidden on phones) + white main bar. The header
   class is .be_site-header (the parent templates use .be_header elsewhere).
   -------------------------------------------------------------------------- */
.be_site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	box-shadow: 0 5px 30px 0 rgba(0, 0, 0, 0.1);
}

.be_topbar {
	padding: 0 12px;
	background: var(--be-navy);
}

.be_topbar-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	max-width: 1440px;
	min-height: 55px;
	margin: 0 auto;
	padding: 12px 0;
}

.be_topbar-contact {
	display: flex;
	flex-wrap: wrap;
	gap: 0 30px;
}

.be_topbar-contact a,
.be_topbar-item {
	display: flex;
	align-items: center;
	gap: 14px;
	color: var(--be-white);
	font: 300 16px/24px var(--be-font);
}

.be_topbar-contact .be_icon {
	width: 16px;
	height: 16px;
}

/* Phone handset mirrored (earpiece top-left), as Thanos asked on 2026-11-09 */
.be_topbar-contact .be_icon--phone {
	transform: scaleX(-1);
}

.be_topbar-tools {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 20px;
}

.be_search-toggle {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 31px;
	height: 31px;
	color: var(--be-white);
	transition: color 0.3s;
}

.be_search-toggle .be_icon {
	width: 16px;
	height: 16px;
}

.be_search-toggle:hover,
.be_search-toggle:focus {
	color: #d3b574;
}

.be_topbar-social {
	display: flex;
	gap: 15px;
}

.be_topbar-social a {
	display: flex;
	padding: 0 2px;
	color: var(--be-white);
}

.be_topbar-social .be_icon {
	width: 18px;
	height: 18px;
}

.be_topbar-social a:hover {
	color: #d80f0f;
}

.be_site-header-bar {
	position: relative;
	padding: 0 12px;
	background: var(--be-white);
}

.be_site-header-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	max-width: 1440px;
	margin: 0 auto;
	padding: 15px 0;
}

.be_site-header-logo {
	flex: 0 0 16.705%;
	max-width: 16.705%;
}

.be_site-header-logo a {
	display: block;
}

.be_site-header-logo-img {
	display: block;
	width: 276px;
	height: 48px;
	object-fit: contain;
	object-position: left center;
}

.be_site-header-logo-text {
	color: var(--be-navy);
	font: 600 22px/48px var(--be-font);
}

.be_menu {
	flex: 0 0 63.969%;
	max-width: 63.969%;
}

.be_nav-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 0 18px;
}

.be_nav-list > li {
	position: relative;
}

.be_nav-link {
	display: flex;
	align-items: center;
	padding: 13px 0;
	color: var(--be-menu);
	font: 400 16px/20px var(--be-font);
	white-space: nowrap;
	transition: color 0.3s;
}

.be_nav-list > .boldmenu > .be_nav-link,
.be_nav-list > .be_bold > .be_nav-link {
	font-weight: 700;
}

.be_nav-caret {
	display: flex;
	padding-left: 10px;
}

.be_nav-caret .be_icon {
	width: 16px;
	height: 16px;
}

.be_nav-toggle--icon {
	display: none;
}

.be_nav-link:hover,
.be_nav-link:focus,
.be_nav-list > li:hover > .be_nav-link,
.be_nav-list > .current-menu-item > .be_nav-link,
.be_nav-list > .current-menu-ancestor > .be_nav-link,
.be_nav-list > .current-page-ancestor > .be_nav-link {
	color: var(--be-red);
}

/* Dropdown: the box starts right under the item; its transparent padding-top
   is the visual gap, the list draws the visible panel. */
.be_dropdown {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 20;
	display: none;
	padding-top: 15px;
}

.be_dropdown-list {
	min-width: 156px;
	background: var(--be-white);
	box-shadow: 0 15px 20px 0 rgba(0, 0, 0, 0.1);
}

.be_dropdown-link {
	display: block;
	padding: 20px 10px;
	color: var(--be-menu);
	font: 400 16px/20px var(--be-font-alt);
	white-space: nowrap;
}

.be_dropdown-link:hover,
.be_dropdown-link:focus,
.be_dropdown-list .current-menu-item > .be_dropdown-link {
	color: var(--be-red);
}

@media (min-width: 1025px) {
	.be_nav-list > li:hover > .be_dropdown,
	.be_nav-list > li:focus-within > .be_dropdown,
	.be_nav-list > li.is-open > .be_dropdown {
		display: block;
		animation: be-fade 0.25s both;
	}
}

.be_site-header-cta {
	flex: none;
	margin-left: auto;
}

.be_site-header-cta .be_icon {
	width: 15px;
	height: 15px;
}

.be_menu-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	width: 33px;
	height: 33px;
	border-radius: 3px;
	background: var(--be-white);
	color: var(--be-menu);
	font-size: 22px;
}

.be_menu-toggle .be_icon {
	width: 22px;
	height: 22px;
}

.be_menu-toggle-close,
.be_menu-toggle[aria-expanded="true"] .be_menu-toggle-open {
	display: none;
}

.be_menu-toggle[aria-expanded="true"] .be_menu-toggle-close {
	display: block;
}

@media (max-width: 1024px) {
	.be_topbar {
		padding: 0 15px;
	}

	.be_topbar-inner {
		min-height: 78px;
	}

	.be_site-header-bar {
		padding: 0 15px;
	}

	.be_site-header-inner {
		padding: 20px 0;
	}

	.be_site-header-logo {
		flex: 0 1 50%;
		max-width: 50%;
	}

	.be_site-header-logo-img {
		width: auto;
		max-width: 100%;
		height: 27px;
	}

	.be_site-header-cta {
		display: none;
	}

	.be_menu-toggle {
		display: flex;
		margin-left: auto;
	}

	/* The menu becomes a panel under the bar */
	.be_menu {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		display: none;
		flex: none;
		max-width: none;
		max-height: calc(100vh - var(--be-header-h));
		overflow-y: auto;
		background: var(--be-white);
		box-shadow: 0 15px 20px 0 rgba(0, 0, 0, 0.1);
	}

	.be_menu.is-open {
		display: block;
	}

	.be_nav-list {
		display: block;
	}

	.be_nav-link {
		justify-content: space-between;
		width: 100%;
		padding: 20px 10px;
		font: 400 16px/20px var(--be-font-alt);
		text-align: left;
		white-space: normal;
	}

	.be_nav-list > .boldmenu > .be_nav-link,
	.be_nav-list > .be_bold > .be_nav-link {
		font-weight: 700;
	}

	.be_dropdown {
		position: static;
		padding-top: 0;
	}

	.be_nav-list > li.is-open > .be_dropdown {
		display: block;
	}

	.be_dropdown-list {
		box-shadow: none;
	}

	.be_dropdown-link {
		padding: 20px 10px 20px 26px;
		white-space: normal;
	}

	.be_nav-toggle[aria-expanded="true"] .be_nav-caret {
		transform: rotate(180deg);
	}
}

@media (max-width: 767px) {
	.be_topbar {
		display: none;
	}

	.be_site-header-inner {
		min-height: 65px;
		padding: 15px 0;
	}

	.be_site-header-logo-img {
		width: 162px;
		height: 35px;
	}

	.be_menu-toggle {
		width: 35px;
		height: 35px;
	}

	.be_nav-link,
	.be_dropdown-link {
		padding-block: 24px;
	}
}


/* 9. Footer --------------------------------------------------------------- */
.be_site-footer {
	background: var(--be-navy);
	color: var(--be-white);
}

.be_site-footer-inner {
	display: flex;
	gap: 10px;
	max-width: 1200px;
	margin: 0 auto;
	padding: 78px 0;
}

.be_site-footer-col {
	flex: 0 0 22%;
	max-width: 22%;
	padding: 10px;
}

.be_site-footer-col--contact {
	flex-basis: 33.833%;
	max-width: 33.833%;
}

.be_site-footer-title {
	margin: 0 0 30px;
	color: var(--be-white);
	font: 400 23px/1 var(--be-font);
}

.be_site-footer-text {
	color: var(--be-white);
	font: 400 16px/1.7em var(--be-font-alt);
}

.be_site-footer-text p {
	margin: 0 0 0.9rem;
}

.be_site-footer-text a,
.be_site-footer a {
	color: var(--be-white);
}

.be_site-footer-links li + li {
	margin-top: 11px;
}

.be_site-footer-links a {
	display: flex;
	align-items: center;
	gap: 9px;
	font: 400 16px/24px var(--be-font-alt);
}

.be_site-footer-links .be_icon {
	width: 9px;
	height: 14px;
}

.be_site-footer-links a:hover,
.be_site-footer-links a:focus {
	color: #ffab00;
}

.be_site-footer-posts li + li {
	margin-top: 8px;
}

.be_site-footer-post {
	display: flex;
	align-items: flex-start;
}

.be_site-footer-post-thumb {
	position: relative;
	flex: 0 0 21%;
	margin-right: 20px;
	aspect-ratio: 1 / 1.03;
	overflow: hidden;
	background: rgba(255, 255, 255, 0.11);
}

.be_site-footer-post-thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.be_site-footer-post-title {
	font: 500 13px/1.2 var(--be-font-sys);
}

.be_site-footer-social {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.be_site-footer-social a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 10%;
	background: rgba(255, 255, 255, 0.11);
	color: var(--be-white);
	transition: background-color 0.3s, color 0.3s;
}

.be_site-footer-social .be_icon {
	width: 18px;
	height: 18px;
}

.be_site-footer-social a:hover,
.be_site-footer-social a:focus {
	background: var(--be-white);
	color: var(--be-navy);
}

.be_site-footer-bottom {
	max-width: 1200px;
	margin: 0 auto;
	text-align: center;
}

.be_site-footer-bottom p {
	margin: 0 0 0.9rem;
	font: 400 16px/24px var(--be-font-sys);
}

.be_site-footer-bottom a:hover {
	color: var(--be-red);
}

@media (max-width: 1024px) {
	.be_site-footer-inner {
		flex-wrap: wrap;
		padding: 4em;
	}

	.be_site-footer-col {
		flex-basis: calc(40% - 10px);
		max-width: calc(40% - 10px);
	}

	.be_site-footer-col--contact {
		flex-basis: 60%;
		max-width: 60%;
	}

	.be_site-footer-bottom {
		padding: 0 4em 2em;
	}
}

@media (max-width: 767px) {
	.be_site-footer-inner {
		display: block;
		padding: 0;
	}

	.be_site-footer-col,
	.be_site-footer-col--contact {
		max-width: none;
		padding: 2em;
	}

	.be_site-footer-title,
	.be_site-footer-col--contact,
	.be_site-footer-col--social {
		text-align: center;
	}

	.be_site-footer-social {
		justify-content: center;
	}

	.be_site-footer-post-thumb {
		flex-basis: 15%;
		aspect-ratio: 1;
	}

	.be_site-footer-bottom {
		padding: 0 2em 1em;
	}
}


/* 10. FAQ + reviews ------------------------------------------------------- */

/* FAQ band: title (and optional image) left, accordion right */
.be_faq-section {
	display: flex;
	justify-content: space-between;
	margin-bottom: 80px;
	padding-block: 10px;
}

.be_faq-side {
	display: flex;
	flex: 0 0 40%;
	flex-direction: column;
	gap: 10px;
	max-width: 40%;
	padding: 10px;
}

.be_faq-title {
	margin: 0;
	color: var(--be-navy);
	font: 600 32px/1 var(--be-font);
}

.be_faq-image {
	display: block;
	width: 400px;
	max-width: 100%;
	height: auto;
}

.be_faq-main {
	flex: 0 0 60%;
	max-width: 60%;
}

.be_faq {
	border-top: 1px solid var(--be-faq-line);
}

.be_faq-item {
	border-bottom: 1px solid var(--be-faq-line);
}

.be_faq-q {
	display: flex;
	align-items: flex-start;
	padding: 28px 0;
	color: var(--be-navy);
	font: 500 16px/1.2 var(--be-font);
	list-style: none;
	cursor: pointer;
	transition: color 0.3s;
}

.be_faq-q::-webkit-details-marker {
	display: none;
}

.be_faq-icon {
	width: 16px;
	height: 16px;
	margin: 1px 5px 0 -5px;
	transition: transform 0.3s;
}

.be_faq-item[open] > .be_faq-q {
	color: var(--be-red);
}

.be_faq-item[open] > .be_faq-q .be_faq-icon {
	transform: rotate(180deg);
}

.be_faq-a {
	padding: 0 2% 5%;
	color: #6a6a6a;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.2;
}

/* Inter is named only on an open answer: browsers fetch a font as soon as a rule matches
   text, even inside a closed <details>, and most visitors never open one. */
.be_faq-item[open] > .be_faq-a {
	font-family: var(--be-font-inter);
}

.be_faq-a p {
	margin: 0 0 0.9rem;
}

.be_faq-a ul,
.be_faq-a ol {
	padding-left: 40px;
	list-style: disc;
}

.be_faq-a a {
	color: var(--be-navy);
}

@media (max-width: 1024px) {
	.be_faq-section {
		flex-direction: column;
		margin-block: 20%;
	}

	.be_faq-side {
		flex-basis: auto;
		max-width: 80%;
		padding: 0;
	}

	.be_faq-main {
		flex-basis: auto;
		max-width: none;
	}

	.be_faq-a {
		font-size: 15px;
	}
}

@media (max-width: 767px) {
	.be_faq-section {
		gap: 77px;
		margin-block: 36%;
		padding-inline: 8%;
	}

	.be_faq-side {
		max-width: none;
	}

	.be_faq-title {
		text-align: center;
	}

	.be_faq-q {
		padding: 28px 5px 28px 0;
	}

	.be_faq-a {
		padding: 0 0 10%;
		font-size: 14px;
		line-height: 1.4;
	}
}

/* Stars */
.be_stars {
	position: relative;
	display: inline-flex;
	color: #cccccc;
	font-size: 17px;
	line-height: 1;
	white-space: nowrap;
}

.be_stars-empty,
.be_stars-full {
	display: flex;
}

.be_stars-full {
	position: absolute;
	top: 0;
	left: 0;
	overflow: hidden;
	color: #f6bb06;
}

.be_stars .be_icon {
	width: 1em;
	height: 1em;
}

/* Reviews slider: summary left, cards right (the old Trustindex widget) */
.be_reviews {
	margin-block: 55px;
	padding-block: 10px;
}

.be_reviews-inner {
	display: flex;
	align-items: center;
}

.be_reviews-summary {
	flex: 0 0 285px;
	padding: 0 20px;
	color: #000000;
	font: 400 15px/1.45 var(--be-font);
	text-align: center;
}

.be_reviews-label {
	display: block;
	margin-bottom: 6px;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.4;
}

.be_reviews-summary .be_stars {
	font-size: 30px;
}

.be_reviews-based {
	display: block;
	margin: 4px 0 8px;
}

.be_reviews-google {
	display: block;
	width: 110px;
	height: auto;
	margin: 0 auto;
}

.be_reviews-slider {
	position: relative;
	flex: 1 1 auto;
	min-width: 0;
	padding: 5px 8px 1px;
}

.be_reviews-slider .be_carousel-track {
	gap: 0;
}

.be_review {
	flex: 0 0 calc(100% / 3);
	padding: 0 8px;
}

.be_review-inner {
	position: relative;
	height: 100%;
	padding: 20px;
	border-radius: 12px;
	background: #f4f4f4;
	color: #000000;
	font: 400 15px/1.45 var(--be-font);
}

.be_review-head {
	display: flex;
	align-items: center;
	gap: 15px;
	margin-bottom: 12px;
	padding-right: 25px;
}

.be_review-avatar {
	flex: none;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	object-fit: cover;
}

.be_review-avatar--initial {
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--be-navy);
	color: var(--be-white);
	font-weight: 500;
	font-size: 18px;
}

.be_review-name {
	display: block;
	overflow: hidden;
	font-weight: 600;
	line-height: 1.4;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.be_review-date {
	display: block;
	color: #6b6b6b;
	font-size: 13px;
	line-height: 1.4;
}

.be_review-source {
	position: absolute;
	top: 20px;
	right: 20px;
	width: 20px;
	height: 20px;
}

.be_review-rating {
	display: flex;
	align-items: center;
	gap: 7px;
	margin-bottom: 10px;
}

.be_review-rating .be_icon--verified {
	width: 15px;
	height: 15px;
}

.be_review-text {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	line-clamp: 4;
}

.be_review.is-expanded .be_review-text {
	display: block;
}

.be_review-more {
	margin-top: 8px;
	color: #000000;
	font-size: 14px;
	opacity: 0.5;
}

.be_review-more:hover {
	opacity: 1;
}

.be_reviews-slider .be_carousel-btn {
	top: 50%;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--be-white);
	color: #8a8a8a;
	font-size: 12px;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
}

.be_reviews-slider .be_carousel-btn--prev {
	left: -7px;
}

.be_reviews-slider .be_carousel-btn--next {
	right: -7px;
}

/* Live Trustindex widget (Theme Options «reviews → shortcode»): the plugin's own styles draw
   it; the box only reserves its height while the stylesheet and loader arrive. */
.be_reviews-widget {
	min-height: 230px;
}

/* On phones the widget stacks the rating above the cards (measured 439–482px). */
@media (max-width: 540px) {
	.be_reviews-widget {
		min-height: 439px;
	}
}

.be_reviews-widget pre.ti-widget {
	margin: 0;
	font: inherit;
	white-space: normal;
}

.be_reviews-button {
	margin-top: 50px;
	text-align: center;
}

@media (max-width: 1024px) {
	.be_review {
		flex-basis: 50%;
	}
}

@media (max-width: 767px) {
	.be_reviews-inner {
		display: block;
	}

	.be_reviews-summary {
		margin-bottom: 20px;
	}

	.be_review {
		flex-basis: 100%;
	}
}


/* 11. Carousel, video facade, lightbox ------------------------------------ */
.be_carousel {
	position: relative;
}

.be_carousel-track {
	display: flex;
	gap: 14px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

.be_carousel-track::-webkit-scrollbar {
	display: none;
}

.be_carousel-track > * {
	scroll-snap-align: start;
}

.be_carousel-btn {
	position: absolute;
	top: 50%;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	color: rgba(237, 237, 237, 0.9);
	font-size: 20px;
	transform: translateY(-50%);
}

.be_carousel-btn--prev {
	left: 10px;
}

.be_carousel-btn--next {
	right: 10px;
}

.be_carousel-btn[hidden] {
	display: none;
}

/* Video facade (click to load) */
.be_video {
	position: relative;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: #000000;
}

.be_video-btn {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
}

.be_video-poster {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.be_video-play {
	position: absolute;
	top: 50%;
	left: 50%;
	display: flex;
	color: var(--be-white);
	font-size: 100px;
	opacity: 0.8;
	filter: drop-shadow(1px 0 6px rgba(0, 0, 0, 0.3));
	transform: translate(-50%, -50%);
	transition: opacity 0.3s;
}

.be_video-btn:hover .be_video-play,
.be_video-btn:focus .be_video-play {
	opacity: 1;
}

.be_video iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* Interview videos carousel */
.be_videos {
	margin: 55px 0 80px;
	padding-block: 10px;
}

.be_videos .be_video {
	flex: 0 0 calc((100% - 28px) / 3);
	aspect-ratio: auto;
	height: 230px;
}

@media (max-width: 1024px) {
	.be_videos .be_carousel-track {
		gap: 10px;
	}

	.be_videos .be_video {
		flex-basis: calc((100% - 10px) / 2);
	}
}

@media (max-width: 767px) {
	.be_videos .be_video {
		flex-basis: 100%;
	}
}

/* Lightbox (videos, gallery images) */
.be_lightbox {
	position: fixed;
	inset: 0;
	z-index: 1000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 60px 20px;
	background: rgba(0, 0, 0, 0.8);
}

.be_lightbox[hidden] {
	display: none;
}

.be_lightbox-content {
	width: min(1100px, 100%);
	max-height: 100%;
}

.be_lightbox-content iframe {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	border: 0;
	background: #000000;
}

.be_lightbox-content img {
	display: block;
	max-width: 100%;
	max-height: calc(100vh - 120px);
	margin: 0 auto;
	object-fit: contain;
}

.be_lightbox-close,
.be_lightbox-nav {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	color: var(--be-white);
	font-size: 22px;
	opacity: 0.8;
}

.be_lightbox-close:hover,
.be_lightbox-nav:hover {
	opacity: 1;
}

.be_lightbox-close {
	top: 10px;
	right: 10px;
}

.be_lightbox-nav--prev {
	top: 50%;
	left: 5px;
	transform: translateY(-50%);
}

.be_lightbox-nav--next {
	top: 50%;
	right: 5px;
	transform: translateY(-50%);
}


/* 12. Maps ---------------------------------------------------------------- */
.be_map {
	position: relative;
	background: #e5e3df;
}

.be_map iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}


/* 13. Forms (Contact Form 7, plain template) ------------------------------ */
.be_form .wpcf7-form {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px 22px;
}

.be_form .wpcf7-form > *,
.be_form .wpcf7-form-control-wrap {
	min-width: 0;
}

.be_form .wpcf7-form > :not(.wpcf7-form-control-wrap),
.be_form .wpcf7-form-control-wrap:nth-of-type(n + 5) {
	grid-column: 1 / -1;
}

.be_form .wpcf7-form-control-wrap {
	position: relative;
	display: block;
}

.be_form input[type="text"],
.be_form input[type="email"],
.be_form input[type="tel"],
.be_form textarea {
	display: block;
	width: 100%;
	min-height: 47px;
	padding: 6px 16px;
	border: 1px solid var(--be-navy);
	border-radius: 0;
	background: transparent;
	color: #324a6d;
	font: 300 16px/24px var(--be-font-alt);
}

.be_form textarea {
	height: 110px;
	resize: vertical;
}

.be_form ::placeholder {
	color: #324a6d;
	opacity: 0.6;
}

.be_form .wpcf7-acceptance .wpcf7-list-item {
	margin: 0;
}

.be_form .wpcf7-acceptance label {
	display: flex;
	align-items: center;
	gap: 5px;
	color: var(--be-grey); /* the old #969696 failed the 4.5:1 contrast check */
	font: 300 16px/24px var(--be-font-alt);
	cursor: pointer;
}

.be_form .wpcf7-acceptance a {
	color: inherit;
	text-decoration: underline;
}

.be_form .wpcf7-acceptance input {
	width: 13px;
	height: 13px;
	margin: 0;
}

.be_form .be_btn--form {
	justify-self: start;
}

.be_form .wpcf7-spinner,
.be_form .hidden-fields-container,
.wpcf7 .screen-reader-response {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	border: 0;
	padding: 0;
}

.be_form .wpcf7-not-valid-tip {
	display: block;
	margin-top: 4px;
	color: var(--be-red);
	font: 400 13px/1.4 var(--be-font);
}

.be_form .wpcf7-response-output {
	display: none;
	padding: 12px 16px;
	border: 1px solid var(--be-navy);
	color: var(--be-navy);
	font: 400 15px/1.4 var(--be-font);
}

.be_form .wpcf7-form.sent .wpcf7-response-output,
.be_form .wpcf7-form.invalid .wpcf7-response-output,
.be_form .wpcf7-form.failed .wpcf7-response-output,
.be_form .wpcf7-form.spam .wpcf7-response-output,
.be_form .wpcf7-form.unaccepted .wpcf7-response-output {
	display: block;
}

.be_form .wpcf7-form.invalid .wpcf7-response-output,
.be_form .wpcf7-form.failed .wpcf7-response-output,
.be_form .wpcf7-form.spam .wpcf7-response-output {
	border-color: var(--be-red);
	color: var(--be-red);
}

@media (max-width: 767px) {
	.be_form .wpcf7-form {
		grid-template-columns: 1fr;
	}
}


/* 14. Floating contact button, search overlay ----------------------------- */
.be_float {
	position: fixed;
	right: 25px;
	bottom: 25px;
	z-index: 90;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 12px;
}

.be_float-trigger {
	display: flex;
	align-items: center;
	gap: 12px;
}

.be_float-label {
	position: relative;
	padding: 5px 10px;
	border-radius: 5px;
	background: var(--be-white);
	color: #000000;
	font: 400 16px/20px var(--be-font-sys);
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
}

.be_float-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 28px;
	background: var(--be-navy);
	color: var(--be-white);
	font-size: 28px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
	transition: background-color 0.3s;
}

.be_float-trigger:hover .be_float-icon,
.be_float-trigger[aria-expanded="true"] .be_float-icon {
	background: #1c5fc6;
}

.be_float-icon-close,
.be_float-trigger[aria-expanded="true"] .be_float-icon-open,
.be_float-trigger[aria-expanded="true"] .be_float-label {
	display: none;
}

.be_float-trigger[aria-expanded="true"] .be_float-icon-close {
	display: block;
	font-size: 22px;
}

.be_float-menu {
	display: flex;
	flex-direction: column;
	gap: 10px;
	animation: be-fade-up-small 0.25s both;
}

.be_float-menu[hidden] {
	display: none;
}

.be_float-channel {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 12px;
}

.be_float-channel-title {
	padding: 5px 10px;
	border-radius: 5px;
	background: var(--be-white);
	color: #000000;
	font: 400 16px/20px var(--be-font-sys);
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
}

.be_float-channel-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 28px;
	background: #00bb70;
	color: var(--be-white);
	font-size: 24px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
}

.be_float-channel--map .be_float-channel-icon {
	background: #e84a35;
}

.be_float-channel--email .be_float-channel-icon {
	background: var(--be-navy);
}

@media (max-width: 767px) {
	.be_float {
		right: 15px;
		bottom: 15px;
	}
}

.be_search-overlay {
	position: fixed;
	inset: 0;
	z-index: 1000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 15%;
	background: rgba(22, 22, 63, 0.9);
	animation: be-fade 0.3s both;
}

.be_search-overlay[hidden] {
	display: none;
}

.be_search-overlay-form {
	width: 100%;
}

.be_search-overlay-input {
	display: block;
	width: 100%;
	padding: 10px 0;
	border: 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.5);
	border-radius: 0;
	background: transparent;
	color: var(--be-white);
	font: 300 40px/1.5 var(--be-font-alt);
	text-align: center;
}

.be_search-overlay-input::placeholder {
	color: rgba(255, 255, 255, 0.7);
}

.be_search-overlay-input:focus {
	outline: 0;
}

.be_search-overlay-close {
	position: absolute;
	top: 20px;
	right: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	color: var(--be-white);
	font-size: 22px;
	opacity: 0.8;
}

.be_search-overlay-close:hover {
	opacity: 1;
}

@media (max-width: 767px) {
	.be_search-overlay {
		padding: 0 20px;
	}

	.be_search-overlay-input {
		font-size: 24px;
	}
}


/* 15. Entrance animations --------------------------------------------------
   The old site's Elementor «fadeIn» / «fadeInUp». Elements stay visible
   without JavaScript: the hidden state exists only under html.be_js, and
   main.js adds .is-in when an element enters the viewport.
   -------------------------------------------------------------------------- */
@keyframes be-fade {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@keyframes be-fade-up {
	from {
		opacity: 0;
		transform: translate3d(0, 40px, 0);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

@keyframes be-fade-up-small {
	from {
		opacity: 0;
		transform: translate3d(0, 10px, 0);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

@media (prefers-reduced-motion: no-preference) {
	.be_js .be_anim:not(.is-in) {
		opacity: 0;
	}

	.be_anim.is-in {
		animation: be-fade 1.25s both;
	}

	.be_anim--up.is-in {
		animation-name: be-fade-up;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	* {
		animation-duration: 0.01ms !important;
		transition-duration: 0.01ms !important;
	}
}
