/* Owlsora Elements — About Section widget */

.spa {
	--spa-bg: #EEF5FC;
	--spa-max: 1200px;
	--spa-pad-y: 104px;
	--spa-pad-x: 16px;
	--spa-gap: 72px;
	--spa-frame: #0A3FCF;
	--spa-photo-radius: 36px;
	--spa-eyebrow: #0B6BF0;
	--spa-title: #0B1A3D;
	--spa-lead: #56658A;
	--spa-body: #060F24;
	--spa-stat-num: #0B6BF0;
	--spa-stat-label: #56658A;
	--spa-btn-bg: #0B6BF0;
	--spa-btn-color: #FFFFFF;
	--spa-btn-edge: #0845B0;

	position: relative;
	background-color: var(--spa-bg);
	color: var(--spa-body);
	font-family: "Figtree", "Avenir Next", "Segoe UI", system-ui, sans-serif;
}
.spa *,
.spa *::before,
.spa *::after { box-sizing: border-box; }
.spa--texture {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cg fill='%230b1a3d' fill-opacity='.06'%3E%3Ccircle cx='12' cy='20' r='1.4'/%3E%3Ccircle cx='70' cy='44' r='1'/%3E%3Ccircle cx='130' cy='12' r='1.2'/%3E%3Ccircle cx='40' cy='96' r='1.4'/%3E%3Ccircle cx='110' cy='80' r='1'/%3E%3Ccircle cx='150' cy='130' r='1.3'/%3E%3Ccircle cx='86' cy='140' r='1.1'/%3E%3C/g%3E%3C/svg%3E");
}
.spa.owe-stretch { width: 100vw; max-width: none; margin-left: calc(50% - 50vw); }

.spa__inner {
	max-width: var(--spa-max);
	margin: 0 auto;
	padding-top: var(--spa-pad-y);
	padding-bottom: var(--spa-pad-y);
	padding-left: max(var(--spa-pad-x), env(safe-area-inset-left, 0px));
	padding-right: max(var(--spa-pad-x), env(safe-area-inset-right, 0px));
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: var(--spa-gap);
	align-items: center;
}
.spa--img-right .spa__photo { order: 2; }
.spa__copy { min-width: 0; }

/* photo */
.spa__photo { position: relative; min-width: 0; }
.spa__frame {
	aspect-ratio: 1 / 1;
	max-width: 100%;
	overflow: hidden;
	display: grid;
	place-items: center;
	border: 6px solid var(--spa-frame);
	border-radius: var(--spa-photo-radius);
	background: radial-gradient(circle at 50% 42%, #FFFFFF 0, #E1EEF9 55%, #BFDCF3 100%);
	box-shadow: 0 24px 50px rgba(11, 26, 61, .25);
}
.spa__frame .spa__img { display: block; width: 100%; height: 100%; }
.spa__frame--contain .spa__img { object-fit: contain; padding: 10% 10% 26%; filter: drop-shadow(0 10px 14px rgba(11, 26, 61, .25)); }
.spa__frame--cover .spa__img { object-fit: cover; }
.spa__note {
	position: absolute;
	left: 22px;
	right: 22px;
	bottom: 22px;
	padding: 14px 18px;
	background: rgba(255, 255, 255, .94);
	border: 2px solid #0B1A3D;
	border-radius: 16px;
	color: #2A3A66;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
}
.spa__note b { color: #0B6BF0; }

/* text */
.spa__eyebrow { display: block; margin-bottom: 14px; color: var(--spa-eyebrow); font-size: 15px; font-weight: 800; letter-spacing: .01em; }
.spa .spa__title {
	margin: 0;
	padding: 0;
	color: var(--spa-title);
	font-family: "Anton", Impact, "Arial Narrow Bold", sans-serif;
	font-size: clamp(46px, 6vw, 84px);
	font-weight: 400;
	line-height: .98;
	text-transform: uppercase;
	text-wrap: balance;
}
.spa .spa__lead { margin: 26px 0 0; color: var(--spa-lead); font-size: 22px; line-height: 1.6; }
.spa .spa__body { margin: 22px 0 0; color: var(--spa-body); font-size: 18px; line-height: 1.75; }
.spa .spa__body + .spa__body { margin-top: 16px; }

.spa .spa__stats { list-style: none; margin: 30px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.spa .spa__stats li { margin: 0; padding: 16px 18px; background: #FFFFFF; border: 2px solid rgba(6, 15, 36, .12); border-radius: 16px; min-width: 0; }
.spa__stats b { display: block; color: var(--spa-stat-num); font-family: "Anton", Impact, sans-serif; font-size: 38px; font-weight: 400; line-height: 1; }
.spa__stats span { display: block; margin-top: 4px; color: var(--spa-stat-label); font-size: 14px; font-weight: 700; line-height: 1.35; }

.spa .spa__btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: 34px;
	padding: 16px 28px;
	border-radius: 10px;
	background: var(--spa-btn-bg);
	color: var(--spa-btn-color);
	box-shadow: 0 4px 0 var(--spa-btn-edge);
	font-size: 18px;
	font-weight: 800;
	line-height: 1.6;
	text-decoration: none;
	transition: transform .15s ease, box-shadow .15s ease;
}
.spa .spa__btn:hover,
.spa .spa__btn:focus-visible { color: var(--spa-btn-color); transform: translateY(-2px); box-shadow: 0 6px 0 var(--spa-btn-edge); }
.spa .spa__btn:focus-visible { outline: 3px solid #2D8CFF; outline-offset: 3px; }
.spa__btn-icon { display: inline-flex; font-size: .9em; transition: transform .15s ease; }
.spa__btn-icon svg { width: 1em; height: 1em; fill: currentColor; }
.spa .spa__btn:hover .spa__btn-icon { transform: translateX(4px); }

@media (max-width: 900px) {
	.spa__inner { grid-template-columns: minmax(0, 1fr); }
	.spa--img-right .spa__photo { order: 0; }
}
@media (max-width: 460px) {
	.spa .spa__stats { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
	.spa * { transition: none !important; }
}

/* Full width: drop the padding of a container that only holds this widget */
.e-con:has(> .elementor-widget-ow-about:only-child .owe-stretch),
.e-con:has(> .e-con-inner > .elementor-widget-ow-about:only-child .owe-stretch) {
	--padding-top: 0px;
	--padding-right: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--margin-top: 0px;
	--margin-bottom: 0px;
	padding: 0;
}
.elementor-widget-wrap:has(> .elementor-widget-ow-about:only-child .owe-stretch) { padding: 0 !important; }
.elementor-section:has(.elementor-widget-wrap > .elementor-widget-ow-about:only-child .owe-stretch) { padding-top: 0; padding-bottom: 0; }
.elementor-widget-ow-about:has(.owe-stretch) { margin-top: 0; margin-bottom: 0; --kit-widget-spacing: 0px; }
