/* ==========================================================================
   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}
.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 (tsarouhas-asi.gr)
   Global stylesheet, loaded on every page. Per-page styles live in
   assets/css/pages/{key}.css (see inc/enqueue.php).

   1. Fonts
   2. Tokens
   3. Base
   4. Layout (.be_row, .be_sec-head)
   5. Components (buttons, icons, badges, cards, forms, breadcrumb, slider)
   6. Header
   7. Footer + mobile CTA bar
   ========================================================================== */


/* 1. Fonts ----------------------------------------------------------------
   Inter Tight, variable (100–900), self-hosted, subset Latin + Greek.
   -------------------------------------------------------------------------- */
@font-face {
	font-family: "Literata";
	font-style: normal;
	font-weight: 400 600;
	font-display: swap;
	src: url("../fonts/literata-display-var.woff2") format("woff2");
}

@font-face {
	font-family: "Inter Tight";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("../fonts/inter-tight-var.woff2") format("woff2");
}


/* 2. Tokens ---------------------------------------------------------------
   Colours come from the logo (navy mark, teal wordmark); the rest is derived.
   -------------------------------------------------------------------------- */
:root {
	/* Colours */
	--be-navy: #1c3850;
	--be-navy-2: #12283b;
	--be-navy-3: #27496a;
	--be-teal: #3b8fa8;
	--be-teal-2: #2f7589;
	--be-teal-3: #d9ebf0;
	--be-teal-4: #eef6f8;
	--be-mist: #f4f7f9;
	--be-white: #ffffff;
	--be-text: #1e2b36;
	--be-muted: #5c6b78;
	--be-line: #dbe4ea;
	--be-gold: #e9a93a;
	--be-glow: rgba(59, 143, 168, 0.18);

	/* Typography */
	--be-font: "Inter Tight", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--be-font-display: "Literata", "Iowan Old Style", "Palatino Linotype", Georgia, serif;
	--be-h1: 500 64px/1.04 var(--be-font-display);
	--be-h2: 500 44px/1.1 var(--be-font-display);
	--be-h3: 500 24px/1.3 var(--be-font-display);
	--be-lead: 400 20px/1.55 var(--be-font);
	--be-body: 400 17px/1.6 var(--be-font);
	--be-small: 400 15px/1.5 var(--be-font);
	--be-menu: 500 14.5px/1 var(--be-font);

	/* Layout: every section gets .be_row; header/footer set their own padding. */
	--be-pad-x: 100px;
	--be-pad-y: 96px;
	--be-radius: 6px;
	--be-radius-sm: 4px;
	--be-header-h: 84px;
	--be-shadow: 0 10px 30px rgba(18, 40, 59, 0.08);
	--be-shadow-lg: 0 24px 60px rgba(18, 40, 59, 0.14);
}

@media (max-width: 1440px) {
	:root {
		--be-pad-x: 72px;
		--be-h1: 500 54px/1.05 var(--be-font-display);
		--be-h2: 500 38px/1.1 var(--be-font-display);
	}
}

@media (max-width: 1100px) {
	:root {
		--be-pad-x: 48px;
		--be-pad-y: 80px;
		--be-h1: 500 44px/1.08 var(--be-font-display);
		--be-h2: 500 34px/1.12 var(--be-font-display);
	}
}

@media (max-width: 700px) {
	:root {
		--be-pad-x: 20px;
		--be-pad-y: 56px;
		--be-h1: 500 36px/1.1 var(--be-font-display);
		--be-h2: 500 29px/1.15 var(--be-font-display);
		--be-h3: 500 21px/1.3 var(--be-font-display);
		--be-lead: 400 17px/1.55 var(--be-font);
		--be-body: 400 16px/1.6 var(--be-font);
		--be-header-h: 68px;
	}
}


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

body {
	font: var(--be-body);
	color: var(--be-text);
	background: var(--be-white);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: clip;
}

h1, h2, h3, h4, h5, h6 {
	margin: 0;
	color: var(--be-navy);
	letter-spacing: -0.005em;
	text-wrap: balance;
	font-feature-settings: "kern", "liga";
}

h1 { font: var(--be-h1); letter-spacing: -0.012em; }
h2 { font: var(--be-h2); letter-spacing: -0.01em; }
h3 { font: var(--be-h3); }

p { margin: 0; }
p + p { margin-top: 1em; }

img, svg, video, iframe { max-width: 100%; }
img { height: auto; display: block; }

a { color: inherit; }

button, input, select, textarea { font: inherit; color: inherit; }

strong, b { font-weight: 600; }

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

[hidden] { display: none !important; }

::selection { background: var(--be-teal-3); color: var(--be-navy); }


/* 4. Layout ----------------------------------------------------------------
   No max-width containers: every page section is a full-width block with
   .be_row padding.
   -------------------------------------------------------------------------- */
.be_row {
	padding: var(--be-pad-y) var(--be-pad-x);
}

.be_row--mist { background: var(--be-mist); }
.be_row--navy { background: var(--be-navy); color: var(--be-white); }
.be_row--navy h2, .be_row--navy h3 { color: var(--be-white); }

/* Section head: eyebrow + title (+ lead text on the right on desktop) */
.be_sec-head {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
	gap: 24px 64px;
	align-items: end;
	margin-bottom: 48px;
}

.be_sec-head--center {
	grid-template-columns: 1fr;
	justify-items: center;
	text-align: center;
	max-width: 820px;
	margin-left: auto;
	margin-right: auto;
}

.be_sec-head--stack { grid-template-columns: 1fr; }

