/* Concept Interiors — custom homepage build (hero + header) */

:root{
	--ci-black:#0b0b0c;
	--ci-black-soft:#141414;
	--ci-gold:#c9973f;
	--ci-gold-light:#e9c877;
	--ci-btn:#c9bda7;
	--ci-btn-hover:#dcd4c6;
	--ci-white:#f7f5f0;
	--ci-gray:#a8a49c;
	--ci-header-h:92px;
	--ci-radius-lg:28px;
	--ci-radius-md:20px;
	--ci-card-bg:#161513;
	--ci-card-border:rgba(255,255,255,.07);
}

.ci-home, .ci-home body{margin:0;padding:0;}
.ci-home *{box-sizing:border-box;}
.ci-home{
	background:var(--ci-black);
	color:var(--ci-white);
	font-family:"DM Sans", "Helvetica Neue", Arial, sans-serif;
	-webkit-font-smoothing:antialiased;
}
html[dir="rtl"] .ci-home{font-family:"Cairo", "Segoe UI", Tahoma, Arial, sans-serif;}
html[dir="rtl"] .ci-hero-title,
html[dir="rtl"] .ci-title,
html[dir="rtl"] .ci-philosophy blockquote,
html[dir="rtl"] .ci-stat-num,
html[dir="rtl"] .ci-service-num,
html[dir="rtl"] .ci-process-circle{font-family:"Noto Naskh Arabic", "Cairo", Georgia, serif;}

/* ---------- Header ---------- */
.ci-header{
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:var(--ci-header-h);
	z-index:1000;
	display:flex;
	align-items:center;
	background:rgba(10,10,10,0.28);
	-webkit-backdrop-filter:blur(14px) saturate(140%);
	backdrop-filter:blur(14px) saturate(140%);
	border-bottom:1px solid rgba(255,255,255,0.08);
	transition:background .4s ease, border-color .4s ease, height .4s ease;
}
.ci-header.is-scrolled{
	background:rgba(8,8,8,0.62);
	border-bottom-color:rgba(255,255,255,0.12);
}
.ci-header-inner{
	width:100%;
	max-width:1440px;
	margin:0 auto;
	padding:0 40px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:24px;
}
.ci-logo{display:flex;align-items:center;flex:0 0 auto;}
.ci-logo img{height:34px;width:auto;display:block;}

.ci-nav{display:flex;align-items:center;gap:8px;flex:1 1 auto;justify-content:center;}
.ci-nav a{
	position:relative;
	display:inline-block;
	color:var(--ci-white);
	text-decoration:none;
	font-size:13px;
	letter-spacing:.06em;
	text-transform:uppercase;
	padding:10px 16px;
	white-space:nowrap;
	opacity:.9;
}
.ci-nav a::before{
	content:"";
	position:absolute;
	left:16px;
	right:16px;
	bottom:6px;
	height:1px;
	background:var(--ci-gold-light);
	opacity:0;
	transform:scaleX(0);
	transform-origin:left;
	transition:transform .35s ease, opacity .35s ease;
}
.ci-nav a:hover{opacity:1;}
.ci-nav a:hover::before{opacity:1;transform:scaleX(1);}
.ci-nav a.is-active,
.ci-mobile-nav a.is-active{color:var(--ci-gold-light);opacity:1;}
.ci-nav a.is-active::before{opacity:1;transform:scaleX(1);}

.ci-header-cta{display:flex;align-items:center;gap:18px;flex:0 0 auto;}
.ci-phone{
	color:var(--ci-white);
	text-decoration:none;
	font-size:13px;
	letter-spacing:.03em;
	opacity:.9;
	display:none;
}

