/* =====================================================================
   CircuitMind construction hero slider
   ===================================================================== */
.cm-slider{
	position:relative;
	width:100%;
	height:var(--cm-height,clamp(460px,86vh,760px));
	overflow:hidden;
	background:#111;
	font-family:"Fira Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

/* ---- Slides ---- */
.cm-slides{position:absolute;inset:0;}
.cm-slide{
	position:absolute;inset:0;
	background-size:cover;
	background-position:center;
	opacity:0;
	visibility:hidden;
	transition:opacity .9s ease;
	z-index:1;
}
.cm-slide.is-active{opacity:1;visibility:visible;z-index:2;}

/* Ken-Burns slow zoom on the active slide */
.cm-slide.is-active{animation:cm-kenburns 7s ease-out forwards;}
@keyframes cm-kenburns{
	from{transform:scale(1.08);}
	to{transform:scale(1);}
}

.cm-slide-overlay{
	position:absolute;inset:0;
	background:linear-gradient(90deg,
		rgba(10,12,16,var(--cm-ov-a,.82)) 0%,
		rgba(10,12,16,calc(var(--cm-ov-a,.82) * .72)) 45%,
		rgba(10,12,16,calc(var(--cm-ov-a,.82) * .3)) 100%);
}

/* ---- Content ---- */
.cm-slide-inner{
	position:relative;
	height:100%;
	max-width:1300px;
	margin:0 auto;
	padding:0 60px;
	display:flex;
	align-items:center;
	z-index:3;
}
.cm-slide-content{max-width:680px;color:#fff;}

.cm-slide-label{
	display:inline-block;
	color:var(--cm-label-color,#ff5a5a);
	font-size:14px;
	font-weight:700;
	letter-spacing:.18em;
	text-transform:uppercase;
	margin-bottom:18px;
	padding-left:54px;
	position:relative;
}
.cm-slide-label:before{
	content:"";
	position:absolute;left:0;top:50%;
	width:40px;height:2px;
	background:var(--cm-accent,#CE1B28);
	transform:translateY(-50%);
}

.cm-slide-title{
	color:var(--cm-title-color,#fff);
	font-size:clamp(34px,5vw,62px);
	line-height:1.06;
	font-weight:700;
	margin:0 0 22px;
	letter-spacing:-.01em;
	text-shadow:0 2px 24px rgba(0,0,0,.35);
}
.cm-slide-text{
	color:var(--cm-text-color,rgba(255,255,255,.86));
	font-size:clamp(16px,1.4vw,19px);
	line-height:1.65;
	margin:0 0 34px;
	max-width:560px;
}

/* ---- Buttons ---- */
.cm-slide-actions{display:flex;flex-wrap:wrap;gap:16px;}
.cm-btn{
	display:inline-flex;align-items:center;justify-content:center;
	height:56px;padding:0 34px;
	font-size:14px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
	text-decoration:none;border:2px solid transparent;cursor:pointer;
	transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease;
}
.cm-btn-primary{background:var(--cm-accent,#CE1B28);color:#fff;border-color:var(--cm-accent,#CE1B28);}
.cm-btn-primary:hover{background:#a01018;border-color:#a01018;color:#fff;transform:translateY(-2px);}
.cm-btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.6);}
.cm-btn-ghost:hover{background:#fff;color:#111;border-color:#fff;transform:translateY(-2px);}

/* ---- Entrance animation of content on the active slide ---- */
.cm-slide .cm-slide-label,
.cm-slide .cm-slide-title,
.cm-slide .cm-slide-text,
.cm-slide .cm-slide-actions{opacity:0;transform:translateY(28px);}
.cm-slide.is-active .cm-slide-label{animation:cm-rise .7s .25s ease forwards;}
.cm-slide.is-active .cm-slide-title{animation:cm-rise .7s .4s ease forwards;}
.cm-slide.is-active .cm-slide-text{animation:cm-rise .7s .55s ease forwards;}
.cm-slide.is-active .cm-slide-actions{animation:cm-rise .7s .7s ease forwards;}
@keyframes cm-rise{to{opacity:1;transform:translateY(0);}}

/* ---- Arrows ---- */
.cm-slider-arrow{
	position:absolute;top:50%;transform:translateY(-50%);
	width:56px;height:56px;
	display:flex;align-items:center;justify-content:center;
	background:rgba(255,255,255,.12);
	border:1px solid rgba(255,255,255,.35);
	color:#fff;font-size:22px;cursor:pointer;z-index:5;
	transition:background .2s ease,border-color .2s ease;
	-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);
}
.cm-slider-arrow:hover{background:var(--cm-accent,#CE1B28);border-color:var(--cm-accent,#CE1B28);}
.cm-prev{left:26px;}
.cm-next{right:26px;}

/* ---- Dots ---- */
.cm-slider-dots{
	position:absolute;left:50%;bottom:30px;transform:translateX(-50%);
	display:flex;gap:12px;z-index:5;
}
.cm-dot{
	width:12px;height:12px;border-radius:50%;padding:0;
	background:transparent;border:2px solid rgba(255,255,255,.7);
	cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.cm-dot:hover{border-color:#fff;}
.cm-dot.is-active{background:var(--cm-accent,#CE1B28);border-color:var(--cm-accent,#CE1B28);transform:scale(1.15);}

/* ---- Autoplay progress bar ---- */
.cm-slider-progress{
	position:absolute;left:0;bottom:0;width:100%;height:4px;
	background:rgba(255,255,255,.15);z-index:5;
}
.cm-slider-progress > span{
	display:block;height:100%;width:0;background:var(--cm-accent,#CE1B28);
}
.cm-slider.is-playing .cm-slider-progress > span{
	animation:cm-progress linear forwards;
	animation-duration:var(--cm-autoplay,6000ms);
}
@keyframes cm-progress{from{width:0;}to{width:100%;}}

/* ---- Responsive ---- */
@media (max-width:1024px){
	.cm-slide-inner{padding:0 30px;}
}
@media (max-width:768px){
	.cm-slider{height:74vh;min-height:440px;}
	.cm-slide-overlay{background:linear-gradient(90deg,rgba(10,12,16,.85) 0%,rgba(10,12,16,.6) 100%);}
	.cm-slide-label{padding-left:0;}
	.cm-slide-label:before{display:none;}
	.cm-slider-arrow{width:44px;height:44px;font-size:18px;}
	.cm-prev{left:12px;}
	.cm-next{right:12px;}
	.cm-btn{height:50px;padding:0 24px;}
}
@media (max-width:600px){
	/* Arrows overlap the headline on phones — rely on dots + swipe instead. */
	.cm-slider-arrow{display:none;}
}
@media (max-width:480px){
	.cm-slide-actions{gap:12px;}
	.cm-btn{width:100%;}
}

/* Respect reduced-motion preferences */
@media (prefers-reduced-motion:reduce){
	.cm-slide.is-active,
	.cm-slide.is-active .cm-slide-label,
	.cm-slide.is-active .cm-slide-title,
	.cm-slide.is-active .cm-slide-text,
	.cm-slide.is-active .cm-slide-actions,
	.cm-slider.is-playing .cm-slider-progress > span{animation:none;}
	.cm-slide .cm-slide-label,
	.cm-slide .cm-slide-title,
	.cm-slide .cm-slide-text,
	.cm-slide .cm-slide-actions{opacity:1;transform:none;}
}

/* (The header logo no longer overhangs into page content, so the slider sits
   flush under the header with no compensating margin needed.) */
