/* ==========================================================================
   SKEDIA Elementor Widgets — shared stylesheet
   Every rule is scoped under .sk (the root class of each widget) and uses
   two classes, so theme / Elementor-kit rules like ".elementor-kit-5 a"
   don't override it.
   ========================================================================== */

.sk {
	--sk-blue: #22446C;
	--sk-ink: #08090b;
	--sk-soft: #f4f5f7;
	--sk-muted: #737983;
	--sk-line: #dfe2e6;
	--sk-light-accent: #b8cce1;
	--sk-serif: Georgia, "Times New Roman", serif;
	--sk-sans: Inter, Arial, Helvetica, sans-serif;
	--sk-container: 1240px;
	--sk-header-h: 100px;
	font-family: var(--sk-sans);
	line-height: 1.7;
	color: var(--sk-ink);
	box-sizing: border-box;
	-webkit-font-smoothing: antialiased;
}
.sk *, .sk *::before, .sk *::after { box-sizing: border-box; }
.sk img { display: block; max-width: 100%; height: auto; border: 0; border-radius: 0; box-shadow: none; }
.sk a, .sk a:hover, .sk a:focus { text-decoration: none; color: inherit; }
.sk h1, .sk h2, .sk h3, .sk h4 { font-family: var(--sk-serif); font-weight: 400; color: inherit; text-transform: none; padding: 0; }
.sk p { margin: 0; }
.sk figure { margin: 0; }
.sk :where(button) { font: inherit; line-height: normal; border-radius: 0; box-shadow: none; text-transform: none; }

.sk .sk-container { width: min(var(--sk-container), calc(100% - 56px)); margin-left: auto; margin-right: auto; }