/* ---------- Header language dropdown ---------- */
.ci-lang-dropdown{position:relative;}
.ci-lang-toggle{
	display:flex;align-items:center;gap:6px;
	background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:999px;
	padding:9px 14px;color:var(--ci-white);cursor:pointer;
	font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-family:inherit;
	transition:border-color .25s ease, background-color .25s ease;
}
.ci-lang-toggle svg{width:15px;height:15px;flex:0 0 auto;}
.ci-lang-toggle:hover{border-color:rgba(201,151,63,.6);}
.ci-lang-dropdown.is-open .ci-lang-toggle{border-color:var(--ci-gold);background:rgba(201,151,63,.12);}
.ci-lang-caret{width:11px!important;height:11px!important;transition:transform .25s ease;}
.ci-lang-dropdown.is-open .ci-lang-caret{transform:rotate(180deg);}
.ci-lang-menu{
	position:absolute;top:calc(100% + 12px);right:0;z-index:1001;
	min-width:128px;margin:0;padding:8px;list-style:none;
	background:rgba(10,10,10,.94);
	-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
	border:1px solid rgba(255,255,255,.12);border-radius:14px;
	box-shadow:0 20px 50px rgba(0,0,0,.4);
	opacity:0;visibility:hidden;transform:translateY(-8px);
	transition:opacity .25s ease, transform .25s ease, visibility 0s linear .25s;
}
.ci-lang-dropdown.is-open .ci-lang-menu{opacity:1;visibility:visible;transform:translateY(0);transition:opacity .25s ease, transform .25s ease;}
.ci-lang-menu li{list-style:none;margin:0;}
.ci-lang-menu a{
	display:block;padding:9px 12px;border-radius:9px;
	color:var(--ci-gray);text-decoration:none;font-size:13px;letter-spacing:.04em;text-transform:uppercase;
	transition:background-color .2s ease, color .2s ease;
}
.ci-lang-menu a:hover{background:rgba(255,255,255,.07);color:var(--ci-white);}
.ci-lang-menu li.current-lang a,
.ci-lang-menu a[aria-current="true"]{color:var(--ci-gold-light);font-weight:600;}
html[dir="rtl"] .ci-lang-menu{right:auto;left:0;}
.ci-mobile-lang{padding:4px 20px 22px;}
.ci-mobile-lang .ci-lang-switch{justify-content:center;}
.ci-mobile-cta{border-bottom:none!important;padding-top:10px;}
.ci-mobile-cta .ci-btn{
	display:flex;justify-content:center;width:100%;
	padding:15px 30px;border:1px solid var(--ci-btn);border-bottom:1px solid var(--ci-btn);
	font-size:12px;letter-spacing:.08em;
}

/* Below ~560px the header CTA button plus the burger no longer both fit
   next to the logo -- drop the button from the fixed bar and rely on the
   copy already inside the mobile menu instead. */
@media (max-width: 560px){
	.ci-btn.ci-header-btn{display:none;}
}
.ci-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	border:1px solid var(--ci-btn);
	color:var(--ci-white);
	background:transparent;
	text-decoration:none;
	font-size:12px;
	letter-spacing:.08em;
	text-transform:uppercase;
	padding:14px 30px;
	border-radius:999px;
	transition:background .3s ease, color .3s ease;
	white-space:nowrap;
}
.ci-btn:hover{background:var(--ci-btn);color:var(--ci-black);}
.ci-btn-solid{background:var(--ci-btn);color:var(--ci-black);}
.ci-btn-solid:hover{background:var(--ci-btn-hover);color:var(--ci-black);}

.ci-burger{
	display:none;
	flex-direction:column;
	gap:5px;
	background:none;
	border:0;
	padding:8px;
	cursor:pointer;
}
.ci-burger span{width:24px;height:1px;background:var(--ci-white);display:block;}

/* ---------- Hero ---------- */
.ci-hero{
	position:relative;
	height:100svh;
	min-height:560px;
	width:100%;
	overflow:hidden;
	display:flex;
	align-items:flex-end;
}
.ci-hero-media{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;}
.ci-hero-media video,
.ci-hero-media img{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center;
}
.ci-hero-overlay{
	position:absolute;
	inset:0;
	background:
		linear-gradient(180deg, rgba(8,8,8,.55) 0%, rgba(8,8,8,.25) 30%, rgba(8,8,8,.55) 78%, rgba(6,6,6,.92) 100%);
}
.ci-hero-content{
	position:relative;
	z-index:2;
	width:100%;
	padding:0 56px 44px;
}
.ci-hero-title{
	font-family:"Marcellus", Georgia, serif;
	font-weight:400;
	font-size:clamp(2.3rem, 5.2vw, 4.5rem);
	line-height:1.06;
	margin:0 0 18px;
	max-width:900px;
	color:var(--ci-white);
}
.ci-hero-sub{
	font-size:clamp(1rem, 1.6vw, 1.25rem);
	color:var(--ci-gold-light);
	margin:0 0 22px;
	font-weight:500;
}
.ci-hero-desc{
	font-size:14.5px;
	line-height:1.75;
	color:var(--ci-gray);
	max-width:580px;
	margin:0 0 36px;
}
.ci-hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;}
.ci-hero-tagline{
	margin-top:34px;
	font-size:13px;
	letter-spacing:.3em;
	text-transform:uppercase;
	color:var(--ci-white);
	opacity:.75;
}

