@font-face {
	font-family: "Plus Jakarta Sans";
	font-style: normal;
	font-weight: 200 800;
	font-display: swap;
	src: url("../fonts/PlusJakartaSans-Variable.ttf") format("truetype");
}

:root {
	--onoso-centro-primary: #0A3967;
	--onoso-centro-nav-active: #003F6C;
	--onoso-centro-accent: #E67D2E;
	--onoso-centro-accent-hover: #B85B1A;
	--onoso-centro-on-accent: color-mix(in srgb, var(--onoso-centro-primary) 85%, #000000);
	--onoso-centro-white: #FFFFFF;
	--onoso-centro-surface: #F8F8F8;
	--onoso-centro-header-scrolled: #F4F7FA;
	--onoso-centro-whatsapp: #25D366;
	--onoso-centro-whatsapp-hover: #128C7E;
	--onoso-centro-mobile-active-background: #F3F3F3;
	--onoso-centro-card-title: #333333;
	--onoso-centro-card-shadow: #EAEAEA;
	--onoso-centro-hover: color-mix(in srgb, var(--onoso-centro-primary) 70%, var(--onoso-centro-card-title));
	--onoso-centro-shadow: 0 2px 8px var(--onoso-centro-card-shadow);
	--onoso-centro-font: "Plus Jakarta Sans", Arial, sans-serif;
	--onoso-centro-weight-regular: 400;
	--onoso-centro-weight-semibold: 600;
	--onoso-centro-weight-bold: 700;
	--onoso-centro-weight-extrabold: 800;
	--onoso-centro-size-body: 16px;
	--onoso-centro-size-small: 14px;
	--onoso-centro-size-title: 48px;
	--onoso-centro-size-subtitle: 24px;
	--onoso-centro-size-identity: 20px;
	--onoso-centro-size-nav: 24px;
	--onoso-centro-size-mobile-nav: 28px;
	--onoso-centro-size-motto: 40px;
	--onoso-centro-line-body: 1.5;
	--onoso-centro-line-heading: 1.15;
	--onoso-centro-line-nav: 1;
	--onoso-centro-line-motto: 1.025;
	--onoso-centro-gutter: 10%;
	--onoso-centro-header-gutter: 8%;
	--onoso-centro-footer-gutter: 8%;
	--onoso-centro-header-height: 108px;

	/* Compatibility aliases for the unchanged generic content templates. */
	--logi-base-primary: var(--onoso-centro-primary);
	--logi-base-secondary: var(--onoso-centro-hover);
	--logi-base-dark: var(--onoso-centro-primary);
	--logi-base-text: var(--onoso-centro-primary);
	--logi-base-surface: var(--onoso-centro-surface);
	--logi-base-border: var(--onoso-centro-card-shadow);
	--logi-base-white: var(--onoso-centro-white);
	--logi-base-font-body: var(--onoso-centro-font);
	--logi-base-font-heading: var(--onoso-centro-font);
	--logi-base-font-weight-regular: var(--onoso-centro-weight-regular);
	--logi-base-font-weight-semibold: var(--onoso-centro-weight-semibold);
	--logi-base-font-weight-bold: var(--onoso-centro-weight-bold);
	--logi-base-font-size-body: var(--onoso-centro-size-body);
	--logi-base-font-size-small: var(--onoso-centro-size-small);
	--logi-base-font-size-footer-title: var(--onoso-centro-size-identity);
	--logi-base-font-size-card-title: var(--onoso-centro-size-subtitle);
	--logi-base-font-size-page-title: var(--onoso-centro-size-title);
	--logi-base-line-height-body: var(--onoso-centro-line-body);
	--logi-base-line-height-tight: var(--onoso-centro-line-heading);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	background: var(--onoso-centro-white);
	color: var(--onoso-centro-primary);
	font-family: var(--onoso-centro-font);
	font-size: var(--onoso-centro-size-body);
	font-weight: var(--onoso-centro-weight-regular);
	line-height: var(--onoso-centro-line-body);
	margin: 0;
}
img, svg { display: block; }
img { height: auto; max-width: 100%; }
a { color: var(--onoso-centro-primary); text-decoration: none; }
a:hover, a:focus-visible { color: var(--onoso-centro-hover); }
button { font: inherit; }
h1, h2, h3, h4, h5, h6 {
	color: var(--onoso-centro-primary);
	font-family: var(--onoso-centro-font);
	font-weight: var(--onoso-centro-weight-regular);
	line-height: var(--onoso-centro-line-heading);
	margin: 0 0 20px;
}
h1 { font-size: var(--onoso-centro-size-title); font-weight: var(--onoso-centro-weight-extrabold); }
h2 { font-size: var(--onoso-centro-size-subtitle); }
h3 { font-size: var(--onoso-centro-size-identity); }

.onoso-centro-floating-actions {
	position: fixed; right: calc(16px + env(safe-area-inset-right)); bottom: calc(16px + env(safe-area-inset-bottom));
	display: flex; flex-direction: column; gap: 12px; z-index: 900;
}
.onoso-centro-floating-button {
	display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px;
	border: 2px solid var(--onoso-centro-primary); border-radius: 50%; background: var(--onoso-centro-white);
	color: var(--onoso-centro-primary); box-shadow: var(--onoso-centro-shadow);
	transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}
.onoso-centro-floating-button[hidden] { display: none; }
.onoso-centro-floating-button svg { width: 28px; height: 28px; fill: currentColor; }
.onoso-centro-back-to-top:hover, .onoso-centro-back-to-top:focus-visible {
	border-color: var(--onoso-centro-white); background: var(--onoso-centro-primary); color: var(--onoso-centro-white);
}
.onoso-centro-whatsapp { border-color: var(--onoso-centro-whatsapp); background: var(--onoso-centro-whatsapp); color: var(--onoso-centro-white); }
.onoso-centro-whatsapp:hover, .onoso-centro-whatsapp:focus-visible {
	border-color: var(--onoso-centro-white); background: var(--onoso-centro-whatsapp-hover); color: var(--onoso-centro-white);
}
.onoso-centro-floating-button:focus-visible { outline: 3px solid var(--onoso-centro-primary); outline-offset: 4px; }
@media (min-width: 768px) {
	.onoso-centro-floating-actions { right: calc(24px + env(safe-area-inset-right)); bottom: calc(24px + env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
}
h4, h5, h6 { font-size: var(--onoso-centro-size-body); }
strong, b { font-weight: var(--onoso-centro-weight-bold); }
p { margin: 0 0 26px; }
.logi-base-container { width: 100%; margin-inline: auto; padding-inline: var(--onoso-centro-gutter); }
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; margin: -1px; overflow: hidden; padding: 0;
	position: absolute; width: 1px; word-wrap: normal;
}
.screen-reader-text:focus, .skip-link:focus {
	background: var(--onoso-centro-white); border: 2px solid var(--onoso-centro-primary);
	clip: auto; clip-path: none; color: var(--onoso-centro-primary); display: block;
	height: auto; left: 20px; padding: 10px 14px; top: 20px; width: auto; z-index: 100000;
}
:focus-visible { outline: 2px solid var(--onoso-centro-primary); outline-offset: 3px; }
@media (min-width: 1025px) and (max-width: 1199px) {
	:root { --onoso-centro-header-gutter: 3%; --onoso-centro-size-nav: 22px; }
}
@media (max-width: 1024px) {
	:root { --onoso-centro-gutter: 15px; --onoso-centro-header-height: 85px; }
}
@media (max-width: 767px) {
	:root {
		--onoso-centro-header-height: 83px;
		--onoso-centro-footer-gutter: 5%;
		--onoso-centro-size-title: 40px;
		--onoso-centro-size-mobile-nav: 26px;
		--onoso-centro-size-motto: 20px;
		--onoso-centro-line-motto: 1.25;
	}
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
