/* =========== © 2025 Centroarts.com - https://deepbot.cloud =========== */

:root {
	color-scheme: light;

	--fmono: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
	--f: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; 
	--fs: 16px;
	--fs-btn: 16px;
	--lh: 1.75;
	--fw: 400;

	--h-btn-sm: 40px;
	--h-btn-md: 48px;
	--h-btn-lg: 56px;
	--h-btn-xl: 72px;

	--h-p: 85;
	--h-y: 59;
	--h-t: 0;

	--c-body: var(--h-t), 0%, 98%;
	--c-text: var(--h-t), 0%, 5%;

	--c-border: hsla(var(--c-text), 0.1);
	--c-border-h: hsla(var(--c-text), 0.2);
	
	--c-body-tone: hsla(var(--c-text), 0.04);
	--c-body-tone-h: hsla(var(--c-text), 0.05);
	
	--c-primary: var(--h-p), 83%, 60%;
	--c-primary2: var(--h-p), 75%, 47%;
	--c-yellow: var(--h-y), 100%, 55%;

	--cb-primary: hsl(var(--h-p), 83%, 60%);
	--cb-primary-h: hsl(var(--h-p), 83%, 72%);
	--cb-primary-a: hsl(var(--h-p), 83%, 56%);
	--cb-primary-t: hsl(var(--h-t), 0%, 0%);

	--cb-invert: hsl(var(--h-t), 0%, 5%);
	--cb-invert-h: hsl(var(--h-t), 0%, 8%);
	--cb-invert-a: hsl(var(--h-t), 0%, 3%);
	--cb-invert-t: hsl(var(--h-t), 0%, 96%);

	--cb-tonal: hsla(var(--h-t), 0%, 5%, 0.04);
	--cb-tonal-h: hsla(var(--h-t), 0%, 5%, 0.05);
	--cb-tonal-t: hsl(var(--h-t), 0%, 5%);

	--cb-carousel: var(--h-t), 0%, 88%;
}

html.dark {
	color-scheme: dark;

	--c-body: var(--h-t), 0%, 0%;
	--c-text: var(--h-t), 0%, 96%;

	--c-border: hsla(var(--c-text), 0.15);
	--c-border-h: hsla(var(--c-text), 0.25);
	
	--c-body-tone: hsla(var(--c-text), 0.1);
	--c-body-tone-h: hsla(var(--c-text), 0.15);
	
	--c-primary: var(--h-p), 83%, 60%;
	--c-primary2: var(--h-p), 83%, 60%;
	--c-yellow: var(--h-y), 100%, 55%;

	--cb-invert: hsl(var(--h-t), 0%, 96%);
	--cb-invert-h: hsl(var(--h-t), 0%, 100%);
	--cb-invert-a: hsl(var(--h-t), 0%, 94%);
	--cb-invert-t: hsl(var(--h-t), 0%, 0%);

	--cb-tonal: hsla(var(--h-t), 0%, 96%, 0.12);
	--cb-tonal-h: hsla(var(--h-t), 0%, 96%, 0.2);
	--cb-tonal-t: hsl(var(--h-t), 0%, 96%);

	--cb-carousel: var(--h-t), 0%, 33%;
}

@media (prefers-reduced-motion: no-preference) {
	:root { scroll-behavior: smooth; }
}

html.load * { transition: none !important; }
*, *::before, *::after { box-sizing: border-box; }
article, aside, figcaption, figure, footer, header, hgroup, main, nav, section { display: block; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; -webkit-tap-highlight-color: transparent; }
[tabindex="-1"]:focus { outline: 0 !important; }
hr { margin: 20px 0; color: inherit; border: 0; border-top: 1px solid; opacity: 0.1; }
h1, h2, h3, h4, h5, h6 { font-weight: 500; margin-top: 0; margin-bottom: 8px; }
p { margin-top: 0; margin-bottom: 20px; }
abbr[title] {
	-webkit-text-decoration: underline dotted; text-decoration: underline dotted;
	cursor: help; -webkit-text-decoration-skip-ink: none; text-decoration-skip-ink: none;
}

address { margin-bottom: 16px; font-style: normal; line-height: inherit; }
ol, ul, dl { list-style: none; padding: 0; margin: 0; }
ol ol, ul ul, ol ul, ul ol { margin-bottom: 0; }
dt { font-weight: 700; }
dd { margin-bottom: 8px; margin-left: 0; }
blockquote { margin: 0 0 16px; }
b, strong { font-weight: bold; }
small, .small { font-size: 13px; }

sub, sup { position: relative; font-size: 13px; line-height: 0; vertical-align: baseline; }
sub { bottom: -.25em; }
sup { top: -.5em; }

a:not([href]):not([class]), a:not([href]):not([class]):hover { color: inherit; text-decoration: none; }

