/* =====================================================================
   CircuitMind — Services (archive, single, grid widget)
   Visual-first, clean. Brand accent: --cm-accent (#CE1B28).
   ===================================================================== */
.cm-services-page,
.cm-service-single,
.cm-services{
	--cm-accent:#CE1B28;
	font-family:"Fira Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	color:#2b2f36;
}

/* Shared buttons (services pages don't load the slider CSS) */
.cm-btn{
	display:inline-flex;align-items:center;justify-content:center;
	height:54px;padding:0 32px;border:2px solid transparent;cursor:pointer;
	font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
	text-decoration:none;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,.65);}
.cm-btn-ghost:hover{background:#fff;color:#111;border-color:#fff;}

/* ---------------- Archive page hero ---------------- */
.cm-page-hero{
	position:relative;
	background-color:#14181f;background-position:center;background-size:cover;background-repeat:no-repeat;
	color:#fff;text-align:center;padding:104px 24px;
}
.cm-page-hero:not(.has-bg){
	background-image:radial-gradient(circle at 80% -20%,rgba(206,27,40,.35),transparent 45%);
}
.cm-page-hero.has-bg::before{
	content:"";position:absolute;inset:0;z-index:1;
	background:
		radial-gradient(circle at 82% 0%,rgba(206,27,40,.28),transparent 42%),
		rgba(13,16,21,var(--cm-hero-ov,.72));
}
.cm-page-hero-inner{position:relative;z-index:2;max-width:780px;margin:0 auto;}
.cm-page-hero-label{
	display:inline-block;color:#ff5a5a;font-size:13px;font-weight:700;
	letter-spacing:.2em;text-transform:uppercase;margin-bottom:16px;
}
.cm-page-hero-title{color:#fff;font-size:clamp(32px,4.4vw,52px);font-weight:700;margin:0 0 16px;line-height:1.1;}
.cm-page-hero-text{color:rgba(255,255,255,.8);font-size:18px;line-height:1.6;margin:0;}

/* ---------------- Services grid ---------------- */
.cm-services{padding:80px 24px;background:#f6f7f9;}
.cm-services-inner{max-width:1240px;margin:0 auto;}
.cm-services-grid{display:grid;gap:30px;}
.cm-services-grid.cm-cols-2{grid-template-columns:repeat(2,1fr);}
.cm-services-grid.cm-cols-3{grid-template-columns:repeat(3,1fr);}
.cm-services-grid.cm-cols-4{grid-template-columns:repeat(4,1fr);}

/* ---------------- Service card (modern full-bleed overlay) ---------------- */
.cm-service-card{position:relative;}
.cm-service-card-inner{
	position:relative;display:block;height:430px;overflow:hidden;border-radius:16px;
	text-decoration:none;color:#fff;isolation:isolate;
	box-shadow:0 14px 34px rgba(20,24,31,.14);
}
.cm-service-card-bg{
	position:absolute;inset:0;z-index:0;background:#1a1d24 center/cover no-repeat;
	transform:scale(1.02);transition:transform .8s cubic-bezier(.19,1,.22,1);
}
.cm-service-card-inner:hover .cm-service-card-bg{transform:scale(1.1);}
.cm-service-card-shade{
	position:absolute;inset:0;z-index:1;
	background:linear-gradient(180deg,rgba(15,18,24,0) 28%,rgba(15,18,24,.5) 58%,rgba(12,14,19,.94) 100%);
	transition:background .45s ease;
}
.cm-service-card-inner:hover .cm-service-card-shade{
	background:linear-gradient(180deg,rgba(206,27,40,.22) 0%,rgba(15,18,24,.55) 52%,rgba(10,12,16,.96) 100%);
}
.cm-service-card-index{
	position:absolute;top:22px;right:26px;z-index:3;
	font-size:14px;font-weight:700;letter-spacing:.12em;color:rgba(255,255,255,.6);
}
.cm-service-card-content{
	position:absolute;left:0;right:0;bottom:0;z-index:3;padding:30px 30px 32px;
	transform:translateY(56px);transition:transform .45s cubic-bezier(.19,1,.22,1);
}
.cm-service-card-inner:hover .cm-service-card-content{transform:translateY(0);}
.cm-service-card-content:before{
	content:"";position:absolute;left:30px;top:0;width:0;height:3px;
	background:var(--cm-accent,#CE1B28);transition:width .45s ease;
}
.cm-service-card-inner:hover .cm-service-card-content:before{width:48px;}
.cm-service-card-icon{
	display:inline-flex;align-items:center;justify-content:center;
	width:54px;height:54px;border-radius:14px;margin-bottom:18px;color:#fff;
	background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);
	-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
	transition:background .35s ease,border-color .35s ease,transform .35s ease;
}
.cm-service-card-inner:hover .cm-service-card-icon{background:var(--cm-accent,#CE1B28);border-color:var(--cm-accent,#CE1B28);transform:translateY(-2px);}
.cm-service-card-icon .cm-svg-icon{width:28px;height:28px;}
.cm-service-card-title{
	display:block;font-size:23px;font-weight:700;line-height:1.22;color:#fff;
	letter-spacing:-.01em;margin:0;text-shadow:0 2px 16px rgba(0,0,0,.3);
}
.cm-service-card-text{
	display:block;color:rgba(255,255,255,.82);font-size:15px;line-height:1.6;margin:0;
	max-height:0;opacity:0;overflow:hidden;
	transition:max-height .45s ease,opacity .4s ease,margin .45s ease;
}
.cm-service-card-inner:hover .cm-service-card-text{max-height:120px;opacity:1;margin:14px 0 0;}
.cm-service-card-more{
	display:inline-flex;align-items:center;gap:10px;margin-top:20px;
	color:#fff;font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
	opacity:0;transform:translateY(8px);transition:opacity .4s ease .05s,transform .4s ease .05s;
}
.cm-service-card-more .ui-icon-angle-right{
	display:inline-flex;width:24px;height:24px;border-radius:50%;align-items:center;justify-content:center;
	background:var(--cm-accent,#CE1B28);font-size:12px;
}
.cm-service-card-inner:hover .cm-service-card-more{opacity:1;transform:none;}

/* Touch devices (no hover): reveal content by default */
@media (hover:none){
	.cm-service-card-content{transform:none;}
	.cm-service-card-text{max-height:140px;opacity:1;margin:14px 0 0;}
	.cm-service-card-more{opacity:1;transform:none;}
}

/* ---------------- CTA band ---------------- */
.cm-cta-band{background:var(--cm-accent,#CE1B28);color:#fff;padding:56px 24px;}
.cm-cta-inner{
	max-width:1100px;margin:0 auto;display:flex;align-items:center;
	justify-content:space-between;gap:30px;flex-wrap:wrap;
}
.cm-cta-text h2{color:#fff;font-size:30px;font-weight:700;margin:0 0 6px;}
.cm-cta-text p{color:rgba(255,255,255,.9);font-size:17px;margin:0;}
.cm-cta-band .cm-btn-primary{background:#111;border-color:#111;}
.cm-cta-band .cm-btn-primary:hover{background:#000;border-color:#000;}

/* ---------------- Single service ---------------- */
.cm-service-hero{
	position:relative;min-height:420px;display:flex;align-items:flex-end;
	background:#14181f center/cover no-repeat;color:#fff;
}
.cm-service-hero-overlay{
	position:absolute;inset:0;
	background:linear-gradient(180deg,rgba(20,24,31,.45) 0%,rgba(20,24,31,.86) 100%);
}
.cm-service-hero-inner{position:relative;z-index:2;max-width:1240px;width:100%;margin:0 auto;padding:48px 24px;}
.cm-breadcrumb{font-size:14px;margin-bottom:18px;}
.cm-breadcrumb a{color:rgba(255,255,255,.8);text-decoration:none;}
.cm-breadcrumb a:hover{color:#fff;}
.cm-breadcrumb span{margin:0 8px;color:rgba(255,255,255,.5);}
.cm-service-hero-icon{
	display:inline-flex;align-items:center;justify-content:center;
	width:72px;height:72px;border-radius:50%;background:var(--cm-accent,#CE1B28);
	color:#fff;font-size:32px;margin-bottom:18px;box-shadow:0 10px 26px rgba(206,27,40,.45);
}
.cm-service-hero-title{color:#fff;font-size:clamp(30px,4.4vw,50px);font-weight:700;margin:0;line-height:1.08;}

.cm-service-body{padding:70px 24px;background:#fff;}
.cm-service-body-inner{
	max-width:1240px;margin:0 auto;display:grid;
	grid-template-columns:1fr 360px;gap:54px;align-items:start;
}
.cm-service-content{font-size:18px;line-height:1.8;color:#4a505a;}
.cm-service-content p:first-child{font-size:21px;color:#2b2f36;line-height:1.7;}

.cm-block-title{font-size:24px;font-weight:700;color:#161a20;margin:40px 0 22px;position:relative;padding-bottom:14px;}
.cm-block-title:after{content:"";position:absolute;left:0;bottom:0;width:54px;height:3px;background:var(--cm-accent,#CE1B28);}
.cm-feature-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:16px 28px;}
.cm-feature-list li{display:flex;align-items:flex-start;gap:12px;font-size:16px;color:#3a404a;line-height:1.5;}
.cm-feature-check{
	flex:none;width:26px;height:26px;border-radius:50%;
	display:inline-flex;align-items:center;justify-content:center;
	background:rgba(206,27,40,.1);color:var(--cm-accent,#CE1B28);font-size:13px;margin-top:1px;
}

/* Sidebar */
.cm-service-sidebar{display:flex;flex-direction:column;gap:24px;position:sticky;top:90px;}
.cm-sidebar-card{background:#f6f7f9;padding:28px;}
.cm-sidebar-title{font-size:18px;font-weight:700;margin:0 0 16px;color:#161a20;}
.cm-sidebar-nav ul{list-style:none;margin:0;padding:0;}
.cm-sidebar-nav li{margin:0 0 6px;}
.cm-sidebar-nav li a{
	display:flex;align-items:center;gap:12px;padding:13px 16px;
	background:#fff;color:#3a404a;text-decoration:none;font-weight:600;font-size:15px;
	border-left:3px solid transparent;transition:all .2s ease;
}
.cm-sidebar-nav li a span[class^="icon-"]{color:var(--cm-accent,#CE1B28);font-size:18px;}
.cm-sidebar-nav li a:hover{border-left-color:var(--cm-accent,#CE1B28);transform:translateX(3px);}
.cm-sidebar-nav li.is-active a{background:var(--cm-accent,#CE1B28);color:#fff;border-left-color:#111;}
.cm-sidebar-nav li.is-active a span[class^="icon-"]{color:#fff;}

.cm-sidebar-cta{background:#14181f;color:#fff;text-align:center;}
.cm-sidebar-cta h3{color:#fff;font-size:20px;margin:0 0 10px;}
.cm-sidebar-cta p{color:rgba(255,255,255,.78);font-size:15px;line-height:1.6;margin:0 0 20px;}
.cm-sidebar-cta .cm-btn{width:100%;}
.cm-sidebar-phone{display:inline-block;margin-top:16px;color:#fff;font-weight:700;font-size:18px;text-decoration:none;}
.cm-sidebar-phone:hover{color:#ff5a5a;}
.cm-sidebar-phone span{color:var(--cm-accent,#CE1B28);margin-right:6px;}

/* Pagination */
.cm-services .navigation,
.cm-services-page .pagination{margin-top:44px;text-align:center;}
.cm-services-page .page-numbers{
	display:inline-block;min-width:44px;padding:11px 14px;margin:0 4px;
	background:#fff;color:#3a404a;text-decoration:none;font-weight:700;
}
.cm-services-page .page-numbers.current,
.cm-services-page .page-numbers:hover{background:var(--cm-accent,#CE1B28);color:#fff;}

/* ---------------- Responsive ---------------- */
@media (max-width:1024px){
	.cm-services-grid.cm-cols-4{grid-template-columns:repeat(2,1fr);}
	.cm-service-body-inner{grid-template-columns:1fr;}
	.cm-service-sidebar{position:static;}
}
@media (max-width:768px){
	.cm-services-grid.cm-cols-2,
	.cm-services-grid.cm-cols-3{grid-template-columns:1fr;}
	.cm-feature-list{grid-template-columns:1fr;}
	.cm-cta-inner{flex-direction:column;text-align:center;}
}

/* =====================================================================
   Inline SVG service icons
   ===================================================================== */
.cm-svg-icon{display:block;width:1em;height:1em;}
.cm-service-icon .cm-svg-icon{width:30px;height:30px;}
.cm-service-hero-icon .cm-svg-icon{width:36px;height:36px;}
.cm-sidebar-nav li a .cm-svg-icon{width:19px;height:19px;color:var(--cm-accent,#CE1B28);flex:none;}
.cm-sidebar-nav li.is-active a .cm-svg-icon{color:#fff;}

/* =====================================================================
   Contact section
   ===================================================================== */
.cm-contact{
	--cm-accent:#CE1B28;
	font-family:"Fira Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	color:#2b2f36;padding:80px 24px;background:#fff;
}
.cm-contact-inner{
	max-width:1180px;margin:0 auto;display:grid;
	grid-template-columns:1fr 1.15fr;gap:56px;align-items:start;
}
.cm-contact-heading{font-size:clamp(28px,3.4vw,40px);font-weight:700;line-height:1.12;margin:8px 0 16px;color:#161a20;}
.cm-contact-lead{font-size:17px;line-height:1.7;color:#5b626b;margin:0 0 30px;}
.cm-contact-details{list-style:none;margin:0;padding:0;}
.cm-contact-details li{display:flex;gap:16px;align-items:flex-start;padding:14px 0;border-bottom:1px solid #eef0f3;}
.cm-contact-details .cm-ci{
	flex:none;width:46px;height:46px;border-radius:50%;
	display:inline-flex;align-items:center;justify-content:center;
	background:rgba(206,27,40,.1);color:var(--cm-accent,#CE1B28);font-size:19px;
}
.cm-contact-details strong{display:block;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:#9aa0a8;margin-bottom:3px;font-weight:700;}
.cm-contact-details a{color:#2b2f36;text-decoration:none;}
.cm-contact-details a:hover{color:var(--cm-accent,#CE1B28);}

.cm-contact-form-wrap{background:#f6f7f9;padding:38px;}
.cm-contact-form .cm-field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.cm-field{display:block;margin:0 0 18px;}
.cm-field > span{display:block;font-size:13px;font-weight:600;color:#454b54;margin-bottom:7px;}
.cm-field input,.cm-field select,.cm-field textarea{
	width:100%;box-sizing:border-box;padding:13px 15px;border:1px solid #d8dce1;
	background:#fff;font-family:inherit;font-size:15px;color:#2b2f36;transition:border-color .2s ease;
}
.cm-field input:focus,.cm-field select:focus,.cm-field textarea:focus{outline:0;border-color:var(--cm-accent,#CE1B28);}
.cm-contact-form .cm-btn{border:0;margin-top:6px;}
.cm-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.cm-notice{padding:15px 18px;margin:0 0 22px;font-size:15px;border-left:4px solid;}
.cm-notice-ok{background:#eaf7ee;border-color:#2faa55;color:#1d6b37;}
.cm-notice-err{background:#fdecec;border-color:#d83a3a;color:#a02020;}

@media (max-width:860px){
	.cm-contact-inner{grid-template-columns:1fr;gap:36px;}
	.cm-contact-form .cm-field-row{grid-template-columns:1fr;}
}

.cm-contact-eyebrow{display:inline-block;color:var(--cm-accent,#CE1B28);font-size:13px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;margin-bottom:14px;}

/* =====================================================================
   Single service — modern detail page additions
   ===================================================================== */
.cm-service-hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px;}
.cm-service-hero .cm-btn-ghost .icon-phone{margin-right:7px;}

/* What We Deliver — feature grid */
.cm-deliver-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.cm-deliver-item{
	display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:12px;
	background:#f6f7f9;font-size:15.5px;font-weight:600;color:#2b2f36;
	transition:transform .2s ease,box-shadow .2s ease;
}
.cm-deliver-item:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(20,24,31,.08);}
.cm-deliver-ico{
	flex:none;width:34px;height:34px;border-radius:50%;
	display:inline-flex;align-items:center;justify-content:center;
	background:var(--cm-accent,#CE1B28);color:#fff;font-size:13px;
}

/* Why choose us */
.cm-why{margin-top:48px;}
.cm-why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.cm-why-ico{
	display:inline-flex;align-items:center;justify-content:center;
	width:58px;height:58px;border-radius:15px;margin-bottom:16px;
	background:rgba(206,27,40,.1);color:var(--cm-accent,#CE1B28);font-size:25px;
}
.cm-why-item h4{font-size:18px;font-weight:700;margin:0 0 8px;color:#161a20;}
.cm-why-item p{font-size:15px;line-height:1.6;color:#5b626b;margin:0;}

/* Prev / Next service navigation */
.cm-service-nav{display:grid;grid-template-columns:1fr 1fr;}
.cm-service-nav-link{
	position:relative;display:flex;align-items:center;min-height:160px;padding:30px 44px;
	background:#14181f center/cover no-repeat;text-decoration:none;overflow:hidden;
}
.cm-service-nav-shade{position:absolute;inset:0;background:rgba(13,16,21,.74);transition:background .35s ease;}
.cm-service-nav-link:hover .cm-service-nav-shade{background:rgba(206,27,40,.8);}
.cm-service-nav-text{position:relative;z-index:2;display:flex;flex-direction:column;}
.cm-service-nav-label{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.72);margin-bottom:7px;}
.cm-service-nav-title{font-size:21px;font-weight:700;color:#fff;line-height:1.2;}
.cm-service-nav .cm-next{justify-content:flex-end;text-align:right;}
.cm-service-nav .cm-next .cm-service-nav-text{align-items:flex-end;}

/* Reveal-on-scroll (only active once JS adds .cm-has-reveal, so content is
   never hidden when JS is unavailable) */
.cm-has-reveal [data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.19,1,.22,1);}
.cm-has-reveal [data-reveal].is-visible{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){.cm-has-reveal [data-reveal]{opacity:1;transform:none;}}

@media (max-width:768px){
	.cm-deliver-grid{grid-template-columns:1fr;}
	.cm-why-grid{grid-template-columns:1fr;gap:22px;}
	.cm-service-nav{grid-template-columns:1fr;}
}

/* Single product — applications & brands */
.cm-applications{margin-top:46px;}
.cm-applications-text{
	display:flex;align-items:flex-start;gap:14px;margin:0;font-size:17px;line-height:1.6;color:#3a404a;
	background:#f6f7f9;padding:20px 24px;border-radius:12px;border-left:4px solid var(--cm-accent,#CE1B28);
}
.cm-applications-ico{
	flex:none;width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
	background:var(--cm-accent,#CE1B28);color:#fff;font-size:13px;margin-top:1px;
}
.cm-brands{margin-top:46px;}
.cm-brand-tags{display:flex;flex-wrap:wrap;gap:12px;}
.cm-brand-tag{display:inline-flex;align-items:center;padding:10px 20px;background:#14181f;color:#fff;border-radius:8px;font-weight:700;font-size:14px;}

/* =====================================================================
   Product card — framed, with frosted icon chip (distinct from service cards)
   ===================================================================== */
.cm-product-card{position:relative;height:100%;}
.cm-product-card-link{
	position:relative;display:flex;flex-direction:column;height:100%;overflow:hidden;
	background:#fff;border:1px solid #eef0f3;border-radius:18px;
	text-decoration:none;box-shadow:0 8px 30px rgba(20,24,31,.06);
	transition:transform .4s cubic-bezier(.19,1,.22,1),box-shadow .4s ease,border-color .4s ease;
}
.cm-product-card-link:hover{transform:translateY(-8px);box-shadow:0 30px 60px rgba(20,24,31,.15);border-color:#fff;}

/* Image-first: large, edge-to-edge image leads the card */
.cm-product-media{position:relative;height:256px;overflow:hidden;background:#13161c;}
.cm-product-bg{
	position:absolute;inset:0;background:center/cover no-repeat;
	transform:scale(1.04);transition:transform .9s cubic-bezier(.19,1,.22,1);
}
.cm-product-card-link:hover .cm-product-bg{transform:scale(1.12);}
.cm-product-media:after{
	content:"";position:absolute;inset:0;
	background:linear-gradient(180deg,rgba(15,18,24,.16) 0%,transparent 26%,transparent 72%,rgba(15,18,24,.18) 100%);
}

/* Frosted-glass icon chip on the image */
.cm-product-icon{
	position:absolute;top:16px;left:16px;z-index:2;width:46px;height:46px;border-radius:13px;
	display:inline-flex;align-items:center;justify-content:center;color:var(--cm-accent,#CE1B28);
	background:rgba(255,255,255,.86);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
	box-shadow:0 6px 16px rgba(0,0,0,.14);transition:background .3s ease,color .3s ease,transform .3s ease;
}
.cm-product-card-link:hover .cm-product-icon{background:var(--cm-accent,#CE1B28);color:#fff;transform:translateY(-2px);}
.cm-product-icon .cm-svg-icon{width:22px;height:22px;}

/* Body */
.cm-product-body{display:flex;flex-direction:column;flex:1;padding:24px 24px 22px;}
.cm-product-title{font-size:20px;font-weight:700;letter-spacing:-.015em;color:#13171d;margin:0 0 11px;line-height:1.28;transition:color .25s ease;}
.cm-product-card-link:hover .cm-product-title{color:var(--cm-accent,#CE1B28);}
.cm-product-text{
	font-size:14.5px;line-height:1.68;color:#6a7079;margin:0 0 24px;
	display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.cm-product-more{
	margin-top:auto;padding-top:18px;border-top:1px solid #f0f1f4;
	display:flex;align-items:center;justify-content:space-between;
	color:#13171d;font-weight:700;font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;
	transition:color .25s ease;
}
.cm-product-card-link:hover .cm-product-more{color:var(--cm-accent,#CE1B28);}
.cm-product-more .cm-arrow{
	display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;
	background:#f3f4f6;color:#13171d;font-size:12px;transition:background .3s ease,color .3s ease,transform .3s ease;
}
.cm-product-card-link:hover .cm-product-more .cm-arrow{background:var(--cm-accent,#CE1B28);color:#fff;transform:translateX(4px);}

/* =====================================================================
   Selected Clients & Projects
   ===================================================================== */
.cm-clients{
	--cm-accent:#CE1B28;
	font-family:"Fira Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	color:#2b2f36;padding:80px 24px;background:#fff;
}
.cm-clients-inner{max-width:1240px;margin:0 auto;}
.cm-clients-head{text-align:center;max-width:760px;margin:0 auto 50px;}
.cm-clients-eyebrow{display:inline-block;color:var(--cm-accent,#CE1B28);font-size:13px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;margin-bottom:14px;}
.cm-clients-title{font-size:clamp(28px,3.6vw,42px);font-weight:700;line-height:1.12;margin:0 0 16px;color:#161a20;}
.cm-clients-intro{font-size:17px;line-height:1.7;color:#5b626b;margin:0;}
/* Logo cards — white tile + grey name bar; monochrome → colour, name → red on hover */
.cm-clients-wall{
	display:grid;grid-template-columns:repeat(4,1fr);gap:22px;
}
.cm-client-cell{
	background:#fff;text-align:center;
	border:1px solid #ececef;border-radius:7px;overflow:hidden;
	display:flex;flex-direction:column;
	box-shadow:0 1px 2px rgba(20,24,31,.04);
	transition:box-shadow .25s ease,transform .25s ease,border-color .25s ease;
}
.cm-client-cell:hover{box-shadow:0 16px 34px rgba(20,24,31,.14);transform:translateY(-4px);border-color:#e3e3e7;}
.cm-client-logo{
	display:flex;align-items:center;justify-content:center;
	height:132px;padding:24px 28px;background:#fff;
}
.cm-client-logo img{
	max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;
	filter:grayscale(1);opacity:.85;transition:filter .3s ease,opacity .3s ease;
}
.cm-client-cell:hover .cm-client-logo img{filter:none;opacity:1;}
.cm-client-monogram{
	font-size:30px;font-weight:800;letter-spacing:.04em;color:#c5c8ce;line-height:1;
	transition:color .3s ease;
}
.cm-client-cell:hover .cm-client-monogram{color:var(--cm-accent,#CE1B28);}
.cm-client-foot{
	padding:13px 14px;border-top:1px solid #ededf0;
	background:linear-gradient(#f6f6f7,#ebebed);
}
.cm-client-name{
	display:block;font-size:15px;font-weight:600;color:#3c424a;line-height:1.3;margin:0;
	transition:color .25s ease;
}
.cm-client-cell:hover .cm-client-name{color:var(--cm-accent,#CE1B28);}
.cm-client-loc{
	display:block;font-size:12px;color:#9a9ea6;margin:3px 0 0;line-height:1.3;
}
@media (max-width:1024px){.cm-clients-wall{grid-template-columns:repeat(2,1fr);}}
@media (max-width:480px){.cm-clients-wall{grid-template-columns:1fr;}}

/* =====================================================================
   Products List (sidebar-style icon list — "All Products")
   ===================================================================== */
.cm-prodlist{
	--cm-accent:#CE1B28;
	font-family:"Fira Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.cm-prodlist-title{font-size:20px;font-weight:700;letter-spacing:-.01em;color:#13171d;margin:0 0 16px;}
.cm-prodlist-items{
	list-style:none;margin:0;padding:0;overflow:hidden;
	background:#fff;border:1px solid #eef0f3;border-radius:12px;
	box-shadow:0 6px 22px rgba(20,24,31,.05);
}
.cm-prodlist-item + .cm-prodlist-item{border-top:1px solid #eef0f3;}
.cm-prodlist-item a{
	display:flex;align-items:center;gap:14px;
	padding:15px 20px;text-decoration:none;color:#13171d;
	transition:background .2s ease,color .2s ease,padding-left .2s ease;
}
.cm-prodlist-icon{
	flex:0 0 auto;width:24px;height:24px;color:var(--cm-accent,#CE1B28);
	display:inline-flex;align-items:center;justify-content:center;
	transition:color .2s ease;
}
.cm-prodlist-icon .cm-svg-icon,.cm-prodlist-icon svg{width:22px;height:22px;display:block;}
.cm-prodlist-name{font-size:16px;font-weight:600;line-height:1.3;}
.cm-prodlist-item a:hover{background:var(--cm-accent,#CE1B28);color:#fff;padding-left:24px;}
.cm-prodlist-item a:hover .cm-prodlist-icon{color:#fff;}
.cm-prodlist-item.is-active a{background:var(--cm-accent,#CE1B28);color:#fff;}
.cm-prodlist-item.is-active a .cm-prodlist-icon{color:#fff;}

/* Products List — horizontal "chips" row variant */
.cm-prodlist--row .cm-prodlist-title{text-align:center;margin-bottom:26px;}
.cm-prodlist--row .cm-prodlist-items{
	display:flex;flex-wrap:wrap;justify-content:center;gap:14px;
	background:transparent;border:none;border-radius:0;box-shadow:none;overflow:visible;
}
.cm-prodlist--row .cm-prodlist-item{border:none;}
.cm-prodlist--row .cm-prodlist-item + .cm-prodlist-item{border-top:none;}
.cm-prodlist--row .cm-prodlist-item a{
	border:1px solid #e6e8ec;border-radius:50px;background:#fff;
	padding:12px 22px;gap:11px;box-shadow:0 4px 14px rgba(20,24,31,.05);
}
.cm-prodlist--row .cm-prodlist-icon{width:20px;height:20px;}
.cm-prodlist--row .cm-prodlist-icon .cm-svg-icon,.cm-prodlist--row .cm-prodlist-icon svg{width:20px;height:20px;}
.cm-prodlist--row .cm-prodlist-name{font-size:15px;}
/* Hover/active: fill red so the white text + icon stay visible (chip bg is #fff). */
.cm-prodlist--row .cm-prodlist-item a:hover,
.cm-prodlist--row .cm-prodlist-item.is-active a{
	background:var(--cm-accent,#CE1B28);color:#fff;border-color:var(--cm-accent,#CE1B28);padding-left:22px;
}
.cm-prodlist--row .cm-prodlist-item a:hover .cm-prodlist-name,
.cm-prodlist--row .cm-prodlist-item.is-active a .cm-prodlist-name{color:#fff;}
.cm-prodlist--row .cm-prodlist-item a:hover .cm-prodlist-icon,
.cm-prodlist--row .cm-prodlist-item.is-active a .cm-prodlist-icon{color:#fff;}

/* Products List chips on mobile — single horizontal scroll row (one line per
   pill) instead of stacking into an unappealing single column. */
@media (max-width:600px){
	.cm-prodlist--row .cm-prodlist-items{
		flex-wrap:nowrap;justify-content:flex-start;
		overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;
		scroll-snap-type:x proximity;
		gap:10px;padding:2px 16px 14px;
		scrollbar-width:none;-ms-overflow-style:none;
	}
	.cm-prodlist--row .cm-prodlist-items::-webkit-scrollbar{display:none;}
	.cm-prodlist--row .cm-prodlist-item{flex:0 0 auto;scroll-snap-align:start;}
	.cm-prodlist--row .cm-prodlist-item a{white-space:nowrap;padding:11px 18px;}
	.cm-prodlist--row .cm-prodlist-name{font-size:14px;}
}

/* =====================================================================
   Projects portfolio
   ===================================================================== */
.cm-projects-page .cm-services{background:#f6f7f9;}

/* Filter bar */
.cm-project-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 0 40px;}
.cm-filter{
	-webkit-appearance:none;appearance:none;cursor:pointer;font-family:inherit;
	border:1px solid #e3e5ea;background:#fff;color:#3c424a;
	font-size:14px;font-weight:600;padding:10px 20px;border-radius:50px;
	transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.cm-filter:hover{border-color:var(--cm-accent,#CE1B28);color:var(--cm-accent,#CE1B28);}
.cm-filter.is-active{background:var(--cm-accent,#CE1B28);border-color:var(--cm-accent,#CE1B28);color:#fff;}
.cm-project-empty{text-align:center;color:#6a7079;font-size:16px;padding:30px 0;}

/* Project card (image-first) */
.cm-project-card{position:relative;height:100%;}
.cm-project-card-link{
	position:relative;display:flex;flex-direction:column;height:100%;overflow:hidden;
	background:#fff;border:1px solid #eef0f3;border-radius:18px;text-decoration:none;
	box-shadow:0 8px 30px rgba(20,24,31,.06);
	transition:transform .4s cubic-bezier(.19,1,.22,1),box-shadow .4s ease,border-color .4s ease;
}
.cm-project-card-link:hover{transform:translateY(-8px);box-shadow:0 30px 60px rgba(20,24,31,.15);border-color:#fff;}
.cm-project-media{position:relative;height:230px;overflow:hidden;background:#13161c;}
.cm-project-bg{position:absolute;inset:0;background:center/cover no-repeat;transform:scale(1.04);transition:transform .9s cubic-bezier(.19,1,.22,1);}
.cm-project-card-link:hover .cm-project-bg{transform:scale(1.12);}
.cm-project-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,18,24,.12) 0%,transparent 30%,transparent 64%,rgba(15,18,24,.42) 100%);}
.cm-project-badge{
	position:absolute;top:14px;left:14px;z-index:2;
	background:var(--cm-accent,#CE1B28);color:#fff;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
	padding:6px 12px;border-radius:6px;box-shadow:0 6px 16px rgba(206,27,40,.32);
}
.cm-project-body{display:flex;flex-direction:column;flex:1;padding:22px 24px 20px;}
.cm-project-meta{display:block;font-size:12.5px;font-weight:600;color:#8a909a;margin-bottom:7px;}
.cm-project-title{font-size:19px;font-weight:700;letter-spacing:-.015em;color:#13171d;margin:0 0 10px;line-height:1.3;transition:color .25s ease;}
.cm-project-card-link:hover .cm-project-title{color:var(--cm-accent,#CE1B28);}
.cm-project-text{font-size:14.5px;line-height:1.65;color:#6a7079;margin:0 0 22px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.cm-project-more{margin-top:auto;padding-top:16px;border-top:1px solid #f0f1f4;display:flex;align-items:center;justify-content:space-between;color:#13171d;font-weight:700;font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;transition:color .25s ease;}
.cm-project-card-link:hover .cm-project-more{color:var(--cm-accent,#CE1B28);}
.cm-project-more .cm-arrow{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#f3f4f6;color:#13171d;font-size:12px;transition:background .3s ease,color .3s ease,transform .3s ease;}
.cm-project-card-link:hover .cm-project-more .cm-arrow{background:var(--cm-accent,#CE1B28);color:#fff;transform:translateX(4px);}

/* Single project — hero meta */
.cm-project-hero-badge{display:inline-block;background:var(--cm-accent,#CE1B28);color:#fff;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:7px 14px;border-radius:6px;margin-bottom:16px;}
.cm-project-hero-meta{list-style:none;display:flex;flex-wrap:wrap;gap:10px 26px;margin:18px 0 0;padding:0;}
.cm-project-hero-meta li{display:inline-flex;align-items:center;gap:9px;color:rgba(255,255,255,.9);font-size:15px;}
.cm-project-hero-meta [class^="icon-"]{color:#ff5a5a;font-size:16px;}

/* Story (challenge/solution/outcome) */
.cm-project-story{margin-top:40px;display:grid;gap:22px;}
.cm-project-step{display:flex;gap:20px;align-items:flex-start;background:#fff;border:1px solid #eef0f3;border-radius:16px;padding:24px 26px;box-shadow:0 6px 22px rgba(20,24,31,.05);}
.cm-project-step-no{flex:0 0 auto;width:48px;height:48px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:var(--cm-accent,#CE1B28);color:#fff;font-weight:800;font-size:16px;letter-spacing:.02em;}
.cm-project-step h3{margin:2px 0 8px;font-size:19px;font-weight:700;color:#13171d;}
.cm-project-step p{margin:0;color:#5b626b;font-size:15.5px;line-height:1.7;}

/* Gallery */
.cm-project-gallery{margin-top:44px;}
.cm-project-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.cm-gallery-item{position:relative;display:block;border-radius:12px;overflow:hidden;aspect-ratio:4/3;cursor:zoom-in;}
.cm-gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.cm-gallery-item:hover img{transform:scale(1.07);}
.cm-gallery-item:after{content:"";position:absolute;inset:0;background:rgba(206,27,40,0);transition:background .3s ease;}
.cm-gallery-item:hover:after{background:rgba(206,27,40,.18);}

/* Project facts sidebar */
.cm-project-facts ul{list-style:none;margin:0;padding:0;}
.cm-project-facts li{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid #eef0f3;font-size:14.5px;}
.cm-project-facts li:last-child{border-bottom:none;}
.cm-project-facts li span{color:#8a909a;}
.cm-project-facts li strong{color:#13171d;text-align:right;font-weight:600;}

/* Lightbox */
body.cm-lb-open{overflow:hidden;}
.cm-lightbox{position:fixed;inset:0;z-index:100000;display:none;align-items:center;justify-content:center;background:rgba(8,10,14,.92);}
.cm-lightbox.is-open{display:flex;}
.cm-lightbox .cm-lb-img{max-width:90vw;max-height:86vh;border-radius:8px;box-shadow:0 30px 80px rgba(0,0,0,.5);}
.cm-lightbox button{position:absolute;border:0;background:rgba(255,255,255,.1);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease;}
.cm-lightbox button:hover{background:var(--cm-accent,#CE1B28);}
.cm-lb-close{top:24px;right:24px;width:46px;height:46px;border-radius:50%;font-size:26px;line-height:1;}
.cm-lb-prev,.cm-lb-next{top:50%;transform:translateY(-50%);width:54px;height:54px;border-radius:50%;font-size:30px;line-height:1;}
.cm-lb-prev{left:24px;}
.cm-lb-next{right:24px;}

@media (max-width:1024px){.cm-projects-grid.cm-cols-3{grid-template-columns:repeat(2,1fr);}}
@media (max-width:768px){
	.cm-projects-grid.cm-cols-3{grid-template-columns:1fr;}
	.cm-project-gallery-grid{grid-template-columns:repeat(2,1fr);}
	.cm-project-filters{gap:8px;}.cm-filter{padding:9px 16px;font-size:13px;}
	.cm-lb-prev,.cm-lb-next{width:44px;height:44px;font-size:24px;}
}
@media (max-width:480px){.cm-project-gallery-grid{grid-template-columns:1fr 1fr;}}
