/* ============================================================
   IntellaQ Flow — Elementor adapter
   design.css is the design system verbatim. This file maps its
   classes onto Elementor's markup (containers, widgets, Pro
   widgets) so pages stay editable in the builder.
   ============================================================ */

/* ---------- base ---------- */
body{background:#fff;color:var(--text-body);font:400 1rem/1.6 var(--font-body)}
.elementor-kit-5{--e-global-typography-text-font-family:var(--font-body)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.site-main,.page-content{margin:0;padding:0;max-width:none}
:where(.e-con) h1,:where(.e-con) h2,:where(.e-con) h3,:where(.e-con) h4{font-family:var(--font-display);color:var(--navy-800)}
.elementor-heading-title{line-height:inherit}
.elementor-widget:not(:last-child){margin-block-end:0}

/* Containers: design classes own spacing. Boxed sections get the design gutter. */
.e-con.iq{--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0;--gap:0px;--row-gap:0px;--column-gap:0px;--width:100%}
.e-con-boxed.iq>.e-con-inner{width:min(100% - 2 * var(--gutter),var(--container-2xl));max-width:none;margin-inline:auto;padding:0}
.e-con.iq.e-con-full{--content-width:100%}
.e-con.sec{--padding-top:var(--section-y);--padding-bottom:var(--section-y)}
.e-con.sec-tight{--padding-top:clamp(2.5rem,5vw,4rem);--padding-bottom:clamp(2.5rem,5vw,4rem)}
.e-con.sec-alt{background:var(--slate-50)}
.e-con.g2,.e-con.g3,.e-con.g4,.e-con.steps,.e-con.stats,.e-con.logos,.e-con.band-g,.e-con.case,.e-con.ppl,.e-con.foot-g,.e-con.ppl-pics,.e-con.gal,.e-con.facts{--display:grid;display:grid}
.e-con.g2,.e-con.g3{gap:20px}.e-con.g4{gap:16px}.e-con.steps{gap:28px}.e-con.stats{gap:1px}
.e-con.sec-h,.e-con.cover-in,.e-con.hs-copy,.e-con.cta-t,.e-con.card,.e-con.ind,.e-con.post,.e-con.work,.e-con.post-b,.e-con.work-b,.e-con.step,.e-con.stat{--display:flex;--flex-direction:column}
.e-con.sec-row{--flex-direction:row;--justify-content:space-between;--align-items:flex-end;flex-wrap:wrap;gap:24px}
.e-con.hs-a{--flex-direction:row;flex-wrap:wrap;gap:12px;--align-items:center}
.e-con.sec-h>.elementor-widget{width:auto}

/* ---------- text widgets ---------- */
.eb .elementor-heading-title,.stat-b .elementor-heading-title{font:inherit;color:inherit;letter-spacing:inherit;line-height:inherit;text-transform:inherit}
.elementor-widget-text-editor p:last-child{margin-bottom:0}
.sec-h .elementor-widget-text-editor p{font-size:1.125rem;color:var(--text-muted);max-width:640px}
.sec-h.c .elementor-widget-text-editor p{margin-inline:auto}
.band .sec-h .elementor-widget-text-editor p,.band .elementor-widget-text-editor p{color:var(--slate-300)}
.cover .lede p{font-size:inherit;color:inherit}
.h2 .elementor-heading-title{font-weight:700;font-size:clamp(2rem,3.8vw,3.25rem);line-height:1.06;letter-spacing:-.028em;margin:.35em 0 .4em}
.big .elementor-heading-title{font:700 clamp(2rem,4.4vw,3.6rem)/1.08 var(--font-display);letter-spacing:-.03em}

/* ---------- buttons (design .btn on Elementor's <a>) ---------- */
.iqb .elementor-button{display:inline-flex;align-items:center;justify-content:center;gap:.6em;height:52px;padding:0 1.6rem;border-radius:999px;font:600 1rem var(--font-body);text-decoration:none;border:1.5px solid transparent;white-space:nowrap;background:none;fill:currentColor;transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),background-color var(--dur-fast),border-color var(--dur-fast),color var(--dur-fast)}
.iqb .elementor-button:hover{transform:translateY(-2px)}.iqb .elementor-button:active{transform:scale(.985)}
.iqb .elementor-button-content-wrapper{gap:.6em;align-items:center}
.iqb .elementor-button-icon svg{width:16px;height:16px;transition:transform var(--dur-base) var(--ease-out)}.iqb .elementor-button:hover .elementor-button-icon svg{transform:translateX(4px)}
.iqb-p .elementor-button{background:var(--brand);color:#fff;box-shadow:var(--glow-brand-sm)}.iqb-p .elementor-button:hover{background:var(--brand-hover);color:#fff;box-shadow:var(--glow-brand)}
.iqb-w .elementor-button{background:#fff;color:var(--navy-800)}.iqb-w .elementor-button:hover{color:var(--navy-800);box-shadow:0 10px 30px -8px rgba(255,255,255,.35)}
.iqb-g .elementor-button{border-color:rgba(255,255,255,.3);color:#fff}.iqb-g .elementor-button:hover{border-color:#fff;color:#fff;background:rgba(255,255,255,.08)}
.iqb-o .elementor-button{border-color:var(--border-strong);color:var(--navy-800);background:#fff}.iqb-o .elementor-button:hover{border-color:var(--brand);color:var(--teal-700);background:var(--brand-subtle)}
.iqb-sm .elementor-button{height:42px;padding:0 1.2rem;font-size:.9rem}
.iqb-l .elementor-button{height:auto;padding:0;border:0;color:var(--teal-700);font-weight:600;font-size:.9rem;box-shadow:none}
.sec-row .iqb,.hs-a .iqb{flex:none;width:auto}

/* ---------- icon lists as design ticks ---------- */
.ticks .elementor-icon-list-items{display:grid;gap:14px;margin:26px 0 34px}
.ticks .elementor-icon-list-item{align-items:flex-start!important;gap:12px}
.ticks .elementor-icon-list-icon{margin-top:4px}.ticks .elementor-icon-list-icon svg{width:16px;height:16px;fill:var(--teal-300)}
.ticks .elementor-icon-list-text{color:#fff;padding:0!important}
.tk-l .elementor-icon-list-text,.take .elementor-icon-list-text,.svc-panel .elementor-icon-list-text{color:var(--navy-800);font-weight:500}
.tk-l .elementor-icon-list-icon svg,.take .elementor-icon-list-icon svg,.svc-panel .elementor-icon-list-icon svg{fill:var(--brand)}

/* ---------- stats ---------- */
.e-con.stats{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}
.stat .elementor-counter{display:block}.stat .elementor-counter-number-wrapper{display:block;font:600 clamp(2rem,3.2vw,2.75rem)/1 var(--font-mono);letter-spacing:-.045em;color:var(--navy-800);margin-bottom:10px;justify-content:flex-start}
.stat .elementor-counter-title{font-size:.9rem;color:var(--text-muted);text-align:start;line-height:1.4}
.stat-b .elementor-heading-title{display:block;font:600 clamp(2rem,3.2vw,2.75rem)/1 var(--font-mono);letter-spacing:-.045em;color:var(--navy-800);margin-bottom:10px}
.stat-l p{font-size:.9rem;color:var(--text-muted)}
.band .stats{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.12)}.band .stat{background:rgba(255,255,255,.03)}.band .stat-b .elementor-heading-title,.band .stat .elementor-counter-number-wrapper{color:#fff}.band .stat-l p{color:var(--slate-400)}

/* ---------- linked cards (containers rendered as <a>) ---------- */
a.e-con{text-decoration:none;color:inherit}
.card .elementor-widget-heading h3{font-size:1.375rem;letter-spacing:-.015em;margin:20px 0 8px}
.card .elementor-widget-text-editor{flex:1}.card .elementor-widget-text-editor p{color:var(--text-muted);font-size:.95rem}
.card .lnk{margin-top:22px}
.lnk .elementor-heading-title{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--teal-700);font-size:.9rem}
.lnk .elementor-heading-title::after{content:"→";transition:transform var(--dur-base) var(--ease-out)}a:hover .lnk .elementor-heading-title::after{transform:translateX(4px)}
.ico{width:auto}.ico .elementor-widget-container{display:contents}
.card.wide{grid-column:1/-1}
.ind .elementor-widget-heading h3{font-size:1.125rem;letter-spacing:-.01em}.ind .elementor-widget-text-editor p{font-size:.86rem;color:var(--text-muted);line-height:1.5}

/* ---------- loop grids (Elementor Pro) ---------- */
.iq-loop .elementor-loop-container{gap:20px}
.e-loop-item>.e-con{height:100%}
.e-loop-item .card,.e-loop-item .work,.e-loop-item .post{height:100%}
.work-th img,.post-th img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:scale .7s var(--ease-emphasis)}
.work:hover .work-th img,.post:hover .post-th img{scale:1.05}
.work-th .elementor-widget-image,.post-th .elementor-widget-image{position:absolute;inset:0}
.work-th .elementor-widget-theme-post-featured-image,.post-th .elementor-widget-theme-post-featured-image{position:absolute;inset:0;margin:0}
.work-th .elementor-widget-theme-post-featured-image img,.post-th .elementor-widget-theme-post-featured-image img{height:100%!important;max-height:none}
.post-th em,.work-th .tags{z-index:1}
.e-con.post-th,.e-con.work-th{--display:grid}
.work-b .elementor-widget-theme-post-excerpt,.post-b .elementor-widget-theme-post-excerpt{flex:1}
.work .meta p,.post .meta p,.meta .elementor-heading-title{font:500 .75rem var(--font-mono);color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase}
.work h3,.post h3{font-size:1.2rem;line-height:1.25;letter-spacing:-.01em;margin:0}
.work .elementor-widget-theme-post-excerpt p,.post .elementor-widget-theme-post-excerpt p{font-size:.92rem;color:var(--text-muted)}
.e-loop__load-more .elementor-button,.elementor-pagination a,.elementor-pagination span{border-radius:999px}
.e-filter{gap:8px!important;margin-bottom:28px!important;justify-content:flex-start!important}
.e-filter-item{height:40px;padding:0 18px!important;border-radius:999px;border:1.5px solid var(--border-strong)!important;background:#fff!important;font:600 .875rem var(--font-body)!important;color:var(--slate-700)!important}
.e-filter-item[aria-pressed=true]{background:var(--navy-800)!important;border-color:var(--navy-800)!important;color:#fff!important}

/* ---------- covers + hero ---------- */
.e-con.cover,.e-con.hero{--padding-top:0;--padding-bottom:0}
.e-con.cover>.e-con-inner,.e-con.hero>.e-con-inner{position:relative;z-index:1}
.cover .eb .elementor-heading-title,.hs .eb .elementor-heading-title{color:var(--acc)}
.cover h1 em,.hs h1 em,.hs h2 em{font-style:normal;color:var(--acc)}
.hs h2.elementor-heading-title{font:700 clamp(2.4rem,5vw,4.6rem)/1.04 var(--font-display);letter-spacing:-.032em;color:#fff;margin:22px 0 24px;--wd:.3s}
.hs .sub p,.hs .sub{font-size:clamp(1.02rem,1.3vw,1.2rem);color:var(--slate-300);max-width:540px}
.e-con.hero-in{--display:grid;align-content:center}
/* hero-in fills the hero above the rail, and the chips/stat + particle anchor are placed against it (as .hero-in is in the design) */
.e-con.hero>.e-con-inner{display:flex;flex-direction:column}.e-con.hero-in{flex:1 1 auto}
.hero-in .e-con.hero-slides,.hero-in .e-con.hs,.hs>.elementor-widget-html{position:static}
.e-con.hero-slides{--display:grid;display:grid}
.e-con.hs{grid-area:1/1}
.hs .ticks{margin-top:22px}.hs .ticks .elementor-icon-list-items{margin:0;gap:10px}.hs .ticks .elementor-icon-list-text{color:var(--slate-200)}
.rail-wrap{position:relative;z-index:1;width:min(100% - 2 * var(--gutter),var(--container-2xl));margin-inline:auto}
.elementor-editor-active .hs{position:relative;visibility:visible;grid-area:auto;margin-bottom:40px}
.elementor-editor-active .fx{opacity:1;translate:none}
.hero-stats{display:flex;gap:clamp(20px,3vw,40px);flex-wrap:wrap;margin-top:40px}
.hero-stats .stat{background:none;padding:0}.hero-stats .stat-b .elementor-heading-title{color:#fff;font-size:1.75rem;margin-bottom:4px}.hero-stats .stat-l p{color:var(--slate-400);font-size:.85rem}

/* ---------- CTA + footer ---------- */
.e-con.cta{--flex-direction:row;--justify-content:space-between;--align-items:center;flex-wrap:wrap;gap:32px}
.cta .eb .elementor-heading-title{color:#fff}
.cta h2.elementor-heading-title{color:#fff;font-weight:700;font-size:clamp(1.8rem,3.4vw,3rem);line-height:1.08;letter-spacing:-.028em;max-width:700px;margin-top:12px}
.e-con.cta-a{--display:grid;gap:12px;justify-items:start;width:auto}.cta-s p{font-size:.85rem;color:#fff}
.e-con.cta-t{max-width:720px;width:auto}
.foot{--padding-top:72px!important;--padding-bottom:30px!important}
.e-con.foot-g{grid-template-columns:1.5fr repeat(4,1fr);gap:40px}
.foot .elementor-nav-menu--layout-vertical .elementor-nav-menu a,.foot .elementor-item{display:block;color:var(--slate-300)!important;padding:5px 0!important;font-size:.92rem;font-weight:400}
.foot .elementor-item:hover{color:#fff!important}
.foot .elementor-nav-menu--main .elementor-item::before,.foot .elementor-nav-menu--main .elementor-item::after{display:none}
.foot h4.elementor-heading-title{font:500 .75rem var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--slate-300);margin-bottom:14px}
.foot .elementor-widget-text-editor p{color:var(--slate-400);font-size:.92rem;max-width:300px;margin-top:18px}
.foot .elementor-widget-text-editor a{color:var(--slate-300)}
.foot img{height:26px;width:auto}
.e-con.foot-b{--flex-direction:row;--justify-content:space-between;flex-wrap:wrap;gap:16px;margin-top:56px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);font-size:.8rem}
.foot-b p{color:var(--slate-400);font-size:.8rem}
@media(max-width:900px){.e-con.foot-g{grid-template-columns:1fr 1fr}.e-con.band-g,.e-con.case,.e-con.ppl{grid-template-columns:1fr}}

/* ---------- header (Theme Builder) ---------- */
.elementor-location-header{position:relative;z-index:50}
.e-con.nav{position:fixed;inset:0 0 auto 0;z-index:50;transition:background-color .3s,box-shadow .3s}
.admin-bar .e-con.nav{top:32px}
.e-con.nav-in{--flex-direction:row;--align-items:center;gap:20px;height:76px}
.nav .logo{width:auto;flex:none}.nav .logo img{height:26px;width:auto;display:block}
.nav .lg-d{display:none}.nav.is-solid .lg-i{display:none}.nav.is-solid .lg-d{display:block}
.nav .elementor-widget-nav-menu{margin-inline-start:auto;width:auto}
.nav .elementor-nav-menu--main .elementor-item{padding:9px 14px!important;border-radius:999px;font-weight:500;font-size:.9375rem;color:rgba(255,255,255,.88)!important;transition:var(--transition-colors)}
.nav .elementor-nav-menu--main .elementor-item:hover,.nav .elementor-nav-menu--main .elementor-item.elementor-item-active{color:#fff!important;background:rgba(255,255,255,.1)}
.nav .elementor-nav-menu--main .elementor-item.elementor-item-active{box-shadow:inset 0 0 0 1px rgba(255,255,255,.28);background:none}
.nav .elementor-nav-menu--main .elementor-item::before,.nav .elementor-nav-menu--main .elementor-item::after{display:none}
.nav.is-solid{background:rgba(255,255,255,.88);backdrop-filter:saturate(1.4) blur(16px);-webkit-backdrop-filter:saturate(1.4) blur(16px);box-shadow:0 1px 0 var(--border)}
.nav.is-solid .elementor-nav-menu--main .elementor-item{color:var(--slate-700)!important}
.nav.is-solid .elementor-nav-menu--main .elementor-item:hover{color:var(--navy-800)!important;background:var(--slate-100)}
.nav.is-solid .elementor-nav-menu--main .elementor-item.elementor-item-active{color:var(--teal-700)!important;box-shadow:inset 0 0 0 1px var(--brand-border)}
.nav .sub-arrow{padding-inline-start:6px!important}
.nav .elementor-nav-menu--main .sub-menu{min-width:300px!important;background:#fff!important;border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow-xl);padding:10px!important;margin-top:12px!important}
.nav .elementor-nav-menu--main .sub-menu a.elementor-sub-item{display:flex;padding:10px 12px!important;border-radius:12px;color:var(--navy-800)!important;font-weight:600;font-size:.9rem;line-height:1.3;background:none!important;border:0!important}
.nav .elementor-nav-menu--main .sub-menu a.elementor-sub-item:hover{background:var(--slate-50)!important}
.nav .lang-sw{width:auto}.nav .nav-cta{width:auto}
.nav .elementor-menu-toggle{background:none!important;color:#fff!important;border:1px solid rgba(255,255,255,.3);border-radius:50%;width:44px;height:44px}
.nav.is-solid .elementor-menu-toggle{color:var(--navy-800)!important;border-color:var(--border-strong)}
.nav nav.elementor-nav-menu--dropdown{background:var(--navy-950)!important;border-radius:0 0 20px 20px;padding:12px var(--gutter) 24px}
.nav nav.elementor-nav-menu--dropdown a{color:#fff!important;font:700 1.4rem var(--font-display)!important;padding:10px 0!important;background:none!important}
.nav nav.elementor-nav-menu--dropdown .sub-menu a{font:500 1rem var(--font-body)!important;color:var(--slate-300)!important}
/* CTA stays visible at every width (design hid it; the burger menu has no CTA) */

/* ---------- single templates: post content in design style ---------- */
.art-b{max-width:none}
.art-b .iq-s{padding:clamp(2.5rem,5vw,4.5rem) 0;border-top:1px solid var(--border)}
.art-b .iq-s:first-child{border-top:0;padding-top:0}
.art-b .iq-s>h2{font-weight:700;font-size:clamp(1.7rem,3vw,2.6rem);line-height:1.08;letter-spacing:-.025em;margin:0 0 .6em;max-width:780px}
.art-b .iq-s>p{font-size:1.1rem;line-height:1.7;color:var(--text-muted);max-width:720px;margin:0 0 1.1em}
.art-b .iq-s>ul,.art-b .iq-s>ol{max-width:720px;margin:0 0 1.2em;padding-inline-start:1.2em;display:grid;gap:8px}
.art-b .g2,.art-b .g3{margin-top:28px}
.art-b .card{box-shadow:var(--shadow-xs)}
.art-b .card h3{margin:0 0 10px;font-size:1.2rem}
.art-b .card p{flex:none;margin:0 0 .7em;font-size:.95rem;color:var(--text-muted)}.art-b .card p:last-child{margin-bottom:0}
.art-b .card ul{margin:.4em 0 0;padding-inline-start:1.1em;color:var(--text-muted);font-size:.92rem;display:grid;gap:4px}
.art-b .card strong{color:var(--navy-800)}
.art-b table{width:100%;border-collapse:collapse;margin:1.5em 0;font-size:.95rem}.art-b th,.art-b td{border-bottom:1px solid var(--border);padding:12px;text-align:start;vertical-align:top}.art-b th{font-family:var(--font-display);color:var(--navy-800)}
.art-b blockquote{position:relative;margin:2.2em 0;padding:32px 36px;border-radius:24px;background:var(--navy-950);color:#fff;font:500 clamp(1.2rem,2vw,1.5rem)/1.35 var(--font-display)}
.art-b a{color:var(--teal-700);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.art-b .shots figure{margin:0;border-radius:20px;overflow:hidden;border:1px solid var(--border);background:var(--slate-50)}
.art-b .shots img{display:block;width:100%;height:auto}
.art-b .shots figcaption{padding:12px 16px;font-size:.85rem;color:var(--text-muted)}
.art-b .faq{margin:28px 0 0;max-width:860px}
.post-art .art-b .iq-s{border-top:0;padding:0}
.post-art .art-b p,.post-art .art-b li{font-size:1.1rem;line-height:1.75;color:var(--text-body);max-width:none}
.post-art .art-b h2{font-weight:700;font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.15;letter-spacing:-.02em;margin:2.2em 0 .7em;scroll-margin-top:110px}
.post-art .art-b h3{font-size:1.3rem;margin:1.8em 0 .6em}
.post-art .art-b .card{padding:0;border:0;box-shadow:none;background:none}
.post-art .art-b .g2,.post-art .art-b .g3{display:block;margin:0}
.e-con.art{grid-template-columns:240px minmax(0,760px);--display:grid}
@media(max-width:900px){.e-con.art{grid-template-columns:1fr}}
.toc .elementor-toc__header{display:none}.toc .elementor-toc__body{padding:0;border-left:2px solid var(--border)}
.toc .elementor-toc__list-item-text-wrapper a{color:var(--text-muted);font-size:.92rem;font-weight:500}
.toc .elementor-toc__list-item-text.elementor-item-active{color:var(--teal-700);font-weight:600}
.e-con.toc{position:sticky;top:110px}

/* ---------- forms (Elementor Pro form in design style) ---------- */
.iq-form .elementor-field-group{margin-bottom:16px}
.iq-form .elementor-field-label{font-weight:600;font-size:.9rem;color:var(--navy-800);margin-bottom:6px}
.iq-form .elementor-field-textual,.iq-form select{min-height:52px;border-radius:14px!important;border:1.5px solid var(--border-strong)!important;background:#fff!important;font:400 1rem var(--font-body)!important;color:var(--navy-800)!important;padding:12px 16px!important}
.iq-form textarea.elementor-field-textual{min-height:140px}
.iq-form .elementor-field-textual:focus{border-color:var(--brand)!important;box-shadow:0 0 0 4px var(--brand-subtle)!important;outline:0}
.iq-form .elementor-field-subgroup .elementor-field-option{margin:0 8px 8px 0}
.iq-form .elementor-field-type-checkbox .elementor-field-option label,.iq-form .elementor-field-type-radio .elementor-field-option label{display:inline-flex;align-items:center;height:40px;padding:0 16px;border-radius:999px;border:1.5px solid var(--border-strong);font-weight:600;font-size:.875rem;cursor:pointer}
.iq-form .elementor-field-option input:checked+label{background:var(--navy-800);border-color:var(--navy-800);color:#fff}
.iq-form .elementor-field-option input{position:absolute;opacity:0}
.iq-form .elementor-button{height:52px;padding:0 1.8rem!important;border-radius:999px!important;background:var(--brand)!important;color:#fff!important;font:600 1rem var(--font-body)!important;box-shadow:var(--glow-brand-sm)}
.iq-form .elementor-button:hover{background:var(--brand-hover)!important}
.iq-form .elementor-message{margin-top:16px;font-weight:600}
.e-con.ct{--display:grid;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.e-con.ct-card{background:#fff;border:1px solid var(--border);border-radius:28px;padding:clamp(24px,4vw,44px);box-shadow:var(--shadow-lg)}
.e-con.ct-aside{gap:22px}
.e-con.ci{--flex-direction:row;gap:14px;align-items:flex-start;padding:18px 0;border-bottom:1px solid var(--border)}
.ci .elementor-heading-title{font:500 .6875rem var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}
.ci .elementor-widget-text-editor p{font-weight:600;color:var(--navy-800);margin-top:4px}
@media(max-width:900px){.e-con.ct{grid-template-columns:1fr}}

/* ---------- logo wall ---------- */
.e-con.logos{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;width:100%}
.logos .elementor-widget-image{height:80px;border-radius:14px;background:var(--slate-50);border:1px solid var(--border);display:grid;place-items:center;padding:12px 18px}
.logos .elementor-widget-image img{max-height:44px;width:auto;object-fit:contain;filter:grayscale(1);opacity:.78;transition:filter .3s,opacity .3s}
.logos .elementor-widget-image:hover img{filter:none;opacity:1}

/* ---------- misc ---------- */
.e-con.band{color:var(--slate-300)}
.band h2.elementor-heading-title,.band h3.elementor-heading-title{color:#fff}
.band .eb .elementor-heading-title{color:var(--teal-300)}
.feed-w{width:100%}
.ph img,.ph-img img{display:block;width:100%;height:100%;object-fit:cover}
.e-con.ph,.ph-img{border-radius:24px;overflow:hidden}
.ph-img .elementor-widget-container,.ph-img{height:100%}
.case-img img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/5;border-radius:28px}
.e-con.ppl-pics{grid-template-columns:1.1fr 1fr;grid-template-rows:1fr 1fr;gap:14px;aspect-ratio:5/4}
.ppl-pics .elementor-widget-image{border-radius:28px;overflow:hidden;height:100%}.ppl-pics .elementor-widget-image img{width:100%;height:100%;object-fit:cover}
.ppl-pics .elementor-widget-image:nth-child(1){grid-row:span 2;border-radius:110px 28px 28px 28px}.ppl-pics .elementor-widget-image:nth-child(3){border-radius:28px 28px 110px 28px}
.e-con.chips{--flex-direction:row;flex-wrap:wrap;gap:10px}
.chips .elementor-heading-title{display:inline-flex;align-items:center;min-height:38px;padding:6px 14px;border-radius:999px;border:1px solid var(--border);background:#fff;font-weight:600;font-size:.84rem;color:var(--navy-800)}
.band .chips .elementor-heading-title{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16);color:#fff}
.e-con.mods{--display:grid;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:20px;overflow:hidden}
.e-con.mod{background:#fff;padding:26px 24px;gap:8px}
.mod .k .elementor-heading-title{font:500 .6875rem var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--teal-700)}
.mod h3.elementor-heading-title{font-size:1.1rem}
.mod .elementor-widget-text-editor p{font-size:.9rem;color:var(--text-muted)}
.mod .flow .elementor-heading-title{font:500 .6875rem var(--font-mono);letter-spacing:.08em;color:var(--slate-500);text-transform:uppercase}
.note-s p{font:500 .75rem var(--font-mono);letter-spacing:.06em;color:var(--slate-400);text-transform:uppercase}
.e-con.wrap{--width:min(100% - 2 * var(--gutter),var(--container-2xl));width:var(--width);margin-inline:auto}

/* rows: header block beside its buttons */
.e-con.sec-row>.e-con,.e-con.sec-row>.elementor-widget{--width:auto;width:auto;flex:0 1 auto}
.e-con.sec-row>.sec-h{flex:1 1 520px;max-width:780px}
.e-con.hs-a{--width:auto;width:auto}
.e-con.hs-a.mt{margin-top:40px}
.reel-a{justify-content:center;margin-top:32px}
/* dark wide card */
.card.wide .elementor-widget-heading h3{color:#fff;margin:0 0 6px}
.card.wide .elementor-widget-text-editor p{color:var(--slate-300)}
.card.wide .elementor-widget-text-editor a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.card.wide .lnk .elementor-heading-title,.card.wide .lnk a{color:#fff}
.e-con.card.wide{--flex-direction:row;--align-items:center;gap:clamp(16px,3vw,32px);flex-wrap:wrap}
.card.wide>.elementor-widget-text-editor{flex:1 1 320px}
.card.wide>.lnk{margin:0 0 0 auto}
/* step label */
.step .k .elementor-heading-title{font:500 .75rem var(--font-mono);letter-spacing:.14em;color:var(--teal-700)}
.step h3.elementor-heading-title{font-size:1.375rem;margin:10px 0 8px}
.step .elementor-widget-text-editor p{font-size:.95rem;color:var(--text-muted)}
/* accordion FAQ in design style */
.faq-w{max-width:860px;margin-inline:auto;width:100%}
.faq-w .elementor-accordion-item{border:0!important;border-bottom:1px solid var(--border)!important}
.faq-w .elementor-accordion .elementor-tab-title{padding:22px 0!important;font:600 1.15rem var(--font-display);color:var(--navy-800);display:flex;flex-direction:row-reverse;justify-content:space-between;gap:20px;border:0!important}
.faq-w .elementor-tab-title a{color:var(--navy-800)!important;font:inherit}
.faq-w .elementor-accordion-icon{color:var(--brand);fill:var(--brand)}
.faq-w .elementor-accordion-icon svg{width:16px;height:16px;fill:var(--brand)}
.faq-w .elementor-tab-content{padding:0 40px 24px 0!important;border:0!important;color:var(--text-body)}
.faq-w .elementor-accordion{border-top:1px solid var(--border)}
.trust .eb .elementor-heading-title{text-align:center}

/* ---------- calculators ---------- */
.calc{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(1.5rem,4vw,3rem);align-items:start}
.calc-in{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px;background:#fff;border:1px solid var(--border);border-radius:24px;padding:clamp(20px,3vw,32px);box-shadow:var(--shadow-md)}
.calc label{display:grid;gap:6px;font-weight:600;font-size:.9rem;color:var(--navy-800)}
.calc .fld{display:flex;align-items:center;border:1.5px solid var(--border-strong);border-radius:14px;overflow:hidden;background:#fff}
.calc .fld:focus-within{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-subtle)}
.calc input{border:0;outline:0;min-height:50px;padding:0 14px;font:500 1rem var(--font-mono);color:var(--navy-800);width:100%;background:none}
.calc .u{padding:0 14px;font:500 .8rem var(--font-mono);color:var(--text-muted)}
.calc small{font-weight:400;color:var(--text-muted);font-size:.78rem;line-height:1.4}
.calc-out{position:sticky;top:110px;background:var(--navy-950);color:var(--slate-300);border-radius:24px;padding:clamp(20px,3vw,32px);display:grid;gap:2px}
.calc-out h3{color:#fff;font-size:1.1rem;margin:0 0 12px}
.calc-out .r{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:.92rem}
.calc-out .r b{font:600 .95rem var(--font-mono);color:#fff}
.calc-out .r.big{border:0;padding-top:18px}.calc-out .r.big b{font-size:1.6rem;color:var(--teal-300)}
.calc .nat{grid-column:1/-1;display:flex;gap:8px}
.calc .nat button{height:40px;padding:0 18px;border-radius:999px;border:1.5px solid var(--border-strong);background:#fff;font:600 .875rem var(--font-body);cursor:pointer}
.calc .nat button.on{background:var(--navy-800);border-color:var(--navy-800);color:#fff}
@media(max-width:900px){.calc{grid-template-columns:1fr}.calc-out{position:static}}
/* services page blocks */
.e-con.svc{--display:grid;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:center;padding:clamp(2.5rem,5vw,4.5rem) 0;border-top:1px solid var(--border);scroll-margin-top:100px}
.svc .n .elementor-heading-title{font:500 .75rem var(--font-mono);letter-spacing:.14em;color:var(--teal-700)}
.svc h2.elementor-heading-title{font-weight:700;font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.08;letter-spacing:-.025em;margin:.3em 0 .4em}
.svc .elementor-widget-text-editor p{font-size:1.05rem;color:var(--text-muted)}
.e-con.svc-panel{background:var(--slate-50);border:1px solid var(--border);border-radius:24px;padding:clamp(20px,3vw,32px)}
@media(max-width:900px){.e-con.svc{grid-template-columns:1fr}}
.e-con.pillbar{--flex-direction:row;flex-wrap:wrap;gap:8px;position:sticky;top:76px;z-index:20;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);padding:14px 0;border-bottom:1px solid var(--border)}
.pillbar .elementor-heading-title a,.pillbar a{display:inline-flex;align-items:center;height:40px;padding:0 18px;border-radius:999px;border:1.5px solid var(--border-strong);background:#fff;font:600 .875rem var(--font-body);color:var(--slate-700);text-decoration:none}
.pillbar a:hover{border-color:var(--brand);color:var(--teal-700)}
/* legal */
.legal-b h2{font-size:1.4rem;margin:2em 0 .6em;scroll-margin-top:110px}.legal-b p{font-size:1.02rem;line-height:1.75;margin:0 0 1em;max-width:760px}
.legal-b .upd{font:500 .75rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}
/* photo bands */
.e-con.ph-band{aspect-ratio:21/9;overflow:hidden;border-radius:28px;background:var(--slate-100)}
.ph-band .elementor-widget-image,.ph-band .elementor-widget-theme-post-featured-image,.ph-band .elementor-widget-container{height:100%;width:100%}
.ph-band img{width:100%!important;height:100%!important;max-height:none!important;object-fit:cover}
@media(max-width:700px){.e-con.ph-band{aspect-ratio:16/10}}
.e-con.ph{aspect-ratio:4/3;overflow:hidden}.e-con.ph img{width:100%;height:100%;object-fit:cover}
.svc .chips{margin:18px 0 6px}.svc .hs-a{margin-top:22px}
.e-con.svc:nth-child(even) .svc-ph{order:-1}
.e-con.svc-ph{border-radius:24px;aspect-ratio:16/10}
@media(max-width:900px){.e-con.svc:nth-child(even) .svc-ph{order:0}}
/* featured insight (design .post.feat) */
.feat-loop .elementor-loop-container{grid-template-columns:1fr!important}
.feat-loop .e-con.post{--flex-direction:row;flex-direction:row}
.feat-loop .post-th{flex:1 1 50%;aspect-ratio:auto;min-height:340px}
.feat-loop .post-b{flex:1 1 50%;padding:clamp(24px,4vw,48px)!important;justify-content:center;gap:14px}
.feat-loop .post h3{font-size:clamp(1.5rem,2.6vw,2.25rem);line-height:1.12;letter-spacing:-.02em}
.feat-loop .post .elementor-widget-theme-post-excerpt p{font-size:1.05rem}
@media(max-width:900px){.feat-loop .e-con.post{flex-direction:column}.feat-loop .post-th{min-height:220px}}
/* loop card internals */
.e-con.post-th,.e-con.work-th{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--slate-100)}
.e-con.post-b,.e-con.work-b{padding:22px;gap:8px;flex:1}
/* counters: number first, left aligned, design type */
.e-con.stat .elementor-widget-counter .elementor-counter{display:flex;flex-direction:column-reverse;align-items:flex-start;text-align:start;gap:10px}
.e-con.stat .elementor-widget-counter .elementor-counter-number-wrapper{display:flex;justify-content:flex-start;font:600 clamp(2rem,3.2vw,2.75rem)/1 var(--font-mono)!important;letter-spacing:-.045em;color:var(--navy-800);margin:0}
.e-con.stat .elementor-widget-counter .elementor-counter-number-prefix,.e-con.stat .elementor-widget-counter .elementor-counter-number-suffix{flex-grow:0;text-align:start;white-space:nowrap}
.e-con.stat .elementor-widget-counter .elementor-counter-title{font:400 .9rem/1.4 var(--font-body);color:var(--text-muted);text-align:start;justify-content:flex-start}
.e-con.stat{background:#fff;padding:30px 28px}
.stat-b .elementor-heading-title{white-space:nowrap}
/* No whole-page fade: it delays first paint (LCP) and stalls in background tabs. */
body{animation:none!important;opacity:1}
/* "All" filter pill first */
.e-filter-item[data-filter="__all"]{order:-1}
.e-filter{display:flex;flex-wrap:wrap}
/* dropdown: CSS hover/focus fallback on top of smartmenus */
@media(min-width:1025px){
.nav .elementor-nav-menu--main li.menu-item-has-children{position:relative}
.nav .elementor-nav-menu--main li.menu-item-has-children:hover>.sub-menu,.nav .elementor-nav-menu--main li.menu-item-has-children:focus-within>.sub-menu{display:block!important;position:absolute!important;top:100%!important;margin-left:0!important}
.nav .elementor-nav-menu--main .sub-menu::before{content:"";position:absolute;inset:-14px 0 auto;height:14px}}

/* ---------- header fixes ---------- */
.nav .elementor-nav-menu--main .sub-arrow svg{fill:currentColor;width:10px;height:10px;transition:transform .25s}
.nav .elementor-nav-menu--main li:hover>a .sub-arrow svg{transform:rotate(180deg)}
/* parent of the current page (service, case study, module, insight) gets the active pill too */
.nav .elementor-nav-menu--main>ul>li.current-menu-ancestor>a.elementor-item,.nav .elementor-nav-menu--main>ul>li.current-menu-parent>a.elementor-item,.nav .elementor-nav-menu--main>ul>li.iq-current>a.elementor-item{color:#fff!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.28)}
.nav.is-solid .elementor-nav-menu--main>ul>li.current-menu-ancestor>a.elementor-item,.nav.is-solid .elementor-nav-menu--main>ul>li.current-menu-parent>a.elementor-item,.nav.is-solid .elementor-nav-menu--main>ul>li.iq-current>a.elementor-item{color:var(--teal-700)!important;box-shadow:inset 0 0 0 1px var(--brand-border)}
.skip-link:focus{position:fixed!important;top:12px;left:12px;z-index:100;width:auto;height:auto;clip:auto;padding:10px 16px;border-radius:10px;background:#fff;color:var(--navy-800);font-weight:600;box-shadow:var(--shadow-lg)}
#iq-main{scroll-margin-top:76px}#iq-main:focus{outline:0}
.nav a:focus-visible,.nav button:focus-visible,.nav .elementor-menu-toggle:focus-visible{outline:3px solid var(--teal-300);outline-offset:3px;border-radius:999px}
.nav .sub-menu a:focus-visible{outline-color:var(--brand);border-radius:12px}
.nav .elementor-nav-menu--main .sub-menu li.current-menu-item>a.elementor-sub-item{background:var(--brand-subtle)!important;color:var(--teal-700)!important}
@media(max-width:1024px){.e-con.nav-in{gap:12px}.nav .elementor-widget-nav-menu{margin-inline-start:0;order:3}.nav .nav-cta{margin-inline-start:auto;order:2}}
@media(max-width:480px){.nav .nav-cta .elementor-button{height:38px;padding:0 14px;font-size:.84rem}.nav .logo img{height:22px}}
@media(min-width:1025px) and (max-width:1240px){.nav .elementor-nav-menu--main .elementor-item{padding:9px 10px!important;font-size:.9rem}}
@media(max-width:1100px){.nav .nav-cta{display:block!important}}
.e-con.nav-in{flex-wrap:nowrap}
@media(max-width:360px){.e-con.nav-in{gap:8px}.nav .nav-cta .elementor-button{padding:0 11px;font-size:.8rem}.nav .elementor-menu-toggle{width:40px;height:40px}}
/* ---------- mobile menu ---------- */
.nav .elementor-menu-toggle svg,.nav .elementor-menu-toggle i{fill:currentColor;color:inherit}
.nav nav.elementor-nav-menu--dropdown .sub-arrow svg{fill:currentColor}
.nav nav.elementor-nav-menu--dropdown .sub-arrow{color:var(--teal-300)}
.nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container{border-radius:0;min-height:calc(100svh - 76px);max-height:calc(100svh - 76px)!important;overflow-y:auto!important;padding-bottom:40px}
.nav nav.elementor-nav-menu--dropdown li.current-menu-item>a,.nav nav.elementor-nav-menu--dropdown li.current-menu-ancestor>a,.nav nav.elementor-nav-menu--dropdown li.iq-current>a{color:var(--teal-300)!important}
.nav nav.elementor-nav-menu--dropdown li{border:0!important}
body:has(.nav .elementor-menu-toggle.elementor-active){overflow:hidden}
.nav.is-solid:has(.elementor-menu-toggle.elementor-active){background:var(--navy-950);box-shadow:none}
.nav.is-solid:has(.elementor-menu-toggle.elementor-active) .lg-i{display:block}.nav.is-solid:has(.elementor-menu-toggle.elementor-active) .lg-d{display:none}
.nav.is-solid:has(.elementor-menu-toggle.elementor-active) .elementor-menu-toggle{color:#fff!important;border-color:rgba(255,255,255,.3)}
.nav nav.elementor-nav-menu--dropdown.elementor-nav-menu__container{min-height:100svh;max-height:calc(100svh - 60px)!important}

/* =========== header v2: design .nav-l / .dd-p / .lang =========== */
.nav .elementor-nav-menu--main>ul>li>a.elementor-item{padding:9px 14px!important;font:500 .9375rem/1.2 var(--font-body)!important;gap:6px}
.nav .elementor-nav-menu--main>ul>li.menu-item-has-children:hover>a.elementor-item,.nav .elementor-nav-menu--main>ul>li.menu-item-has-children:focus-within>a.elementor-item{background:rgba(255,255,255,.1);color:#fff!important}
.nav.is-solid .elementor-nav-menu--main>ul>li.menu-item-has-children:hover>a.elementor-item{background:var(--slate-100);color:var(--navy-800)!important}
/* panel */
.nav .elementor-nav-menu--main ul.sub-menu{width:360px!important;min-width:0!important;padding:10px!important;border-radius:20px!important;border:1px solid var(--border)!important;background:#fff!important;box-shadow:var(--shadow-xl)!important;margin-top:12px!important}
.nav .elementor-nav-menu--main li.iq-cols-2>ul.sub-menu{width:580px!important}
@media(min-width:1025px){
.nav .elementor-nav-menu--main li.iq-cols-2:hover>ul.sub-menu,.nav .elementor-nav-menu--main li.iq-cols-2:focus-within>ul.sub-menu{display:grid!important;grid-template-columns:1fr 1fr;gap:0}
.nav .elementor-nav-menu--main li.iq-mega:hover>ul.sub-menu{animation:ddIn .3s var(--ease-out)}
.nav .elementor-nav-menu--main li.iq-mega>ul.sub-menu{left:50%!important;transform:translateX(-50%)}}
@keyframes ddIn{from{opacity:0;translate:0 10px}}
.nav .elementor-nav-menu--main ul.sub-menu li{border:0!important}
.nav .elementor-nav-menu--main ul.sub-menu a.elementor-sub-item{display:flex!important;gap:12px;align-items:center;padding:9px 12px!important;border-radius:12px!important;color:var(--navy-800)!important;font:600 .9rem/1.3 var(--font-body)!important;white-space:normal!important;border:0!important}
.nav .elementor-nav-menu--main ul.sub-menu a.elementor-sub-item:hover,.nav .elementor-nav-menu--main ul.sub-menu a.elementor-sub-item:focus-visible{background:var(--slate-50)!important;color:var(--navy-800)!important}
.mi-ic{width:36px;height:36px;border-radius:10px;background:color-mix(in srgb,var(--a,var(--brand)) 10%,#fff);color:var(--a,var(--teal-600));display:grid;place-items:center;flex:none}
.mi-ic .i{width:18px;height:18px}
.mi-t{display:block;min-width:0}.mi-n{display:block}
.mi-d{display:block;font-weight:400;color:var(--text-muted);font-size:.78rem;line-height:1.35;margin-top:2px}
.nav .elementor-nav-menu--main ul.sub-menu li.current-menu-item>a .mi-n{color:var(--teal-700)}
/* sub-arrow points up while open */
.nav .elementor-nav-menu--main>ul>li:hover>a .sub-arrow svg,.nav .elementor-nav-menu--main>ul>li:focus-within>a .sub-arrow svg{transform:rotate(180deg)}
/* language pill (design .lang) */
.nav .lang-sw{width:auto;flex:none}
.nav .lang{display:inline-flex;align-items:center;height:42px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.3);color:#fff;font:600 .875rem var(--font-body);text-decoration:none;transition:var(--transition-colors)}
.nav .lang:hover{background:rgba(255,255,255,.1);color:#fff}
.nav.is-solid .lang{color:var(--navy-800);border-color:var(--border-strong)}.nav.is-solid .lang:hover{background:var(--slate-100)}
.nav:has(.elementor-menu-toggle.elementor-active) .lang{color:#fff;border-color:rgba(255,255,255,.3)}
@media(max-width:1024px){.nav .lang-sw{order:1;margin-inline-start:auto}.nav .nav-cta{margin-inline-start:0}}
@media(max-width:480px){.nav .lang{height:38px;padding:0 10px;font-size:.8rem}}
@media(max-width:400px){.nav .nav-cta{display:none!important}}
/* mobile list: icons inline, no descriptions */
.nav nav.elementor-nav-menu--dropdown .mi-d{display:none}
.nav nav.elementor-nav-menu--dropdown .mi-ic{width:28px;height:28px;border-radius:8px;background:rgba(255,255,255,.08);color:var(--teal-300)}
.nav nav.elementor-nav-menu--dropdown .sub-menu a{display:flex!important;gap:12px;align-items:center}

/* =========== design pass: home sections, cards, footer =========== */
/* trust badges */
.trust .badges{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.trust .badges>span{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:6px 14px;border-radius:999px;border:1px solid var(--border);background:#fff;font-weight:600;font-size:.84rem;color:var(--navy-800)}
.trust .badges .i{color:var(--brand)}
.e-con.trust{--display:grid;display:grid;gap:22px;justify-items:center;text-align:center}
.e-con.logos{grid-template-columns:repeat(8,minmax(0,1fr))}@media(max-width:900px){.e-con.logos{grid-template-columns:repeat(4,1fr)}}
/* service cards (linked) */
.e-con.card{padding:28px;border:1px solid var(--border);border-radius:20px;background:#fff;box-shadow:var(--shadow-sm)}
a.e-con.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--brand-border)}
a.e-con.card:hover .svc-i{background:var(--brand);color:#fff;transform:rotate(-6deg) scale(1.06)}
.card .svc-i{width:52px;height:52px}
.e-con.card.wide{background:var(--navy-950);border-color:var(--navy-950)}
.card.wide .lnk{margin:0!important}
/* case study */
.e-con.case{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.e-con.case-img{aspect-ratio:4/5;border-radius:28px;overflow:hidden;background:var(--slate-100)}
.case-img .elementor-widget-image,.case-img .elementor-widget-container{height:100%}.case-img img{width:100%!important;height:100%!important;object-fit:cover;border-radius:0}
.case-q .elementor-heading-title{margin:18px 0 0;font:500 clamp(1.35rem,2.3vw,2rem)/1.32 var(--font-display)!important;letter-spacing:-.015em;color:var(--navy-800)}
.case .by p{margin:22px 0 34px;color:var(--text-muted)}.case .by b{color:var(--navy-800)}
.e-con.ms{--flex-direction:row;gap:clamp(24px,4vw,48px);flex-wrap:wrap;padding-top:26px;border-top:1px solid var(--border);margin-bottom:28px}
.ms .e-con.stat{background:none;padding:0}.ms .stat-b .elementor-heading-title{font:600 2rem/1.1 var(--font-mono);letter-spacing:-.04em;color:var(--teal-600);margin:0}
.ms .stat-l p{font-size:.85rem;color:var(--text-muted)}
@media(max-width:900px){.e-con.case{grid-template-columns:1fr}.e-con.case-img{aspect-ratio:16/10}}
/* work card (design .work) */
.e-con.work{border:1px solid var(--border);border-radius:20px;overflow:hidden;background:#fff;transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),border-color var(--dur-fast)}
a.e-con.work:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--brand-border)}
.e-con.work-th{background:var(--navy-950);aspect-ratio:16/10}
.work-th .tags,.post-th .chip{position:absolute!important;inset-inline-start:14px;top:14px;z-index:2;width:auto!important}
.work-th .tags .elementor-heading-title{display:inline-flex;gap:6px;font:500 .6875rem var(--font-mono);letter-spacing:.06em;text-transform:uppercase;background:rgba(0,15,26,.6);color:#fff;border:1px solid rgba(255,255,255,.22);padding:5px 10px;border-radius:999px;backdrop-filter:blur(6px)}
.post-th .chip .elementor-heading-title{font:500 .6875rem var(--font-mono);letter-spacing:.12em;text-transform:uppercase;background:#fff;color:var(--teal-700);padding:5px 10px;border-radius:999px}
.work .lnk,.post .lnk{margin-top:8px}
/* post card (design .post) */
.e-con.post{border:1px solid var(--border);border-radius:20px;overflow:hidden;background:#fff;transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),border-color var(--dur-fast)}
a.e-con.post:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--brand-border)}
.e-con.post-th{aspect-ratio:16/9}
/* footer (design .foot) */
.foot-links p{display:grid}.foot-links a{display:block;color:var(--slate-300)!important;text-decoration:none;padding:5px 0;font-size:.92rem}.foot-links a:hover{color:#fff!important}
.foot .foot-brand .elementor-widget-text-editor p{max-width:300px;margin-top:18px}
.foot-legal .elementor-nav-menu{gap:20px}.foot-legal .elementor-item{padding:0!important;font-size:.8rem!important}
.e-con.ms>.e-con{--width:auto;width:auto;flex:0 0 auto}
.e-con.ms{display:flex;flex-direction:row}
.trust>.elementor-widget-html{width:100%}
/* gantt, comparison, mission, facts */
.elementor-widget-html:has(.gantt),.elementor-widget-html:has(.vs){width:100%}
.e-con.mission{--display:grid;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(2rem,6vw,6rem);align-items:center}
.mission .elementor-widget-text-editor p{font-size:1.1rem;line-height:1.7;color:var(--text-body);margin-top:1em}
.mission .e-con.ph{aspect-ratio:4/5;border-radius:28px}
@media(max-width:900px){.e-con.mission{grid-template-columns:1fr}}
.card .n .elementor-heading-title{font:500 .75rem var(--font-mono);letter-spacing:.14em;color:var(--teal-700)}
.e-con.stats.facts{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:760px){.e-con.stats.facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
.facts .e-con.stat{padding:22px 24px}
.facts .fk .elementor-heading-title{display:block;margin-bottom:8px;font:500 .6875rem var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}
.facts .fv .elementor-heading-title{font:700 1.1rem/1.3 var(--font-display);letter-spacing:-.01em;color:var(--navy-800)}
.stat .elementor-counter-number-wrapper span{font-size:inherit!important;color:inherit!important;font-family:inherit}

/* =========== Arabic / RTL (on top of design.css "Arabic / RTL") =========== */
html[lang|=ar] body{font-family:var(--font-body)}
[dir=rtl] .iqb .elementor-button-icon svg{transform:scaleX(-1)}
[dir=rtl] .iqb .elementor-button:hover .elementor-button-icon svg{transform:scaleX(-1) translateX(4px)}
[dir=rtl] .lnk .elementor-heading-title::after{content:"←"}
[dir=rtl] a:hover .lnk .elementor-heading-title::after{transform:translateX(-4px)}
[dir=rtl] .eb .elementor-heading-title,[dir=rtl] .meta .elementor-heading-title,[dir=rtl] .k .elementor-heading-title{font-family:var(--font-body);letter-spacing:0;text-transform:none}
[dir=rtl] .eb .elementor-heading-title{font-weight:600;font-size:.8rem}
@media(min-width:1025px){[dir=rtl] .nav .elementor-nav-menu--main li.iq-mega>ul.sub-menu{right:auto!important;left:50%!important;transform:translateX(-50%)}}
[dir=rtl] .nav .elementor-nav-menu--main ul.sub-menu a.elementor-sub-item{text-align:right}
[dir=rtl] .toc .elementor-toc__body{border-left:0;border-right:2px solid var(--border)}
[dir=rtl] .ind-go .i,[dir=rtl] .rail-a .i{scale:-1 1}
[dir=rtl] .faq-w .elementor-tab-content{padding:0 0 24px 40px!important}
[dir=rtl] .calc .fld{direction:ltr}[dir=rtl] .calc label{text-align:right}
[dir=rtl] .cta::before{right:auto;left:-140px}
[dir=rtl] .art-b .iq-s>ul,[dir=rtl] .art-b .iq-s>ol{padding-inline-start:1.2em}
[dir=rtl] .stat-b .elementor-heading-title,[dir=rtl] .ms .stat-b .elementor-heading-title{font-family:var(--font-mono)}
[dir=rtl] .hs h1.elementor-heading-title,[dir=rtl] .hs h2.elementor-heading-title,[dir=rtl] .cover h1{line-height:1.3!important}
/* Arabic case studies: the live site's screenshot captions are English only */
html[lang|=ar] .art-b .shots figcaption{display:none}

/* =========== link builder =========== */
.explore-w{width:100%}
.iq-explore{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:20px;margin-top:22px}
.iq-explore .ex-col{background:#fff;border:1px solid var(--border);border-radius:20px;padding:24px 26px;box-shadow:var(--shadow-xs)}
.iq-explore h3{font:600 1.05rem/1.3 var(--font-display);color:var(--navy-800);margin:0 0 12px}
.iq-explore ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.iq-explore a{display:flex;gap:10px;align-items:baseline;padding:7px 0;color:var(--slate-700);text-decoration:none;font-size:.94rem;line-height:1.4;border-bottom:1px solid var(--border-subtle)}
.iq-explore li:last-child a{border-bottom:0}
.iq-explore a::before{content:"→";color:var(--brand);flex:none;transition:transform var(--dur-base) var(--ease-out)}
[dir=rtl] .iq-explore a::before{content:"←"}
.iq-explore a:hover{color:var(--teal-700)}.iq-explore a:hover::before{transform:translateX(3px)}
[dir=rtl] .iq-explore a:hover::before{transform:translateX(-3px)}
.art-b a.iq-autolink{color:var(--teal-700);text-decoration:underline;text-decoration-color:var(--brand-border);text-underline-offset:3px}
.art-b a.iq-autolink:hover{text-decoration-color:var(--brand)}
.facts .fv a{color:var(--teal-700);text-decoration:none}.facts .fv a:hover{text-decoration:underline}
/* home FAQ: questions are H3s inside <summary> */
.faq summary h3{font:inherit;color:inherit;margin:0;letter-spacing:inherit}
.iq-home-faq{margin-top:8px}
.iq-home-faq a{color:var(--brand);text-decoration:underline;text-underline-offset:3px}
/* service bodies: city and step cards in a 2×2 grid */
.art-b .iq-g22{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
@media(max-width:700px){.art-b .iq-g22{grid-template-columns:1fr}}
.faq summary h3{font:inherit;color:inherit;margin:0}