/* Homepage hero content sits further in from the edge and higher off the
   bottom than the shared .ci-hero-content default, which reads too cramped
   into the corner on a full-bleed 100svh hero. */
#top.ci-hero .ci-hero-content{padding:0 96px 104px;}

.ci-scroll-cue{
	position:absolute;
	bottom:28px;
	right:40px;
	z-index:2;
	width:1px;
	height:56px;
	background:linear-gradient(180deg, rgba(255,255,255,.05), var(--ci-gold-light));
}
.ci-hero-page{height:auto;min-height:0;padding-top:calc(var(--ci-header-h) + 90px);padding-bottom:90px;align-items:flex-start;}
.ci-hero-page .ci-hero-content{padding-bottom:0;}
.ci-hero-page .ci-hero-title{margin-bottom:0;}

/* About & Contact have a video background -- fixed at ~600px so more of the
   footage is visible, instead of the image-hero pages' content-driven height. */
/* A fixed 600px reads fine on a laptop's shorter viewport but looks
   disproportionately shallow on a large monitor's much taller one -- scale
   with viewport height instead, floored/capped so it stays sane at both ends. */
/* Unlike the shared .ci-hero-page (top-aligned, for image heroes), a video
   hero puts its caption at the bottom -- the overlay gradient is already
   darkest there, so text reads clearly and covers less of the footage. */
.ci-hero-page.ci-hero-video{
	height:65vh;min-height:600px;max-height:900px;
	align-items:flex-end;
	padding-top:calc(var(--ci-header-h) + 24px);
	padding-bottom:64px;
}
.ci-hero-page.ci-hero-video .ci-hero-title{font-size:clamp(2.1rem, 4.2vw, 3.4rem);}
.ci-hero-page.ci-hero-video .ci-hero-desc{font-size:13.5px;margin-bottom:0;}
@media (max-width: 640px){
	.ci-hero-page.ci-hero-video{
		height:460px;min-height:460px;
		padding-top:calc(var(--ci-header-h) + 16px);
		padding-bottom:32px;
	}
	.ci-hero-page.ci-hero-video .ci-hero-title{font-size:clamp(1.6rem, 7vw, 2.3rem);}
	.ci-hero-page.ci-hero-video .ci-hero-desc{display:none;}
}

/* ---------- Responsive ---------- */
@media (max-width: 980px){
	.ci-nav, .ci-phone, .ci-lang-dropdown{display:none;}
	.ci-burger{display:flex;}
	.ci-header-inner{padding:0 20px;}
	.ci-hero-content{padding:0 20px 40px;}
	#top.ci-hero .ci-hero-content{padding:0 40px 72px;}
	.ci-scroll-cue{display:none;}
}
@media (max-width: 560px){
	.ci-hero-title{font-size:clamp(2.1rem, 8vw, 2.8rem);}
	.ci-hero-desc{font-size:12.5px;margin-bottom:24px;-webkit-line-clamp:4;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;}
	.ci-hero-tagline{display:none;}
	#top.ci-hero .ci-hero-content{padding:0 28px 60px;}
}

html[dir="rtl"] .ci-scroll-cue{right:auto;left:40px;}
html[dir="rtl"] .ci-nav a::before{left:16px;right:16px;transform-origin:right;}

/* Arabic/Kurdish is cursive script -- the site's wide letter-spacing (built
   for uppercase Latin) breaks letter joining, so it's dropped in RTL. */
html[dir="rtl"] .ci-home *{letter-spacing:normal!important;}

/* ---------- Mobile nav panel ---------- */
.ci-burger.is-active span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.ci-burger.is-active span:nth-child(2){opacity:0;}
.ci-burger.is-active span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
.ci-burger span{transition:transform .25s ease, opacity .25s ease;}

