html{overflow-x:hidden}

:root {
  --primary:          #1045D4;
  --primary-hover:    #0A3AB5;
  --bg-dark:          #0B0F1A;
  --bg-dark2:         #0F1422;
  --card-dark:        #111827;
  --bg-light:         #ffffff;
  --bg-light2:        #f9fafb;
  --text-dark:        #0B0F1A;
  --text-body:        #0B0F1A;
  --text-muted-light: #0B0F1A;
  --text-muted-dark:  rgba(255,255,255,0.92);
  --border-light:     #e8e8e8;
  --border-dark:      rgba(255,255,255,0.07);
  --font-primary:     'DM Sans', sans-serif;
  --font-body:        'Manrope', sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Manrope',sans-serif;background:#fff;color:#0B0F1A;font-size:16px;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
h1,h2,h3,h4,h5,h6{font-family:'DM Sans',sans-serif;color:inherit;margin:0;-webkit-font-smoothing:antialiased}

/* ── GLOBAL TYPOGRAPHY SYSTEM ── */
p { font-size:16px; line-height:1.75; color:#0B0F1A; font-weight:400; }
.tl-label { font-size:13px; font-weight:700; letter-spacing:.6px; text-transform:uppercase; }
.tl-subtitle { font-size:17px; font-weight:400; line-height:1.78; color:var(--text-body); }
.tl-card-desc { font-size:14px; line-height:1.7; color:#0B0F1A; }
.tl-meta { font-size:13px; color:#0B0F1A; }

a{text-decoration:none;color:inherit}
img{display:block;width:100%;height:100%;object-fit:cover}

/* ─── SVG ICONS ─── */
.icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}

/* ─── MARQUEE ─── */
.marquee-bar{background:var(--primary);padding:10px 0;overflow:hidden;white-space:nowrap}
.marquee-inner{display:inline-flex;animation:marquee 35s linear infinite}
.marquee-inner span{font-size:13px;font-weight:700;letter-spacing:.5px;padding:0 32px;color:#fff;text-transform:uppercase}
.marquee-inner span em{color:#a8d4ff;font-style:normal;margin-left:8px;cursor:pointer;text-decoration:underline}
.marquee-dot{color:rgba(255,255,255,.88);font-size:8px;vertical-align:middle;margin:0 8px}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ─── NAV ─── */
/* nav and nav-inner defined below with mega menu */
/* nav-inner defined below */
.nav-logo{display:flex;align-items:center;margin-right:auto}
.nav-logo svg{height:30px;width:auto}
.nav-logo img{mix-blend-mode:screen}
.footer-brand img{mix-blend-mode:screen}
.nav-links{display:flex;align-items:center;gap:2px;flex:1;justify-content:center}
.nav-item{position:relative}
.nav-item>a{display:flex;align-items:center;gap:5px;padding:8px 15px;font-size:14px;font-weight:500;color:rgba(255,255,255,.85);background:none;border:none;transition:color .2s;font-family:'DM Sans',sans-serif;cursor:pointer}
.nav-item>a:hover{color:#fff;background:none}
.nav-item.active>a{color:var(--primary);background:none}
.nav-item>a .chev-ico{transition:transform .2s}
.nav-item:hover>a .chev-ico{transform:rotate(180deg)}
.nav-cta{margin-left:20px;display:flex;align-items:center;gap:8px;background:var(--primary);color:#fff;padding:10px 22px;border-radius:50px;font-size:14px;font-weight:700;font-family:'DM Sans',sans-serif;transition:opacity .2s,transform .2s,box-shadow .2s}
.nav-cta:hover{background:var(--primary-hover,#0A3AB5);color:#fff}

/* ── NAV & MEGA MENU ── */
nav{position:sticky;top:0;z-index:1000;background:rgba(11,13,23,.95);backdrop-filter:blur(20px);border-bottom:1px solid var(--border-dark)}
.nav-inner{max-width:1300px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:72px;padding:0 32px;gap:0}
/* Mega menu: fixed to viewport edges, but padded to align with page content */

.mega-inner{display:grid;grid-template-columns:210px 1fr 240px}
.mega-col{padding:28px 28px;border-right:1px solid #ebebeb;overflow-y:auto;max-height:520px}
.mega-col:last-child{border-right:none;background:#f7f9ff;display:flex;flex-direction:column;padding:24px}
.mega-menu{position:fixed;top:72px;left:50%;transform:translateX(-50%) translateY(-8px);width:min(1160px,calc(100vw - 48px));background:#fff;border:1px solid #e8e8e8;border-top:2px solid var(--primary);padding:0;opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease;box-shadow:0 12px 40px rgba(0,0,0,.1);z-index:999;overflow:hidden}
.mega-menu.open{opacity:1;pointer-events:all;transform:translateX(-50%) translateY(0)}
.mega-label{font-size:13px;font-weight:700;color:#0B0F1A;letter-spacing:.6px;text-transform:uppercase;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid #ebebeb}
.mega-link{display:flex;align-items:center;gap:6px;padding:9px 10px;font-size:14px;color:#222233;transition:color .15s,background .15s;margin-bottom:2px;font-family:'DM Sans',sans-serif;font-weight:600;border-radius:4px;line-height:1.4}
.mega-link:hover{color:var(--primary)}
.mega-link.active-link{color:var(--primary);font-weight:600}
.mega-link .m-ico{width:30px;height:30px;background:#f0f3ff;display:grid;place-items:center;flex-shrink:0;border:1px solid #e0e8ff}
.mega-mid-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;padding:28px 28px}
.mega-mid-col .mega-label{margin-bottom:8px;padding-bottom:6px}
.mega-featured{background:#0B0F1A;padding:20px;margin:0;border-radius:8px;display:flex;flex-direction:column;justify-content:space-between;gap:14px;height:100%}
.mega-featured-badge{font-size:13px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;color:rgba(255,255,255,.88)}
.mega-featured h4{font-size:15px;font-weight:800;color:#fff;line-height:1.4}
.mega-featured a{font-size:13px;font-weight:700;color:#fff;display:inline-flex;align-items:center;gap:5px;background:rgba(255,255,255,.2);padding:7px 12px;width:fit-content;transition:background .2s}
.mega-featured a:hover{background:rgba(255,255,255,.3)}

/* ─── HERO ─── */
.hero{position:relative;height:100vh;min-height:600px;display:flex;align-items:center;overflow:hidden;background:#060810}
.hero-bg-img{position:absolute;inset:0;z-index:0}
.hero-bg-img img{width:100%;height:100%;object-fit:cover}
.hero-bg-img video{position:absolute;inset:0;z-index:0}
.hero-bg-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,rgba(4,6,14,.92) 0%,rgba(4,6,14,.88) 40%,rgba(4,6,14,.45) 70%,rgba(4,6,14,.15) 100%)}
.hero-orb1{position:absolute;right:5%;top:10%;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(16,69,212,.25) 0%,rgba(0,212,255,.08) 50%,transparent 70%);filter:blur(60px);animation:pulse 7s ease-in-out infinite;z-index:1}
.hero-orb2{position:absolute;left:-5%;bottom:5%;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(16,69,212,.12) 0%,transparent 70%);filter:blur(40px);animation:pulse 9s ease-in-out infinite reverse;z-index:1}
@keyframes pulse{0%,100%{transform:scale(1);opacity:.7}50%{transform:scale(1.1);opacity:1}}
.hero-content{position:relative;z-index:2;max-width:760px;margin-left:80px;padding:0 32px;text-align:left;width:100%}
.hero-subtitle{font-size:13px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;color:rgba(255,255,255,.88);margin-bottom:22px;display:block}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.2}}
.hero h1{font-size:clamp(38px,5vw,68px);font-weight:800;line-height:1.08;margin-bottom:24px;letter-spacing:-2px;text-align:left;color:#fff}
.hero h1 .grad{background:linear-gradient(90deg,#1045D4,#00D4FF);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.hero-desc{font-size:17px;color:rgba(255,255,255,.82);line-height:1.75;margin-bottom:36px;max-width:580px;text-align:left}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-start}
.btn-primary{border-radius:50px !important;display:inline-flex;align-items:center;gap:8px;background:var(--primary);color:#fff;padding:14px 28px;border-radius:50px;font-size:15px;font-weight:700;font-family:'DM Sans',sans-serif;transition:all .2s;cursor:pointer;border:none}
.btn-primary:hover{background:transparent;color:var(--primary)}
.btn-outline{border-radius:50px !important;display:inline-flex;align-items:center;gap:8px;background:transparent;color:#fff;padding:14px 28px;border-radius:50px;font-size:15px;font-weight:700;font-family:'DM Sans',sans-serif;border:1.5px solid rgba(255,255,255,.25);transition:all .2s}
.btn-outline:hover{border-color:#fff;background:rgba(255,255,255,.06)}
.hero-awards{display:flex;gap:12px;margin-top:48px;flex-wrap:wrap;justify-content:flex-start}
.award-pill{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:10px;padding:12px 18px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 2px 12px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.15)}
.award-pill .aw-icon{width:34px;height:34px;border-radius:0;background:rgba(16,69,212,.2);display:grid;place-items:center;flex-shrink:0}
.award-pill .aw-text strong{display:block;color:#fff;font-size:13px;font-family:'DM Sans',sans-serif}
.award-pill .aw-text span{font-size:13px;color:rgba(255,255,255,.88)}

/* ─── CLIENTS ─── */
.clients{padding:44px 32px;border-top:1px solid var(--border-dark);border-bottom:1px solid var(--border-dark);background:rgba(255,255,255,.02)}
.clients-inner{max-width:1300px;margin:0 auto;display:flex;align-items:center;gap:0}
.clients-label{font-size:13px;color:var(--text-muted-dark);text-transform:uppercase;letter-spacing:.3px;font-weight:700;white-space:nowrap;margin-right:40px;flex-shrink:0}
.clients-logos{display:flex;align-items:center;gap:44px;overflow:hidden;flex:1}
.client-logo{font-family:'DM Sans',sans-serif;font-size:15px;font-weight:700;color:rgba(255,255,255,.28);letter-spacing:-.5px;white-space:nowrap;transition:color .2s}
.client-logo:hover{color:rgba(255,255,255,.85)}

/* ─── SECTION COMMON ─── */
.section-tag{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--primary);margin-bottom:12px;padding:0;background:none;border:none}
.section-tag.light-tag{color:var(--primary)}
.section-title{font-size:clamp(26px,3.2vw,44px);font-weight:800;line-height:1.15;letter-spacing:-.5px;margin-bottom:16px}
.section-sub{font-size:16px;line-height:1.75}

/* ─── SECTION THEMING: DARK / LIGHT alternating ─── */
.sec-dark{background:var(--bg-dark);color:var(--text-main)}
.sec-dark .section-title{color:#fff}
.sec-dark .section-sub{color:rgba(255,255,255,.82)}
.sec-dark .section-tag{color:#5c9aff}
.sec-dark2{background:var(--bg-dark2);color:var(--text-main)}
.sec-dark2 .section-title{color:#fff}
.sec-dark2 .section-sub{color:rgba(255,255,255,.82)}
.sec-dark2 .section-tag{color:#5c9aff}
.sec-light{background:var(--bg-light);color:var(--text-dark)}
.sec-light .section-title{color:#0B0F1A}
.sec-light .section-sub{color:var(--text-muted-light)}
.sec-light .section-tag{color:var(--primary)}
.sec-light2{background:var(--bg-light2);color:var(--text-dark)}
.sec-light2 .section-title{color:#0B0F1A}
.sec-light2 .section-sub{color:var(--text-muted-light)}
.sec-light2 .section-tag{color:var(--primary)}

/* ─── STICKY SERVICES (Scroll-stacked cards) ─── */
.services-section{padding:100px 32px 0}
/* IMPORTANT: overflow must NOT be hidden — it breaks position:sticky */
.services-header{max-width:1300px;margin:0 auto 60px}
.services-header-inner{display:flex;justify-content:space-between;align-items:flex-end}

.sticky-services-wrap{max-width:1300px;margin:0 auto}
.sticky-card-track{position:relative}
.sticky-card{
  position:sticky;
  top:88px;
  /* Give each card a bottom margin so the track has scroll distance */
  margin-bottom:40px;
  will-change:transform;
  transition:transform .15s ease;
}
.sticky-card:last-child{margin-bottom:0}
.sticky-track-spacer{height:80px}

.service-card{display:grid;grid-template-columns:1fr 380px;background:#fff;border-radius:0;overflow:hidden;border:1px solid #ebebeb;transition:border-color .2s;transform-origin:top center;margin-bottom:0}
.service-card:hover{border-color:#1045D4}
.service-img{height:460px;overflow:hidden;position:relative;background:#0B0F1A;flex-shrink:0}
.service-img img{width:100%;height:100%;object-fit:cover;opacity:.6;transition:opacity .4s,transform .5s}
.service-num{position:absolute;bottom:24px;left:24px;font-size:72px;font-weight:900;color:rgba(255,255,255,.12);font-family:'DM Sans',sans-serif;line-height:1;letter-spacing:-3px;z-index:1}
.service-body{padding:48px 52px;display:flex;flex-direction:column;justify-content:center;background:#fff;position:relative;overflow:hidden}
.service-category{font-size:13px;font-weight:700;letter-spacing:.5px;color:#fff;text-transform:uppercase;background:var(--primary);padding:4px 12px;border-radius:4px;display:inline-block;margin-bottom:16px;width:fit-content}
.service-title{font-size:26px;font-weight:800;margin-bottom:14px;line-height:1.15;color:#0B0F1A;letter-spacing:-.5px}
.service-desc{font-size:14.5px;color:#0B0F1A;line-height:1.78;margin-bottom:24px}
.service-tags-row,.service-tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:24px}
.service-tag-chip,.service-tag{font-size:13px;color:var(--primary);background:rgba(16,69,212,.06);border:1px solid rgba(16,69,212,.15);padding:4px 12px;border-radius:50px;font-family:'DM Sans',sans-serif;font-weight:600}
.learn-more-btn,.learn-more{display:inline-flex;align-items:center;gap:8px;color:var(--primary);font-size:13px;font-weight:600;font-family:'DM Sans',sans-serif;background:transparent;padding:0;border:none;border-bottom:1.5px solid currentColor;padding-bottom:2px;transition:color .2s;width:fit-content;text-decoration:none;border-radius:0}
.learn-more-btn:hover,.learn-more:hover{color:var(--primary-hover)}

/* ─── BENEFITS ─── */
.benefits-section{padding:100px 32px}
.benefits-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:56px}
.benefit-card{background:#fff;border:1px solid var(--border-light);border-radius:12px;padding:40px;transition:border-color .2s,transform .2s,box-shadow .2s}
.benefit-card:hover{border-color:#aab4ff}
.benefit-icon{width:52px;height:52px;border-radius:0;background:linear-gradient(135deg,rgba(16,69,212,.1),rgba(0,212,255,.06));display:grid;place-items:center;margin-bottom:18px;border:1px solid rgba(16,69,212,.12)}
.benefit-card h3{font-size:16px;font-weight:700;margin-bottom:10px;color:#0B0D17}
.benefit-card p{font-size:13.5px;color:var(--text-muted-light);line-height:1.65}

/* ─── STATS ─── */
.stats-section{padding:100px 32px}
.stats-inner{max-width:1300px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.stats-left h2{font-size:clamp(26px,3vw,42px);font-weight:800;margin-bottom:20px;line-height:1.2}
.stats-left h2 .grad{background:linear-gradient(90deg,#1045D4,#00D4FF);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.stats-left p{font-size:15.5px;line-height:1.75;margin-bottom:32px}
.stats-nums-row{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;border-top:1px solid var(--border-dark);padding-top:56px;margin-top:56px;max-width:1300px;margin-left:auto;margin-right:auto}
.stat-box .num{font-size:42px;font-weight:900;font-family:'DM Sans',sans-serif;background:linear-gradient(90deg,#1045D4,#00D4FF);-webkit-background-clip:text;-webkit-text-fill-color:transparent;line-height:1}
.stat-box .lbl{font-size:13px;color:var(--text-muted-dark);margin-top:6px}
.stats-img-card{border-radius:0;overflow:hidden;height:340px;position:relative;border:1px solid var(--border-dark)}
.stats-img-card img{object-fit:cover}
.stats-floating{position:absolute;bottom:20px;right:20px;background:rgba(11,13,23,.9);border:1px solid var(--border-dark);border-radius:0;padding:14px 18px;display:flex;align-items:center;gap:12px;backdrop-filter:blur(12px)}
.stats-floating .fl-ico{width:36px;height:36px;border-radius:0;background:rgba(16,69,212,.2);display:grid;place-items:center}
.stats-floating strong{display:block;font-size:18px;font-family:'DM Sans',sans-serif}
.stats-floating span{font-size:13px;color:var(--text-muted-dark)}

/* ─── TOOLS ─── */
.tools-section{padding:100px 32px}
.tools-header{text-align:center;margin-bottom:56px}
.tools-header .section-sub{margin:0 auto;max-width:560px}
.tools-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.tool-card{background:var(--card-dark);border:1px solid var(--border-dark);border-radius:0;padding:22px 14px;display:flex;flex-direction:column;align-items:center;gap:10px;transition:border-color .2s,transform .2s;cursor:pointer}
.tool-card:hover{border-color:#aab4ff}
.tool-card .t-ico{width:40px;height:40px;display:grid;place-items:center;border-radius:0;background:rgba(255,255,255,.04);border:1px solid var(--border-dark)}
.tool-card span{font-size:13px;font-weight:600;color:var(--text-muted-dark);text-align:center;font-family:'DM Sans',sans-serif}

/* ─── TESTIMONIALS ─── */
.testi-section{padding:100px 32px}
.testi-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:56px}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.testi-card{background:#fff;border:1px solid var(--border-light);border-radius:12px;padding:36px;transition:border-color .2s,box-shadow .2s}
.testi-card:hover{border-color:#aab4ff}
.testi-stars{display:flex;gap:3px;margin-bottom:18px}
.testi-text{font-size:14.5px;color:var(--text-muted-light);line-height:1.75;margin-bottom:22px;font-style:italic}
.testi-author{display:flex;align-items:center;gap:12px;border-top:1px solid #EEF1F9;padding-top:18px}
.testi-avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--secondary));display:grid;place-items:center;font-size:16px;font-weight:800;flex-shrink:0;font-family:'DM Sans',sans-serif;color:#fff}
.testi-name{font-size:13.5px;font-weight:700;color:#0B0D17}
.testi-role{font-size:13px;color:var(--text-muted-light)}

/* ─── FAQ ─── */
.faq-section{padding:100px 32px}
.faq-header{text-align:center;margin-bottom:56px}
.faq-header .section-sub{margin:0 auto;max-width:560px}
.faq-list{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:10px}
.faq-item{background:var(--card-dark);border:1px solid var(--border-dark);border-radius:0;overflow:hidden}
.faq-q{padding:20px 24px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-size:15px;font-weight:600;font-family:'DM Sans',sans-serif;transition:color .2s;gap:16px;color:#fff}
.faq-q:hover{color:rgba(255,255,255,.9)}
.faq-toggle{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--border-dark);display:grid;place-items:center;flex-shrink:0;transition:all .2s}
.faq-item.open .faq-toggle{background:var(--primary);border-color:var(--primary);transform:rotate(45deg)}
.faq-a{padding:0 24px;max-height:0;overflow:hidden;font-size:14.5px;color:rgba(255,255,255,.85);line-height:1.75;transition:max-height .35s ease,padding .35s ease}
.faq-item.open .faq-a{max-height:200px;padding:0 24px 20px}

/* ─── CTA VISUAL CARD (replaces inline form) ─── */
.cta-visual-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:0;padding:40px;display:flex;flex-direction:column;gap:28px;backdrop-filter:blur(12px)}
.cta-vc-top{}
.cta-vc-icon{width:64px;height:64px;border-radius:0;background:linear-gradient(135deg,rgba(16,69,212,.4),rgba(0,212,255,.2));display:grid;place-items:center;margin-bottom:18px;border:1px solid rgba(16,69,212,.3)}
.cta-vc-top h3{font-size:24px;font-weight:800;color:#fff;margin-bottom:10px;line-height:1.25}
.cta-vc-top p{font-size:14.5px;color:var(--text-muted-dark);line-height:1.7}
.cta-vc-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);padding:20px 0}
.cta-vc-stat{text-align:center;padding:0 16px;border-right:1px solid rgba(255,255,255,.08)}
.cta-vc-stat:last-child{border-right:none}
.cta-vc-stat strong{display:block;font-size:26px;font-weight:900;font-family:'DM Sans',sans-serif;background:linear-gradient(90deg,#1045D4,#00D4FF);-webkit-background-clip:text;-webkit-text-fill-color:transparent;line-height:1;margin-bottom:4px}
.cta-vc-stat span{font-size:11.5px;color:var(--text-muted-dark)}
.cf-submit-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;background:var(--primary);color:#fff;border:none;padding:16px 24px;border-radius:0;font-size:15.5px;font-weight:700;font-family:'DM Sans',sans-serif;cursor:pointer;transition:all .2s}
.cf-submit-btn:hover{background:transparent;color:var(--primary)}
.cta-vc-nda{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--text-muted-dark);text-align:center;justify-content:center}
.cta-vc-brands{display:flex;align-items:center;gap:16px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.08);padding-top:20px}
.cta-vc-brands span{font-size:13px;color:rgba(255,255,255,.85);text-transform:uppercase;letter-spacing:.3px;font-weight:700;white-space:nowrap}
.cta-vc-brands strong{font-size:13px;font-weight:700;color:rgba(255,255,255,.88);font-family:'DM Sans',sans-serif}

/* ─── CONTACT FORM — REDESIGNED ─── */
.cta-form{background:#0d1635;border:1px solid rgba(255,255,255,.1);overflow:hidden}
.cf-form-header{display:flex;align-items:center;gap:14px;background:var(--primary);padding:20px 28px}
.cf-form-header-icon{width:40px;height:40px;background:rgba(255,255,255,.15);display:grid;place-items:center;flex-shrink:0}
.cf-form-title{font-size:17px;font-weight:800;color:#fff;font-family:'DM Sans',sans-serif;line-height:1.2}
.cf-form-sub{font-size:13px;color:rgba(255,255,255,.85);margin-top:2px}
#ctaFormContent{padding:24px 28px}
.cf-row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cf-group{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}
.cf-label{font-size:11.5px;font-weight:700;color:rgba(255,255,255,.75);letter-spacing:.2px}
.cf-req{color:#60a5fa}
.cf-input,.cf-select,.cf-textarea{background:rgba(255,255,255,.06);border:1.5px solid rgba(255,255,255,.1);padding:10px 14px;color:#fff;font-size:14px;font-family:'Manrope',sans-serif;outline:none;transition:border-color .18s,background .18s;width:100%;border-radius:8px}
.cf-input::placeholder,.cf-textarea::placeholder{color:rgba(255,255,255,.22)}
.cf-input:focus,.cf-select:focus,.cf-textarea:focus{border-color:var(--primary);background:rgba(16,69,212,.07)}
.cf-input.error,.cf-select.error,.cf-textarea.error{border-color:#f87171}
.cf-input.valid,.cf-select.valid,.cf-textarea.valid{border-color:#4ade80}
.cf-select{color:rgba(255,255,255,.88);cursor:pointer}
.cf-select.has-value{color:#fff}
.cf-select option{background:#131629;color:#fff}
.cf-textarea{resize:vertical;height:100px;min-height:80px}
.cf-error{font-size:13px;color:#f87171;display:none;align-items:center;gap:4px;margin-top:2px}
.cf-error.show{display:flex}
.cf-nda{display:flex;align-items:center;gap:8px;font-size:13px;color:rgba(255,255,255,.88);background:rgba(255,200,0,.05);border:1px solid rgba(255,200,0,.15);padding:9px 14px;margin-bottom:14px}
.cf-submit{width:100%;background:var(--primary);color:#fff;border:2px solid var(--primary);padding:13px 20px;font-size:14px;font-weight:700;font-family:'DM Sans',sans-serif;cursor:pointer;transition:background .2s,color .2s;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:50px}
.cf-submit:hover{background:#0d3dd4;cursor:not-allowed;transform:none}
.cf-success{display:none;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px 28px;gap:16px}
.cf-success.show{display:flex}
.cf-success-ico{width:64px;height:64px;background:rgba(34,197,94,.12);border:2px solid #22c55e;display:grid;place-items:center}
.cf-success h4{font-size:20px;font-weight:800;color:#fff}
.cf-success p{font-size:14px;color:var(--text-muted-dark);line-height:1.6}
/* ─── PORTFOLIO ─── */
.pf-tabs{display:flex;gap:0;margin-bottom:32px;border:1px solid var(--border-dark);width:fit-content}
.pf-tab{background:transparent;border:none;color:var(--text-muted-dark);padding:10px 22px;font-size:13px;font-weight:600;font-family:'DM Sans',sans-serif;cursor:pointer;transition:all .18s;border-right:1px solid var(--border-dark)}
.pf-tab:last-child{border-right:none}
.pf-tab:hover{color:#fff;background:rgba(255,255,255,.05)}
.pf-tab.active{background:var(--primary);color:#fff}

.pf-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}
.pf-card{background:var(--bg-dark);overflow:hidden;position:relative;cursor:pointer;transition:opacity .25s}
.pf-card.hidden{display:none}
.pf-card:hover{border-color:#aab4ff}
.pf-featured{grid-column:span 2}
.pf-img{position:relative;height:340px;overflow:hidden}
.pf-featured .pf-img{height:460px}
.pf-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;opacity:1}
.pf-card:hover .pf-img img{transform:scale(1.04)}
.pf-overlay{position:absolute;inset:0;padding:36px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(to top, rgba(4,8,20,.92) 0%, rgba(4,8,20,.2) 60%, transparent 100%);opacity:.85;transition:opacity .3s}
.pf-cat-tag{font-size:13px;font-weight:800;color:rgba(255,255,255,.92);text-transform:uppercase;letter-spacing:.3px;margin-bottom:10px;display:flex;align-items:center;gap:6px}
.pf-cat-tag::before{content:'';width:16px;height:1px;background:var(--primary)}
.pf-title{font-size:20px;font-weight:800;color:#fff;line-height:1.3;margin-bottom:10px}
.pf-featured .pf-title{font-size:26px}
.pf-blurb{font-size:13.5px;color:rgba(255,255,255,.82);line-height:1.65;margin-bottom:18px}
.pf-metrics{display:flex;gap:24px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1)}
.pf-metric strong{display:block;font-size:20px;font-weight:900;font-family:'DM Sans',sans-serif;color:#fff;line-height:1}
.pf-metric span{font-size:13px;color:rgba(255,255,255,.88);margin-top:2px;display:block}
.pf-tags{display:flex;gap:7px;flex-wrap:wrap}
.pf-tags span{font-size:13px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.88);padding:3px 10px}

/* ─── BLOG ─── */
.blog-card-featured{background:var(--card-dark);overflow:hidden}
.blog-card-featured img{transition:transform .4s}
.blog-card-featured:hover img{transform:scale(1.03)}
.blog-card-side{background:var(--card-dark);display:flex;overflow:hidden;cursor:pointer;transition:background .18s}
.blog-card-side:hover{background:rgba(16,69,212,.08)}
.blog-card{background:var(--card-dark);overflow:hidden;cursor:pointer;transition:border-color .2s;border-radius:12px;border:1px solid rgba(255,255,255,.06)}
.blog-card:hover{background:#1a1e35}
.blog-body{padding:28px}
.blog-tag{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.3px;color:var(--primary);margin-bottom:12px;display:inline-block;background:rgba(16,69,212,.1);padding:3px 10px}
.blog-card h3{font-size:16px;font-weight:700;color:#fff;line-height:1.45;margin-bottom:10px}
.blog-card p{font-size:13.5px;color:var(--text-muted-dark);line-height:1.65;margin-bottom:20px}
.blog-meta{display:flex;justify-content:space-between;font-size:13px;color:rgba(255,255,255,.85);border-top:1px solid var(--border-dark);padding-top:14px}

/* ─── AWARDS ─── */
.awards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:20px}
.award-card{background:#fff;padding:40px;position:relative;overflow:hidden;transition:border-color .2s;border-radius:12px;border:1px solid var(--border-light)}
.award-card:hover{border-color:#aab4ff}
.award-card::before{content:none}

.award-logo-wrap{width:48px;height:48px;border-radius:10px;border:1px solid rgba(16,69,212,.35);background:rgba(16,69,212,.12);display:grid;place-items:center;margin-bottom:16px}
.award-year{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--primary);margin-bottom:10px;display:inline-block}
.award-title{font-size:16px;font-weight:800;color:#0B0F1A;margin-bottom:10px;line-height:1.3}
.award-body{font-size:13.5px;color:#0B0F1A;line-height:1.68;margin-bottom:16px}
.award-issuer{font-size:13px;font-weight:700;color:#aab4c8;text-transform:uppercase;letter-spacing:.4px;border-top:1px solid #eee;padding-top:14px}

.cert-strip{display:flex;align-items:center;justify-content:center;gap:0;background:#fff;border:1px solid var(--border-light);border-radius:12px;margin-top:24px;flex-wrap:wrap;overflow:hidden}
.cert-item{display:flex;align-items:center;gap:10px;padding:22px 32px;font-size:13px;font-weight:600;color:#0B0F1A;font-family:'DM Sans',sans-serif;transition:color .2s}
.cert-item:hover{color:var(--primary)}
.cert-item svg{color:var(--primary)}
.cert-divider{width:1px;height:36px;background:#e8e8e8;flex-shrink:0}

/* ─── OFFICES ─── */
.offices-section{padding:100px 32px;background:#fff !important}
.offices-inner{max-width:1300px;margin:0 auto}
.offices-header{margin-bottom:56px}
.offices-section .section-tag{color:#1045D4}
.offices-section .section-title{color:#0B0F1A}
.offices-section .section-sub{color:#0B0F1A}
.offices-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border:1px solid #e8e8e8;border-radius:16px;overflow:hidden}
.office-card{padding:32px 28px;border-right:1px solid #e8e8e8;position:relative;transition:background .2s;background:#fff !important;color:#0B0F1A}
.office-card:last-child{border-right:none}
.office-card:hover{background:#F8FAFF}
.office-flag{font-size:36px;margin-bottom:16px;display:block;line-height:1}
.office-hq-badge{position:absolute;top:16px;right:16px;background:#1045D4;color:#fff;font-size:11px;font-weight:800;padding:3px 10px;border-radius:4px;letter-spacing:.3px;text-transform:uppercase}
.office-card h3{font-size:17px;font-weight:800;color:#0B0F1A !important;margin-bottom:4px}
.office-city{font-size:13px;color:#1045D4;font-weight:600;margin-bottom:20px}
.office-details{display:flex;flex-direction:column;gap:10px}
.office-detail{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;color:#0B0F1A !important;line-height:1.5}
.office-detail svg{flex-shrink:0;margin-top:2px;color:#1045D4}

.cta-section{padding:100px 32px;background:#0B0D17;position:relative;overflow:hidden}
.cta-section::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 60% 50%,rgba(16,69,212,.2) 0%,transparent 70%)}
.cta-inner{max-width:1300px;margin:0 auto;position:relative;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.cta-inner h2{font-size:clamp(26px,3.5vw,46px);font-weight:800;margin-bottom:20px;line-height:1.2}
.cta-inner h2 .grad{background:linear-gradient(90deg,#1045D4,#00D4FF);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.cta-inner p{font-size:15.5px;color:var(--text-muted-dark);line-height:1.75;margin-bottom:32px}
.cta-checks{display:flex;flex-direction:column;gap:12px;margin-bottom:36px}
.cta-check{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text-muted-dark)}
.cta-awards{display:flex;flex-wrap:wrap;gap:14px}
.cta-award-pill{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.04);border:1px solid var(--border-dark);border-radius:0;padding:10px 16px}
.cta-award-pill .ca-ico{width:32px;height:32px;border-radius:0;background:rgba(16,69,212,.15);display:grid;place-items:center}
.cta-award-pill .ca-text strong{display:block;color:#fff;font-size:13px;font-family:'DM Sans',sans-serif}
.cta-award-pill .ca-text span{font-size:13px;color:var(--text-muted-dark)}
.cta-right{padding:0;background:none;border:none}
.cta-right h3{font-size:22px;font-weight:800;margin-bottom:8px}
.cta-right>p{font-size:13.5px;color:var(--text-muted-dark);margin-bottom:28px;line-height:1.6}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.form-label{font-size:11.5px;font-weight:700;color:var(--text-muted-dark);letter-spacing:.5px}
.form-input,.form-select,.form-textarea{background:rgba(255,255,255,.05);border:1px solid var(--border-dark);border-radius:0;padding:11px 14px;color:#fff;font-size:14px;font-family:'Manrope',sans-serif;outline:none;transition:border-color .2s;width:100%}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary)}
.form-textarea{resize:none;height:90px}
.form-select option{background:#131629}
.form-nda{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-muted-dark);background:rgba(255,205,0,.05);border:1px solid rgba(255,205,0,.15);border-radius:0;padding:10px 14px;margin-bottom:16px}
.form-submit{width:100%;background:var(--primary);color:#fff;border:none;padding:14px;border-radius:0;font-size:15px;font-weight:700;font-family:'DM Sans',sans-serif;cursor:pointer;transition:all .2s}
.form-submit:hover{background:transparent;color:var(--primary)}

/* ─── FOOTER ─── */
footer{background:#060810;border-top:1px solid var(--border-dark);padding:72px 32px 32px}
.footer-inner{max-width:1300px;margin:0 auto}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1.3fr;gap:48px;margin-bottom:60px}
.footer-brand p{font-size:14px;color:var(--text-muted-dark);line-height:1.75;margin:18px 0 22px;max-width:280px}
.footer-socials{display:flex;gap:10px}
.social-btn{width:36px;height:36px;border-radius:50px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);display:grid;place-items:center;transition:border-color .2s;color:#fff}
.social-btn:hover{background:var(--primary);border-color:var(--primary);color:#fff}
.footer-col h4{font-size:13px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;color:#fff;margin-bottom:20px}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:11px}
.footer-col ul li a{font-size:14px;color:var(--text-muted-dark);transition:color .2s}
.footer-col ul li a:hover{color:#fff}
.footer-newsletter h4{font-size:15px;font-weight:700;margin-bottom:8px;letter-spacing:0;text-transform:none}
.footer-newsletter p{font-size:13px;color:var(--text-muted-dark);margin-bottom:16px;line-height:1.65}
.newsletter-input{display:flex;background:rgba(255,255,255,.05);border:1px solid var(--border-dark);border-radius:0;overflow:hidden}
.newsletter-input input{flex:1;background:transparent;border:none;padding:12px 14px;color:#fff;font-size:13.5px;font-family:'Manrope',sans-serif;outline:none}
.newsletter-input button{background:var(--primary);border:none;padding:12px 18px;color:#fff;font-size:13px;font-weight:700;cursor:pointer;font-family:'DM Sans',sans-serif;transition:background .2s;white-space:nowrap}
.newsletter-input button:hover{background:#0d3dd4}
.footer-bottom{border-top:1px solid var(--border-dark);padding-top:28px;display:flex;justify-content:space-between;align-items:center}
.footer-bottom p{font-size:13px;color:rgba(255,255,255,.88)}
.footer-btm-links{display:flex;gap:24px}
.footer-btm-links a{font-size:13px;color:var(--text-muted-dark);transition:color .2s}
.footer-btm-links a:hover{color:#fff}


/* ─── SCROLL ANIMATIONS ─── */
.fade-up{opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s ease}
.fade-up.visible{opacity:1;transform:translateY(0)}

/* ══════════════════════════════════════
   INNER PAGE FIXES
══════════════════════════════════════ */

/* Ensure footer always has consistent dark background */
.site-footer{background:var(--bg-darkest,#080A14)!important;color:var(--text-main)}
.site-footer .footer-inner{max-width:1300px;margin:0 auto;padding:0 32px}

/* Inner page content spacing below sticky nav */
.site-main{padding-top:0}
body:not(.page-template-page-home) .cta-section{margin-top:0}

/* Blog / archive page */
.tl-posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--border-dark)}
.tl-post-card{background:var(--card-dark)}
.tl-post-card .blog-body{padding:24px}
.tl-post-card h2{font-size:17px;font-weight:700;color:#fff;line-height:1.45;margin-bottom:10px}
.tl-post-card h2 a{color:inherit;text-decoration:none}
.tl-post-card h2 a:hover{color:var(--primary)}

/* Services page grid */
.tl-services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;background:#DDE2F0}
.tl-service-item{background:#fff;padding:40px;position:relative;transition:background .2s}
.tl-service-item:hover{background:#f4f7ff}
.tl-service-num{position:absolute;top:20px;right:24px;font-size:40px;font-weight:900;color:rgba(16,69,212,.07);font-family:'DM Sans',sans-serif;line-height:1}
.tl-service-item h3{font-size:20px;font-weight:800;color:var(--text-dark);margin-bottom:12px}
.tl-service-item p{font-size:14px;color:var(--text-muted-light);line-height:1.7;margin-bottom:20px}
.tl-service-tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:20px}
.tl-service-tags span{font-size:13px;background:rgba(16,69,212,.07);border:1px solid rgba(16,69,212,.15);color:var(--primary);padding:3px 10px}
.tl-service-link{font-size:13px;font-weight:700;color:var(--primary);font-family:'DM Sans',sans-serif;text-decoration:none;display:inline-flex;align-items:center;gap:5px;transition:gap .2s}
.tl-service-link:hover{gap:10px}

/* Page hero (shared across inner pages) */
.tl-page-hero{padding:140px 32px 80px;position:relative;overflow:hidden}
.tl-page-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 70% 40%,rgba(16,69,212,.15) 0%,transparent 70%)}
.tl-page-hero-inner{max-width:1300px;margin:0 auto;position:relative;z-index:2}


/* ── Appinventiv style: stats ── */
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light)}
.stat-box{padding:48px 32px;text-align:center;border-right:1px solid var(--border-light);background:#fff}
.stat-box:last-child{border-right:none}
.stat-num{font-size:clamp(48px,6vw,72px);font-weight:900;line-height:1;margin-bottom:10px;font-family:'DM Sans',sans-serif;background:linear-gradient(90deg,#1045D4,#00aaff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-2px}
.stat-lbl{font-size:14px;color:var(--text-muted-light);font-weight:600}


/* Awards row hover — darken */
.award-row{cursor:default;transition:background .2s}
.award-row:hover{background:#0B0F1A !important}
.award-row:hover .award-row-title{color:#fff !important}
.award-row:hover .award-row-body{color:rgba(255,255,255,.82) !important}
.award-row:hover .award-row-num{color:rgba(255,255,255,.15) !important}
.award-row:hover .award-row-year{color:#60a5fa !important}
.award-row:hover .award-row-issuer{color:rgba(255,255,255,.88) !important}
/* Awards text on normal = proper dark */
.award-row .award-row-num{color:#ebebeb}
.award-row .award-row-year{color:var(--primary)}
.award-row .award-row-title{color:#0B0F1A}
.award-row .award-row-body{color:#0B0F1A}
.award-row .award-row-issuer{color:#aab4c8}
.award-row:hover .award-row-num{color:#d0d0d0}
.award-row:hover .award-row-title{color:#0B0F1A}

.footer-bottom-links a{color:rgba(255,255,255,.88);font-size:13px;text-decoration:none;transition:color .2s}
.footer-bottom-links a:hover{color:#fff}

/* ── Force correct colours in dark sections using inline bg ── */
section[style*="bg-dark"] .section-title,
section[style*="bg-dark2"] .section-title,
section[style*="#0B0D17"] .section-title,
section[style*="#0B0F1A"] .section-title,
section[style*="#0F1422"] .section-title {
  color: #fff !important;
}
section[style*="bg-dark"] .section-sub,
section[style*="bg-dark2"] .section-sub,
section[style*="#0B0D17"] .section-sub,
section[style*="#0B0F1A"] .section-sub,
section[style*="#0F1422"] .section-sub {
  color: rgba(255,255,255,.6) !important;
}
section[style*="bg-dark"] .section-tag,
section[style*="bg-dark2"] .section-tag {
  color: #5c9aff !important;
}


.mega-menu.open{opacity:1;pointer-events:all;transform:translateX(-50%) translateY(0)}

/* ── Light section text overrides ── */
section[style*="background:#fff"] h1,
section[style*="background:#fff"] h2,
section[style*="background:#fff"] h3,
section[style*="background:#f7f9ff"] h1,
section[style*="background:#f7f9ff"] h2,
section[style*="background:#f7f9ff"] h3,
section[style*="background:#f9fafb"] h1,
section[style*="background:#f9fafb"] h2,
section[style*="background:#f9fafb"] h3{color:#0B0F1A}
section[style*="background:#fff"] p,
section[style*="background:#f7f9ff"] p,
section[style*="background:#f9fafb"] p{color:#444455}

.service-img::after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,rgba(4,6,14,.6) 0%,rgba(16,69,212,.08) 100%);pointer-events:none}
.service-card:hover .service-img img{opacity:.75;transform:scale(1.03)}

.service-img-cat{position:absolute;top:20px;left:20px;z-index:2;background:var(--primary);color:#fff;font-size:13px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;padding:4px 12px;border-radius:4px}
.service-img-num{position:absolute;bottom:20px;left:20px;z-index:2;font-size:80px;font-weight:900;color:rgba(255,255,255,.1);font-family:'DM Sans',sans-serif;line-height:1;letter-spacing:-4px}
.service-body-num{font-size:13px;font-weight:700;color:rgba(16,69,212,.5);font-family:'DM Sans',sans-serif;letter-spacing:.6px;margin-bottom:16px;display:block;text-transform:uppercase}

.service-body-ghost{position:absolute;right:-10px;top:50%;transform:translateY(-50%);font-size:180px;font-weight:900;color:rgba(16,69,212,.04);font-family:'DM Sans',sans-serif;line-height:1;letter-spacing:-8px;pointer-events:none;user-select:none}
.service-img-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(4,6,14,.5) 0%,rgba(16,69,212,.06) 100%);z-index:1}
.service-img-cat{position:absolute;top:20px;left:20px;z-index:2;background:var(--primary);color:#fff;font-size:13px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;padding:5px 14px;border-radius:4px}
.service-img-num{position:absolute;bottom:24px;right:20px;z-index:2;font-size:64px;font-weight:900;color:rgba(255,255,255,.12);font-family:'DM Sans',sans-serif;line-height:1;letter-spacing:-3px}
.service-learn{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;color:var(--primary);font-family:'DM Sans',sans-serif;text-decoration:none;border-bottom:1.5px solid currentColor;padding-bottom:2px;transition:color .2s;margin-top:auto}
.service-features{list-style:none;padding:0;margin:0 0 24px;display:flex;flex-direction:column;gap:9px}
.service-features li{display:flex;align-items:center;gap:10px;font-size:13.5px;color:#444455}
.service-features li span{width:18px;height:18px;border-radius:50%;background:rgba(16,69,212,.08);border:1px solid rgba(16,69,212,.2);display:grid;place-items:center;flex-shrink:0}

.tl-footer-link{font-size:13px;color:rgba(255,255,255,.55);text-decoration:none;transition:color .15s}
.tl-footer-link:hover{color:#fff}

/* ── Mobile Nav ── */
.nav-hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px;z-index:1001}
.nav-hamburger span{display:block;width:24px;height:2px;background:#fff;border-radius:2px;transition:all .25s}
.nav-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-hamburger.open span:nth-child(2){opacity:0}
.nav-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.mobile-menu{display:none;position:absolute;top:100%;left:0;right:0;background:#0B0F1A;border-top:1px solid rgba(255,255,255,.08);padding:16px 24px 24px;z-index:1000;max-height:80vh;overflow-y:auto}
.mobile-menu.open{display:block}
.mobile-menu ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0}
.mobile-menu ul li a{display:block;padding:13px 0;font-size:15px;font-weight:600;color:rgba(255,255,255,.88);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.06);font-family:"DM Sans",sans-serif}
.mobile-menu ul li a:hover{color:#fff}

@media(max-width:1024px){
  .nav-hamburger{display:flex}
  .nav-links{display:none}
  .nav-cta{display:none}
}
@media(min-width:1025px){
  .mobile-menu{display:none !important}
  .nav-hamburger{display:none !important}
}/* ── Mega menu ── */
:root{--nav-h:72px}
.mega-menu{
    display:block;
    position:fixed;
    top:var(--nav-h);
    left:0;right:0;
    background:#fff;
    border-top:2px solid #e8e8e8;
    box-shadow:0 20px 60px rgba(0,0,0,.13);
    z-index:9998;
    opacity:0;
    pointer-events:none;
    transform:translateY(-6px);
    transition:opacity .18s ease, transform .18s ease;
    visibility:hidden;
}
.mega-menu.open{
    opacity:1;
    pointer-events:all;
    transform:translateY(0);
    visibility:visible;
}

/* Outer centering wrapper */
.mega-content-wrap{
    max-width:1400px;
    margin:0 auto;
    padding:0 32px;
    display:grid;
    /* Cols take all space, feature card fixed 280px always on right */
    grid-template-columns:1fr 280px;
    min-height:380px;
    max-height:520px;
}

/* mega-inner = the cols area only */
.mega-inner{
    display:flex;
    flex-wrap:nowrap;
    overflow-y:auto;
    overflow-x:hidden;
    padding:0;
    border-right:1px solid #e8e8e8;
    scrollbar-width:thin;
    scrollbar-color:#e0e0e0 transparent;
    align-items:stretch;
    gap:0;
}
.mega-inner::-webkit-scrollbar{width:3px}
.mega-inner::-webkit-scrollbar-thumb{background:#ddd;border-radius:2px}

/* Each column */
.mega-cols{display:contents}
.mega-col{
    padding:28px 24px;
    border-right:1px solid #f0f0f0;
    flex-shrink:0;
    min-width:200px;
    flex:1;
    display:flex;
    flex-direction:column;
}
.mega-col:last-child{border-right:none}
.mega-col-links{display:flex;flex-direction:column;gap:1px;margin-top:10px}
.mega-label{
    font-size:11px;font-weight:800;color:#0B0F1A;
    text-transform:uppercase;letter-spacing:.7px;
    padding-bottom:10px;border-bottom:1px solid #e8e8e8;
    white-space:normal;
}
.mega-link{
    font-size:13px;color:#333;text-decoration:none;
    padding:7px 10px;border-radius:7px;display:block;
    font-weight:400;transition:background .12s,color .12s;
    white-space:normal;
    word-break:break-word;
    line-height:1.35;
}
.mega-link:hover{background:#EEF3FF;color:#1045D4;font-weight:500}

/* Feature card — always in the right grid cell, full height */
.mega-feature-card{
    background:#f5f5f7;
    border-left:1px solid #e8e8e8;
    display:flex;
    flex-direction:column;
    padding:16px;
    gap:10px;
    /* Always fills the right cell */
    align-self:stretch;
}
.mfc-inner{
    border-radius:14px;
    flex:1;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    position:relative;
    overflow:hidden;
    padding:22px;
    min-height:260px;
}
.mfc-inner img.mfc-bg{
    position:absolute;inset:0;
    width:100%;height:100%;
    object-fit:cover;opacity:.55;z-index:0;
    border-radius:0;
}
.mfc-content{
    position:relative;z-index:1;
    display:flex;flex-direction:column;
    gap:14px;height:100%;
    justify-content:space-between;
}
.mfc-badge{
    font-size:11px;font-weight:700;letter-spacing:.5px;
    text-transform:uppercase;
    display:inline-block;
    opacity:.75;
    margin-bottom:4px;
}
.mfc-inner h4{font-size:13px;font-weight:700;line-height:1.55;margin:0;/* color set inline */}
.mfc-cta1{
    font-size:12px;font-weight:700;color:#fff;
    background:var(--primary);padding:9px 18px;
    border-radius:50px;text-decoration:none;
    display:inline-block;width:fit-content;
    transition:opacity .2s;
}
.mfc-cta1:hover{opacity:.85}
.mfc-cta2{
    display:flex;align-items:center;justify-content:center;
    font-size:12px;font-weight:700;color:var(--primary);
    text-decoration:none;border:1.5px solid rgba(16,69,212,.25);
    border-radius:50px;padding:9px 14px;background:#fff;
    transition:background .15s;
}
.mfc-cta2:hover{background:#EEF3FF}

/* ── GLOBAL TYPOGRAPHY SYSTEM ── */
p { font-size:16px; line-height:1.75; color:#0B0F1A; font-weight:400; }
.tl-label { font-size:13px; font-weight:700; letter-spacing:.6px; text-transform:uppercase; }
.tl-subtitle { font-size:17px; font-weight:400; line-height:1.78; color:var(--text-body); }
.tl-card-desc { font-size:14px; line-height:1.7; color:#0B0F1A; }
.tl-meta { font-size:13px; color:#0B0F1A; }

a{text-decoration:none;color:inherit}
img{display:block;width:100%;height:100%;object-fit:cover}

/* ─── SVG ICONS ─── */
.icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}

/* ─── MARQUEE ─── */
.marquee-bar{background:var(--primary);padding:10px 0;overflow:hidden;white-space:nowrap}
.marquee-inner{display:inline-flex;animation:marquee 35s linear infinite}
.marquee-inner span{font-size:13px;font-weight:700;letter-spacing:.5px;padding:0 32px;color:#fff;text-transform:uppercase}
.marquee-inner span em{color:#a8d4ff;font-style:normal;margin-left:8px;cursor:pointer;text-decoration:underline}
.marquee-dot{color:rgba(255,255,255,.88);font-size:8px;vertical-align:middle;margin:0 8px}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ─── NAV ─── */
/* nav and nav-inner defined below with mega menu */
/* nav-inner defined below */
.nav-logo{display:flex;align-items:center;margin-right:auto}
.nav-logo svg{height:30px;width:auto}
.nav-logo img{mix-blend-mode:screen}
.footer-brand img{mix-blend-mode:screen}
.nav-links{display:flex;align-items:center;gap:2px;flex:1;justify-content:center}
.nav-item{position:relative}
.nav-item>a{display:flex;align-items:center;gap:5px;padding:8px 15px;font-size:14px;font-weight:500;color:rgba(255,255,255,.85);background:none;border:none;transition:color .2s;font-family:'DM Sans',sans-serif;cursor:pointer}
.nav-item>a:hover{color:#fff;background:none}
.nav-item.active>a{color:var(--primary);background:none}
.nav-item>a .chev-ico{transition:transform .2s}
.nav-item:hover>a .chev-ico{transform:rotate(180deg)}
.nav-cta{margin-left:20px;display:flex;align-items:center;gap:8px;background:var(--primary);color:#fff;padding:10px 22px;border-radius:50px;font-size:14px;font-weight:700;font-family:'DM Sans',sans-serif;transition:opacity .2s,transform .2s,box-shadow .2s}
.nav-cta:hover{background:var(--primary-hover,#0A3AB5);color:#fff}

/* ── NAV & MEGA MENU ── */
nav{position:sticky;top:0;z-index:1000;background:rgba(11,13,23,.95);backdrop-filter:blur(20px);border-bottom:1px solid var(--border-dark)}
.nav-inner{max-width:1300px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:72px;padding:0 32px;gap:0}
/* Mega menu: fixed to viewport edges, but padded to align with page content */

.mega-inner{display:grid;grid-template-columns:210px 1fr 240px}
.mega-col{padding:28px 28px;border-right:1px solid #ebebeb;overflow-y:auto;max-height:520px}
.mega-col:last-child{border-right:none;background:#f7f9ff;display:flex;flex-direction:column;padding:24px}
.mega-menu{position:fixed;top:72px;left:50%;transform:translateX(-50%) translateY(-8px);width:min(1160px,calc(100vw - 48px));background:#fff;border:1px solid #e8e8e8;border-top:2px solid var(--primary);padding:0;opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease;box-shadow:0 12px 40px rgba(0,0,0,.1);z-index:999;overflow:hidden}
.mega-menu.open{opacity:1;pointer-events:all;transform:translateX(-50%) translateY(0)}
.mega-label{font-size:13px;font-weight:700;color:#0B0F1A;letter-spacing:.6px;text-transform:uppercase;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid #ebebeb}
.mega-link{display:flex;align-items:center;gap:6px;padding:9px 10px;font-size:14px;color:#222233;transition:color .15s,background .15s;margin-bottom:2px;font-family:'DM Sans',sans-serif;font-weight:600;border-radius:4px;line-height:1.4}
.mega-link:hover{color:var(--primary)}
.mega-link.active-link{color:var(--primary);font-weight:600}
.mega-link .m-ico{width:30px;height:30px;background:#f0f3ff;display:grid;place-items:center;flex-shrink:0;border:1px solid #e0e8ff}
.mega-mid-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;padding:28px 28px}
.mega-mid-col .mega-label{margin-bottom:8px;padding-bottom:6px}
.mega-featured{background:#0B0F1A;padding:20px;margin:0;border-radius:8px;display:flex;flex-direction:column;justify-content:space-between;gap:14px;height:100%}
.mega-featured-badge{font-size:13px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;color:rgba(255,255,255,.88)}
.mega-featured h4{font-size:15px;font-weight:800;color:#fff;line-height:1.4}
.mega-featured a{font-size:13px;font-weight:700;color:#fff;display:inline-flex;align-items:center;gap:5px;background:rgba(255,255,255,.2);padding:7px 12px;width:fit-content;transition:background .2s}
.mega-featured a:hover{background:rgba(255,255,255,.3)}

/* ─── HERO ─── */
.hero{position:relative;height:100vh;min-height:600px;display:flex;align-items:center;overflow:hidden;background:#060810}
.hero-bg-img{position:absolute;inset:0;z-index:0}
.hero-bg-img img{width:100%;height:100%;object-fit:cover}
.hero-bg-img video{position:absolute;inset:0;z-index:0}
.hero-bg-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,rgba(4,6,14,.92) 0%,rgba(4,6,14,.88) 40%,rgba(4,6,14,.45) 70%,rgba(4,6,14,.15) 100%)}
.hero-orb1{position:absolute;right:5%;top:10%;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(16,69,212,.25) 0%,rgba(0,212,255,.08) 50%,transparent 70%);filter:blur(60px);animation:pulse 7s ease-in-out infinite;z-index:1}
.hero-orb2{position:absolute;left:-5%;bottom:5%;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(16,69,212,.12) 0%,transparent 70%);filter:blur(40px);animation:pulse 9s ease-in-out infinite reverse;z-index:1}
@keyframes pulse{0%,100%{transform:scale(1);opacity:.7}50%{transform:scale(1.1);opacity:1}}
.hero-content{position:relative;z-index:2;max-width:760px;margin-left:80px;padding:0 32px;text-align:left;width:100%}
.hero-subtitle{font-size:13px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;color:rgba(255,255,255,.88);margin-bottom:22px;display:block}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.2}}
.hero h1{font-size:clamp(38px,5vw,68px);font-weight:800;line-height:1.08;margin-bottom:24px;letter-spacing:-2px;text-align:left;color:#fff}
.hero h1 .grad{background:linear-gradient(90deg,#1045D4,#00D4FF);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.hero-desc{font-size:17px;color:rgba(255,255,255,.82);line-height:1.75;margin-bottom:36px;max-width:580px;text-align:left}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-start}
.btn-primary{border-radius:50px !important;display:inline-flex;align-items:center;gap:8px;background:var(--primary);color:#fff;padding:14px 28px;border-radius:50px;font-size:15px;font-weight:700;font-family:'DM Sans',sans-serif;transition:all .2s;cursor:pointer;border:none}
.btn-primary:hover{background:transparent;color:var(--primary)}
.btn-outline{border-radius:50px !important;display:inline-flex;align-items:center;gap:8px;background:transparent;color:#fff;padding:14px 28px;border-radius:50px;font-size:15px;font-weight:700;font-family:'DM Sans',sans-serif;border:1.5px solid rgba(255,255,255,.25);transition:all .2s}
.btn-outline:hover{border-color:#fff;background:rgba(255,255,255,.06)}
.hero-awards{display:flex;gap:12px;margin-top:48px;flex-wrap:wrap;justify-content:flex-start}
.award-pill{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:10px;padding:12px 18px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 2px 12px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.15)}
.award-pill .aw-icon{width:34px;height:34px;border-radius:0;background:rgba(16,69,212,.2);display:grid;place-items:center;flex-shrink:0}
.award-pill .aw-text strong{display:block;color:#fff;font-size:13px;font-family:'DM Sans',sans-serif}
.award-pill .aw-text span{font-size:13px;color:rgba(255,255,255,.88)}

/* ─── CLIENTS ─── */
.clients{padding:44px 32px;border-top:1px solid var(--border-dark);border-bottom:1px solid var(--border-dark);background:rgba(255,255,255,.02)}
.clients-inner{max-width:1300px;margin:0 auto;display:flex;align-items:center;gap:0}
.clients-label{font-size:13px;color:var(--text-muted-dark);text-transform:uppercase;letter-spacing:.3px;font-weight:700;white-space:nowrap;margin-right:40px;flex-shrink:0}
.clients-logos{display:flex;align-items:center;gap:44px;overflow:hidden;flex:1}
.client-logo{font-family:'DM Sans',sans-serif;font-size:15px;font-weight:700;color:rgba(255,255,255,.28);letter-spacing:-.5px;white-space:nowrap;transition:color .2s}
.client-logo:hover{color:rgba(255,255,255,.85)}

/* ─── SECTION COMMON ─── */
.section-tag{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--primary);margin-bottom:12px;padding:0;background:none;border:none}
.section-tag.light-tag{color:var(--primary)}
.section-title{font-size:clamp(26px,3.2vw,44px);font-weight:800;line-height:1.15;letter-spacing:-.5px;margin-bottom:16px}
.section-sub{font-size:16px;line-height:1.75}

/* ─── SECTION THEMING: DARK / LIGHT alternating ─── */
.sec-dark{background:var(--bg-dark);color:var(--text-main)}
.sec-dark .section-title{color:#fff}
.sec-dark .section-sub{color:rgba(255,255,255,.82)}
.sec-dark .section-tag{color:#5c9aff}
.sec-dark2{background:var(--bg-dark2);color:var(--text-main)}
.sec-dark2 .section-title{color:#fff}
.sec-dark2 .section-sub{color:rgba(255,255,255,.82)}
.sec-dark2 .section-tag{color:#5c9aff}
.sec-light{background:var(--bg-light);color:var(--text-dark)}
.sec-light .section-title{color:#0B0F1A}
.sec-light .section-sub{color:var(--text-muted-light)}
.sec-light .section-tag{color:var(--primary)}
.sec-light2{background:var(--bg-light2);color:var(--text-dark)}
.sec-light2 .section-title{color:#0B0F1A}
.sec-light2 .section-sub{color:var(--text-muted-light)}
.sec-light2 .section-tag{color:var(--primary)}

/* ─── STICKY SERVICES (Scroll-stacked cards) ─── */
.services-section{padding:100px 32px 0}
/* IMPORTANT: overflow must NOT be hidden — it breaks position:sticky */
.services-header{max-width:1300px;margin:0 auto 60px}
.services-header-inner{display:flex;justify-content:space-between;align-items:flex-end}

.sticky-services-wrap{max-width:1300px;margin:0 auto}
.sticky-card-track{position:relative}
.sticky-card{
  position:sticky;
  top:88px;
  /* Give each card a bottom margin so the track has scroll distance */
  margin-bottom:40px;
  will-change:transform;
  transition:transform .15s ease;
}
.sticky-card:last-child{margin-bottom:0}
.sticky-track-spacer{height:80px}

.service-card{display:grid;grid-template-columns:1fr 380px;background:#fff;border-radius:0;overflow:hidden;border:1px solid #ebebeb;transition:border-color .2s;transform-origin:top center;margin-bottom:0}
.service-card:hover{border-color:#1045D4}
.service-img{height:460px;overflow:hidden;position:relative;background:#0B0F1A;flex-shrink:0}
.service-img img{width:100%;height:100%;object-fit:cover;opacity:.6;transition:opacity .4s,transform .5s}
.service-num{position:absolute;bottom:24px;left:24px;font-size:72px;font-weight:900;color:rgba(255,255,255,.12);font-family:'DM Sans',sans-serif;line-height:1;letter-spacing:-3px;z-index:1}
.service-body{padding:48px 52px;display:flex;flex-direction:column;justify-content:center;background:#fff;position:relative;overflow:hidden}
.service-category{font-size:13px;font-weight:700;letter-spacing:.5px;color:#fff;text-transform:uppercase;background:var(--primary);padding:4px 12px;border-radius:4px;display:inline-block;margin-bottom:16px;width:fit-content}
.service-title{font-size:26px;font-weight:800;margin-bottom:14px;line-height:1.15;color:#0B0F1A;letter-spacing:-.5px}
.service-desc{font-size:14.5px;color:#0B0F1A;line-height:1.78;margin-bottom:24px}
.service-tags-row,.service-tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:24px}
.service-tag-chip,.service-tag{font-size:13px;color:var(--primary);background:rgba(16,69,212,.06);border:1px solid rgba(16,69,212,.15);padding:4px 12px;border-radius:50px;font-family:'DM Sans',sans-serif;font-weight:600}
.learn-more-btn,.learn-more{display:inline-flex;align-items:center;gap:8px;color:var(--primary);font-size:13px;font-weight:600;font-family:'DM Sans',sans-serif;background:transparent;padding:0;border:none;border-bottom:1.5px solid currentColor;padding-bottom:2px;transition:color .2s;width:fit-content;text-decoration:none;border-radius:0}
.learn-more-btn:hover,.learn-more:hover{color:var(--primary-hover)}

/* ─── BENEFITS ─── */
.benefits-section{padding:100px 32px}
.benefits-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:56px}
.benefit-card{background:#fff;border:1px solid var(--border-light);border-radius:12px;padding:40px;transition:border-color .2s,transform .2s,box-shadow .2s}
.benefit-card:hover{border-color:#aab4ff}
.benefit-icon{width:52px;height:52px;border-radius:0;background:linear-gradient(135deg,rgba(16,69,212,.1),rgba(0,212,255,.06));display:grid;place-items:center;margin-bottom:18px;border:1px solid rgba(16,69,212,.12)}
.benefit-card h3{font-size:16px;font-weight:700;margin-bottom:10px;color:#0B0D17}
.benefit-card p{font-size:13.5px;color:var(--text-muted-light);line-height:1.65}

/* ─── STATS ─── */
.stats-section{padding:100px 32px}
.stats-inner{max-width:1300px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.stats-left h2{font-size:clamp(26px,3vw,42px);font-weight:800;margin-bottom:20px;line-height:1.2}
.stats-left h2 .grad{background:linear-gradient(90deg,#1045D4,#00D4FF);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.stats-left p{font-size:15.5px;line-height:1.75;margin-bottom:32px}
.stats-nums-row{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;border-top:1px solid var(--border-dark);padding-top:56px;margin-top:56px;max-width:1300px;margin-left:auto;margin-right:auto}
.stat-box .num{font-size:42px;font-weight:900;font-family:'DM Sans',sans-serif;background:linear-gradient(90deg,#1045D4,#00D4FF);-webkit-background-clip:text;-webkit-text-fill-color:transparent;line-height:1}
.stat-box .lbl{font-size:13px;color:var(--text-muted-dark);margin-top:6px}
.stats-img-card{border-radius:0;overflow:hidden;height:340px;position:relative;border:1px solid var(--border-dark)}
.stats-img-card img{object-fit:cover}
.stats-floating{position:absolute;bottom:20px;right:20px;background:rgba(11,13,23,.9);border:1px solid var(--border-dark);border-radius:0;padding:14px 18px;display:flex;align-items:center;gap:12px;backdrop-filter:blur(12px)}
.stats-floating .fl-ico{width:36px;height:36px;border-radius:0;background:rgba(16,69,212,.2);display:grid;place-items:center}
.stats-floating strong{display:block;font-size:18px;font-family:'DM Sans',sans-serif}
.stats-floating span{font-size:13px;color:var(--text-muted-dark)}

/* ─── TOOLS ─── */
.tools-section{padding:100px 32px}
.tools-header{text-align:center;margin-bottom:56px}
.tools-header .section-sub{margin:0 auto;max-width:560px}
.tools-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.tool-card{background:var(--card-dark);border:1px solid var(--border-dark);border-radius:0;padding:22px 14px;display:flex;flex-direction:column;align-items:center;gap:10px;transition:border-color .2s,transform .2s;cursor:pointer}
.tool-card:hover{border-color:#aab4ff}
.tool-card .t-ico{width:40px;height:40px;display:grid;place-items:center;border-radius:0;background:rgba(255,255,255,.04);border:1px solid var(--border-dark)}
.tool-card span{font-size:13px;font-weight:600;color:var(--text-muted-dark);text-align:center;font-family:'DM Sans',sans-serif}

/* ─── TESTIMONIALS ─── */
.testi-section{padding:100px 32px}
.testi-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:56px}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.testi-card{background:#fff;border:1px solid var(--border-light);border-radius:12px;padding:36px;transition:border-color .2s,box-shadow .2s}
.testi-card:hover{border-color:#aab4ff}
.testi-stars{display:flex;gap:3px;margin-bottom:18px}
.testi-text{font-size:14.5px;color:var(--text-muted-light);line-height:1.75;margin-bottom:22px;font-style:italic}
.testi-author{display:flex;align-items:center;gap:12px;border-top:1px solid #EEF1F9;padding-top:18px}
.testi-avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--secondary));display:grid;place-items:center;font-size:16px;font-weight:800;flex-shrink:0;font-family:'DM Sans',sans-serif;color:#fff}
.testi-name{font-size:13.5px;font-weight:700;color:#0B0D17}
.testi-role{font-size:13px;color:var(--text-muted-light)}

/* ─── FAQ ─── */
.faq-section{padding:100px 32px}
.faq-header{text-align:center;margin-bottom:56px}
.faq-header .section-sub{margin:0 auto;max-width:560px}
.faq-list{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:10px}
.faq-item{background:var(--card-dark);border:1px solid var(--border-dark);border-radius:0;overflow:hidden}
.faq-q{padding:20px 24px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-size:15px;font-weight:600;font-family:'DM Sans',sans-serif;transition:color .2s;gap:16px;color:#fff}
.faq-q:hover{color:rgba(255,255,255,.9)}
.faq-toggle{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--border-dark);display:grid;place-items:center;flex-shrink:0;transition:all .2s}
.faq-item.open .faq-toggle{background:var(--primary);border-color:var(--primary);transform:rotate(45deg)}
.faq-a{padding:0 24px;max-height:0;overflow:hidden;font-size:14.5px;color:rgba(255,255,255,.85);line-height:1.75;transition:max-height .35s ease,padding .35s ease}
.faq-item.open .faq-a{max-height:200px;padding:0 24px 20px}

/* ─── CTA VISUAL CARD (replaces inline form) ─── */
.cta-visual-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:0;padding:40px;display:flex;flex-direction:column;gap:28px;backdrop-filter:blur(12px)}
.cta-vc-top{}
.cta-vc-icon{width:64px;height:64px;border-radius:0;background:linear-gradient(135deg,rgba(16,69,212,.4),rgba(0,212,255,.2));display:grid;place-items:center;margin-bottom:18px;border:1px solid rgba(16,69,212,.3)}
.cta-vc-top h3{font-size:24px;font-weight:800;color:#fff;margin-bottom:10px;line-height:1.25}
.cta-vc-top p{font-size:14.5px;color:var(--text-muted-dark);line-height:1.7}
.cta-vc-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);padding:20px 0}
.cta-vc-stat{text-align:center;padding:0 16px;border-right:1px solid rgba(255,255,255,.08)}
.cta-vc-stat:last-child{border-right:none}
.cta-vc-stat strong{display:block;font-size:26px;font-weight:900;font-family:'DM Sans',sans-serif;background:linear-gradient(90deg,#1045D4,#00D4FF);-webkit-background-clip:text;-webkit-text-fill-color:transparent;line-height:1;margin-bottom:4px}
.cta-vc-stat span{font-size:11.5px;color:var(--text-muted-dark)}
.cf-submit-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;background:var(--primary);color:#fff;border:none;padding:16px 24px;border-radius:0;font-size:15.5px;font-weight:700;font-family:'DM Sans',sans-serif;cursor:pointer;transition:all .2s}
.cf-submit-btn:hover{background:transparent;color:var(--primary)}
.cta-vc-nda{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--text-muted-dark);text-align:center;justify-content:center}
.cta-vc-brands{display:flex;align-items:center;gap:16px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.08);padding-top:20px}
.cta-vc-brands span{font-size:13px;color:rgba(255,255,255,.85);text-transform:uppercase;letter-spacing:.3px;font-weight:700;white-space:nowrap}
.cta-vc-brands strong{font-size:13px;font-weight:700;color:rgba(255,255,255,.88);font-family:'DM Sans',sans-serif}

/* ─── CONTACT FORM — REDESIGNED ─── */
.cta-form{background:#0d1635;border:1px solid rgba(255,255,255,.1);overflow:hidden}
.cf-form-header{display:flex;align-items:center;gap:14px;background:var(--primary);padding:20px 28px}
.cf-form-header-icon{width:40px;height:40px;background:rgba(255,255,255,.15);display:grid;place-items:center;flex-shrink:0}
.cf-form-title{font-size:17px;font-weight:800;color:#fff;font-family:'DM Sans',sans-serif;line-height:1.2}
.cf-form-sub{font-size:13px;color:rgba(255,255,255,.85);margin-top:2px}
#ctaFormContent{padding:24px 28px}
.cf-row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cf-group{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}
.cf-label{font-size:11.5px;font-weight:700;color:rgba(255,255,255,.75);letter-spacing:.2px}
.cf-req{color:#60a5fa}
.cf-input,.cf-select,.cf-textarea{background:rgba(255,255,255,.06);border:1.5px solid rgba(255,255,255,.1);padding:10px 14px;color:#fff;font-size:14px;font-family:'Manrope',sans-serif;outline:none;transition:border-color .18s,background .18s;width:100%;border-radius:8px}
.cf-input::placeholder,.cf-textarea::placeholder{color:rgba(255,255,255,.22)}
.cf-input:focus,.cf-select:focus,.cf-textarea:focus{border-color:var(--primary);background:rgba(16,69,212,.07)}
.cf-input.error,.cf-select.error,.cf-textarea.error{border-color:#f87171}
.cf-input.valid,.cf-select.valid,.cf-textarea.valid{border-color:#4ade80}
.cf-select{color:rgba(255,255,255,.88);cursor:pointer}
.cf-select.has-value{color:#fff}
.cf-select option{background:#131629;color:#fff}
.cf-textarea{resize:vertical;height:100px;min-height:80px}
.cf-error{font-size:13px;color:#f87171;display:none;align-items:center;gap:4px;margin-top:2px}
.cf-error.show{display:flex}
.cf-nda{display:flex;align-items:center;gap:8px;font-size:13px;color:rgba(255,255,255,.88);background:rgba(255,200,0,.05);border:1px solid rgba(255,200,0,.15);padding:9px 14px;margin-bottom:14px}
.cf-submit{width:100%;background:var(--primary);color:#fff;border:2px solid var(--primary);padding:13px 20px;font-size:14px;font-weight:700;font-family:'DM Sans',sans-serif;cursor:pointer;transition:background .2s,color .2s;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:50px}
.cf-submit:hover{background:#0d3dd4;cursor:not-allowed;transform:none}
.cf-success{display:none;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px 28px;gap:16px}
.cf-success.show{display:flex}
.cf-success-ico{width:64px;height:64px;background:rgba(34,197,94,.12);border:2px solid #22c55e;display:grid;place-items:center}
.cf-success h4{font-size:20px;font-weight:800;color:#fff}
.cf-success p{font-size:14px;color:var(--text-muted-dark);line-height:1.6}
/* ─── PORTFOLIO ─── */
.pf-tabs{display:flex;gap:0;margin-bottom:32px;border:1px solid var(--border-dark);width:fit-content}
.pf-tab{background:transparent;border:none;color:var(--text-muted-dark);padding:10px 22px;font-size:13px;font-weight:600;font-family:'DM Sans',sans-serif;cursor:pointer;transition:all .18s;border-right:1px solid var(--border-dark)}
.pf-tab:last-child{border-right:none}
.pf-tab:hover{color:#fff;background:rgba(255,255,255,.05)}
.pf-tab.active{background:var(--primary);color:#fff}

.pf-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}
.pf-card{background:var(--bg-dark);overflow:hidden;position:relative;cursor:pointer;transition:opacity .25s}
.pf-card.hidden{display:none}
.pf-card:hover{border-color:#aab4ff}
.pf-featured{grid-column:span 2}
.pf-img{position:relative;height:340px;overflow:hidden}
.pf-featured .pf-img{height:460px}
.pf-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;opacity:1}
.pf-card:hover .pf-img img{transform:scale(1.04)}
.pf-overlay{position:absolute;inset:0;padding:36px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(to top, rgba(4,8,20,.92) 0%, rgba(4,8,20,.2) 60%, transparent 100%);opacity:.85;transition:opacity .3s}
.pf-cat-tag{font-size:13px;font-weight:800;color:rgba(255,255,255,.92);text-transform:uppercase;letter-spacing:.3px;margin-bottom:10px;display:flex;align-items:center;gap:6px}
.pf-cat-tag::before{content:'';width:16px;height:1px;background:var(--primary)}
.pf-title{font-size:20px;font-weight:800;color:#fff;line-height:1.3;margin-bottom:10px}
.pf-featured .pf-title{font-size:26px}
.pf-blurb{font-size:13.5px;color:rgba(255,255,255,.82);line-height:1.65;margin-bottom:18px}
.pf-metrics{display:flex;gap:24px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1)}
.pf-metric strong{display:block;font-size:20px;font-weight:900;font-family:'DM Sans',sans-serif;color:#fff;line-height:1}
.pf-metric span{font-size:13px;color:rgba(255,255,255,.88);margin-top:2px;display:block}
.pf-tags{display:flex;gap:7px;flex-wrap:wrap}
.pf-tags span{font-size:13px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.88);padding:3px 10px}

/* ─── BLOG ─── */
.blog-card-featured{background:var(--card-dark);overflow:hidden}
.blog-card-featured img{transition:transform .4s}
.blog-card-featured:hover img{transform:scale(1.03)}
.blog-card-side{background:var(--card-dark);display:flex;overflow:hidden;cursor:pointer;transition:background .18s}
.blog-card-side:hover{background:rgba(16,69,212,.08)}
.blog-card{background:var(--card-dark);overflow:hidden;cursor:pointer;transition:border-color .2s;border-radius:12px;border:1px solid rgba(255,255,255,.06)}
.blog-card:hover{background:#1a1e35}
.blog-body{padding:28px}
.blog-tag{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.3px;color:var(--primary);margin-bottom:12px;display:inline-block;background:rgba(16,69,212,.1);padding:3px 10px}
.blog-card h3{font-size:16px;font-weight:700;color:#fff;line-height:1.45;margin-bottom:10px}
.blog-card p{font-size:13.5px;color:var(--text-muted-dark);line-height:1.65;margin-bottom:20px}
.blog-meta{display:flex;justify-content:space-between;font-size:13px;color:rgba(255,255,255,.85);border-top:1px solid var(--border-dark);padding-top:14px}

/* ─── AWARDS ─── */
.awards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:20px}
.award-card{background:#fff;padding:40px;position:relative;overflow:hidden;transition:border-color .2s;border-radius:12px;border:1px solid var(--border-light)}
.award-card:hover{border-color:#aab4ff}
.award-card::before{content:none}

.award-logo-wrap{width:48px;height:48px;border-radius:10px;border:1px solid rgba(16,69,212,.35);background:rgba(16,69,212,.12);display:grid;place-items:center;margin-bottom:16px}
.award-year{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--primary);margin-bottom:10px;display:inline-block}
.award-title{font-size:16px;font-weight:800;color:#0B0F1A;margin-bottom:10px;line-height:1.3}
.award-body{font-size:13.5px;color:#0B0F1A;line-height:1.68;margin-bottom:16px}
.award-issuer{font-size:13px;font-weight:700;color:#aab4c8;text-transform:uppercase;letter-spacing:.4px;border-top:1px solid #eee;padding-top:14px}

.cert-strip{display:flex;align-items:center;justify-content:center;gap:0;background:#fff;border:1px solid var(--border-light);border-radius:12px;margin-top:24px;flex-wrap:wrap;overflow:hidden}
.cert-item{display:flex;align-items:center;gap:10px;padding:22px 32px;font-size:13px;font-weight:600;color:#0B0F1A;font-family:'DM Sans',sans-serif;transition:color .2s}
.cert-item:hover{color:var(--primary)}
.cert-item svg{color:var(--primary)}
.cert-divider{width:1px;height:36px;background:#e8e8e8;flex-shrink:0}

/* ─── OFFICES ─── */
.offices-section{padding:100px 32px;background:#fff !important}
.offices-inner{max-width:1300px;margin:0 auto}
.offices-header{margin-bottom:56px}
.offices-section .section-tag{color:#1045D4}
.offices-section .section-title{color:#0B0F1A}
.offices-section .section-sub{color:#0B0F1A}
.offices-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border:1px solid #e8e8e8;border-radius:16px;overflow:hidden}
.office-card{padding:32px 28px;border-right:1px solid #e8e8e8;position:relative;transition:background .2s;background:#fff !important;color:#0B0F1A}
.office-card:last-child{border-right:none}
.office-card:hover{background:#F8FAFF}
.office-flag{font-size:36px;margin-bottom:16px;display:block;line-height:1}
.office-hq-badge{position:absolute;top:16px;right:16px;background:#1045D4;color:#fff;font-size:11px;font-weight:800;padding:3px 10px;border-radius:4px;letter-spacing:.3px;text-transform:uppercase}
.office-card h3{font-size:17px;font-weight:800;color:#0B0F1A !important;margin-bottom:4px}
.office-city{font-size:13px;color:#1045D4;font-weight:600;margin-bottom:20px}
.office-details{display:flex;flex-direction:column;gap:10px}
.office-detail{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;color:#0B0F1A !important;line-height:1.5}
.office-detail svg{flex-shrink:0;margin-top:2px;color:#1045D4}

.cta-section{padding:100px 32px;background:#0B0D17;position:relative;overflow:hidden}
.cta-section::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 60% 50%,rgba(16,69,212,.2) 0%,transparent 70%)}
.cta-inner{max-width:1300px;margin:0 auto;position:relative;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.cta-inner h2{font-size:clamp(26px,3.5vw,46px);font-weight:800;margin-bottom:20px;line-height:1.2}
.cta-inner h2 .grad{background:linear-gradient(90deg,#1045D4,#00D4FF);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.cta-inner p{font-size:15.5px;color:var(--text-muted-dark);line-height:1.75;margin-bottom:32px}
.cta-checks{display:flex;flex-direction:column;gap:12px;margin-bottom:36px}
.cta-check{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text-muted-dark)}
.cta-awards{display:flex;flex-wrap:wrap;gap:14px}
.cta-award-pill{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.04);border:1px solid var(--border-dark);border-radius:0;padding:10px 16px}
.cta-award-pill .ca-ico{width:32px;height:32px;border-radius:0;background:rgba(16,69,212,.15);display:grid;place-items:center}
.cta-award-pill .ca-text strong{display:block;color:#fff;font-size:13px;font-family:'DM Sans',sans-serif}
.cta-award-pill .ca-text span{font-size:13px;color:var(--text-muted-dark)}
.cta-right{padding:0;background:none;border:none}
.cta-right h3{font-size:22px;font-weight:800;margin-bottom:8px}
.cta-right>p{font-size:13.5px;color:var(--text-muted-dark);margin-bottom:28px;line-height:1.6}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.form-label{font-size:11.5px;font-weight:700;color:var(--text-muted-dark);letter-spacing:.5px}
.form-input,.form-select,.form-textarea{background:rgba(255,255,255,.05);border:1px solid var(--border-dark);border-radius:0;padding:11px 14px;color:#fff;font-size:14px;font-family:'Manrope',sans-serif;outline:none;transition:border-color .2s;width:100%}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary)}
.form-textarea{resize:none;height:90px}
.form-select option{background:#131629}
.form-nda{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-muted-dark);background:rgba(255,205,0,.05);border:1px solid rgba(255,205,0,.15);border-radius:0;padding:10px 14px;margin-bottom:16px}
.form-submit{width:100%;background:var(--primary);color:#fff;border:none;padding:14px;border-radius:0;font-size:15px;font-weight:700;font-family:'DM Sans',sans-serif;cursor:pointer;transition:all .2s}
.form-submit:hover{background:transparent;color:var(--primary)}

/* ─── FOOTER ─── */
footer{background:#060810;border-top:1px solid var(--border-dark);padding:72px 32px 32px}
.footer-inner{max-width:1300px;margin:0 auto}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1.3fr;gap:48px;margin-bottom:60px}
.footer-brand p{font-size:14px;color:var(--text-muted-dark);line-height:1.75;margin:18px 0 22px;max-width:280px}
.footer-socials{display:flex;gap:10px}
.social-btn{width:36px;height:36px;border-radius:50px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);display:grid;place-items:center;transition:border-color .2s;color:#fff}
.social-btn:hover{background:var(--primary);border-color:var(--primary);color:#fff}
.footer-col h4{font-size:13px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;color:#fff;margin-bottom:20px}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:11px}
.footer-col ul li a{font-size:14px;color:var(--text-muted-dark);transition:color .2s}
.footer-col ul li a:hover{color:#fff}
.footer-newsletter h4{font-size:15px;font-weight:700;margin-bottom:8px;letter-spacing:0;text-transform:none}
.footer-newsletter p{font-size:13px;color:var(--text-muted-dark);margin-bottom:16px;line-height:1.65}
.newsletter-input{display:flex;background:rgba(255,255,255,.05);border:1px solid var(--border-dark);border-radius:0;overflow:hidden}
.newsletter-input input{flex:1;background:transparent;border:none;padding:12px 14px;color:#fff;font-size:13.5px;font-family:'Manrope',sans-serif;outline:none}
.newsletter-input button{background:var(--primary);border:none;padding:12px 18px;color:#fff;font-size:13px;font-weight:700;cursor:pointer;font-family:'DM Sans',sans-serif;transition:background .2s;white-space:nowrap}
.newsletter-input button:hover{background:#0d3dd4}
.footer-bottom{border-top:1px solid var(--border-dark);padding-top:28px;display:flex;justify-content:space-between;align-items:center}
.footer-bottom p{font-size:13px;color:rgba(255,255,255,.88)}
.footer-btm-links{display:flex;gap:24px}
.footer-btm-links a{font-size:13px;color:var(--text-muted-dark);transition:color .2s}
.footer-btm-links a:hover{color:#fff}


/* ─── SCROLL ANIMATIONS ─── */
.fade-up{opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s ease}
.fade-up.visible{opacity:1;transform:translateY(0)}

/* ══════════════════════════════════════
   INNER PAGE FIXES
══════════════════════════════════════ */

/* Ensure footer always has consistent dark background */
.site-footer{background:var(--bg-darkest,#080A14)!important;color:var(--text-main)}
.site-footer .footer-inner{max-width:1300px;margin:0 auto;padding:0 32px}

/* Inner page content spacing below sticky nav */
.site-main{padding-top:0}
body:not(.page-template-page-home) .cta-section{margin-top:0}

/* Blog / archive page */
.tl-posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--border-dark)}
.tl-post-card{background:var(--card-dark)}
.tl-post-card .blog-body{padding:24px}
.tl-post-card h2{font-size:17px;font-weight:700;color:#fff;line-height:1.45;margin-bottom:10px}
.tl-post-card h2 a{color:inherit;text-decoration:none}
.tl-post-card h2 a:hover{color:var(--primary)}

/* Services page grid */
.tl-services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;background:#DDE2F0}
.tl-service-item{background:#fff;padding:40px;position:relative;transition:background .2s}
.tl-service-item:hover{background:#f4f7ff}
.tl-service-num{position:absolute;top:20px;right:24px;font-size:40px;font-weight:900;color:rgba(16,69,212,.07);font-family:'DM Sans',sans-serif;line-height:1}
.tl-service-item h3{font-size:20px;font-weight:800;color:var(--text-dark);margin-bottom:12px}
.tl-service-item p{font-size:14px;color:var(--text-muted-light);line-height:1.7;margin-bottom:20px}
.tl-service-tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:20px}
.tl-service-tags span{font-size:13px;background:rgba(16,69,212,.07);border:1px solid rgba(16,69,212,.15);color:var(--primary);padding:3px 10px}
.tl-service-link{font-size:13px;font-weight:700;color:var(--primary);font-family:'DM Sans',sans-serif;text-decoration:none;display:inline-flex;align-items:center;gap:5px;transition:gap .2s}
.tl-service-link:hover{gap:10px}

/* Page hero (shared across inner pages) */
.tl-page-hero{padding:140px 32px 80px;position:relative;overflow:hidden}
.tl-page-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 70% 40%,rgba(16,69,212,.15) 0%,transparent 70%)}
.tl-page-hero-inner{max-width:1300px;margin:0 auto;position:relative;z-index:2}


/* ── Appinventiv style: stats ── */
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light)}
.stat-box{padding:48px 32px;text-align:center;border-right:1px solid var(--border-light);background:#fff}
.stat-box:last-child{border-right:none}
.stat-num{font-size:clamp(48px,6vw,72px);font-weight:900;line-height:1;margin-bottom:10px;font-family:'DM Sans',sans-serif;background:linear-gradient(90deg,#1045D4,#00aaff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-2px}
.stat-lbl{font-size:14px;color:var(--text-muted-light);font-weight:600}


/* Awards row hover — darken */
.award-row{cursor:default;transition:background .2s}
.award-row:hover{background:#0B0F1A !important}
.award-row:hover .award-row-title{color:#fff !important}
.award-row:hover .award-row-body{color:rgba(255,255,255,.82) !important}
.award-row:hover .award-row-num{color:rgba(255,255,255,.15) !important}
.award-row:hover .award-row-year{color:#60a5fa !important}
.award-row:hover .award-row-issuer{color:rgba(255,255,255,.88) !important}
/* Awards text on normal = proper dark */
.award-row .award-row-num{color:#ebebeb}
.award-row .award-row-year{color:var(--primary)}
.award-row .award-row-title{color:#0B0F1A}
.award-row .award-row-body{color:#0B0F1A}
.award-row .award-row-issuer{color:#aab4c8}
.award-row:hover .award-row-num{color:#d0d0d0}
.award-row:hover .award-row-title{color:#0B0F1A}

.footer-bottom-links a{color:rgba(255,255,255,.88);font-size:13px;text-decoration:none;transition:color .2s}
.footer-bottom-links a:hover{color:#fff}

/* ── Force correct colours in dark sections using inline bg ── */
section[style*="bg-dark"] .section-title,
section[style*="bg-dark2"] .section-title,
section[style*="#0B0D17"] .section-title,
section[style*="#0B0F1A"] .section-title,
section[style*="#0F1422"] .section-title {
  color: #fff !important;
}
section[style*="bg-dark"] .section-sub,
section[style*="bg-dark2"] .section-sub,
section[style*="#0B0D17"] .section-sub,
section[style*="#0B0F1A"] .section-sub,
section[style*="#0F1422"] .section-sub {
  color: rgba(255,255,255,.6) !important;
}
section[style*="bg-dark"] .section-tag,
section[style*="bg-dark2"] .section-tag {
  color: #5c9aff !important;
}


.mega-menu.open{opacity:1;pointer-events:all;transform:translateX(-50%) translateY(0)}

/* ── Light section text overrides ── */
section[style*="background:#fff"] h1,
section[style*="background:#fff"] h2,
section[style*="background:#fff"] h3,
section[style*="background:#f7f9ff"] h1,
section[style*="background:#f7f9ff"] h2,
section[style*="background:#f7f9ff"] h3,
section[style*="background:#f9fafb"] h1,
section[style*="background:#f9fafb"] h2,
section[style*="background:#f9fafb"] h3{color:#0B0F1A}
section[style*="background:#fff"] p,
section[style*="background:#f7f9ff"] p,
section[style*="background:#f9fafb"] p{color:#444455}

.service-img::after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,rgba(4,6,14,.6) 0%,rgba(16,69,212,.08) 100%);pointer-events:none}
.service-card:hover .service-img img{opacity:.75;transform:scale(1.03)}

.service-img-cat{position:absolute;top:20px;left:20px;z-index:2;background:var(--primary);color:#fff;font-size:13px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;padding:4px 12px;border-radius:4px}
.service-img-num{position:absolute;bottom:20px;left:20px;z-index:2;font-size:80px;font-weight:900;color:rgba(255,255,255,.1);font-family:'DM Sans',sans-serif;line-height:1;letter-spacing:-4px}
.service-body-num{font-size:13px;font-weight:700;color:rgba(16,69,212,.5);font-family:'DM Sans',sans-serif;letter-spacing:.6px;margin-bottom:16px;display:block;text-transform:uppercase}

.service-body-ghost{position:absolute;right:-10px;top:50%;transform:translateY(-50%);font-size:180px;font-weight:900;color:rgba(16,69,212,.04);font-family:'DM Sans',sans-serif;line-height:1;letter-spacing:-8px;pointer-events:none;user-select:none}
.service-img-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(4,6,14,.5) 0%,rgba(16,69,212,.06) 100%);z-index:1}
.service-img-cat{position:absolute;top:20px;left:20px;z-index:2;background:var(--primary);color:#fff;font-size:13px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;padding:5px 14px;border-radius:4px}
.service-img-num{position:absolute;bottom:24px;right:20px;z-index:2;font-size:64px;font-weight:900;color:rgba(255,255,255,.12);font-family:'DM Sans',sans-serif;line-height:1;letter-spacing:-3px}
.service-learn{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;color:var(--primary);font-family:'DM Sans',sans-serif;text-decoration:none;border-bottom:1.5px solid currentColor;padding-bottom:2px;transition:color .2s;margin-top:auto}
.service-features{list-style:none;padding:0;margin:0 0 24px;display:flex;flex-direction:column;gap:9px}
.service-features li{display:flex;align-items:center;gap:10px;font-size:13.5px;color:#444455}
.service-features li span{width:18px;height:18px;border-radius:50%;background:rgba(16,69,212,.08);border:1px solid rgba(16,69,212,.2);display:grid;place-items:center;flex-shrink:0}

.tl-footer-link{font-size:13px;color:rgba(255,255,255,.55);text-decoration:none;transition:color .15s}
.tl-footer-link:hover{color:#fff}

/* ── Mobile Nav ── */
.nav-hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px;z-index:1001}
.nav-hamburger span{display:block;width:24px;height:2px;background:#fff;border-radius:2px;transition:all .25s}
.nav-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-hamburger.open span:nth-child(2){opacity:0}
.nav-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.mobile-menu{display:none;position:absolute;top:100%;left:0;right:0;background:#0B0F1A;border-top:1px solid rgba(255,255,255,.08);padding:16px 24px 24px;z-index:1000;max-height:80vh;overflow-y:auto}
.mobile-menu.open{display:block}
.mobile-menu ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0}
.mobile-menu ul li a{display:block;padding:13px 0;font-size:15px;font-weight:600;color:rgba(255,255,255,.88);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.06);font-family:"DM Sans",sans-serif}
.mobile-menu ul li a:hover{color:#fff}

@media(max-width:1024px){
  .nav-hamburger{display:flex}
  .nav-links{display:none}
  .nav-cta{display:none}
}
@media(min-width:1025px){
  .mobile-menu{display:none !important}
  .nav-hamburger{display:none !important}
}

/* ═══════════════════════════════════════════════
   TECHLUMAS — COMPLETE MOBILE RESPONSIVE v4
   768px = mobile, 480px = small phone
   Strategy: override EVERY grid/fixed-width inline
   ═══════════════════════════════════════════════ */

/* ─────────────────────────────
   768px — Mobile
───────────────────────────── */
@media(max-width:768px){

  /* NAV */
  .nav-hamburger{display:flex !important}
  .nav-links,.nav-cta{display:none !important}
  .mega-menu{display:none !important}
  #site-nav .nav-inner{padding:0 16px !important}
  .mobile-menu ul{list-style:none;padding:0;margin:0}
  .mobile-menu ul li a{display:block;padding:13px 0;font-size:15px;color:rgba(255,255,255,.88);border-bottom:1px solid rgba(255,255,255,.06);text-decoration:none;font-weight:600}
  .marquee-bar{font-size:11px !important;padding:7px 0 !important}

  /* HERO */
  .hero{height:auto !important;min-height:auto !important;padding:90px 20px 56px !important}
  .hero-content{margin-left:0 !important;max-width:100% !important;padding:0 !important}
  .hero h1,.hero-title{font-size:30px !important;line-height:1.15 !important;letter-spacing:-.5px !important}
  .hero-subtitle{font-size:12px !important}
  .hero-desc{font-size:14px !important}
  .hero-btns{flex-direction:column !important;gap:10px !important;width:100% !important}
  .hero-btns a{width:100% !important;justify-content:center !important;text-align:center !important;box-sizing:border-box !important}
  .hero-orb1,.hero-orb2{display:none !important}

  /* SECTION PADDING */
  section[style*="padding"]{padding-left:20px !important;padding-right:20px !important}
  div[style*="padding:100px 32px"]{padding:56px 20px !important}
  div[style*="padding:80px 32px"]{padding:48px 20px !important}
  div[style*="padding:72px 32px"]{padding:44px 20px !important}
  div[style*="padding:64px 32px"]{padding:40px 20px !important}
  div[style*="max-width:1300px;margin:0 auto"]{max-width:100% !important;padding-left:0 !important;padding-right:0 !important}

  /* TYPOGRAPHY */
  .section-title{font-size:24px !important;line-height:1.2 !important}
  .section-sub{font-size:14px !important}

  /* ── ALL GRIDS → single column ── */
  /* 1fr 1fr */
  div[style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr !important;gap:20px !important}
  /* 2 col named */
  div[style*="grid-template-columns:repeat(2,1fr)"]{grid-template-columns:1fr !important;gap:16px !important}
  /* 3 col */
  div[style*="grid-template-columns:repeat(3,1fr)"]{grid-template-columns:1fr !important;gap:16px !important}
  /* 4 col → 2 col */
  div[style*="grid-template-columns:repeat(4,1fr)"]{grid-template-columns:repeat(2,1fr) !important;gap:14px !important}
  /* 5 col */
  div[style*="grid-template-columns:repeat(5,1fr)"]{grid-template-columns:repeat(2,1fr) !important;gap:0 !important}
  /* Fixed left sidebar */
  div[style*="grid-template-columns:300px"],
  div[style*="grid-template-columns:380px"],
  div[style*="grid-template-columns:400px"],
  div[style*="grid-template-columns:420px"],
  div[style*="grid-template-columns:340px"],
  div[style*="grid-template-columns:360px"],
  div[style*="grid-template-columns:500px"]{grid-template-columns:1fr !important;gap:24px !important}
  /* Fixed right sidebar */
  div[style*="grid-template-columns:1fr 380px"],
  div[style*="grid-template-columns:1fr 480px"],
  div[style*="grid-template-columns:1fr 520px"],
  div[style*="grid-template-columns:1fr 260px"],
  div[style*="grid-template-columns:1fr 280px"],
  div[style*="grid-template-columns:1fr 300px"],
  div[style*="grid-template-columns:1fr 220px"],
  div[style*="grid-template-columns:1fr auto"]{grid-template-columns:1fr !important;gap:24px !important}
  /* Percent columns */
  div[style*="grid-template-columns:55% 45%"],
  div[style*="grid-template-columns:45% 55%"],
  div[style*="grid-template-columns:52% "],
  div[style*="grid-template-columns:48% "]{grid-template-columns:1fr !important;gap:20px !important}

  /* OFFICES */
  .offices-grid{grid-template-columns:1fr !important}
  .office-card{border-right:none !important;border-bottom:1px solid #e8e8e8 !important}

  /* FOOTER */
  footer div[style*="grid-template-columns:300px repeat(5,1fr)"]{grid-template-columns:1fr 1fr !important;gap:28px !important}
  footer div[style*="grid-template-columns:repeat(4,1fr)"]{grid-template-columns:repeat(2,1fr) !important}
  footer div[style*="grid-template-columns:1fr auto"]{grid-template-columns:1fr !important;gap:20px !important}
  footer div[style*="display:flex;justify-content:space-between"]{flex-direction:column !important;gap:10px !important;text-align:center !important}
  footer div[style*="display:flex;gap:20px;flex-wrap:wrap"]{justify-content:center !important}
  .tl-grid-footer{grid-template-columns:1fr 1fr !important;gap:28px !important;padding:40px 0 32px !important}
  .tl-grid-stats > div{border-right:none !important;border-bottom:1px solid rgba(255,255,255,.07) !important}
  .tl-grid-cta-band{grid-template-columns:1fr !important;gap:24px !important}
  .tl-grid-cta-band > div:last-child{flex-direction:row !important;gap:12px !important;flex-wrap:wrap !important}
  .tl-grid-cta-band a{flex:1 !important;justify-content:center !important;text-align:center !important}

  /* CTA FORM */
  .tl-grid-cta{grid-template-columns:1fr !important;min-height:auto !important}
  .tl-grid-form-row{grid-template-columns:1fr !important;gap:10px !important;margin-bottom:10px !important}

  /* AI SECTION */
  div[style*="min-height:460px"],div[style*="min-height:340px"],div[style*="min-height:520px"]{min-height:240px !important}
  div[style*="padding:56px 56px"],div[style*="padding:80px 56px"]{padding:28px 20px !important}

  /* AWARDS */
  .tl-awards-marquee{margin:0 -20px}

  /* BLOG */
  div[style*="display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px"]{grid-template-columns:1fr !important}
  div[style*="height:240px;overflow:hidden"]{height:180px !important}

  /* BUTTONS across site */
  a[style*="display:inline-flex"][style*="border-radius:50px"]{max-width:100% !important}

  /* Flex rows that should stack */
  div[style*="display:flex;justify-content:space-between;align-items:flex-end"]{flex-direction:column !important;align-items:flex-start !important;gap:16px !important}
  div[style*="display:flex;justify-content:space-between;align-items:center;padding:72px"]{flex-direction:column !important;gap:24px !important}

  /* TESTIMONIALS sidebar layout */
  .tl-grid-sidebar,.tl-grid-testimonials{grid-template-columns:1fr !important;gap:24px !important}

  /* STATS strip borders */
  div[style*="grid-template-columns:repeat(4,1fr);border-bottom"] > div{border-right:none !important;border-bottom:1px solid rgba(255,255,255,.08) !important}

  /* SERVICES section flex */
  div[style*="grid-template-columns:1fr 480px"]{grid-template-columns:1fr !important;gap:24px !important}
  div[style*="grid-template-columns:64px 1fr auto"]{grid-template-columns:48px 1fr auto !important}

  /* TOOLS grid */
  .tools-grid{grid-template-columns:repeat(3,1fr) !important}
}

/* ─────────────────────────────
   480px — Small phone
───────────────────────────── */
@media(max-width:480px){
  /* NAV */
  .nav-logo img{height:28px !important}
  .nav-logo span{font-size:15px !important}
  #site-nav .nav-inner{padding:0 12px !important}
  .marquee-bar{font-size:10px !important}

  /* HERO */
  .hero{padding:80px 16px 48px !important}
  .hero h1{font-size:26px !important}
  .hero-desc{font-size:13px !important}

  /* SECTIONS */
  div[style*="padding:100px 32px"],div[style*="padding:80px 32px"]{padding:40px 16px !important}
  section[style*="padding"]{padding-left:16px !important;padding-right:16px !important}
  .section-title{font-size:20px !important}

  /* 4 col → 1 col on phone */
  div[style*="grid-template-columns:repeat(4,1fr)"]{grid-template-columns:1fr !important;gap:12px !important}

  /* FOOTER → full single col */
  footer div[style*="grid-template-columns:300px repeat(5,1fr)"]{grid-template-columns:1fr !important;gap:20px !important}
  .tl-grid-footer{grid-template-columns:1fr !important;gap:20px !important}
  footer div[style*="grid-template-columns:repeat(4,1fr)"]{grid-template-columns:repeat(2,1fr) !important}
  footer div[style*="font-size:32px"]{font-size:22px !important}
  footer div[style*="padding:32px;text-align:center"]{padding:18px !important}

  /* AI section */
  div[style*="min-height:460px"]{min-height:200px !important}

  /* OFFICES */
  .offices-grid{grid-template-columns:1fr !important}

  /* CTA band */
  .tl-grid-cta-band > div:last-child{flex-direction:column !important}
  .tl-grid-cta-band a{width:100% !important}

  /* Awards */
  .tl-awards-track > a,.tl-awards-track > div{height:50px !important;padding:6px 10px !important}

  /* Blog images */
  div[style*="height:160px;overflow:hidden"]{height:120px !important}
  div[style*="height:240px;overflow:hidden"]{height:160px !important}

  /* Tools grid */
  .tools-grid{grid-template-columns:repeat(2,1fr) !important}
}

/* ══════════════════════════════════════
   MOBILE RESPONSIVE v5 — Complete
   ══════════════════════════════════════ */

/* Prevent ALL overflow */
*{box-sizing:border-box}

img{max-width:100%;height:auto}

@media(max-width:768px){

  /* ── NAV ── */
  .nav-hamburger{display:flex !important}
  .nav-links,.nav-cta{display:none !important}
  .mega-menu{display:none !important}
  #site-nav{overflow:visible}
  #site-nav .nav-inner{padding:0 16px !important;flex-wrap:nowrap}
  .marquee-bar{font-size:11px !important;padding:7px 0 !important}

  /* ── HERO ── */
  .hero{height:auto !important;min-height:auto !important;padding:88px 20px 52px !important}
  .hero-content{margin-left:0 !important;max-width:100% !important;padding:0 !important;width:100% !important}
  .hero h1,.hero-title{font-size:28px !important;line-height:1.18 !important;letter-spacing:-.3px !important}
  .hero-subtitle{font-size:11px !important}
  .hero-desc{font-size:13px !important;max-width:100% !important}
  .hero-btns{flex-direction:column !important;gap:10px !important;width:100% !important}
  .hero-btns a,.btn-primary,.btn-outline{width:100% !important;justify-content:center !important;text-align:center !important;box-sizing:border-box !important}
  .hero-orb1,.hero-orb2{display:none !important}
  .hero-awards{width:100%;overflow:hidden}
  .tl-awards-marquee{margin:0 -20px;width:calc(100% + 40px)}

  /* ── SECTION PADDING ── */
  section{padding-left:20px !important;padding-right:20px !important;padding-top:52px !important;padding-bottom:52px !important}
  div[style*="padding:100px 32px"]{padding:52px 20px !important}
  div[style*="padding:80px 32px"]{padding:44px 20px !important}
  div[style*="padding:72px 32px"]{padding:40px 20px !important}
  div[style*="padding:64px 32px"]{padding:36px 20px !important}
  div[style*="max-width:1300px;margin:0 auto;padding:0 32px"]{padding:0 !important}

  /* ── TYPOGRAPHY ── */
  .section-title{font-size:22px !important;line-height:1.25 !important}
  .section-sub{font-size:13px !important}
  h2[style*="clamp"]{font-size:24px !important}
  h1[style*="clamp"]{font-size:28px !important}
  h3[style*="font-size:2"]{font-size:18px !important}

  /* ── UNIVERSAL GRID COLLAPSE ── */
  div[style*="grid-template-columns"]:not(.offices-grid){
    grid-template-columns:1fr !important;
    gap:16px !important;
  }
  /* Exception: keep 2-col for small cards */
  div[style*="grid-template-columns:repeat(4,1fr)"]{
    grid-template-columns:repeat(2,1fr) !important;
    gap:12px !important;
  }

  /* ── CTA SECTION ── */
  .tl-grid-cta,.tl-cta-left,.tl-cta-right{
    width:100% !important;
    max-width:100% !important;
  }
  .tl-cta-left{
    padding:40px 20px !important;
    border-right:none !important;
    border-bottom:1px solid #e8e8e8 !important;
  }
  .tl-cta-right{padding:28px 20px !important}
  .tl-grid-form-row{grid-template-columns:1fr !important;gap:10px !important;margin-bottom:10px !important}
  /* CTA feature list */
  .tl-cta-left div[style*="display:flex;flex-direction:column;gap:10px"]{gap:8px !important}
  .tl-cta-left div[style*="display:flex;gap:8px;flex-wrap:wrap"]{gap:8px !important}
  .tl-cta-left div[style*="display:flex;align-items:center;gap:10px"]{font-size:13px !important}

  /* ── SERVICES ── */
  .tl-svc-split{grid-template-columns:1fr !important;gap:0 !important}
  div[style*="grid-template-columns:64px 1fr auto"]{grid-template-columns:44px 1fr auto !important}

  /* ── PORTFOLIO ── */
  .tl-portfolio-grid{grid-template-columns:1fr !important;gap:14px !important}

  /* ── TOOLS ── */
  .tl-tools-grid{grid-template-columns:repeat(2,1fr) !important;gap:12px !important}

  /* ── BENEFITS ── */
  .tl-benefits-grid{grid-template-columns:1fr !important;gap:16px !important}

  /* ── AI SECTION ── */
  div[style*="min-height:460px"],div[style*="min-height:520px"],div[style*="min-height:340px"]{min-height:220px !important}
  div[style*="padding:56px 56px"]{padding:24px 20px !important}
  div[style*="border-radius:24px;overflow:hidden"]{border-radius:14px !important}
  /* AI 4 cards */
  .tl-grid-4col{grid-template-columns:repeat(2,1fr) !important;gap:12px !important}
  /* AI stats */
  .tl-grid-3col{grid-template-columns:1fr !important}
  .tl-grid-3col > div[style*="border-right"]{border-right:none !important;border-bottom:1px solid rgba(255,255,255,.08) !important}

  /* ── INDUSTRIES ── */
  div[style*="grid-template-columns:repeat(4,1fr);gap:1px"]{
    grid-template-columns:repeat(2,1fr) !important;
    gap:1px !important;
  }

  /* ── TESTIMONIALS ── */
  .tl-grid-sidebar{grid-template-columns:1fr !important;gap:24px !important}
  div[style*="grid-template-columns:400px 1fr"]{grid-template-columns:1fr !important;gap:24px !important}

  /* ── OFFICES ── */
  .offices-grid{grid-template-columns:repeat(2,1fr) !important}
  .office-card{border-right:none !important;border-bottom:1px solid #e8e8e8 !important}

  /* ── STATS STRIPS ── */
  div[style*="grid-template-columns:repeat(4,1fr);border-bottom"] > div{
    border-right:none !important;
    border-bottom:1px solid rgba(255,255,255,.08) !important;
  }

  /* ── FOOTER ── */
  .tl-grid-footer,footer div[style*="grid-template-columns:300px"]{
    grid-template-columns:1fr 1fr !important;
    gap:24px !important;
    padding:36px 0 28px !important;
  }
  footer div[style*="grid-template-columns:1fr auto"]{grid-template-columns:1fr !important;gap:20px !important}
  footer div[style*="display:flex;justify-content:space-between"]{flex-direction:column !important;gap:10px !important;text-align:center !important}
  footer div[style*="display:flex;gap:20px"]{justify-content:center !important;flex-wrap:wrap !important}
  .tl-grid-stats > div{border-right:none !important;border-bottom:1px solid rgba(255,255,255,.07) !important}
  .tl-grid-cta-band{grid-template-columns:1fr !important;gap:20px !important}
  .tl-grid-cta-band > div:last-child{display:flex !important;flex-direction:row !important;gap:10px !important;flex-wrap:wrap !important}
  .tl-grid-cta-band a{flex:1 !important;justify-content:center !important;text-align:center !important}

  /* ── BLOG ── */
  div[style*="grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px"]{grid-template-columns:1fr !important}
  div[style*="height:240px;overflow:hidden"]{height:160px !important}

  /* ── ABOUT / SINGLE PAGES ── */
  div[style*="grid-template-columns:1fr 520px"],
  div[style*="grid-template-columns:340px 1fr"],
  div[style*="grid-template-columns:420px 1fr"],
  div[style*="grid-template-columns:1fr 380px"],
  div[style*="grid-template-columns:380px 1fr"],
  div[style*="grid-template-columns:1fr 480px"],
  div[style*="grid-template-columns:360px 1fr"],
  div[style*="grid-template-columns:1fr 480px"],
  div[style*="grid-template-columns:300px 1fr"]{
    grid-template-columns:1fr !important;
    gap:24px !important;
  }

  /* ── MOBILE MENU ── */
  .mobile-menu ul{list-style:none;padding:0;margin:0}
  .mobile-menu ul li a{display:block;padding:13px 0;font-size:15px;color:rgba(255,255,255,.88);border-bottom:1px solid rgba(255,255,255,.06);text-decoration:none;font-weight:600}
}

/* ── 480px small phone ── */
@media(max-width:480px){
  .nav-logo img{height:26px !important}
  .nav-logo span{font-size:14px !important}
  .hero{padding:76px 16px 44px !important}
  .hero h1{font-size:24px !important}
  section{padding-left:16px !important;padding-right:16px !important;padding-top:44px !important;padding-bottom:44px !important}
  div[style*="padding:100px 32px"]{padding:44px 16px !important}
  div[style*="padding:80px 32px"]{padding:36px 16px !important}
  .section-title{font-size:19px !important}
  /* 4col → 1col */
  div[style*="grid-template-columns:repeat(4,1fr)"]{grid-template-columns:1fr !important;gap:10px !important}
  .tl-grid-4col{grid-template-columns:1fr !important}
  /* Footer */
  .tl-grid-footer,footer div[style*="grid-template-columns:300px"]{grid-template-columns:1fr !important;gap:20px !important}
  footer div[style*="grid-template-columns:repeat(4,1fr)"]{grid-template-columns:repeat(2,1fr) !important}
  footer div[style*="font-size:32px"]{font-size:20px !important}
  footer div[style*="padding:32px;text-align:center"]{padding:16px 12px !important}
  /* CTA band */
  .tl-grid-cta-band > div:last-child{flex-direction:column !important}
  .tl-grid-cta-band a{width:100% !important}
  /* Awards */
  .tl-awards-track > a,.tl-awards-track > div{height:48px !important;padding:5px 10px !important}
  /* Tools */
  .tl-tools-grid{grid-template-columns:repeat(2,1fr) !important}
  /* Offices */
  .offices-grid{grid-template-columns:1fr !important}
}

/* ── Specific section fixes ── */
@media(max-width:768px){

  /* Services & all card grids → 1 col */
  .tl-grid-2col,.tl-grid-3col,.tl-svc-split,.tl-portfolio-grid,.tl-benefits-grid{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }

  /* Industries: 2 col on mobile */
  .tl-ind-grid{grid-template-columns:repeat(2,1fr) !important;gap:0 !important}

  /* Technologies: 3 col on mobile */
  .tl-tools-grid{grid-template-columns:repeat(3,1fr) !important;gap:0 !important}

  /* Stats strip: 2 col */
  .tl-stats-strip{grid-template-columns:repeat(2,1fr) !important}
  .tl-stats-strip > div{
    border-right:none !important;
    border-bottom:1px solid rgba(255,255,255,.08) !important;
    padding:24px 16px !important;
  }
  .tl-stats-strip > div:nth-child(odd){border-right:1px solid rgba(255,255,255,.08) !important}

  /* FAQ */
  .tl-faq-img{height:280px !important}
  .tl-faq-stats{gap:6px !important}
  .tl-faq-stats > div{padding:10px 10px !important}
  .tl-faq-right{padding:24px 20px !important}
  .lf-faq div[style*="font-size:15px"]{font-size:14px !important}
  section[style*="padding:100px 32px;background:var(--bg-dark)"] a[style*="border-radius:50px"]{
    font-size:12px !important;padding:10px 18px !important;
  }

  /* CTA form */
  .tl-cta-left{padding:36px 20px !important;border-right:none !important;border-bottom:1px solid #e8e8e8 !important}
  .tl-cta-right{padding:24px 16px !important}
  .tl-grid-form-row{grid-template-columns:1fr !important;gap:10px !important;margin-bottom:10px !important}

  /* Remove excess left/right padding on form inputs */
  .tl-cta-right input,.tl-cta-right select,.tl-cta-right textarea{
    font-size:13px !important;
    padding:9px 12px !important;
  }
}

@media(max-width:480px){
  /* Technologies: 2 col */
  .tl-tools-grid{grid-template-columns:repeat(2,1fr) !important}

  /* Industries: 1 col */
  .tl-ind-grid{grid-template-columns:1fr !important}

  /* FAQ stats: reduce even more */
  .tl-faq-stats > div{padding:8px !important}
  .tl-faq-img{height:220px !important}

  /* Stats: 2 col always */
  .tl-stats-strip{grid-template-columns:repeat(2,1fr) !important}
}

/* ══════════════════════════════════════════════
   ALL PAGES RESPONSIVE — v1
   Covers: about, services, portfolio, contact,
   industries, technologies, hire, careers,
   testimonials, legal, singles, archive, blog,
   404, footer
   ══════════════════════════════════════════════ */

@media(max-width:768px){

  /* ── UNIVERSAL: section padding ── */
  body div[style*="padding:80px 56px"]{padding:44px 20px !important}
  body div[style*="padding:120px 32px"]{padding:52px 20px !important}
  body div[style*="padding:100px 32px"]{padding:52px 20px !important}
  body div[style*="padding:80px 32px"]{padding:44px 20px !important}
  body div[style*="padding:72px 32px"]{padding:40px 20px !important}
  body div[style*="padding:64px 32px"]{padding:36px 20px !important}
  body div[style*="max-width:1300px;margin:0 auto;padding:0 32px"]{padding:0 20px !important}
  body section[style*="32px"]{padding-left:20px !important;padding-right:20px !important}

  /* ── UNIVERSAL: ALL grids collapse ── */
  body div[style*="display:grid;grid-template-columns:1fr 1fr"]{grid-template-columns:1fr !important;gap:16px !important}
  body div[style*="display:grid;grid-template-columns:repeat(2,1fr)"]{grid-template-columns:1fr !important;gap:14px !important}
  body div[style*="display:grid;grid-template-columns:repeat(3,1fr)"]{grid-template-columns:1fr !important;gap:14px !important}
  body div[style*="display:grid;grid-template-columns:repeat(4,1fr)"]{grid-template-columns:repeat(2,1fr) !important;gap:12px !important}
  body div[style*="display:grid;grid-template-columns:repeat(5,1fr)"]{grid-template-columns:repeat(2,1fr) !important;gap:12px !important}

  /* Fixed-px sidebar layouts */
  body div[style*="grid-template-columns:1fr 380px"],
  body div[style*="grid-template-columns:1fr 480px"],
  body div[style*="grid-template-columns:1fr 520px"],
  body div[style*="grid-template-columns:1fr 300px"],
  body div[style*="grid-template-columns:1fr 260px"],
  body div[style*="grid-template-columns:1fr 280px"],
  body div[style*="grid-template-columns:1fr auto"],
  body div[style*="grid-template-columns:340px 1fr"],
  body div[style*="grid-template-columns:380px 1fr"],
  body div[style*="grid-template-columns:420px 1fr"],
  body div[style*="grid-template-columns:280px 1fr"],
  body div[style*="grid-template-columns:300px 1fr"]{
    grid-template-columns:1fr !important;
    gap:20px !important;
  }

  /* ── HEROES: all pages ── */
  .tl-page-hero{padding:90px 20px 56px !important;min-height:auto !important;height:auto !important}
  .tl-page-hero-inner{padding:0 !important}
  .tl-page-hero h1{font-size:28px !important;line-height:1.18 !important}
  .tl-page-hero p{font-size:14px !important}

  /* ── ABOUT PAGE ── */
  /* Mission split, team grid, offices */
  .offices-grid{grid-template-columns:repeat(2,1fr) !important}
  .office-card{border-right:none !important;border-bottom:1px solid #e8e8e8 !important}

  /* ── SERVICES PAGE ── */
  /* Category filter pills */
  div[style*="padding:14px 32px;display:flex;flex-wrap:wrap"]{padding:14px 16px !important}
  div[style*="padding:14px 32px;background:#fff;border-bottom"]{padding:12px 16px !important}

  /* ── CONTACT PAGE ── */
  div[style*="padding:80px 56px;display:flex;flex-direction:column"]{padding:36px 20px !important}

  /* ── PORTFOLIO PAGE ── */
  /* Filter buttons */
  div[style*="display:flex;flex-wrap:wrap;gap:8px;margin-bottom"]{gap:6px !important}

  /* ── CAREERS PAGE ── */
  /* Job listing grid */
  div[style*="display:grid;grid-template-columns:1fr 1fr"][style*="gap:16px;margin-bottom:12px"]{
    grid-template-columns:1fr !important;
  }

  /* ── SINGLE PAGES ── */
  /* Service/Industry/Hire hero */
  div[style*="padding:80px 32px;min-height:500px"]{min-height:auto !important;padding:90px 20px 48px !important}
  div[style*="padding:80px 32px;min-height:580px"]{min-height:auto !important;padding:90px 20px 48px !important}

  /* ── FOOTER ── */
  footer div[style*="padding:72px 32px"]{padding:40px 20px !important}
  footer div[style*="padding:16px 36px"],
  footer div[style*="padding:14px 36px"]{padding:10px 20px !important}

  /* ── ARCHIVE / BLOG PAGE ── */
  div[style*="padding:120px 32px;background:#fff"][style*="max-width:1300px"]{
    padding:52px 20px !important;
  }
  /* Blog sidebar */
  div[style*="grid-template-columns:280px 1fr"],
  div[style*="grid-template-columns:300px 1fr"]{
    grid-template-columns:1fr !important;gap:28px !important;
  }

  /* ── 404 PAGE ── */
  div[style*="display:grid;grid-template-columns:52px 1fr 20px"]{
    grid-template-columns:40px 1fr !important;
  }
  div[style*="padding:14px 32px"][style*="text-align:center"]{
    padding:10px 16px !important;
  }

  /* ── TESTIMONIALS PAGE ── */
  div[style*="display:grid;grid-template-columns:repeat(3,1fr)"][style*="gap:24px"]{
    grid-template-columns:1fr !important;
  }

  /* ── LEGAL PAGE ── */
  div[style*="padding:120px 32px"][style*="background:#fff"]{
    padding:52px 20px !important;
  }

  /* ── ALL BUTTONS full width ── */
  .tl-page-hero .hero-btns,
  div[style*="display:flex;gap:12px;flex-wrap:wrap;margin-top"]{
    flex-direction:column !important;
    gap:10px !important;
  }
  .tl-page-hero a[style*="border-radius:50px"]{
    width:100% !important;
    justify-content:center !important;
    text-align:center !important;
    box-sizing:border-box !important;
  }

  /* ── STATS strips on sub-pages ── */
  div[style*="grid-template-columns:repeat(4,1fr)"][style*="border-top"],
  div[style*="grid-template-columns:repeat(4,1fr)"][style*="border-bottom"]{
    grid-template-columns:repeat(2,1fr) !important;
  }

  /* ── SINGLE portfolio ── */
  div[style*="grid-template-columns:1fr 1fr"][style*="gap:20px;margin-bottom:16px"]{
    grid-template-columns:1fr !important;
  }

  /* ── Hide large decorative elements ── */
  div[style*="position:absolute;right:-100px"],
  div[style*="position:absolute;left:-60px"],
  div[style*="position:absolute;bottom:-80px"]{display:none !important}
}

@media(max-width:480px){
  /* 4-col → 1-col on phone */
  body div[style*="display:grid;grid-template-columns:repeat(4,1fr)"]{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  /* 2-col → 1-col on phone */
  body div[style*="display:grid;grid-template-columns:repeat(2,1fr)"]{
    grid-template-columns:1fr !important;
  }
  .tl-page-hero h1{font-size:24px !important}
  body div[style*="padding:120px 32px"],
  body div[style*="padding:100px 32px"],
  body div[style*="padding:80px 32px"]{
    padding-top:40px !important;
    padding-bottom:40px !important;
    padding-left:16px !important;
    padding-right:16px !important;
  }
  .offices-grid{grid-template-columns:1fr !important}
}

/* ── Footer mobile padding fix ── */
@media(max-width:768px){
  .tl-footer-wrap{padding:0 16px !important}
  footer > div[style*="padding:72px 32px"]{padding:40px 16px !important}
  footer > div[style*="padding:40px 32px"]{padding:32px 16px !important}
  .tl-grid-footer{padding:32px 0 24px !important}
  footer div[style*="padding:32px;border-right"]{padding:20px 16px !important}
  footer div[style*="padding:20px 0;flex-wrap"]{padding:16px 0 !important}
}

/* ── Fix double padding: inner max-width containers inside padded sections ── */
@media(max-width:768px){
  /* All inner max-width containers → remove side padding (section already has it) */
  div[style*="max-width:1300px;margin:0 auto;padding:0 32px"],
  div[style*="max-width:1200px;margin:0 auto;padding:0 32px"]{
    padding-left:0 !important;
    padding-right:0 !important;
  }
  /* But sections themselves keep 20px padding */
  section[style*="padding"][style*="32px"]{
    padding-left:20px !important;
    padding-right:20px !important;
  }
  /* Footer wrapper is standalone (no outer section padding) — needs its own 20px */
  .tl-footer-wrap{
    padding-left:20px !important;
    padding-right:20px !important;
  }
}

/* Footer standalone wrapper — needs 20px sides on mobile */
@media(max-width:768px){
  .tl-no-inner-pad{
    padding-left:20px !important;
    padding-right:20px !important;
  }
  /* Override the zero-padding rule for standalone wrappers */
  div[style*="max-width:1300px;margin:0 auto;padding:0 32px"].tl-no-inner-pad{
    padding-left:20px !important;
    padding-right:20px !important;
  }
}

/* ── tl-wrap: mobile padding only, desktop unchanged ── */
@media(max-width:768px){
  .tl-wrap{
    padding-left:20px !important;
    padding-right:20px !important;
  }
}

/* ── Blog single page sidebar sticky ── */
.tl-single-wrap{overflow:visible !important;position:relative}
#tl-blog-sidebar{position:-webkit-sticky !important;position:sticky !important;top:88px !important;align-self:start !important;max-height:calc(100vh - 100px);overflow-y:auto}