/* ---------- Section variants ---------- */
.sk.sk-section { padding: 110px 0; background: #fff; color: var(--sk-ink); }
.sk.sk-section--soft { background: var(--sk-soft); }
.sk.sk-section--dark { background: #07090c; color: #fff; }
.sk.sk-section--blue { background: var(--sk-blue); color: #fff; }

/* ---------- Type ---------- */
.sk .sk-eyebrow { display: inline-block; font-size: 10px; line-height: 1.6; letter-spacing: .22em; text-transform: uppercase; font-weight: 800; color: var(--sk-blue); }
.sk-section--dark .sk-eyebrow, .sk-section--blue .sk-eyebrow,
.sk.sk-hero .sk-eyebrow { color: var(--sk-light-accent); }

.sk .sk-heading { max-width: 850px; margin-bottom: 55px; }
.sk .sk-heading--center { text-align: center; margin-left: auto; margin-right: auto; }
.sk .sk-heading__title { font-size: clamp(42px, 5.2vw, 72px); line-height: 1.02; letter-spacing: -.045em; margin: 14px 0 20px; }
.sk .sk-heading__text { max-width: 720px; color: var(--sk-muted); font-size: 15px; }
.sk .sk-heading--center .sk-heading__text { margin: 0 auto; }
.sk-section--dark .sk-heading__text, .sk-section--blue .sk-heading__text { color: #aeb5bd; }
.sk .sk-heading .sk-btn { margin-top: 30px; }
.sk .sk-title em { font-style: normal; color: var(--sk-light-accent); }
.sk-section--light .sk-title em, .sk-section--soft .sk-title em { color: var(--sk-blue); }

.sk .sk-link { display: inline-flex; align-items: center; gap: 12px; margin-top: 15px; color: var(--sk-blue); font-size: 10px; letter-spacing: .13em; text-transform: uppercase; font-weight: 800; transition: gap .25s; }
.sk .sk-link:hover { gap: 18px; color: var(--sk-blue); }
.sk-section--dark .sk-link, .sk-section--blue .sk-link,
.sk-section--dark .sk-link:hover, .sk-section--blue .sk-link:hover,
.sk .sk-card--dark .sk-link, .sk .sk-card--dark .sk-link:hover { color: #c8d9ea; }

/* ---------- Buttons ---------- */
.sk .sk-btn-row { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 33px; }
.sk .sk-btn { display: inline-flex; align-items: center; gap: 14px; padding: 14px 18px; border: 1px solid rgba(255,255,255,.32); background: transparent; color: #fff; font-size: 10px; line-height: 1.4; text-transform: uppercase; letter-spacing: .12em; font-weight: 800; transition: background-color .25s, border-color .25s, color .25s; }
.sk .sk-btn:hover { color: #fff; border-color: #fff; }
.sk .sk-btn--primary { background: var(--sk-blue); border-color: var(--sk-blue); }
.sk .sk-btn--primary:hover { background: #1a3655; border-color: #1a3655; }
.sk-section--light .sk-btn--outline, .sk-section--soft .sk-btn--outline { color: var(--sk-blue); border-color: var(--sk-blue); }
.sk-section--light .sk-btn--outline:hover, .sk-section--soft .sk-btn--outline:hover { background: var(--sk-blue); color: #fff; }
.sk .sk-btn__circle { width: 30px; height: 30px; border: 1px solid currentColor; border-radius: 50%; display: grid; place-items: center; font-size: 12px; transition: transform .25s; }
.sk .sk-btn:hover .sk-btn__circle { transform: rotate(45deg); }

.sk .sk-more { margin-top: 45px; text-align: center; }
.sk .sk-btn-row--center { justify-content: center; }
.sk .sk-heading .sk-btn-row { margin-top: 30px; }
.sk .sk-heading .sk-btn-row .sk-btn { margin-top: 0; }

/* ---------- Header ---------- */
.sk.sk-header { position: relative; z-index: 100; height: var(--sk-header-h); background: #fff; border-bottom: 1px solid #e7e7e7; }
.sk.sk-header--fixed { position: fixed; top: 0; left: 0; right: 0; }
.admin-bar .sk.sk-header--fixed { top: 32px; }
.sk .sk-header__inner { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.sk .sk-header__brand img { width: 142px; height: auto; max-height: calc(var(--sk-header-h) - 16px); object-fit: contain; object-position: left center; }
.sk .sk-header__menu { display: flex; align-items: center; gap: 30px; }
.sk .sk-header__link { position: relative; padding: 29px 0; font-size: 11px; text-transform: uppercase; letter-spacing: .13em; color: #1c1d1f; }
.sk .sk-header__link::after { content: ""; position: absolute; inset-inline-start: 0; bottom: 19px; width: 0; height: 2px; background: var(--sk-blue); transition: width .25s; }
.sk .sk-header__link:hover, .sk .sk-header__link.is-active { color: #1c1d1f; }
.sk .sk-header__link:hover::after, .sk .sk-header__link.is-active::after { width: 100%; }
.sk .sk-header__cta, .sk .sk-header__cta:hover { padding: 12px 18px; background: var(--sk-blue); color: #fff; font-size: 11px; text-transform: uppercase; letter-spacing: .13em; }
.sk .sk-header__toggle { display: none; width: 44px; height: 44px; padding: 10px; margin: 0; border: 0; background: none; cursor: pointer; color: #1c1d1f; }
.sk .sk-header__toggle span { display: block; height: 2px; margin: 5px 0; background: currentColor; transition: transform .25s, opacity .25s; }
.sk .sk-header__toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.sk .sk-header__toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.sk .sk-header__toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Hero / banners start under a fixed header */
.sk.sk-hero, .sk.sk-project-hero { padding-top: var(--sk-header-h); }

/* ---------- Home hero ---------- */
.sk.sk-hero { position: relative; overflow: hidden; background: #060709; color: #fff; }
.sk .sk-hero__inner { min-height: 760px; display: grid; grid-template-columns: 48% 52%; align-items: stretch; }
.sk .sk-hero__copy { position: relative; z-index: 2; display: flex; align-items: center; padding-block: 65px; padding-inline: 0 45px; }
.sk .sk-hero__copy-inner { max-width: 700px; }
.sk .sk-hero__title { font-size: clamp(52px, 6.7vw, 92px); line-height: .94; letter-spacing: -.055em; margin: 20px 0 25px; color: #fff; }
.sk .sk-hero__title em { color: #b9cde3; }
.sk .sk-hero__text { max-width: 610px; color: #c6cbd1; font-size: 16px; line-height: 1.85; }
.sk .sk-hero__media { position: relative; min-height: 760px; overflow: hidden; }
.sk .sk-hero__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sk .sk-hero__media::before { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, #060709 0%, rgba(6,7,9,.05) 35%, rgba(6,7,9,0) 100%); }
.sk .sk-hero__label { position: absolute; z-index: 2; inset-inline-end: 25px; bottom: 24px; color: rgba(255,255,255,.7); font-size: 9px; letter-spacing: .2em; text-transform: uppercase; }

/* ---------- Page banner ---------- */
.sk.sk-banner { position: relative; isolation: isolate; overflow: hidden; min-height: 465px; padding: calc(var(--sk-header-h) + 50px) 0 85px; background: var(--sk-blue); color: #fff; }
.sk .sk-banner__bg { position: absolute; inset: 0; z-index: -2; background: center / cover no-repeat; }
.sk .sk-banner__overlay { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(34,68,108,.82) 0%, rgba(34,68,108,.48) 52%, rgba(34,68,108,.18) 100%); }
.sk.sk-banner::after { content: ""; position: absolute; z-index: 1; inset: 18px; border: 1px solid rgba(255,255,255,.16); pointer-events: none; }
.sk .sk-banner__inner { position: relative; z-index: 2; }
.sk .sk-breadcrumb { font-size: 9px; text-transform: uppercase; letter-spacing: .18em; color: #c4cbd3; }
.sk .sk-banner__title { font-size: clamp(50px, 6vw, 82px); line-height: .98; letter-spacing: -.045em; margin: 18px 0; color: #fff; }
.sk .sk-banner__text { max-width: 700px; color: #d4d8dc; }
.sk .sk-banner__meta { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 24px; color: #cbd6e1; font-size: 9px; letter-spacing: .16em; text-transform: uppercase; }
.sk.sk-banner--article { display: flex; align-items: center; min-height: 560px; padding-top: 180px; background: #111; }
.sk.sk-banner--article .sk-banner__overlay { background: linear-gradient(90deg, rgba(0,0,0,.86), rgba(0,0,0,.28)); }
.sk.sk-banner--article .sk-banner__inner { width: min(var(--sk-container), calc(100% - 56px)); }
.sk.sk-banner--article .sk-banner__title { max-width: 1050px; font-size: clamp(48px, 6vw, 82px); }

/* ---------- Project hero ---------- */
.sk.sk-project-hero { position: relative; overflow: hidden; min-height: 610px; background: #111; color: #fff; }
.sk .sk-project-hero__bg { position: absolute; inset: 0; background: center / cover no-repeat; transform: scale(1.01); }
.sk.sk-project-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.82) 0%, rgba(0,0,0,.48) 48%, rgba(0,0,0,.18) 100%); }
.sk .sk-project-hero__inner { position: relative; z-index: 2; min-height: 510px; display: flex; align-items: flex-end; padding-bottom: 72px; }
.sk .sk-project-hero__copy { max-width: 950px; }
.sk .sk-project-hero__copy .sk-breadcrumb { margin-bottom: 15px; }
.sk .sk-project-hero__title { font-size: clamp(52px, 6.3vw, 88px); line-height: .95; letter-spacing: -.055em; margin: 0 0 20px; color: #fff; }
.sk .sk-project-hero__text { max-width: 700px; color: #e0e3e6; font-size: 15px; }

/* ---------- Image + text ---------- */
.sk .sk-split { display: grid; grid-template-columns: 1fr 1fr; gap: 75px; align-items: center; }
.sk .sk-split--reverse > .sk-visual { order: 2; }
.sk .sk-visual { position: relative; overflow: hidden; background: #222; }
.sk .sk-visual--frame { min-height: 590px; }
.sk .sk-visual--frame img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sk .sk-visual--frame::after { content: ""; position: absolute; inset: 20px; border: 1px solid rgba(255,255,255,.2); pointer-events: none; }
.sk .sk-visual--plain { background: none; }
.sk .sk-visual--plain img { width: 100%; }
.sk .sk-visual__label { position: absolute; z-index: 2; inset-inline-start: 22px; bottom: 20px; color: #fff; font-size: 9px; letter-spacing: .2em; text-transform: uppercase; }
.sk .sk-copy__title { font-size: clamp(42px, 4.6vw, 66px); line-height: 1.03; letter-spacing: -.04em; margin: 13px 0 22px; }
.sk .sk-copy__body p { color: var(--sk-muted); font-size: 15px; margin: 0 0 18px; }
.sk-section--dark .sk-copy__body p, .sk-section--blue .sk-copy__body p { color: #c1c7ce; }

/* ---------- Cards ---------- */
.sk .sk-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; }
/* Lines drawn by the cards themselves, so an unfilled last row stays empty. */
.sk .sk-cards > * { box-shadow: 0 0 0 1px var(--sk-line); }
.sk-section--dark .sk-cards > *, .sk-section--blue .sk-cards > * { box-shadow: 0 0 0 1px rgba(255,255,255,.12); }
.sk .sk-card { display: flex; flex-direction: column; align-items: flex-start; min-height: 330px; padding: 30px; background: #fff; color: var(--sk-ink); }
.sk .sk-card--dark { background: #0b0d10; color: #fff; }
.sk .sk-card__img { align-self: stretch; height: 230px; margin: -30px -30px 28px; overflow: hidden; }
.sk .sk-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.sk .sk-card:hover .sk-card__img img { transform: scale(1.045); }
.sk .sk-card__label { font-size: 10px; color: var(--sk-blue); letter-spacing: .18em; text-transform: uppercase; }
.sk .sk-card--dark .sk-card__label { color: #a9c0d9; }
.sk .sk-card__title { font-size: 28px; line-height: 1.08; margin: 18px 0 13px; }
.sk .sk-card__text { font-size: 13px; color: var(--sk-muted); }
.sk .sk-card--dark .sk-card__text { color: #aab1b9; }
.sk .sk-card .sk-link { margin-top: auto; padding-top: 15px; }

/* ---------- Projects ---------- */
.sk .sk-filters { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 25px; }
.sk .sk-filter { margin: 0; padding: 10px 15px; background: #fff; border: 1px solid var(--sk-line); color: var(--sk-ink); font-size: 9px; letter-spacing: .11em; text-transform: uppercase; cursor: pointer; transition: background-color .2s, color .2s; }
.sk .sk-filter:hover, .sk .sk-filter.is-active, .sk .sk-filter:focus { background: var(--sk-blue); border-color: var(--sk-blue); color: #fff; }
.sk .sk-projects { display: grid; grid-template-columns: 1.18fr .82fr; gap: 16px; }
.sk .sk-project { position: relative; display: block; min-height: 500px; overflow: hidden; background: #111; color: #fff; }
.sk .sk-projects:not(.is-filtered) .sk-project:nth-child(4n+2),
.sk .sk-projects:not(.is-filtered) .sk-project:nth-child(4n+3) { min-height: 340px; }
.sk .sk-projects.is-filtered .sk-project { min-height: 420px; }
.sk .sk-project.is-hidden { display: none; }
.sk .sk-project img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .55s; }
.sk .sk-project::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 35%, rgba(0,0,0,.88)); }
.sk .sk-project:hover img { transform: scale(1.045); }
.sk .sk-project__info { position: absolute; z-index: 2; inset-inline: 28px; bottom: 25px; color: #fff; }
.sk .sk-project__info small { font-size: 9px; text-transform: uppercase; letter-spacing: .18em; color: #bfd2e5; }
.sk .sk-project__title { font-size: 31px; line-height: 1.05; margin: 7px 0 4px; color: #fff; }
.sk .sk-project__info p { font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.sk .sk-projects-empty { display: none; margin-top: 25px; padding: 35px; text-align: center; border: 1px solid var(--sk-line); color: var(--sk-muted); font-size: 13px; }
.sk .sk-projects-empty.is-visible { display: block; }

/* ---------- Mosaic ---------- */
.sk .sk-mosaic { display: grid; grid-template-columns: 1.15fr .85fr; grid-auto-rows: 300px; gap: 16px; }
.sk .sk-tile { position: relative; display: block; overflow: hidden; background: #222; }
.sk .sk-tile:first-child { grid-row: span 2; }
.sk .sk-tile img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.sk .sk-tile:hover img { transform: scale(1.04); }
.sk .sk-tile::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(0,0,0,.6)); }
.sk .sk-tile__caption { position: absolute; z-index: 2; inset-inline-start: 22px; bottom: 18px; color: #fff; }
.sk .sk-tile__caption small { font-size: 9px; text-transform: uppercase; letter-spacing: .15em; color: #c6d8ea; }
.sk .sk-tile__title { font-size: 25px; margin: 4px 0; color: #fff; }

/* ---------- Process steps ---------- */
.sk .sk-steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1px; background: rgba(255,255,255,.16); }
.sk .sk-step { min-height: 245px; padding: 31px 23px; background: #090b0e; color: #fff; }
.sk .sk-step__num { font-size: 10px; color: #a9c0d9; letter-spacing: .16em; text-transform: uppercase; }
.sk .sk-step__title { font-size: 26px; line-height: 1.05; margin: 23px 0 11px; }
.sk .sk-step__text { font-size: 12px; color: #9ca4ad; }

/* ---------- Stats ---------- */
.sk .sk-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.sk .sk-stat { padding: 30px 20px; }
.sk .sk-stat strong { display: block; font-family: var(--sk-serif); font-size: 42px; font-weight: 400; line-height: 1.3; }
.sk .sk-stat span { display: block; font-size: 9px; text-transform: uppercase; letter-spacing: .12em; }
.sk .sk-stats--boxed { gap: 1px; background: var(--sk-line); border: 1px solid var(--sk-line); }
.sk .sk-stats--boxed .sk-stat { background: #fff; color: #111; }
.sk .sk-stats--boxed .sk-stat span { color: #555; }
.sk .sk-stats--lines { border-top: 1px solid rgba(255,255,255,.16); border-bottom: 1px solid rgba(255,255,255,.16); }
.sk .sk-stats--lines .sk-stat { border-inline-end: 1px solid rgba(255,255,255,.16); }
.sk .sk-stats--lines .sk-stat:last-child { border-inline-end: 0; }
.sk-section--light .sk-stats--lines, .sk-section--soft .sk-stats--lines,
.sk-section--light .sk-stats--lines .sk-stat, .sk-section--soft .sk-stats--lines .sk-stat { border-color: var(--sk-line); }

/* ---------- FAQ ---------- */
.sk .sk-faq { max-width: 900px; margin: 0 auto; }
.sk .sk-faq__item { border-top: 1px solid var(--sk-line); padding: 22px 0; }
.sk-section--dark .sk-faq__item, .sk-section--blue .sk-faq__item { border-color: rgba(255,255,255,.16); }
.sk .sk-faq__q { display: flex; justify-content: space-between; align-items: center; gap: 20px; width: 100%; margin: 0; padding: 0; border: 0; background: none; color: inherit; font-family: var(--sk-serif); font-size: 22px; line-height: 1.3; text-align: start; cursor: pointer; }
.sk .sk-faq__q:hover, .sk .sk-faq__q:focus { background: none; color: inherit; }
.sk .sk-faq__icon { color: var(--sk-blue); font-family: var(--sk-sans); transition: transform .25s; }
.sk-section--dark .sk-faq__icon, .sk-section--blue .sk-faq__icon { color: var(--sk-light-accent); }
.sk .sk-faq__q[aria-expanded="true"] .sk-faq__icon { transform: rotate(45deg); }
.sk .sk-faq__a { padding-top: 12px; color: var(--sk-muted); font-size: 13px; }
.sk-section--dark .sk-faq__a, .sk-section--blue .sk-faq__a { color: #aeb5bd; }

/* ---------- CTA notice ---------- */
.sk .sk-notice { max-width: 850px; margin: 0 auto; padding: 22px 26px; border: 1px solid rgba(255,255,255,.18); color: #aeb5bd; font-size: 13px; text-align: center; }
.sk-section--light .sk-notice, .sk-section--soft .sk-notice { border-color: var(--sk-line); color: var(--sk-muted); }
.sk.sk-cta .sk-heading { margin-bottom: 0; }
.sk.sk-cta .sk-heading + .sk-notice { margin-top: 40px; }

/* ---------- Contact ---------- */
.sk .sk-contact { display: grid; grid-template-columns: .85fr 1.15fr; gap: 80px; }
.sk .sk-contact .sk-heading { margin-bottom: 0; }
.sk .sk-contact-list { margin-top: 30px; }
.sk .sk-contact-list > div { padding: 16px 0; border-bottom: 1px solid var(--sk-line); }
.sk .sk-contact-list small { display: block; color: var(--sk-blue); font-size: 9px; text-transform: uppercase; letter-spacing: .13em; font-weight: 800; }
.sk .sk-contact-list__link:hover { color: var(--sk-blue); }
.sk .sk-form { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-content: start; }
.sk .sk-form__full { grid-column: 1 / -1; }
.sk .sk-form input, .sk .sk-form select, .sk .sk-form textarea { width: 100%; margin: 0; padding: 15px 16px; border: 1px solid #d9dde2; border-radius: 0; background: #fff; color: #222; font: inherit; font-size: 12px; line-height: 1.5; box-shadow: none; outline: none; }
.sk .sk-form select { appearance: none; -webkit-appearance: none; padding-right: 40px; background-image: linear-gradient(45deg, transparent 50%, #737983 50%), linear-gradient(135deg, #737983 50%, transparent 50%); background-position: calc(100% - 20px) 50%, calc(100% - 15px) 50%; background-size: 5px 5px; background-repeat: no-repeat; }
.sk .sk-form input:focus, .sk .sk-form select:focus, .sk .sk-form textarea:focus { border-color: var(--sk-blue); }
.sk .sk-form .is-invalid { border-color: #c0392b; }
.sk .sk-form textarea { min-height: 160px; resize: vertical; }
.sk .sk-form__hp { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.sk .sk-form__note { font-size: 11px; color: #777; }
.sk .sk-form__submit { margin: 0; padding: 16px 20px; border: 0; background: var(--sk-blue); color: #fff; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; cursor: pointer; transition: background-color .25s; }
.sk .sk-form__submit:hover, .sk .sk-form__submit:focus { background: #1a3655; color: #fff; }
.sk .sk-form__submit[disabled] { opacity: .6; cursor: wait; }
.sk .sk-form__status:empty { display: none; }
.sk .sk-form__status { padding: 14px 16px; font-size: 13px; background: #eef3f8; color: var(--sk-blue); }
.sk .sk-form__status.is-error { background: #fbeeee; color: #a3261a; }
.sk-section--dark .sk-contact-list > div, .sk-section--blue .sk-contact-list > div { border-color: rgba(255,255,255,.16); }
.sk-section--dark .sk-contact-list small, .sk-section--blue .sk-contact-list small { color: var(--sk-light-accent); }

/* ---------- Footer ---------- */
.sk.sk-footer { padding: 70px 0 23px; background: var(--sk-blue); color: #fff; }
.sk .sk-footer__grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 42px; }
.sk .sk-footer__logo { width: 175px; margin-bottom: 18px; }
.sk .sk-footer__logo--white { filter: brightness(0) invert(1); }
.sk .sk-footer__title { margin: 0 0 16px; font-family: var(--sk-sans); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .15em; color: #fff; }
.sk .sk-footer__link, .sk .sk-footer__text { display: block; margin: 7px 0; color: #dbe5ef; font-size: 12px; line-height: 1.7; }
.sk .sk-footer__link:hover { color: #fff; }
.sk .sk-footer__social { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.sk .sk-footer__social-link { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%; border: 1px solid rgba(255,255,255,.35); color: #fff; transition: background .2s, border-color .2s, color .2s, transform .2s; }
.sk .sk-footer__social-link svg { width: 17px; height: 17px; }
.sk .sk-footer__social-link span { font-size: 14px; font-weight: 700; }
.sk .sk-footer__social-link:hover { background: #fff; border-color: #fff; color: var(--sk-blue); transform: translateY(-2px); }
.sk .sk-footer__bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 50px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.18); color: #c3d1df; font-size: 10px; }

/* ---------- Project facts bar ---------- */
.sk .sk-meta { display: grid; grid-template-columns: repeat(var(--sk-meta-cols, 5), minmax(0, 1fr)); border-top: 1px solid var(--sk-line); border-bottom: 1px solid var(--sk-line); }
.sk .sk-meta__item { padding: 25px 18px; border-inline-end: 1px solid var(--sk-line); }
.sk .sk-meta__item:last-child { border-inline-end: 0; }
.sk .sk-meta__item small, .sk .sk-facts small { display: block; margin-bottom: 6px; color: var(--sk-blue); font-size: 9px; letter-spacing: .16em; text-transform: uppercase; font-weight: 800; }
.sk .sk-meta__item strong, .sk .sk-facts strong { display: block; font-family: var(--sk-serif); font-size: 22px; font-weight: 400; line-height: 1.3; }

/* ---------- Content blocks (case study + article) ---------- */
.sk .sk-case { max-width: 820px; margin: 0 auto; }
.sk .sk-block-h2 { font-size: clamp(38px, 4vw, 58px); line-height: 1.03; letter-spacing: -.04em; margin: 12px 0 17px; }
.sk .sk-block-h3 { font-size: 30px; line-height: 1.05; margin: 45px 0 12px; }
.sk .sk-block-p { color: var(--sk-muted); font-size: 15px; margin: 0 0 17px; }
.sk-section--dark .sk-block-p, .sk-section--blue .sk-block-p { color: #c1c7ce; }
.sk .sk-block-lead { margin: 0 0 40px; max-width: 760px; font-family: var(--sk-serif); font-size: 27px; line-height: 1.35; color: #25282c; }
.sk .sk-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: 35px 0; }
.sk .sk-facts > * { box-shadow: 0 0 0 1px var(--sk-line); }
.sk .sk-facts > div { padding: 27px; background: #fff; color: var(--sk-ink); }
.sk .sk-facts small { margin-bottom: 0; letter-spacing: .14em; }
.sk .sk-facts strong { margin-top: 5px; }
.sk .sk-callout { margin: 35px 0; padding: 27px 30px; background: #f1f4f7; border-inline-start: 3px solid var(--sk-blue); }
.sk .sk-callout span { display: block; margin-bottom: 8px; color: var(--sk-blue); font-size: 9px; letter-spacing: .17em; font-weight: 800; text-transform: uppercase; }
.sk .sk-callout strong { font-family: var(--sk-serif); font-size: 25px; line-height: 1.25; font-weight: 400; color: var(--sk-ink); }
.sk .sk-checklist { margin: 30px 0; border-top: 1px solid var(--sk-line); }
.sk .sk-checklist > div { display: grid; grid-template-columns: 45px 1fr; gap: 15px; padding: 17px 0; border-bottom: 1px solid var(--sk-line); }
.sk .sk-checklist span { color: var(--sk-blue); font-size: 10px; letter-spacing: .12em; line-height: 2.4; }
.sk .sk-checklist p { color: var(--sk-muted); font-size: 15px; }

.sk .sk-gallery { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin: 45px 0; }
.sk .sk-gallery__item { position: relative; min-height: 390px; overflow: hidden; background: #ddd; }
.sk .sk-gallery__item img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.sk .sk-gallery__item:hover img { transform: scale(1.03); }
.sk .sk-gallery--feature .sk-gallery__item:first-child { grid-column: 1 / -1; min-height: 570px; }
.sk .sk-gallery--single, .sk .sk-gallery--bleed { grid-template-columns: 1fr; margin: 35px 0; }
.sk .sk-gallery--single .sk-gallery__item, .sk .sk-gallery--bleed .sk-gallery__item { min-height: 0; }
.sk .sk-gallery--single img, .sk .sk-gallery--bleed img { position: static; height: auto; max-height: 570px; }
.sk .sk-gallery--bleed { margin-inline: -70px; }
.sk .sk-gallery__item figcaption { position: absolute; z-index: 2; inset-inline-start: 20px; bottom: 18px; color: #fff; font-size: 9px; text-transform: uppercase; letter-spacing: .16em; text-shadow: 0 1px 8px #000; }

/* ---------- Case study from the block editor (dynamic projects) ---------- */
.sk .sk-entry > *:first-child { margin-top: 0; }
.sk .sk-entry p { color: var(--sk-muted); font-size: 15px; margin: 0 0 17px; }
.sk-section--dark .sk-entry p, .sk-section--blue .sk-entry p { color: #c1c7ce; }
.sk .sk-entry p.is-style-sk-eyebrow { display: block; margin: 0; color: var(--sk-blue); font-size: 10px; line-height: 1.6; letter-spacing: .22em; text-transform: uppercase; font-weight: 800; }
.sk-section--dark .sk-entry p.is-style-sk-eyebrow, .sk-section--blue .sk-entry p.is-style-sk-eyebrow { color: var(--sk-light-accent); }
.sk .sk-entry h2 { font-size: clamp(38px, 4vw, 58px); line-height: 1.03; letter-spacing: -.04em; margin: 12px 0 17px; }
.sk .sk-entry h3 { font-size: 30px; line-height: 1.05; margin: 45px 0 12px; }
.sk .sk-entry h4 { font-size: 22px; margin: 30px 0 10px; }
.sk .sk-entry ul, .sk .sk-entry ol { margin: 0 0 17px; padding-inline-start: 20px; color: var(--sk-muted); font-size: 15px; }
.sk .sk-entry a { color: var(--sk-blue); text-decoration: underline; }
.sk .sk-entry blockquote { margin: 35px 0; padding: 27px 30px; background: #f1f4f7; border: 0; border-inline-start: 3px solid var(--sk-blue); }
.sk .sk-entry blockquote p { font-family: var(--sk-serif); font-size: 25px; line-height: 1.25; color: var(--sk-ink); margin: 0; }
.sk .sk-entry blockquote cite { display: block; margin-top: 10px; color: var(--sk-blue); font-size: 10px; font-style: normal; letter-spacing: .17em; font-weight: 800; text-transform: uppercase; }

/* Single image: full width, tall crop. Gallery: two columns of cards. */
.sk .sk-entry .wp-block-image { position: relative; margin: 45px 0; overflow: hidden; }
.sk .sk-entry .wp-block-image img { display: block; width: 100%; height: 570px; object-fit: cover; transition: transform .5s; }
.sk .sk-entry .wp-block-image:hover img { transform: scale(1.03); }
.sk .sk-entry .wp-block-gallery { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px !important; margin: 45px 0; }
.sk .sk-entry .wp-block-gallery.columns-1 { grid-template-columns: 1fr; }
.sk .sk-entry .wp-block-gallery.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sk .sk-entry .wp-block-gallery .wp-block-image { width: auto !important; margin: 0 !important; min-height: 390px; }
.sk .sk-entry .wp-block-gallery .wp-block-image img { position: absolute; inset: 0; height: 100% !important; }
.sk .sk-entry .wp-block-image figcaption,
.sk .sk-entry .wp-block-gallery .wp-block-image figcaption {
	position: absolute; z-index: 2; inset-inline-start: 20px; bottom: 18px; inset-inline-end: auto; top: auto;
	width: auto; max-height: none; margin: 0; padding: 0; background: none; overflow: visible;
	color: #fff; font-size: 9px; text-align: start; text-transform: uppercase; letter-spacing: .16em; text-shadow: 0 1px 8px #000;
}
.sk .sk-entry .wp-block-gallery > figcaption { grid-column: 1 / -1; position: static; color: var(--sk-muted); text-shadow: none; }
:is(:is([dir="rtl"], .rtl) .elementor-widget:not(.sk-dir-ltr), .elementor-widget.sk-dir-rtl) .sk .sk-entry p.is-style-sk-eyebrow,
:is(:is([dir="rtl"], .rtl) .elementor-widget:not(.sk-dir-ltr), .elementor-widget.sk-dir-rtl) .sk .sk-entry figcaption { font-size: 13px; font-weight: 700; }
:is(:is([dir="rtl"], .rtl) .elementor-widget:not(.sk-dir-ltr), .elementor-widget.sk-dir-rtl) .sk .sk-entry :is(h2, h3) { font-weight: 700; line-height: 1.35; }
@media (max-width: 767px) {
	.sk .sk-entry .wp-block-image img { height: 400px; }
	.sk .sk-entry .wp-block-gallery { grid-template-columns: 1fr !important; }
	.sk .sk-entry .wp-block-gallery .wp-block-image { min-height: 300px; }
}

/* Project fields: long fact values and the first section heading */
.sk .sk-facts strong.is-long { font-family: var(--sk-sans); font-size: 14px; line-height: 1.7; color: #3d4248; }
.sk .sk-entry--section > .sk-block-h3 { margin-top: 45px; }
.sk .sk-case > .sk-entry--section:first-child > .sk-block-h3,
.sk .sk-case > .sk-facts:first-child + .sk-entry--section > .sk-block-h3 { margin-top: 0; }

/* ---------- Article from a blog post (dynamic) ---------- */
.sk .sk-entry--article > * { max-width: 780px; }
.sk .sk-entry--article > .wp-block-image, .sk .sk-entry--article > .wp-block-gallery, .sk .sk-entry--article > figure { max-width: none; }
.sk .sk-entry--article p { font-size: 15px; line-height: 1.9; color: #676e77; margin: 0 0 19px; }
.sk .sk-entry--article p.is-style-sk-lead { max-width: 760px; margin: 0 0 40px; font-family: var(--sk-serif); font-size: 27px; line-height: 1.35; color: #25282c; }
.sk .sk-entry--article h2 { margin: 58px 0 17px; font-size: clamp(34px, 4vw, 52px); line-height: 1.05; letter-spacing: -.035em; scroll-margin-top: calc(var(--sk-header-h) + 30px); }
.sk .sk-entry--article h3 { margin: 40px 0 12px; }
.sk .sk-entry--article .wp-block-image { margin: 35px 0; }
.sk .sk-entry--article > .wp-block-image img { height: auto; max-height: 570px; }
.sk .sk-entry--article .wp-block-image.alignwide { margin-inline: -70px; }
.sk .sk-entry--article .wp-block-gallery { gap: 16px !important; }
.sk .sk-entry--article ol.is-style-sk-checklist, .sk .sk-entry--article ul.is-style-sk-checklist { list-style: none; counter-reset: sk-check; margin: 30px 0; padding: 0; border-top: 1px solid var(--sk-line); }
.sk .sk-entry--article .is-style-sk-checklist > li { counter-increment: sk-check; display: grid; grid-template-columns: 45px 1fr; gap: 15px; padding: 17px 0; border-bottom: 1px solid var(--sk-line); color: var(--sk-muted); font-size: 15px; }
.sk .sk-entry--article .is-style-sk-checklist > li::before { content: counter(sk-check, decimal-leading-zero); color: var(--sk-blue); font-size: 10px; letter-spacing: .12em; line-height: 2.4; }
:is(:is([dir="rtl"], .rtl) .elementor-widget:not(.sk-dir-ltr), .elementor-widget.sk-dir-rtl) .sk .sk-entry--article p.is-style-sk-lead { font-weight: 500; line-height: 1.6; }
:is(:is([dir="rtl"], .rtl) .elementor-widget:not(.sk-dir-ltr), .elementor-widget.sk-dir-rtl) .sk .sk-entry--article h2 { font-weight: 700; line-height: 1.35; }
@media (max-width: 1024px) {
	.sk .sk-entry--article .wp-block-image.alignwide { margin-inline: 0; }
}
@media (max-width: 767px) {
	.sk .sk-entry--article p.is-style-sk-lead { font-size: 22px; }
}

/* ---------- Article ---------- */
.sk .sk-article { display: grid; grid-template-columns: 230px minmax(0, 850px); gap: 75px; align-items: start; }
.sk .sk-article__sidebar { position: sticky; top: calc(var(--sk-header-h) + 25px); }
.admin-bar .sk .sk-article__sidebar { top: calc(var(--sk-header-h) + 57px); }
.sk .sk-sidebar-block { margin-bottom: 35px; padding-top: 18px; border-top: 1px solid var(--sk-line); }
.sk .sk-sidebar-label { display: block; margin-bottom: 14px; color: var(--sk-blue); font-size: 9px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.sk .sk-sidebar-link { display: block; padding: 8px 0; color: #646b74; font-size: 11px; line-height: 1.5; }
.sk .sk-sidebar-link:hover { color: var(--sk-blue); }
.sk .sk-sidebar-cta { padding: 20px; border: 0; background: #f0f3f6; }
.sk .sk-sidebar-cta p { margin: 8px 0 12px; font-family: var(--sk-serif); font-size: 20px; line-height: 1.2; }
.sk .sk-article__content { min-width: 0; }
.sk .sk-article__content > .sk-block-h2,
.sk .sk-article__content > .sk-block-h3,
.sk .sk-article__content > .sk-block-p,
.sk .sk-article__content > .sk-callout,
.sk .sk-article__content > .sk-checklist,
.sk .sk-article__content > .sk-facts { max-width: 780px; }
.sk .sk-article__content > .sk-block-h2 { margin-top: 58px; font-size: clamp(34px, 4vw, 52px); letter-spacing: -.035em; scroll-margin-top: calc(var(--sk-header-h) + 30px); }
.sk .sk-article__content > .sk-block-p { line-height: 1.9; color: #676e77; margin-bottom: 19px; }
.sk .sk-article__content > .sk-gallery--grid .sk-gallery__item { min-height: 390px; }
.sk .sk-article__content > .sk-gallery--grid { gap: 16px; }
.sk .sk-article__share { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-top: 70px; padding-top: 20px; border-top: 1px solid var(--sk-line); }
.sk .sk-article__share > span { color: var(--sk-blue); font-size: 9px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.sk .sk-article__share > div { display: flex; flex-wrap: wrap; gap: 20px; }
.sk .sk-share-link { font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.sk .sk-share-link:hover { color: var(--sk-blue); }

/* ==========================================================================
   Tablet
   ========================================================================== */
@media (max-width: 1024px) {
	.sk .sk-header__toggle { display: block; }
	.sk .sk-header__menu { position: absolute; top: 100%; left: 0; right: 0; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 10px 28px 24px; background: #fff; border-bottom: 1px solid #e7e7e7; box-shadow: 0 18px 30px rgba(0,0,0,.08); }
	.sk .sk-header__menu.is-open { display: flex; }
	.sk .sk-header__link { padding: 14px 0; border-bottom: 1px solid #f0f0f0; }
	.sk .sk-header__link::after { bottom: 10px; }
	.sk .sk-header__cta { margin-top: 18px; text-align: center; }

	.sk .sk-hero__inner { grid-template-columns: 1fr; min-height: 760px; }
	.sk .sk-hero__copy { padding: 80px 0 50px; align-items: flex-end; }
	.sk .sk-hero__copy-inner { position: relative; z-index: 3; }
	.sk .sk-hero__media { position: absolute; inset: 0; min-height: 100%; opacity: .58; }
	.sk .sk-hero__media::before { background: linear-gradient(90deg, #060709 0%, rgba(6,7,9,.68) 52%, rgba(6,7,9,.3) 100%); }

	.sk .sk-split, .sk .sk-contact { grid-template-columns: 1fr; gap: 45px; }
	.sk .sk-split--reverse > .sk-visual { order: 0; }
	.sk .sk-visual--frame { min-height: 460px; }
	.sk .sk-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sk .sk-steps, .sk .sk-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sk .sk-stats--lines .sk-stat:nth-child(2n) { border-inline-end: 0; }
	.sk .sk-footer__grid { grid-template-columns: 1fr 1fr; }
	.sk .sk-mosaic { grid-template-columns: 1fr 1fr; }
	.sk .sk-projects { grid-template-columns: 1fr; }
	.sk .sk-project, .sk .sk-projects:not(.is-filtered) .sk-project:nth-child(n) { min-height: 380px; }
	.sk .sk-meta { grid-template-columns: 1fr 1fr; }
	.sk .sk-meta__item { border-bottom: 1px solid var(--sk-line); }
	.sk .sk-meta__item:nth-child(2n) { border-inline-end: 0; }
	.sk.sk-project-hero { min-height: 600px; }
	.sk .sk-project-hero__inner { min-height: 520px; }

	.sk .sk-article { grid-template-columns: 1fr; gap: 25px; }
	.sk .sk-article__sidebar { position: static; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
	.sk .sk-gallery--bleed { margin-inline: 0; }
}

/* ==========================================================================
   Mobile
   ========================================================================== */
@media (max-width: 767px) {
	.sk { --sk-header-h: 80px; }
	.admin-bar .sk.sk-header--fixed { top: 46px; }
	.sk .sk-container { width: calc(100% - 32px); }
	.sk.sk-section { padding: 80px 0; }
	.sk .sk-header__brand img { width: 125px; }
	.sk .sk-header__menu { padding: 6px 16px 20px; }
	.sk .sk-hero__title { font-size: 47px; }
	.sk .sk-hero__inner, .sk .sk-hero__media { min-height: 720px; }
	.sk .sk-cards, .sk .sk-steps, .sk .sk-stats, .sk .sk-footer__grid, .sk .sk-form { grid-template-columns: 1fr; }
	.sk .sk-stats--lines .sk-stat { border-inline-end: 0; border-bottom: 1px solid rgba(255,255,255,.16); }
	.sk .sk-mosaic { grid-template-columns: 1fr; grid-auto-rows: 220px; }
	.sk .sk-tile:first-child { grid-row: span 1; height: 300px; }
	.sk .sk-project, .sk .sk-projects:not(.is-filtered) .sk-project:nth-child(n) { min-height: 350px; }
	.sk .sk-visual--frame { min-height: 380px; }
	.sk .sk-footer__bottom { display: block; }
	.sk .sk-footer__bottom span { display: block; margin-top: 6px; }
	.sk.sk-banner { min-height: 400px; padding-bottom: 60px; }
	.sk.sk-banner--article { min-height: 500px; padding-top: 140px; }
	.sk.sk-project-hero { min-height: 540px; }
	.sk .sk-project-hero__inner { min-height: 460px; padding-bottom: 45px; }
	.sk .sk-project-hero__title { font-size: 48px; }
	.sk .sk-meta__item { padding: 20px 14px; }
	.sk .sk-meta__item strong { font-size: 18px; }
	.sk .sk-facts, .sk .sk-gallery { grid-template-columns: 1fr; }
	.sk .sk-gallery--feature .sk-gallery__item:first-child { min-height: 400px; }
	.sk .sk-gallery__item { min-height: 300px; }
	.sk .sk-article__content > .sk-gallery--grid .sk-gallery__item { min-height: 300px; }
	.sk .sk-article__sidebar { display: block; }
	.sk .sk-block-lead { font-size: 22px; }
	.sk .sk-article__share { display: block; }
	.sk .sk-article__share > div { margin-top: 15px; }
}

/* ==========================================================================
   Arabic / right-to-left (Polylang sets dir="rtl" on Arabic pages)
   Layout already flips through grid + logical properties; this block swaps
   the fonts, removes letter-spacing (it breaks Arabic letter joining),
   enlarges the tiny uppercase labels and mirrors gradients and arrows.
   ========================================================================== */
:is(:is([dir="rtl"], .rtl) .elementor-widget:not(.sk-dir-ltr), .elementor-widget.sk-dir-rtl) .sk {
	--sk-serif: 'Cairo', Georgia, serif;
	--sk-sans: 'Cairo', Inter, Arial, sans-serif;
	direction: rtl;
}
:is(:is([dir="rtl"], .rtl) .elementor-widget:not(.sk-dir-ltr), .elementor-widget.sk-dir-rtl) .sk,
:is(:is([dir="rtl"], .rtl) .elementor-widget:not(.sk-dir-ltr), .elementor-widget.sk-dir-rtl) .sk * { letter-spacing: 0 !important; }

:is(:is([dir="rtl"], .rtl) .elementor-widget:not(.sk-dir-ltr), .elementor-widget.sk-dir-rtl) .sk :is(.sk-title, .sk-card__title, .sk-project__title, .sk-tile__title, .sk-step__title, .sk-block-h3, .sk-faq__q, .sk-stat strong, .sk-meta__item strong, .sk-facts strong) {
	font-weight: 700;
	line-height: 1.35;
}
:is(:is([dir="rtl"], .rtl) .elementor-widget:not(.sk-dir-ltr), .elementor-widget.sk-dir-rtl) .sk :is(.sk-hero__title, .sk-banner__title, .sk-project-hero__title, .sk-heading__title, .sk-copy__title, .sk-block-h2) { line-height: 1.25; }
:is(:is([dir="rtl"], .rtl) .elementor-widget:not(.sk-dir-ltr), .elementor-widget.sk-dir-rtl) .sk .sk-hero__title { font-size: clamp(42px, 5.4vw, 76px); }
:is(:is([dir="rtl"], .rtl) .elementor-widget:not(.sk-dir-ltr), .elementor-widget.sk-dir-rtl) .sk :is(.sk-block-lead, .sk-callout strong, .sk-sidebar-cta p) { font-weight: 500; line-height: 1.6; }

:is(:is([dir="rtl"], .rtl) .elementor-widget:not(.sk-dir-ltr), .elementor-widget.sk-dir-rtl) .sk :is(.sk-eyebrow, .sk-breadcrumb, .sk-btn, .sk-link, .sk-header__link, .sk-header__cta, .sk-card__label, .sk-project__info small, .sk-project__info p, .sk-tile__caption small, .sk-step__num, .sk-stat span, .sk-meta__item small, .sk-facts small, .sk-sidebar-label, .sk-share-link, .sk-article__share > span, .sk-callout span, .sk-visual__label, .sk-hero__label, .sk-banner__meta, .sk-footer__title, .sk-contact-list small, .sk-filter, .sk-gallery__item figcaption, .sk-form__submit) {
	font-size: 13px;
	font-weight: 700;
}
:is(:is([dir="rtl"], .rtl) .elementor-widget:not(.sk-dir-ltr), .elementor-widget.sk-dir-rtl) .sk :is(.sk-sidebar-link, .sk-footer__link, .sk-footer__text, .sk-footer__bottom, .sk-form__note, .sk-card__text, .sk-step__text, .sk-faq__a) { font-size: 14px; }

/* Per-widget "Left to right" inside an Arabic page */
.elementor-widget.sk-dir-ltr .sk { direction: ltr; }

/* Gradients that darken the text side */
:is(:is([dir="rtl"], .rtl) .elementor-widget:not(.sk-dir-ltr), .elementor-widget.sk-dir-rtl) .sk .sk-hero__media::before { background: linear-gradient(270deg, #060709 0%, rgba(6,7,9,.05) 35%, rgba(6,7,9,0) 100%); }
:is(:is([dir="rtl"], .rtl) .elementor-widget:not(.sk-dir-ltr), .elementor-widget.sk-dir-rtl) .sk .sk-banner__overlay { background: linear-gradient(270deg, rgba(34,68,108,.82) 0%, rgba(34,68,108,.48) 52%, rgba(34,68,108,.18) 100%); }
:is(:is([dir="rtl"], .rtl) .elementor-widget:not(.sk-dir-ltr), .elementor-widget.sk-dir-rtl) .sk.sk-banner--article .sk-banner__overlay { background: linear-gradient(270deg, rgba(0,0,0,.86), rgba(0,0,0,.28)); }
:is(:is([dir="rtl"], .rtl) .elementor-widget:not(.sk-dir-ltr), .elementor-widget.sk-dir-rtl) .sk.sk-project-hero::after { background: linear-gradient(270deg, rgba(0,0,0,.82) 0%, rgba(0,0,0,.48) 48%, rgba(0,0,0,.18) 100%); }

/* Arrows point the reading direction */
:is(:is([dir="rtl"], .rtl) .elementor-widget:not(.sk-dir-ltr), .elementor-widget.sk-dir-rtl) .sk .sk-link span,
:is(:is([dir="rtl"], .rtl) .elementor-widget:not(.sk-dir-ltr), .elementor-widget.sk-dir-rtl) .sk .sk-btn__circle { transform: scaleX(-1); }
:is(:is([dir="rtl"], .rtl) .elementor-widget:not(.sk-dir-ltr), .elementor-widget.sk-dir-rtl) .sk .sk-btn:hover .sk-btn__circle { transform: scaleX(-1) rotate(45deg); }

/* Select arrow on the left */
:is(:is([dir="rtl"], .rtl) .elementor-widget:not(.sk-dir-ltr), .elementor-widget.sk-dir-rtl) .sk .sk-form select { padding-right: 16px; padding-left: 40px; background-position: 15px 50%, 20px 50%; }

/* Language switcher */
.sk .sk-header__lang { font-size: 12px; font-weight: 700; color: var(--sk-blue); border: 1px solid var(--sk-line); padding: 8px 12px; line-height: 1; }
.sk .sk-header__lang:hover { background: var(--sk-blue); border-color: var(--sk-blue); color: #fff; }
.sk .sk-header__lang[lang="ar"] { font-family: 'Cairo', var(--sk-sans); font-size: 14px; }
@media (max-width: 1024px) {
	.sk .sk-header__lang { align-self: flex-start; margin-top: 14px; }
}
:is(:is([dir="rtl"], .rtl) .elementor-widget:not(.sk-dir-ltr), .elementor-widget.sk-dir-rtl) .sk .sk-header__brand img { object-position: right center; }

@media (max-width: 767px) {
	:is(:is([dir="rtl"], .rtl) .elementor-widget:not(.sk-dir-ltr), .elementor-widget.sk-dir-rtl) .sk .sk-hero__title { font-size: 40px; }
	:is(:is([dir="rtl"], .rtl) .elementor-widget:not(.sk-dir-ltr), .elementor-widget.sk-dir-rtl) .sk .sk-project-hero__title { font-size: 40px; }
}

/* ==========================================================================
   Per-widget Text Alignment / Image Position (Style → Direction & Alignment)
   "Right" always means the right side of the screen, in Arabic and English.
   ========================================================================== */
/* Question text fills the row so its alignment can be changed. */
.sk .sk-faq__q > span:first-child { flex: 1 1 auto; }
/* Phone numbers, emails and handles keep their own (left-to-right) order. */
.sk bdi { unicode-bidi: isolate; }

/* Text alignment */
.elementor-widget.sk-align-left .sk, .elementor-widget.sk-align-left .sk * { text-align: left !important; }
.elementor-widget.sk-align-center .sk, .elementor-widget.sk-align-center .sk * { text-align: center !important; }
.elementor-widget.sk-align-right .sk, .elementor-widget.sk-align-right .sk * { text-align: right !important; }

.elementor-widget.sk-align-left .sk :is(.sk-btn-row, .sk-filters, .sk-banner__meta, .sk-article__share > div) { justify-content: left !important; }
.elementor-widget.sk-align-center .sk :is(.sk-btn-row, .sk-filters, .sk-banner__meta, .sk-article__share > div) { justify-content: center !important; }
.elementor-widget.sk-align-right .sk :is(.sk-btn-row, .sk-filters, .sk-banner__meta, .sk-article__share > div) { justify-content: right !important; }

/* Narrow text blocks follow the alignment */
.elementor-widget.sk-align-left .sk :is(.sk-heading, .sk-heading__text, .sk-hero__copy-inner, .sk-hero__text, .sk-banner__text, .sk-banner__title, .sk-project-hero__copy, .sk-project-hero__text, .sk-notice) { margin-left: 0 !important; margin-right: auto !important; }
.elementor-widget.sk-align-center .sk :is(.sk-heading, .sk-heading__text, .sk-hero__copy-inner, .sk-hero__text, .sk-banner__text, .sk-banner__title, .sk-project-hero__copy, .sk-project-hero__text, .sk-notice) { margin-left: auto !important; margin-right: auto !important; }
.elementor-widget.sk-align-right .sk :is(.sk-heading, .sk-heading__text, .sk-hero__copy-inner, .sk-hero__text, .sk-banner__text, .sk-banner__title, .sk-project-hero__copy, .sk-project-hero__text, .sk-notice) { margin-left: auto !important; margin-right: 0 !important; }
.elementor-widget.sk-align-center .sk .sk-project-hero__inner { justify-content: center; }
.elementor-widget.sk-align-right .sk .sk-project-hero__inner { justify-content: right; }

/* Cards / links inside cards */
.elementor-widget.sk-align-center .sk .sk-card { align-items: center !important; }
.elementor-widget.sk-align-left .sk .sk-card { align-items: flex-start !important; }
.elementor-widget.sk-align-right .sk .sk-card { align-items: flex-end !important; }
:is(:is([dir="rtl"], .rtl) .elementor-widget:not(.sk-dir-ltr), .elementor-widget.sk-dir-rtl).sk-align-left .sk .sk-card { align-items: flex-end !important; }
:is(:is([dir="rtl"], .rtl) .elementor-widget:not(.sk-dir-ltr), .elementor-widget.sk-dir-rtl).sk-align-right .sk .sk-card { align-items: flex-start !important; }
.elementor-widget.sk-align-center .sk .sk-card__img, .elementor-widget.sk-align-left .sk .sk-card__img, .elementor-widget.sk-align-right .sk .sk-card__img { align-self: stretch; }

/* Image + Text: which side the image is on */
.elementor-widget.sk-media-right .sk .sk-split > .sk-visual { order: 2; }
.elementor-widget.sk-media-left .sk .sk-split > .sk-visual { order: 0; }
:is(:is([dir="rtl"], .rtl) .elementor-widget:not(.sk-dir-ltr), .elementor-widget.sk-dir-rtl).sk-media-right .sk .sk-split > .sk-visual { order: 0; }
:is(:is([dir="rtl"], .rtl) .elementor-widget:not(.sk-dir-ltr), .elementor-widget.sk-dir-rtl).sk-media-left .sk .sk-split > .sk-visual { order: 2; }

/* Home Hero */
@media (min-width: 1025px) {
	.elementor-widget.sk-media-right .sk .sk-hero__inner { grid-template-columns: 48% 52%; }
	.elementor-widget.sk-media-right .sk .sk-hero__media { order: 2; }
	.elementor-widget.sk-media-left .sk .sk-hero__inner { grid-template-columns: 52% 48%; }
	.elementor-widget.sk-media-left .sk .sk-hero__media { order: -1; }
	:is(:is([dir="rtl"], .rtl) .elementor-widget:not(.sk-dir-ltr), .elementor-widget.sk-dir-rtl).sk-media-right .sk .sk-hero__inner { grid-template-columns: 52% 48%; }
	:is(:is([dir="rtl"], .rtl) .elementor-widget:not(.sk-dir-ltr), .elementor-widget.sk-dir-rtl).sk-media-right .sk .sk-hero__media { order: -1; }
	:is(:is([dir="rtl"], .rtl) .elementor-widget:not(.sk-dir-ltr), .elementor-widget.sk-dir-rtl).sk-media-left .sk .sk-hero__inner { grid-template-columns: 48% 52%; }
	:is(:is([dir="rtl"], .rtl) .elementor-widget:not(.sk-dir-ltr), .elementor-widget.sk-dir-rtl).sk-media-left .sk .sk-hero__media { order: 2; }

	.elementor-widget.sk-media-right .sk .sk-hero__copy { padding: 65px 45px 65px 0 !important; }
	.elementor-widget.sk-media-left .sk .sk-hero__copy { padding: 65px 0 65px 45px !important; }
	/* The dark gradient always faces the text. */
	.elementor-widget.sk-media-right .sk .sk-hero__media::before { background: linear-gradient(90deg, #060709 0%, rgba(6,7,9,.05) 35%, rgba(6,7,9,0) 100%) !important; }
	.elementor-widget.sk-media-left .sk .sk-hero__media::before { background: linear-gradient(270deg, #060709 0%, rgba(6,7,9,.05) 35%, rgba(6,7,9,0) 100%) !important; }
	.elementor-widget.sk-media-right .sk .sk-hero__label { left: auto; right: 25px; }
	.elementor-widget.sk-media-left .sk .sk-hero__label { right: auto; left: 25px; }
}
@media (max-width: 1024px) {
	.elementor-widget[class*="sk-media-"] .sk .sk-split > .sk-visual { order: 0 !important; }
}

@media (prefers-reduced-motion: reduce) {
	.sk *, .sk *::before, .sk *::after { transition: none !important; }
}