.ci-mobile-nav{
	position:fixed;
	top:var(--ci-header-h);
	left:0;
	width:100%;
	max-height:0;
	overflow:hidden;
	background:rgba(8,8,8,0.96);
	-webkit-backdrop-filter:blur(14px);
	backdrop-filter:blur(14px);
	z-index:999;
	transition:max-height .35s ease;
}
.ci-mobile-nav.is-open{max-height:80vh;overflow-y:auto;}
.ci-mobile-nav ul{list-style:none;margin:0;padding:14px 20px 26px;}
.ci-mobile-nav a{
	display:block;
	padding:14px 4px;
	color:var(--ci-white);
	text-decoration:none;
	font-size:14px;
	letter-spacing:.06em;
	text-transform:uppercase;
	border-bottom:1px solid rgba(255,255,255,0.08);
}

/* ================= Shared section scaffolding ================= */
.ci-container{width:100%;max-width:1320px;margin:0 auto;padding:0 40px;}
.ci-section{position:relative;padding:120px 0;}
.ci-section-tight{padding:90px 0;}
.ci-section-alt{background:var(--ci-black-soft);}
.ci-eyebrow{
	display:block;
	color:var(--ci-gold);
	font-size:12px;
	letter-spacing:.24em;
	text-transform:uppercase;
	font-weight:700;
	margin:0 0 18px;
}
.ci-title{
	font-family:"Marcellus", Georgia, serif;
	font-weight:400;
	font-size:clamp(1.8rem, 3.4vw, 2.7rem);
	line-height:1.18;
	margin:0 0 24px;
	color:var(--ci-white);
}
.ci-lead{font-size:15.5px;line-height:1.9;color:var(--ci-gray);margin:0 0 20px;max-width:620px;}
.ci-center{text-align:center;margin-left:auto;margin-right:auto;}
.ci-rule{width:56px;height:2px;background:var(--ci-gold);margin:0 0 28px;}
.ci-center .ci-rule{margin-left:auto;margin-right:auto;}

/* ================= About ================= */
.ci-about-grid{display:grid;grid-template-columns:1fr 0.92fr;gap:70px;align-items:center;}
.ci-about-figure{position:relative;padding-top:112%;overflow:hidden;border-radius:var(--ci-radius-lg);background:var(--ci-card-bg);}
.ci-about-figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:var(--ci-radius-lg);}
.ci-stat-row{display:flex;gap:44px;margin-top:36px;flex-wrap:wrap;}
.ci-stat-row div{min-width:110px;}
.ci-stat-num{font-family:"Marcellus", Georgia, serif;color:var(--ci-gold-light);font-size:2.1rem;display:block;}
.ci-stat-label{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ci-gray);}

/* ================= Philosophy (quote strip) ================= */
.ci-philosophy{
	padding:100px 0;
	text-align:center;
	background:
		radial-gradient(ellipse at 50% 0%, rgba(201,151,63,0.10), transparent 60%),
		var(--ci-black);
	border-top:1px solid rgba(255,255,255,.06);
	border-bottom:1px solid rgba(255,255,255,.06);
}
.ci-philosophy blockquote{
	margin:0 auto;
	max-width:780px;
	font-family:"Marcellus", Georgia, serif;
	font-style:italic;
	font-size:clamp(1.3rem, 2.6vw, 1.9rem);
	line-height:1.55;
	color:var(--ci-white);
}
.ci-philosophy blockquote span{color:var(--ci-gold-light);font-style:normal;}
.ci-philosophy p.ci-lead{margin:26px auto 0;}

/* ================= Services ================= */
.ci-services-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:22px;}
.ci-service-card{background:var(--ci-card-bg);border:1px solid var(--ci-card-border);border-radius:var(--ci-radius-md);padding:38px 30px;}
.ci-service-num{font-family:"Marcellus", Georgia, serif;color:var(--ci-gold);font-size:1.4rem;display:block;margin-bottom:22px;}
.ci-service-card h3{font-size:16px;letter-spacing:.02em;color:var(--ci-white);margin:0 0 12px;font-weight:600;}
.ci-service-card p{font-size:13.5px;line-height:1.75;color:var(--ci-gray);margin:0;}