.be_sec-lead {
	font: var(--be-lead);
	color: var(--be-muted);
	text-wrap: pretty;
	max-width: 560px;
}

.be_eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 18px;
	font: 500 12.5px/1 var(--be-font);
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--be-teal-2);
}

.be_eyebrow::before {
	content: "";
	width: 36px;
	height: 1px;
	background: currentColor;
	opacity: 0.7;
}

.be_row--navy .be_eyebrow { color: #8fd0e2; }

.be_highlight { color: var(--be-teal); }
.be_row--navy .be_highlight { color: #8fd0e2; }

@media (max-width: 1100px) {
	.be_sec-head { grid-template-columns: 1fr; gap: 16px; margin-bottom: 36px; }
}


/* 5. Components ---------------------------------------------------------- */

/* Icons: inline SVG (bethree_child_icon()), sized by the parent */
.be_icon {
	display: inline-flex;
	flex: 0 0 auto;
	width: 1.25em;
	height: 1.25em;
	vertical-align: middle;
}

.be_icon svg { width: 100%; height: 100%; display: block; }

/* Buttons */
.be_btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	padding: 17px 28px;
	border: 1px solid transparent;
	border-radius: var(--be-radius-sm);
	font: 600 13.5px/1.15 var(--be-font);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.be_btn .be_icon { width: 18px; height: 18px; }

.be_btn--primary {
	background: var(--be-navy);
	color: var(--be-white);
}
.be_btn--primary:hover, .be_btn--primary:focus-visible { background: var(--be-teal-2); color: var(--be-white); }

.be_btn--navy {
	background: var(--be-navy);
	color: var(--be-white);
}
.be_btn--navy:hover, .be_btn--navy:focus-visible { background: var(--be-teal-2); color: var(--be-white); }

.be_btn--outline {
	background: transparent;
	border-color: rgba(28, 56, 80, 0.35);
	color: var(--be-navy);
}
.be_btn--outline:hover, .be_btn--outline:focus-visible { border-color: var(--be-navy); background: var(--be-navy); color: var(--be-white); }

.be_btn--light {
	background: var(--be-white);
	color: var(--be-navy);
}
.be_btn--light:hover, .be_btn--light:focus-visible { background: var(--be-teal-3); color: var(--be-navy); }

.be_btn--ghost {
	background: transparent;
	border-color: rgba(255, 255, 255, 0.4);
	color: var(--be-white);
}
.be_btn--ghost:hover, .be_btn--ghost:focus-visible { border-color: var(--be-white); background: rgba(255, 255, 255, 0.08); color: var(--be-white); }

.be_btn--link {
	padding: 0 0 4px;
	border: 0;
	border-bottom: 1px solid currentColor;
	border-radius: 0;
	color: var(--be-teal-2);
	gap: 8px;
}
.be_btn--link:hover, .be_btn--link:focus-visible { color: var(--be-navy); }
.be_btn--link:hover .be_icon { transform: translateX(3px); }
.be_btn--link .be_icon { transition: transform 0.2s ease; width: 16px; height: 16px; }

.be_btn:disabled, .be_btn[aria-disabled="true"] {
	opacity: 0.45;
	cursor: not-allowed;
	pointer-events: none;
}

.be_btn-row {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	align-items: center;
}

@media (max-width: 700px) {
	.be_btn { padding: 16px 22px; font-size: 13px; }
	.be_btn-row > .be_btn { flex: 1 1 auto; }
}

/* The parent reset sets a[href^="tel"] { color: inherit } (0,1,1), which beats single-class
   colours: phone links restate their colour with a higher specificity. */
.be_btn--outline[href^="tel"] { color: var(--be-navy); }
.be_btn--outline[href^="tel"]:hover, .be_btn--outline[href^="tel"]:focus-visible { color: var(--be-white); }
.be_btn--light[href^="tel"] { color: var(--be-navy); }
.be_btn--primary[href^="tel"], .be_btn--navy[href^="tel"], .be_btn--ghost[href^="tel"] { color: var(--be-white); }
.be_header-phone[href^="tel"], .be_mobile-cta-btn--call[href^="tel"], .be_contact-phone[href^="tel"] { color: var(--be-white); }
.be_faq-call-phone[href^="tel"] { color: var(--be-navy); }
.be_footer-contact a[href^="tel"], .be_footer-location a[href^="tel"] { color: inherit; }

/* Badge (pill with dot) */
.be_badge {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font: 500 12.5px/1.4 var(--be-font);
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--be-teal-2);
}

.be_badge::before {
	content: "";
	flex: 0 0 36px;
	width: 36px;
	height: 1px;
	background: currentColor;
	opacity: 0.7;
}

/* Check list */
.be_checks {
	list-style: none;
	display: grid;
	gap: 12px;
}

.be_checks li {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	font: var(--be-body);
}

.be_checks .be_icon {
	width: 20px;
	height: 20px;
	flex: 0 0 20px;
	margin-top: 4px;
	color: var(--be-teal);
}

.be_row--navy .be_checks .be_icon { color: #8fd0e2; }

/* Post card */
.be_card {
	position: relative;
	display: flex;
	flex-direction: column;
	background: transparent;
	border-top: 1px solid var(--be-line);
	padding-top: 22px;
}

.be_card:hover .be_card-title { color: var(--be-teal-2); }

.be_card-link { display: flex; flex-direction: column; height: 100%; color: inherit; text-decoration: none; }

.be_card-media { aspect-ratio: 3 / 2; background: var(--be-teal-4) url("../img/icon-hip.svg") center / 64px no-repeat; border-radius: var(--be-radius); overflow: hidden; }
.be_card-media:has(img) { background-image: none; }
.be_card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; }
.be_card:hover .be_card-media img { transform: scale(1.04); }

.be_card-body { display: flex; flex-direction: column; gap: 10px; padding: 20px 0 8px; }
.be_card-date { font: 500 12px/1 var(--be-font); letter-spacing: 0.14em; text-transform: uppercase; color: var(--be-teal-2); }
.be_card-title { font: 500 22px/1.3 var(--be-font-display); color: var(--be-navy); transition: color 0.2s ease; }
.be_card-excerpt { font: var(--be-small); color: var(--be-muted); }
.be_card-more { margin-top: auto; padding-top: 6px; display: inline-flex; align-items: center; gap: 8px; font: 600 12.5px/1 var(--be-font); letter-spacing: 0.08em; text-transform: uppercase; color: var(--be-teal-2); }
.be_card-more .be_icon { width: 18px; height: 18px; }

.be_cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
}