pre, code, kbd, samp { font-family: var(--ft-mono); font-size: 16px; }
pre { margin-top: 0; margin-bottom: 16px; overflow: auto; }
a > code { color: inherit; }

figure { margin: 0 0 16px; }
img { vertical-align: middle; border-style: none; }
svg { overflow: hidden; vertical-align: middle; }

table { border-collapse: collapse; }
th { text-align: inherit; }
caption { padding-top: 12px; padding-bottom: 12px; color: #99999e; text-align: left; caption-side: bottom; }

legend { display: block; width: 100%; max-width: 100%; padding: 0; margin-bottom: .5rem; font-size: 1.5rem; line-height: inherit; color: inherit; white-space: normal;}
progress { vertical-align: baseline; }

[type="search"] { outline-offset: -2px; -webkit-appearance: textfield; }
::-webkit-search-decoration { -webkit-appearance: none; }
::-webkit-file-upload-button { font: inherit; -webkit-appearance: button; }
::-webkit-color-swatch-wrapper { padding: 0; }
::file-selector-button { font: inherit; -webkit-appearance: button; }

::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-year-field { padding: 0; }
::-webkit-inner-spin-button { height: auto; }

output { display: inline-block; }
summary { display: list-item; cursor: pointer; }
template { display: none; }
[hidden] { display: none !important; }

body, html { scrollbar-gutter: stable; }
body {
	font: normal var(--fs)/var(--lh) var(--f);
	background-color: hsl(var(--c-body));
	color: hsl(var(--c-text)); text-rendering: optimizeLegibility;
	min-width: 320px; min-height: 100vh; margin: 0;
}

a { color: hsl(var(--c-link)); outline: none !important; text-decoration: none; }
a:hover { text-decoration: underline; }

.small, small { font-size: 12px; }
.muted { opacity: .7; }
.c-muted { color: hsla(var(--c-text), .7); }
.c-primary { color: hsl(var(--c-primary)); }
.c-primary2 { color: hsl(var(--c-primary2)); }
.c-text { color: hsl(var(--c-text)); }

.ic { display: block; fill: currentColor; }
.im { display: block; width: 24px; height: 24px; }
.im::before {
	content: ""; display: block; width: inherit; height: inherit;
	mask-image: var(--ic-url); -webkit-mask-image: var(--ic-url);
	mask-size: 100% 100%; -webkit-mask-size: 100% 100%;
	background-color: currentColor;
}

.w-100 { width: 100%; }
.circle { border-radius: 50%; }
.clr { clear: both; }

.truncate { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.uppercase { text-transform: uppercase; }
.text-wrap { white-space: normal !important; }
.text-nowrap { white-space: nowrap !important; }
.fw-b { font-weight: bold; }
.fw-n { font-weight: normal; }
.lh-norm { line-height: normal; }
.f-right { float: right; }
.f-left { float: left; }
.ww-break-word { word-wrap: break-word; }

.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.cover { position: relative; display: flex; overflow: hidden; flex-direction: column; flex-grow: 1; margin: 0; }
.cover img {
	position: absolute; top: 0; left: 50%; display: block; pointer-events: none; user-select: none;
	min-width: calc(100% + 1px); width: auto; height: 100%; transform: translateX(-50%);
	object-fit: cover; object-position: center center;
	-o-object-position: center center; -o-object-fit: cover;
}

:root {
	--w-wrp: 1376px;
	--w-limit: 900px;

	--p-wrp: 24px;
	--p-sect: 100px;
	--g-sect: 80px;
	--g-cont1: 16px;
	--g-cont2: 32px;
	--g-cont3: 32px;
	--fs-hero-heading: 34px;
	--fs-heading: 32px;
	--fs-heading-s: 24px;
}
@media (min-width: 576px) {
	:root {
		--p-wrp: 32px;
	}
}
@media (min-width: 768px) {
	:root {
		--p-wrp: 40px;
		--p-sect: 120px;
		--g-sect: 88px;
		--g-cont1: 32px;
		--g-cont3: 40px;
		--fs-hero-heading: 44px;
		--fs-heading: 40px;
	}
}
@media (min-width: 992px) {
	:root {
		--fs-hero-heading: 64px;
		--fs-heading: 56px;
		--fs-heading-s: 32px;
		--fs-sdesc: 18px;
	}
}

.sect, .sect-group {
	position: relative; z-index: 1;
	padding-top: var(--p-sect); padding-bottom: var(--p-sect);
}
.sect + .sect, .sect-group + .sect-group, .sect-group + .sect, .sect + .sect-group { padding-top: 0; }

.sect-group .sect { --p-sect: var(--g-sect); }
.sect-group .sect:last-child { padding-bottom: 0; }
.sect-line { height: 0; border-top: 1px solid var(--c-border); }

.sect-heading, .heading {
	font-weight: 500; line-height: 1.25; letter-spacing: -0.02em;
	font-size: var(--fs-heading); text-align: center;
}

.sect-heading:has(.highlight) { color: hsla(var(--c-text), .85); }
.sect-heading .highlight { color: hsla(var(--c-text), 1); }
.sect-heading ~ .sect-desc { margin-top: var(--g-cont1); }
.sect-desc ~ .btn-group, .sect-heading ~ .btn-group { margin-top: var(--g-cont2); }
.sect-desc { font-size: var(--fs-sdesc); text-align: center; }
.sect-cont, .sect-cont + .btn-group { margin-top: var(--g-cont3); }

.sect-hero .sect-heading { --fs-heading: var(--fs-hero-heading); }
.sect-hero .btn-group { margin-top: var(--g-cont1); }

.limit { max-width: var(--w-limit); margin-left: auto; margin-right: auto; text-wrap: balance; }

.heading { --fs-heading: var(--fs-heading-s); margin-bottom: var(--g-cont3); }
.sect:has(.sect-desc) > .heading { margin-bottom: 16px; }

/* Item Links */
.item { position: relative; }
.item-link { text-decoration: none !important; }
.item-link::after { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 100%; z-index: 1; }

/* Trigger */
.trigger { position: relative; }
.trigger-btn { display: block; }
.trigger-action { position: absolute; left: 0; top: 0; opacity: 0; pointer-events: none; }

@media (max-width: 991px) {
	.scroll-h {
		margin-left: calc(var(--p-wrp)/-1); margin-right: calc(var(--p-wrp)/-1);
		padding-left: var(--p-wrp); padding-right: var(--p-wrp);
		overflow: hidden; overflow-x: auto; -webkit-overflow-scrolling: touch;
	}
	.scroll-h::-webkit-scrollbar { display: none; }
}

/* STRUCTURE */
.wrp {
	max-width: calc(var(--w-wrp) + var(--p-wrp) * 2); padding-left: var(--p-wrp); padding-right: var(--p-wrp);
	margin-left: auto; margin-right: auto;
}

/* --- BUTTONS --- */
button { text-transform: none; }
button, [type="button"], [type="reset"], [type="submit"] { font: inherit; -webkit-appearance: button; outline: none !important; }
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { padding: 0; border-style: none; }

.btn-group { margin-top: 40px; }
.btn-group { display: flex; justify-content: center; gap: 8px; }
.btn-group .btn-block { width: 100%; }

.btn-reset { padding: 0; margin: 0; background: none; border: 0 none; cursor: pointer; }
.btn {
	--h-btn: var(--h-btn-md);
	--h-lh: 24px;

	height: var(--h-btn); line-height: var(--h-lh); font-size: var(--fs-btn);
	border-radius: calc(var(--h-btn) / 2); position: relative; z-index: 1;
	padding: calc((var(--h-btn) - var(--h-lh))/2);
	white-space: nowrap; text-align: center; border: 0 none; font-weight: 500;
	display: flex; align-items: center; justify-content: center;
	cursor: pointer; outline: none; text-decoration: none !important;
	background: none; color: inherit; user-select: none;
}
.btn::after {
	content: ""; position: absolute; z-index: -1; inset: 0; border-radius: inherit;
	transition: background-color .2s ease, transform .2s ease, opacity .2s ease;
}
.btn:hover:after { transform: scale(1.01); }
.btn:active:after { transform: scale(0.99); }

.btn-primary { color: var(--cb-primary-t); }
.btn-primary::after { background-color: var(--cb-primary); }
.btn-primary:hover:after { background-color: var(--cb-primary-h); }
.btn-primary:active:after { background-color: var(--cb-primary-a); }

.btn-invert { color: var(--cb-invert-t); }
.btn-invert::after { background-color: var(--cb-invert); }
.btn-invert:hover:after { background-color: var(--cb-invert-h); }
.btn-invert:active:after { background-color: var(--cb-invert-a); }

.btn-tonal { color: var(--cb-tonal-t); }
.btn-tonal::after { background-color: var(--cb-tonal); }
.btn-tonal:hover:after { background-color: var(--cb-tonal-h); }

.btn-link { color: var(--cb-tonal-t); }
.btn-link::after { background-color: var(--cb-tonal); opacity: 0; }
.btn-link:hover:after { background-color: var(--cb-tonal-h); opacity: 1; }

.btn-link .btn-cont { opacity: .8; }
.btn-link:hover .btn-cont { opacity: 1; }

.btn-cont { padding: 0 8px; transition: opacity .2s ease; }

.btn-sm { --h-btn: var(--h-btn-sm); font-size: 15px; }
.btn-md { --h-btn: var(--h-btn-md); }
.btn-lg { --h-btn: var(--h-btn-lg); }
.btn-xl { --h-btn: var(--h-btn-xl); }

.btn-icon { width: var(--h-btn); }

@media (max-width: 575px) {
  .btn-block { width: 100%; }
  .btn-block + .btn-block { margin-top: 8px; }
}