/* ================= Process ================= */
.ci-process-track{display:grid;grid-template-columns:repeat(5, 1fr);gap:24px;position:relative;}
.ci-process-track::before{
	content:"";position:absolute;top:27px;left:10%;right:10%;height:1px;
	background:linear-gradient(90deg, transparent, rgba(201,151,63,.55), transparent);
}
.ci-process-step{position:relative;text-align:center;}
.ci-process-circle{
	width:56px;height:56px;border-radius:50%;
	border:1px solid var(--ci-gold);
	display:flex;align-items:center;justify-content:center;
	font-family:"Marcellus", Georgia, serif;color:var(--ci-gold-light);font-size:15px;
	margin:0 auto 26px;background:var(--ci-black);position:relative;z-index:1;
}
.ci-process-step h3{font-size:14.5px;color:var(--ci-white);margin:0 0 10px;letter-spacing:.02em;}
.ci-process-step p{font-size:13px;line-height:1.7;color:var(--ci-gray);margin:0;padding:0 6px;}

/* ================= Industries ================= */
.ci-industries-list{display:grid;grid-template-columns:repeat(4, 1fr);gap:16px;margin-top:20px;}
.ci-industry-item{
	background:var(--ci-card-bg);
	border:1px solid var(--ci-card-border);
	border-radius:var(--ci-radius-md);
	padding:30px 22px;
	font-size:13.5px;
	letter-spacing:.04em;
	text-transform:uppercase;
	color:var(--ci-white);
	text-align:center;
}

/* ================= Numbers / Why us ================= */
.ci-numbers-top{display:grid;grid-template-columns:1.1fr 0.9fr;gap:60px;align-items:center;margin-bottom:60px;}
.ci-numbers-top .ci-title{max-width:520px;}
.ci-numbers-globe{position:relative;overflow:visible;}
.ci-numbers-globe img{
	width:100%;max-width:460px;display:block;margin:0 auto;
	filter:drop-shadow(0 20px 50px rgba(0,0,0,.5));
	transition:transform .6s cubic-bezier(.22,1,.36,1), filter .6s ease;
	will-change:transform;
	cursor:pointer;
}
.ci-numbers-globe img:hover{
	transform:scale(1.06) rotate(4deg);
	filter:drop-shadow(0 26px 60px rgba(0,0,0,.55)) drop-shadow(0 0 40px rgba(201,151,63,.35));
}

.ci-numbers-grid{display:grid;grid-template-columns:repeat(5, 1fr);gap:20px;}
.ci-number-item{
	text-align:center;
	background:var(--ci-card-bg);
	border:1px solid var(--ci-card-border);
	border-radius:var(--ci-radius-md);
	padding:30px 18px 26px;
	display:flex;
	flex-direction:column;
	align-items:center;
}
.ci-number-item img{width:auto;height:92px;max-width:100%;object-fit:contain;margin:0 auto 14px;display:block;}
.ci-number-fallback{
	font-family:"Marcellus", Georgia, serif;color:var(--ci-gold);font-size:2.6rem;line-height:1;margin-bottom:14px;
}
.ci-number-cap{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ci-gray);}

.ci-why-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:70px;}
.ci-why-item{
	display:flex;align-items:center;gap:22px;
	background:var(--ci-card-bg);
	border:1px solid var(--ci-card-border);
	border-radius:var(--ci-radius-md);
	padding:30px 32px;
}
.ci-why-text{flex:1 1 auto;}
.ci-why-item h4{font-size:15px;color:var(--ci-white);margin:0 0 8px;}
.ci-why-item p{font-size:13.5px;line-height:1.7;color:var(--ci-gray);margin:0;}
.ci-why-icon{
	flex:0 0 auto;
	width:60px;height:60px;
	display:flex;align-items:center;justify-content:center;
	color:var(--ci-gold-light);
	filter:drop-shadow(0 0 12px rgba(201,151,63,.45));
}
.ci-why-icon svg{width:100%;height:100%;}