@media (max-width: 1100px) { .be_cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; } }
@media (max-width: 700px) { .be_cards { grid-template-columns: 1fr; } }

/* Breadcrumb (inner pages) */
.be_breadcrumb { margin-bottom: 24px; font: var(--be-small); color: var(--be-muted); }
.be_breadcrumb-list { list-style: none; display: flex; flex-wrap: wrap; gap: 6px 10px; }
.be_breadcrumb-list li + li::before { content: "›"; margin-right: 10px; opacity: 0.6; }
.be_breadcrumb a { color: inherit; text-decoration: none; }
.be_breadcrumb a:hover { color: var(--be-teal); }
.be_breadcrumb [aria-current] { color: var(--be-navy); font-weight: 600; }

/* Forms (Contact Form 7; markup post-processed in inc/forms.php).
   The form renders as a flat list of controls laid out on a 2-column grid:
   text/tel/email/select side by side, textarea + acceptance + submit full width. */
.be_form .wpcf7-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.be_form .wpcf7-form-control-wrap { display: block; }
.be_form .wpcf7-form > input[type="hidden"],
.be_form .wpcf7-form-control-wrap:has(> input[type="hidden"]),
.be_form .wpcf7-form .wpcf7-hidden,
.be_form .wpcf7-form .hidden-fields-container { display: none; }
.be_form .wpcf7-form > p { display: contents; }
.be_form .wpcf7-form br { display: none; }

.be_form .wpcf7-form-control-wrap[data-name="your-message"],
.be_form .wpcf7-form-control-wrap[data-name="your-time"],
.be_form .wpcf7-form-control-wrap[data-name="acceptance"],
.be_form .wpcf7-form-control-wrap[data-name="terms"],
.be_form .wpcf7-form-control-wrap:has(textarea),
.be_form .wpcf7-form-control-wrap:has(.wpcf7-acceptance),
.be_form .wpcf7-form > button,
.be_form .wpcf7-response-output,
.be_form .wpcf7-spinner {
	grid-column: 1 / -1;
}

