/* Compass timeline */

.compass-timeline {
	/* ---- palette ---- */
	--ct-accent:        #2f9e6b;              /* ring + tick green            */
	--ct-ring:          rgba(255,255,255,.55); /* thin white arc              */
	--ct-text:          #ffffff;
	--ct-label:         rgba(255,255,255,.90); /* year labels around the dial */
	--ct-nav-bg:        rgba(255,255,255,.10);
	--ct-nav-bg-hover:  rgba(255,255,255,.22);

	/* ---- dial sizing ---- */
	--ct-radius-ratio:  .36;    /* radius as a fraction of widget width */
	--ct-radius-max:    560px;  /* hard cap on very wide screens        */

	/* ---- copy block ---- */
	--ct-copy-width:    45%;
	--ct-copy-align:    right;  /* right | left | center */

	/* ---- type ---- */
	--ct-year-size:     clamp(2.25rem, 4.4vw, 3.75rem);
	--ct-title-size:    clamp(1.5rem, 2.5vw, 2.3rem);
	--ct-desc-size:     clamp(1rem, 1.2vw, 1.1875rem);

	/* ---- rhythm ---- */
	--ct-copy-gap:      clamp(2.5rem, 6vw, 6rem); /* copy → year */
	--ct-year-gap:      0px;                       /* year → dial */

	position: relative;
	width: 100%;
	overflow: hidden;          /* crops the compass at the section edge */
	color: var(--ct-text);
	-webkit-tap-highlight-color: transparent;
}

.ct-error {
	padding: 1rem;
	border: 1px dashed rgba(255,255,255,.4);
	border-radius: 6px;
}

/* Copy */
.ct-copy {
	width: var(--ct-copy-width);
	max-width: 46rem;
	margin-left: auto;         /* pushes the block right */
}

.compass-timeline[data-copy="left"]   .ct-copy { margin-left: 0; margin-right: auto; }
.compass-timeline[data-copy="center"] .ct-copy { margin-inline: auto; text-align: center; }

.ct-title {
	margin: 0 0 .75em;
	font-size: var(--ct-title-size);
	font-weight: 400;
	line-height: 1.18;
	letter-spacing: -.01em;
	color: var(--ct-text);
	transition: opacity .22s ease, transform .22s ease;

	font-family: var( --e-global-typography-f12d12f-font-family ), Sans-serif;
	font-size: var( --e-global-typography-f12d12f-font-size );
	line-height: var( --e-global-typography-f12d12f-line-height );
	letter-spacing: var( --e-global-typography-f12d12f-letter-spacing );
}

.ct-desc {
	margin: 0;
	font-size: var(--ct-desc-size);

	color: var(--ct-text);
	transition: opacity .24s ease, transform .24s ease;
	font-family: var( --e-global-typography-95f9556-font-family ), Sans-serif;

    font-weight: var( --e-global-typography-95f9556-font-weight );
    line-height: var( --e-global-typography-95f9556-line-height );
    letter-spacing: var( --e-global-typography-95f9556-letter-spacing );
}

.ct-desc p { margin: 0 0 .75em; }
.ct-desc p:last-child { margin-bottom: 0; }


@media (max-width:480px)
{
	.ct-nav {
    width: 30px!important;
    height: 30px!important;
}


h2.elementor-heading-title.elementor-size-default {
    margin-top: 10px;
    margin-bottom: 10px;
}
.elementor-65 .elementor-element.elementor-element-a55d749 .elementor-heading-title {
    margin-top: 0px;
	margin-bottom:70px;

}
.ct-prev {
    left: 20px;
}

.ct-next {
    right: 20px;
}

.elementor-65 .elementor-element.elementor-element-46303fb {

    --padding-bottom: 0px;

}
}

/* Stage */
.ct-stage {
	margin-top: var(--ct-copy-gap);
	margin-bottom: -7px;
	text-align: center;
}

.ct-year {
	margin: 0 0 var(--ct-year-gap);
	font-size: var(--ct-year-size);
	font-weight: 500;
	line-height: 1;
	letter-spacing: -.015em;
	transition: opacity .2s ease, transform .2s ease;
}

/* Fade-out state used during a swap */
.ct-year.is-swapping  { opacity: 0; transform: translateY(-10px); }
.ct-title.is-swapping { opacity: 0; transform: translateY(8px); }
.ct-desc.is-swapping  { opacity: 0; transform: translateY(8px); }

/* Dial */
.ct-dial {
	position: relative;
	width: 100%;
}

.ct-svg {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	overflow: visible;         /* lower half of the rose bleeds off-canvas */
	pointer-events: none;
}

.ct-label {
	pointer-events: auto;
	cursor: pointer;
	transition: fill .18s ease;
}
.ct-label:hover { fill: #fff; }

/* Nav */
.ct-nav {
	position: absolute;
	bottom: calc(var(--ct-r, 400px) * .105);
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 0;
	border-radius: 4px;
	background: var(--ct-nav-bg);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	color: var(--ct-text);
	cursor: pointer;
	transition: background .18s ease, opacity .18s ease;
}

.ct-prev { left:  calc(50% - var(--ct-r, 400px) * .68 - 22px); }
.ct-next { right: calc(50% - var(--ct-r, 400px) * .68 - 22px); }

.ct-nav:hover,
.ct-nav:focus-visible {
	background: var(--ct-nav-bg-hover);
}

.ct-nav:focus-visible {
	outline: 2px solid var(--ct-text);
	outline-offset: 3px;
}

.ct-nav[disabled] {
	opacity: .3;
	cursor: default;
}

/* Optional dots */
.ct-dots {
	position: absolute;
	bottom: calc(var(--ct-r, 400px) * .105 + 14px);
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	gap: 8px;
}

.ct-dot {
	width: 7px;
	height: 7px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255,255,255,.35);
	cursor: pointer;
	transition: background .2s ease, transform .2s ease;
}

.ct-dot.is-active {
	background: var(--ct-accent);
	transform: scale(1.35);
}

/* Responsive */
@media (max-width: 1024px) {
	.compass-timeline {
		--ct-copy-width: 60%;
		--ct-radius-ratio: .42;
	}
}

@media (max-width: 767px) {
	.compass-timeline {
		--ct-copy-width: 100%;
		--ct-radius-ratio: .50;   /* dial bleeds slightly off both edges */
		--ct-copy-gap: 2.25rem;
	}

	.ct-copy { text-align: left; }

	.ct-nav {
		width: 40px;
		height: 40px;
	}

	.ct-prev { left:  16px; }
	.ct-next { right: 16px; }
}

/* Motion preferences */
@media (prefers-reduced-motion: reduce) {
	.ct-year,
	.ct-title,
	.ct-desc,
	.ct-nav,
	.ct-dot { transition: none; }
}