/* ================= Portfolio ================= */
.ci-portfolio-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:24px;}
.ci-portfolio-item{position:relative;overflow:hidden;padding-top:126%;border-radius:var(--ci-radius-md);cursor:pointer;}
.ci-portfolio-item:focus-visible{outline:2px solid var(--ci-gold-light);outline-offset:3px;}
.ci-portfolio-item img{
	position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
	transition:transform .7s cubic-bezier(.22,1,.36,1);
}
.ci-portfolio-item:hover img{transform:scale(1.1);}
.ci-portfolio-caption{
	position:absolute;left:0;right:0;bottom:0;
	padding:26px 22px;
	background:linear-gradient(180deg, transparent, rgba(6,6,6,.92));
	transition:transform .5s ease;
}
.ci-portfolio-item:hover .ci-portfolio-caption{transform:translateY(-6px);}
.ci-portfolio-cat{display:block;color:var(--ci-gold-light);font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px;}
.ci-portfolio-caption h3{color:var(--ci-white);font-size:15px;margin:0;font-weight:600;}
.ci-portfolio-zoom{
	position:absolute;top:16px;right:16px;z-index:2;
	width:36px;height:36px;border-radius:50%;
	display:flex;align-items:center;justify-content:center;
	background:rgba(8,8,8,.55);color:var(--ci-white);
	-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
	opacity:0;transform:translateY(-6px);
	transition:opacity .35s ease, transform .35s ease;
}
.ci-portfolio-zoom svg{width:17px;height:17px;}
.ci-portfolio-item:hover .ci-portfolio-zoom{opacity:1;transform:translateY(0);}
html[dir="rtl"] .ci-portfolio-zoom{right:auto;left:16px;}

/* ---------- Lightbox ---------- */
body.ci-lightbox-locked{overflow:hidden;}
.ci-lightbox{
	position:fixed;inset:0;z-index:10000;
	display:flex;flex-direction:column;align-items:center;justify-content:center;
	background:rgba(4,4,4,.94);
	opacity:0;visibility:hidden;
	transition:opacity .3s ease, visibility 0s linear .3s;
	padding:40px;
}
.ci-lightbox.is-open{opacity:1;visibility:visible;transition:opacity .3s ease;}
.ci-lightbox-stage{max-width:min(1100px, 90vw);max-height:72vh;display:flex;align-items:center;justify-content:center;}
.ci-lightbox-img{max-width:100%;max-height:72vh;border-radius:10px;box-shadow:0 30px 80px rgba(0,0,0,.6);object-fit:contain;}
.ci-lightbox-info{margin-top:22px;text-align:center;}
.ci-lightbox-cat{display:block;color:var(--ci-gold-light);font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px;}
.ci-lightbox-title{color:var(--ci-white);font-family:"Marcellus", Georgia, serif;font-weight:400;font-size:1.3rem;margin:0 0 8px;}
html[dir="rtl"] .ci-lightbox-title{font-family:"Noto Naskh Arabic", "Cairo", Georgia, serif;}
.ci-lightbox-count{color:var(--ci-gray);font-size:12.5px;letter-spacing:.04em;display:inline-block;direction:ltr;unicode-bidi:isolate;}
.ci-lightbox-close,
.ci-lightbox-nav{
	position:absolute;
	display:flex;align-items:center;justify-content:center;
	background:rgba(255,255,255,.06);color:var(--ci-white);
	border:1px solid rgba(255,255,255,.16);border-radius:50%;
	cursor:pointer;transition:background .25s ease, border-color .25s ease;
}
.ci-lightbox-close:hover,
.ci-lightbox-nav:hover{background:var(--ci-gold);border-color:var(--ci-gold);color:var(--ci-black);}
.ci-lightbox-close{top:24px;right:24px;width:44px;height:44px;}
.ci-lightbox-close svg{width:18px;height:18px;}
.ci-lightbox-nav{top:50%;transform:translateY(-50%);width:52px;height:52px;}
.ci-lightbox-nav svg{width:20px;height:20px;}
.ci-lightbox-prev{left:24px;}
.ci-lightbox-next{right:24px;}
html[dir="rtl"] .ci-lightbox-close{right:auto;left:24px;}
html[dir="rtl"] .ci-lightbox-prev{left:auto;right:24px;}
html[dir="rtl"] .ci-lightbox-next{right:auto;left:24px;}
/* Swapping position alone would leave a ">" chevron sitting on the left
   (pointing away from the direction it now advances) -- flip both glyphs so
   each still points toward its own side, matching the RTL reading flow. */