.be_form input:not([type="checkbox"]):not([type="radio"]),
.be_form select,
.be_form textarea {
	width: 100%;
	padding: 15px 16px;
	border: 1px solid var(--be-line);
	border-radius: var(--be-radius-sm);
	background: var(--be-white);
	color: var(--be-text);
	font: var(--be-body);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.be_form select {
	appearance: none;
	-webkit-appearance: none;
	padding-right: 44px;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235c6b78' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 16px center;
	background-size: 18px;
	color: var(--be-text);
}

.be_form textarea { min-height: 130px; resize: vertical; }

.be_form input::placeholder, .be_form textarea::placeholder { color: #8a97a3; }

.be_form input:focus, .be_form select:focus, .be_form textarea:focus {
	outline: none;
	border-color: var(--be-teal);
	box-shadow: 0 0 0 3px rgba(59, 143, 168, 0.12);
}

.be_form .wpcf7-not-valid { border-color: #d64545 !important; }
.be_form .wpcf7-not-valid-tip { display: block; margin: 6px 4px 0; font: 500 13px/1.3 var(--be-font); color: #d64545; }

.be_form .wpcf7-acceptance .wpcf7-list-item { margin: 0; }
.be_form .wpcf7-acceptance label {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	font: var(--be-small);
	color: var(--be-muted);
	cursor: pointer;
}
.be_form .wpcf7-acceptance input[type="checkbox"] {
	flex: 0 0 20px;
	width: 20px;
	height: 20px;
	margin-top: 2px;
	accent-color: var(--be-teal);
}
.be_form .wpcf7-acceptance a { color: var(--be-teal); }

.be_form .wpcf7-form > button { justify-self: start; }
.be_form .wpcf7-spinner { display: none; }
.be_form .wpcf7-form.submitting .wpcf7-spinner { display: block; margin: 0; }

.be_form .wpcf7-response-output { display: none; }
.be_form .wpcf7-form.sent .wpcf7-response-output,
.be_form .wpcf7-form.invalid .wpcf7-response-output,
.be_form .wpcf7-form.unaccepted .wpcf7-response-output,
.be_form .wpcf7-form.failed .wpcf7-response-output,
.be_form .wpcf7-form.aborted .wpcf7-response-output,
.be_form .wpcf7-form.spam .wpcf7-response-output { display: block; }
.be_form .wpcf7-response-output {
	margin: 4px 0 0 !important;
	padding: 14px 18px !important;
	border: 1px solid var(--be-line) !important;
	border-radius: var(--be-radius-sm);
	font: var(--be-small);
}
.be_form .wpcf7-form.sent .wpcf7-response-output { border-color: #3f9d6b !important; background: #edf8f1; color: #1f5f3d; }
.be_form .wpcf7-form.invalid .wpcf7-response-output,
.be_form .wpcf7-form.failed .wpcf7-response-output,
.be_form .wpcf7-form.aborted .wpcf7-response-output { border-color: #d64545 !important; background: #fdf0f0; color: #8a2a2a; }

@media (max-width: 700px) {
	.be_form .wpcf7-form { grid-template-columns: 1fr; }
	.be_form .wpcf7-form > button { justify-self: stretch; }
}

/* Slider: a row of items on desktop, one per swipe on mobile ([data-slider]) */
.be_slider { position: relative; }
.be_slider-track { display: flex; gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.be_slider-track::-webkit-scrollbar { display: none; }
.be_slider-track > * { scroll-snap-align: start; flex: 0 0 auto; }
.be_slider-nav { display: flex; gap: 10px; margin-top: 20px; }
.be_slider-btn {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 1.5px solid var(--be-line);
	background: var(--be-white);
	color: var(--be-navy);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.be_slider-btn:disabled { opacity: 0.35; cursor: default; }
.be_slider-btn .be_icon { width: 20px; height: 20px; }
.be_slider-btn--prev .be_icon { transform: rotate(180deg); }

/* Reviews section (Trustindex widget, lazy) */
.be_reviews-widget { min-height: 280px; }
.be_reviews-foot { display: flex; justify-content: center; margin-top: 40px; }
.be_reviews .be_sec-head--center { margin-bottom: 40px; }
.be_reviews-widget .ti-widget { margin: 0 !important; }
.be_rating {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 10px 16px 10px 12px;
	border-radius: var(--be-radius-sm);
	background: var(--be-white);
	border: 1px solid var(--be-line);
	font: 600 15px/1 var(--be-font);
	color: var(--be-navy);
	text-decoration: none;
}
.be_rating .be_icon--google { width: 22px; height: 22px; }
.be_rating-stars { position: relative; display: inline-flex; gap: 2px; color: var(--be-line); }
.be_rating-stars-fill { position: absolute; inset: 0; display: inline-flex; gap: 2px; overflow: hidden; color: var(--be-gold); width: var(--be-rating, 100%); white-space: nowrap; }
.be_rating-stars .be_icon { width: 16px; height: 16px; }
.be_rating-count { font-weight: 500; color: var(--be-muted); }


/* Section head right-aligned link (e.g. «Δείτε όλες») */
.be_blog-head-btn { justify-self: end; align-self: end; }
@media (max-width: 1100px) { .be_blog-head-btn { justify-self: start; } }

/* Inline CTA (template-parts/cta-inline.php): dark band with icon, text, button, phone */
.be_cta {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: 18px 28px;
	align-items: center;
	margin: 2.4em 0;
	padding: 30px 32px;
	border-radius: var(--be-radius);
	background: var(--be-navy-2);
	color: var(--be-white);
	background-image: radial-gradient(520px 260px at 100% 0%, rgba(59, 143, 168, 0.38), transparent 65%);
}
.be_cta--video { background-color: var(--be-navy); background-image: radial-gradient(520px 260px at 0% 100%, rgba(59, 143, 168, 0.38), transparent 65%); }
.be_cta--second, .be_cta--asi { background: var(--be-teal-4); background-image: none; color: var(--be-navy); border: 1px solid var(--be-teal-3); }
.be_cta-icon { display: inline-flex; width: 56px; height: 56px; align-items: center; justify-content: center; border: 1px solid rgba(255, 255, 255, 0.25); border-radius: 50%; color: #8fd0e2; }
.be_cta--second .be_cta-icon, .be_cta--asi .be_cta-icon { border-color: var(--be-teal-3); color: var(--be-teal-2); background: var(--be-white); }
.be_cta-icon .be_icon { width: 26px; height: 26px; }
.be_cta-title { font: 500 23px/1.25 var(--be-font-display); }
.be_cta-text { margin-top: 6px !important; font: 400 15px/1.5 var(--be-font); color: rgba(255, 255, 255, 0.75); }
.be_cta--second .be_cta-text, .be_cta--asi .be_cta-text { color: var(--be-muted); }
.be_cta-actions { display: flex; flex-direction: column; align-items: stretch; gap: 10px; min-width: 240px; }
.be_cta .be_btn--primary { background: var(--be-white); color: var(--be-navy); justify-content: center; }
.be_cta .be_btn--primary:hover { background: var(--be-teal); color: var(--be-white); }
.be_cta--second .be_btn--primary, .be_cta--asi .be_btn--primary { background: var(--be-navy); color: var(--be-white); }
.be_cta--second .be_btn--primary:hover, .be_cta--asi .be_btn--primary:hover { background: var(--be-teal-2); }
.be_cta-phone {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 13px 20px;
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: var(--be-radius-sm);
	font: 600 14px/1 var(--be-font);
	letter-spacing: 0.04em;
	color: var(--be-white);
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}
.be_cta-phone .be_icon { width: 16px; height: 16px; color: #8fd0e2; }
.be_cta-phone:hover { background: rgba(255, 255, 255, 0.1); border-color: var(--be-white); }
.be_cta-phone[href^="tel"] { color: var(--be-white); }
@media (max-width: 1100px) {
	.be_cta { grid-template-columns: auto minmax(0, 1fr); }
	.be_cta-actions { grid-column: 1 / -1; flex-direction: row; align-items: center; min-width: 0; }
	.be_cta-actions > * { flex: 1 1 0; }
}
@media (max-width: 700px) {
	.be_cta { padding: 22px 20px; gap: 14px 16px; }
	.be_cta-icon { width: 46px; height: 46px; }
	.be_cta-title { font-size: 20px; }
	.be_cta-actions { flex-direction: column; align-items: stretch; }
}

/* Image lightbox (<dialog>#be-image-modal in footer.php; [data-lightbox] links in main.js) */
.be_lightbox {
	width: min(1200px, calc(100vw - 40px));
	max-width: none;
	max-height: calc(100vh - 40px);
	padding: 0;
	border: 0;
	border-radius: var(--be-radius);
	background: transparent;
	color: var(--be-white);
	overflow: visible;
	opacity: 0;
	transform: scale(0.98);
	transition: opacity 0.3s ease, transform 0.3s ease, overlay 0.3s ease allow-discrete, display 0.3s ease allow-discrete;
}
.be_lightbox[open] { opacity: 1; transform: none; }
@starting-style { .be_lightbox[open] { opacity: 0; transform: scale(0.98); } }
.be_lightbox::backdrop { background: rgba(10, 22, 34, 0.86); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.be_lightbox-figure { position: relative; margin: 0; display: grid; justify-items: center; }
.be_lightbox-img { display: block; max-width: 100%; max-height: calc(100vh - 140px); width: auto; height: auto; border-radius: var(--be-radius); box-shadow: 0 40px 100px rgba(0, 0, 0, 0.5); }
.be_lightbox-caption { margin-top: 14px; font: 400 15px/1.4 var(--be-font-display); color: rgba(255, 255, 255, 0.85); text-align: center; min-height: 20px; }
.be_lightbox-count { position: absolute; top: -34px; left: 0; font: 500 12px/1 var(--be-font); letter-spacing: 0.14em; color: rgba(255, 255, 255, 0.7); }
.be_lightbox-btn {
	position: absolute;
	top: 50%;
	width: 52px;
	height: 52px;
	border: 1px solid rgba(255, 255, 255, 0.4);
	border-radius: 50%;
	background: rgba(18, 40, 59, 0.6);
	color: var(--be-white);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transform: translateY(-50%);
	transition: background-color 0.2s ease, border-color 0.2s ease;
}
.be_lightbox-btn:hover { background: var(--be-teal); border-color: var(--be-teal); }
.be_lightbox-btn .be_icon { width: 22px; height: 22px; }
.be_lightbox-btn--prev { left: -72px; }
.be_lightbox-btn--prev .be_icon { transform: rotate(180deg); }
.be_lightbox-btn--next { right: -72px; }
.be_lightbox-btn:disabled { opacity: 0.3; cursor: default; }
.be_lightbox-close { position: absolute; top: -52px; right: 0; width: 44px; height: 44px; border: 0; border-radius: 50%; background: var(--be-white); color: var(--be-navy); cursor: pointer; }
.be_lightbox-close::before, .be_lightbox-close::after { content: ""; position: absolute; left: 50%; top: 50%; width: 18px; height: 2px; background: currentColor; transform: translate(-50%, -50%) rotate(45deg); }
.be_lightbox-close::after { transform: translate(-50%, -50%) rotate(-45deg); }
.be_lightbox-close:hover { background: var(--be-teal); color: var(--be-white); }
.be_gallery-link { display: block; cursor: zoom-in; }
@media (max-width: 1320px) {
	.be_lightbox { width: calc(100vw - 160px); }
}
@media (max-width: 700px) {
	.be_lightbox { width: calc(100vw - 24px); }
	.be_lightbox-img { max-height: calc(100vh - 200px); }
	.be_lightbox-btn { top: auto; bottom: -70px; transform: none; width: 48px; height: 48px; }
	.be_lightbox-btn--prev { left: 0; }
	.be_lightbox-btn--next { right: 0; }
	.be_lightbox-close { top: -52px; }
	.be_lightbox-count { top: auto; bottom: -56px; left: 50%; transform: translateX(-50%); }
}

/* Video modal (<dialog>, footer.php; opened by [data-video-open] links in main.js) */
.be_modal {
	width: min(1100px, calc(100vw - 40px));
	max-width: none;
	padding: 0;
	border: 0;
	border-radius: var(--be-radius);
	background: var(--be-navy-2);
	color: var(--be-white);
	box-shadow: 0 40px 100px rgba(0, 0, 0, 0.5);
	overflow: visible; /* the close button sits outside the box */
	opacity: 0;
	transform: translateY(16px) scale(0.98);
	transition: opacity 0.3s ease, transform 0.3s ease, overlay 0.3s ease allow-discrete, display 0.3s ease allow-discrete;
}
.be_modal[open] { opacity: 1; transform: none; }
@starting-style { .be_modal[open] { opacity: 0; transform: translateY(16px) scale(0.98); } }
.be_modal::backdrop { background: rgba(10, 22, 34, 0.78); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.be_modal-box { position: relative; padding: 0; }
.be_modal-frame { aspect-ratio: 16 / 9; background: #000; border-radius: var(--be-radius) var(--be-radius) 0 0; overflow: hidden; }
.be_modal-frame iframe { display: block; width: 100%; height: 100%; border: 0; }
.be_modal-title { padding: 16px 64px 18px 22px; font: 400 16px/1.4 var(--be-font-display); color: rgba(255, 255, 255, 0.85); min-height: 20px; }
.be_modal-title:empty { display: none; }
.be_modal-close {
	position: absolute;
	top: -18px;
	right: -18px;
	z-index: 2;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 50%;
	background: var(--be-white);
	color: var(--be-navy);
	cursor: pointer;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
	transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
.be_modal-close::before, .be_modal-close::after { content: ""; position: absolute; left: 50%; top: 50%; width: 18px; height: 2px; background: currentColor; transform: translate(-50%, -50%) rotate(45deg); }
.be_modal-close::after { transform: translate(-50%, -50%) rotate(-45deg); }
.be_modal-close:hover { background: var(--be-teal); color: var(--be-white); transform: rotate(90deg); }
body.be_modal-open { overflow: hidden; }
@media (max-width: 700px) {
	.be_modal { width: calc(100vw - 24px); }
	.be_modal-close { top: -52px; right: 0; width: 40px; height: 40px; }
	.be_modal-title { padding: 12px 16px 14px; font-size: 14.5px; }
}


/* 6. Header --------------------------------------------------------------- */
.be_site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: var(--be-white);
	/* no backdrop-filter here: it would become the containing block of the fixed mobile menu panel */
	border-bottom: 1px solid transparent;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.be_site-header.is-scrolled { border-color: var(--be-line); box-shadow: 0 8px 24px rgba(18, 40, 59, 0.06); }

.be_site-header-bar {
	display: flex;
	align-items: center;
	gap: 24px;
	min-height: var(--be-header-h);
	padding: 0 var(--be-pad-x);
}

.be_site-header-logo { flex: 0 0 auto; display: flex; align-items: center; }
.be_site-header-logo a { display: block; }
.be_site-header-logo-img { width: auto; height: 46px; }
.be_site-header-logo-text { font: 700 20px/1 var(--be-font); color: var(--be-navy); text-decoration: none; }

/* Menu: list centred in the free space, actions hug the right edge */
.be_menu { flex: 1 1 auto; display: flex; align-items: center; justify-content: flex-end; gap: 28px; }
.be_nav-list { list-style: none; display: flex; align-items: center; gap: 4px; margin-right: auto; margin-left: auto; }
.be_nav-list > li { position: relative; }
.be_nav-list > li > a {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 14px 13px;
	font: var(--be-menu);
	letter-spacing: 0.01em;
	color: var(--be-navy);
	text-decoration: none;
	white-space: nowrap;
	transition: color 0.2s ease;
}
.be_nav-list > li > a::before {
	content: "";
	position: absolute;
	left: 13px;
	right: 13px;
	bottom: 6px;
	height: 1px;
	background: var(--be-teal);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.25s ease;
}
.be_nav-list > li > a:hover,
.be_nav-list > li:hover > a,
.be_nav-list > li:focus-within > a,
.be_nav-list > li.is-open > a,
.be_nav-list > .current-menu-item > a,
.be_nav-list > .current-menu-ancestor > a { color: var(--be-teal-2); }
.be_nav-list > li:hover > a::before,
.be_nav-list > li:focus-within > a::before,
.be_nav-list > li.is-open > a::before,
.be_nav-list > .current-menu-item > a::before,
.be_nav-list > .current-menu-ancestor > a::before { transform: scaleX(1); }

/* Items with a sub-menu get a chevron */
.be_nav-list > .menu-item-has-children > a::after {
	content: "";
	width: 14px;
	height: 14px;
	background: currentColor;
	-webkit-mask: url("../img/icon-chevron.svg") center / contain no-repeat;
	mask: url("../img/icon-chevron.svg") center / contain no-repeat;
	transition: transform 0.2s ease;
}
.be_nav-list > .menu-item-has-children:hover > a::after,
.be_nav-list > .menu-item-has-children.is-open > a::after { transform: rotate(180deg); }

.be_menu-actions { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; }
.be_menu-phone { padding: 13px 18px; font-size: 13px; letter-spacing: 0.04em; }
.be_menu-cta { padding: 14px 20px; font-size: 12.5px; }

/* Dropdown (first-level sub-menus; markup from BeThree_Child_Walker_Nav_Menu):
   the box starts right under the item, its transparent padding-top is the gap. */
.be_dropdown {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 20;
	min-width: 260px;
	padding-top: 10px;
	list-style: none;
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
}
.be_nav-list > li:hover > .be_dropdown,
.be_nav-list > li:focus-within > .be_dropdown,
.be_nav-list > li.is-open > .be_dropdown { opacity: 1; visibility: visible; transform: translateY(0); }

.be_dropdown-inner {
	display: block;
	padding: 10px;
	background: var(--be-white);
	border: 1px solid var(--be-line);
	border-radius: var(--be-radius);
	box-shadow: var(--be-shadow-lg);
}
.be_dropdown-list { list-style: none; display: grid; gap: 2px; }
.be_dropdown-list a {
	display: block;
	padding: 10px 14px;
	border-radius: var(--be-radius-sm);
	font: 500 15px/1.3 var(--be-font);
	color: var(--be-text);
	text-decoration: none;
	white-space: nowrap;
}
.be_dropdown-list a:hover, .be_dropdown-list .current-menu-item > a { background: var(--be-teal-4); color: var(--be-teal-2); }

/* Mega menus (items with class be_mega_menu): span the whole header bar,
   children with class be_headtitle_menu are column titles, grandchildren the links. */
.be_nav-list > .be_mega_menu { position: static; }
.be_dropdown--mega { left: var(--be-pad-x); right: var(--be-pad-x); min-width: 0; }
.be_dropdown--mega .be_dropdown-inner { padding: 28px 32px; }
.be_dropdown--mega .be_dropdown-list { display: flex; gap: 32px; }
.be_dropdown--mega .be_dropdown-list > li { flex: 1 1 0; min-width: 0; }
.be_dropdown--mega .be_dropdown-list > li > a {
	padding: 0 0 10px;
	margin-bottom: 8px;
	border-bottom: 1px solid var(--be-line);
	border-radius: 0;
	font: 500 18px/1.3 var(--be-font-display);
	color: var(--be-navy);
	pointer-events: none;
}
.be_dropdown--mega .be_dropdown-list > li > a[href]:not([href="#"]) { pointer-events: auto; }
.be_dropdown--mega .be_dropdown-list > li > a:hover { background: none; color: var(--be-teal-2); }
.be_dropdown--mega .sub-menu { list-style: none; display: grid; gap: 2px; }
.be_dropdown--mega .sub-menu a { padding: 8px 10px; font-size: 14.5px; white-space: normal; }
.be_dropdown--mega .sub-menu a:hover { background: var(--be-teal-4); }

/* The sub-menu toggle button is only used by the mobile menu */
.be_submenu-toggle { display: none; }

/* Header tools: phone icon + hamburger (mobile only) */
.be_site-header-tools { display: none; align-items: center; gap: 6px; margin-left: auto; }
.be_header-phone {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: var(--be-radius-sm);
	background: var(--be-navy);
	color: var(--be-white);
}
.be_header-phone .be_icon { width: 20px; height: 20px; }
.be_menu-toggle {
	position: relative;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
}
.be_menu-toggle-bar {
	position: absolute;
	left: 11px;
	width: 22px;
	height: 2px;
	border-radius: 2px;
	background: var(--be-navy);
	transition: transform 0.25s ease, opacity 0.2s ease, top 0.25s ease;
}
.be_menu-toggle-bar:nth-child(2) { top: 14px; }
.be_menu-toggle-bar:nth-child(3) { top: 21px; }
.be_menu-toggle-bar:nth-child(4) { top: 28px; }
.be_menu-toggle[aria-expanded="true"] .be_menu-toggle-bar:nth-child(2) { top: 21px; transform: rotate(45deg); }
.be_menu-toggle[aria-expanded="true"] .be_menu-toggle-bar:nth-child(3) { opacity: 0; }
.be_menu-toggle[aria-expanded="true"] .be_menu-toggle-bar:nth-child(4) { top: 21px; transform: rotate(-45deg); }

/* Laptops: the phone pill shrinks to an icon, then disappears, so the CTA never gets cut */
.be_menu { min-width: 0; }
.be_nav-list { min-width: 0; flex-wrap: nowrap; }
@media (max-width: 1720px) {
	.be_nav-list > li > a { padding: 14px 10px; font-size: 14px; }
	.be_menu-phone { width: 46px; height: 46px; padding: 0; justify-content: center; }
	.be_menu-phone span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.be_menu-phone .be_icon { width: 18px; height: 18px; }
}
@media (max-width: 1440px) {
	.be_nav-list > li > a { padding: 14px 8px; font-size: 13.5px; }
	.be_menu { gap: 16px; }
	.be_menu-phone { display: none; }
	.be_menu-cta { padding: 13px 16px; font-size: 12px; }
}

/* Header responsive: below 1280 the menu becomes an off-canvas panel */
@media (max-width: 1279px) {
	.be_site-header-bar { gap: 12px; }
	.be_site-header-tools { display: flex; }
	.be_menu {
		position: fixed;
		top: var(--be-header-h);
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 90;
		display: block;
		padding: 12px var(--be-pad-x) 120px;
		background: var(--be-white);
		overflow-y: auto;
		opacity: 0;
		visibility: hidden;
		transform: translateY(-8px);
		transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
	}
	.be_menu.is-open { opacity: 1; visibility: visible; transform: none; }
	body.be_menu-open { overflow: hidden; }

	.be_nav-list { display: block; margin: 0; }
	.be_nav-list > li { display: flex; flex-wrap: wrap; align-items: center; border-bottom: 1px solid var(--be-line); }
	.be_nav-list > li > a { flex: 1 1 auto; padding: 16px 0; font: 500 19px/1.2 var(--be-font-display); background: none !important; color: var(--be-navy) !important; }
	.be_nav-list > li > a::before { display: none; }
	.be_nav-list > .menu-item-has-children > a::after { display: none; }
	.be_submenu-toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		border: 1px solid var(--be-line);
		border-radius: var(--be-radius-sm);
		background: var(--be-white);
		color: var(--be-navy);
		cursor: pointer;
	}
	.be_submenu-toggle::before {
		content: "";
		width: 18px;
		height: 18px;
		background: currentColor;
		-webkit-mask: url("../img/icon-chevron.svg") center / contain no-repeat;
		mask: url("../img/icon-chevron.svg") center / contain no-repeat;
		transition: transform 0.2s ease;
	}
	.be_submenu-toggle[aria-expanded="true"]::before { transform: rotate(180deg); }

	.be_dropdown {
		position: static;
		display: none;
		flex: 1 1 100%;
		min-width: 0;
		padding: 0 0 12px;
		opacity: 1;
		visibility: visible;
		transform: none;
		transition: none;
	}
	.be_nav-list > li.is-open > .be_dropdown { display: block; }
	.be_nav-list > li:hover > .be_dropdown:not(.is-open) { display: none; }
	.be_nav-list > li.is-open:hover > .be_dropdown { display: block; }
	.be_dropdown-inner { padding: 0; border: 0; box-shadow: none; background: transparent; }
	.be_dropdown-list a { white-space: normal; }
	.be_dropdown--mega .be_dropdown-inner { padding: 0; }
	.be_dropdown--mega .be_dropdown-list { flex-direction: column; gap: 14px; }
	.be_dropdown--mega .be_dropdown-list > li > a { margin-bottom: 4px; padding: 8px 0; }

	.be_menu-actions { flex-direction: column; align-items: stretch; gap: 10px; margin-top: 20px; }
	.be_menu-phone { display: inline-flex; width: auto; height: auto; padding: 13px 18px; }
	.be_menu-phone span { position: static; width: auto; height: auto; overflow: visible; clip: auto; }
	.be_menu-cta { padding: 14px 20px; font-size: 12.5px; }
}

@media (max-width: 700px) {
	.be_site-header-logo-img { height: 38px; }
}


/* 7. Footer --------------------------------------------------------------- */
.be_footer {
	position: relative;
	padding: 80px var(--be-pad-x) 32px;
	background: var(--be-navy-2);
	color: rgba(255, 255, 255, 0.82);
	overflow: hidden;
}

.be_footer::before {
	content: "";
	position: absolute;
	right: -10%;
	top: -30%;
	width: 50vw;
	height: 50vw;
	max-width: 700px;
	max-height: 700px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(59, 143, 168, 0.28), transparent 65%);
	pointer-events: none;
}

.be_footer-inner { position: relative; }
.be_footer a { color: inherit; text-decoration: none; }
.be_footer a:hover { color: var(--be-white); }

.be_footer-top {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	gap: 32px;
	padding-bottom: 48px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.be_footer-brand { max-width: 520px; }
.be_footer-logo img { height: 46px; width: auto; }
.be_footer-tagline { margin-top: 20px; font: 400 21px/1.45 var(--be-font-display); color: rgba(255, 255, 255, 0.85); text-wrap: pretty; }

.be_footer-social { list-style: none; display: flex; gap: 10px; margin-top: 22px; }
.be_footer-social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: var(--be-radius-sm);
	background: transparent;
	border: 1px solid rgba(255, 255, 255, 0.2);
	color: var(--be-white);
	transition: background-color 0.2s ease, border-color 0.2s ease;
}
.be_footer-social-link:hover { background: var(--be-teal); border-color: var(--be-teal); }
.be_footer-social-link .be_icon { width: 20px; height: 20px; }

.be_footer-cta { display: flex; flex-wrap: wrap; gap: 12px; }
.be_footer .be_btn--light { color: var(--be-navy); }
.be_footer .be_btn--light:hover { color: var(--be-navy); }
.be_footer .be_btn--primary { color: var(--be-white); }

.be_footer-columns {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 40px;
	padding: 48px 0;
}

.be_footer-title { margin-bottom: 20px; font: 500 12.5px/1 var(--be-font); letter-spacing: 0.18em; text-transform: uppercase; color: #8fd0e2; }
.be_footer-list { list-style: none; display: grid; gap: 10px; font: var(--be-small); }
.be_footer-list a { display: inline-block; }

.be_footer-locations { list-style: none; display: grid; gap: 16px; font: var(--be-small); }
.be_footer-location { display: grid; gap: 3px; }
.be_footer-location strong { color: var(--be-white); }

.be_footer-contact { list-style: none; display: grid; gap: 12px; font: var(--be-small); }
.be_footer-contact li { display: flex; gap: 10px; align-items: flex-start; }
.be_footer-contact .be_icon { width: 20px; height: 20px; color: #8fd0e2; margin-top: 1px; }

.be_footer-map { margin-top: 20px; border-radius: var(--be-radius); overflow: hidden; border: 1px solid rgba(255, 255, 255, 0.12); }
.be_footer-map iframe { display: block; width: 100% !important; height: 180px !important; border: 0; filter: saturate(0.85); }

.be_footer-bar {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 12px 24px;
	padding-top: 24px;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	font: 400 13.5px/1.5 var(--be-font);
	color: rgba(255, 255, 255, 0.6);
}
.be_footer-copyright a { color: rgba(255, 255, 255, 0.85); text-decoration: underline; text-underline-position: from-font; }
.be_footer-legal-list { list-style: none; display: flex; flex-wrap: wrap; gap: 6px 20px; }

@media (max-width: 1100px) {
	.be_footer-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
	.be_footer { padding-top: 56px; padding-bottom: 24px; }
	.be_footer-columns { grid-template-columns: 1fr; gap: 32px; padding: 36px 0; }
	.be_footer-cta { width: 100%; }
	.be_footer-cta .be_btn { flex: 1 1 auto; }
}

/* Mobile sticky CTA bar (call + appointment), tablets and phones */
.be_mobile-cta {
	display: none;
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 95;
	gap: 8px;
	padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
	background: rgba(255, 255, 255, 0.96);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	border-top: 1px solid var(--be-line);
	box-shadow: 0 -8px 24px rgba(18, 40, 59, 0.08);
}
.be_mobile-cta-btn {
	flex: 1 1 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 50px;
	border-radius: var(--be-radius-sm);
	font: 600 13px/1 var(--be-font);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
}
.be_mobile-cta-btn .be_icon { width: 20px; height: 20px; }
.be_mobile-cta-btn--call { background: var(--be-navy); color: var(--be-white); }
.be_mobile-cta-btn--book { background: var(--be-teal); color: var(--be-white); }

@media (max-width: 1024px) {
	.be_mobile-cta { display: flex; }
	body { padding-bottom: calc(68px + env(safe-area-inset-bottom)); }
	.be_footer { padding-bottom: 24px; }
}