html[dir="rtl"] .ci-lightbox-nav svg{transform:scaleX(-1);}
@media (max-width: 640px){
	.ci-lightbox{padding:20px;}
	.ci-lightbox-nav{width:42px;height:42px;}
	.ci-lightbox-close{width:38px;height:38px;top:14px;}
	.ci-lightbox-close{right:14px;}
	html[dir="rtl"] .ci-lightbox-close{left:14px;}
	.ci-lightbox-prev{left:8px;}
	.ci-lightbox-next{right:8px;}
	html[dir="rtl"] .ci-lightbox-prev{right:8px;}
	html[dir="rtl"] .ci-lightbox-next{left:8px;}
}

/* ================= Final CTA ================= */
.ci-final-cta{
	padding:110px 0;
	text-align:center;
	background:linear-gradient(180deg, var(--ci-black) 0%, #17130a 100%);
	border-top:1px solid rgba(201,151,63,.25);
}
.ci-final-cta .ci-title{max-width:720px;}

/* ================= Contact ================= */
.ci-contact-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:80px;}
.ci-office{margin-bottom:34px;}
.ci-office h4{color:var(--ci-gold-light);font-size:13px;letter-spacing:.1em;text-transform:uppercase;margin:0 0 10px;}
.ci-office p{font-size:14.5px;color:var(--ci-gray);margin:0 0 4px;line-height:1.7;}
.ci-office a{color:var(--ci-white);text-decoration:none;}
.ci-office a:hover{color:var(--ci-gold-light);}

.ci-contact-form{background:var(--ci-card-bg);border:1px solid var(--ci-card-border);border-radius:var(--ci-radius-lg);padding:44px;}
.ci-contact-form .wpcf7-form p{margin:0 0 20px;}
.ci-contact-form label{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ci-gray);margin-bottom:8px;}
.ci-contact-form input[type=text],
.ci-contact-form input[type=email],
.ci-contact-form input[type=tel],
.ci-contact-form select,
.ci-contact-form textarea{
	width:100%;
	background:transparent;
	border:0;
	border-bottom:1px solid rgba(255,255,255,.22);
	color:var(--ci-white);
	font-size:15px;
	padding:10px 2px;
	font-family:inherit;
}
.ci-contact-form select option{color:#111;}
.ci-contact-form textarea{min-height:110px;resize:vertical;}
.ci-contact-form input:focus,
.ci-contact-form select:focus,
.ci-contact-form textarea:focus{outline:none;border-bottom-color:var(--ci-gold);}
.ci-contact-form input[type=submit]{
	width:auto;border:1px solid var(--ci-btn);background:var(--ci-btn);color:var(--ci-black);
	text-transform:uppercase;letter-spacing:.08em;font-size:12px;padding:15px 36px;cursor:pointer;
	border-radius:999px;font-family:inherit;font-weight:600;
	transition:background .3s ease;
}
.ci-contact-form input[type=submit]:hover{background:var(--ci-btn-hover);}
.ci-contact-form .wpcf7-spinner{display:none;}
.ci-contact-form .wpcf7-not-valid-tip{color:#e08b8b;font-size:12px;margin-top:6px;}
.ci-contact-form .wpcf7-response-output{
	margin-top:20px;border-color:rgba(201,151,63,.5)!important;color:var(--ci-gray);font-size:13px;
}

/* ================= Footer ================= */
.ci-footer{background:#050505;padding:70px 0 28px;border-top:1px solid rgba(255,255,255,.06);}
.ci-footer-top{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:50px;margin-bottom:56px;}
.ci-footer-logo img{height:30px;margin-bottom:18px;}
.ci-footer p{font-size:13.5px;line-height:1.8;color:var(--ci-gray);margin:0 0 8px;}
.ci-footer h5{color:var(--ci-white);font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin:0 0 20px;}
.ci-footer ul{list-style:none;margin:0;padding:0;}
.ci-footer ul li{margin-bottom:12px;}
.ci-footer a{color:var(--ci-gray);text-decoration:none;font-size:13.5px;}
.ci-footer a:hover{color:var(--ci-gold-light);}
.ci-footer-bottom{
	display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;
	padding-top:26px;border-top:1px solid rgba(255,255,255,.06);
	font-size:12.5px;color:#6b6862;
}
.ci-lang-switch{display:flex;align-items:center;gap:8px;}
.ci-lang-switch li{list-style:none;margin:0;padding:0;}
.ci-lang-switch a{
	display:inline-flex;align-items:center;justify-content:center;
	min-width:36px;height:28px;padding:0 12px;
	border:1px solid rgba(255,255,255,.16);border-radius:999px;
	color:#8a867d;text-transform:uppercase;font-size:11px;letter-spacing:.04em;
	text-decoration:none;transition:border-color .25s ease, color .25s ease, background-color .25s ease;
}
.ci-lang-switch a:hover{border-color:rgba(201,151,63,.55);color:var(--ci-white);}
.ci-lang-switch li.current-lang a,
.ci-lang-switch a[aria-current="true"]{
	background:var(--ci-gold);border-color:var(--ci-gold);color:var(--ci-black);font-weight:700;
}
.ci-lang-switch li.current-lang a:hover,
.ci-lang-switch a[aria-current="true"]:hover{background:var(--ci-gold-light);border-color:var(--ci-gold-light);}
html[dir="rtl"] .ci-lang-switch a{letter-spacing:normal;}

/* ================= Responsive ================= */
@media (max-width: 1080px){
	.ci-about-grid{grid-template-columns:1fr;gap:44px;}
	.ci-about-figure{padding-top:70%;}
	.ci-services-grid{grid-template-columns:repeat(2, 1fr);}
	.ci-process-track{grid-template-columns:repeat(1, 1fr);gap:36px;}
	.ci-process-track::before{display:none;}
	.ci-industries-list{grid-template-columns:repeat(2, 1fr);}
	.ci-numbers-top{grid-template-columns:1fr;gap:36px;text-align:center;}
	.ci-numbers-top .ci-title{margin-left:auto;margin-right:auto;}
	.ci-numbers-grid{grid-template-columns:repeat(2, 1fr);row-gap:20px;}
	.ci-why-grid{grid-template-columns:1fr;}
	.ci-portfolio-grid{grid-template-columns:repeat(2, 1fr);}
	.ci-contact-grid{grid-template-columns:1fr;gap:50px;}
	.ci-footer-top{grid-template-columns:1fr;gap:36px;}
}
@media (max-width: 640px){
	.ci-section{padding:70px 0;}
	.ci-container{padding:0 20px;}
	.ci-services-grid{grid-template-columns:1fr;}
	.ci-industries-list{grid-template-columns:1fr 1fr;}
	.ci-portfolio-grid{grid-template-columns:1fr;}
}

/* ================= Cookie consent (re-skinned to match brand) ================= */
/* CookieAdmin renders its own inline colors per element, so !important is
   required here to override them without touching the plugin's files. */
/* Our hero copy sits bottom-left; keep the consent box clear of it on the right instead. */
.ci-home .cookieadmin_law_container.cookieadmin_left{
	left:auto!important;
	right:20px!important;
}
/* RTL mirrors the hero text to the bottom-right, so the consent box moves
   back to the left to stay clear of it. */
html[dir="rtl"] .ci-home .cookieadmin_law_container.cookieadmin_left{
	right:auto!important;
	left:20px!important;
}
.ci-home .cookieadmin_consent_inside,
.ci-home .cookieadmin_cookie_modal{
	background-color:var(--ci-black-soft)!important;
	border-color:rgba(201,151,63,.35)!important;
	border-radius:var(--ci-radius-md)!important;
	color:var(--ci-white)!important;
	font-family:"DM Sans","Helvetica Neue",Arial,sans-serif;
}
.ci-home #cookieadmin_notice_title,
.ci-home #cookieadmin_notice,
.ci-home .cookieadmin_cookie_modal p,
.ci-home .cookieadmin_cookie_modal label{
	color:var(--ci-white)!important;
}
.ci-home button.cookieadmin_btn{
	background-color:transparent!important;
	border:1px solid rgba(255,255,255,.3)!important;
	color:var(--ci-white)!important;
	border-radius:999px!important;
	text-transform:uppercase;
	font-size:12px;
	letter-spacing:.05em;
}
.ci-home button.cookieadmin_accept_btn{
	background-color:var(--ci-btn)!important;
	border-color:var(--ci-btn)!important;
	color:var(--ci-black)!important;
}
.ci-home button.cookieadmin_re_consent{
	background-color:var(--ci-btn)!important;
}
