/* ===== RESET & BASE ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Inter',system-ui,-apple-system,sans-serif;color:#E2E8F0;background:var(--bg);line-height:1.6;overflow-x:hidden;}
img{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;transition:color .2s;}
button{font-family:inherit;cursor:pointer;border:none;}
ul{list-style:none;}
:focus-visible{outline:2px solid #06B6D4;outline-offset:3px;border-radius:4px;}

:root{
  --bg:#06080F;--bg2:#0B0F1A;--bg3:#111827;--bg4:#1A2236;
  --accent:#3B82F6;--accent2:#2563EB;--cyan:#06B6D4;--green:#10B981;
  --orange:#F97316;--purple:#8B5CF6;--red:#EF4444;--gold:#F59E0B;
  --hc:#fff;--t1:#F8FAFC;--t2:#CBD5E1;--t3:#64748B;--t4:#475569;
  --bdr:rgba(255,255,255,.06);--bdr2:rgba(255,255,255,.1);--bdr3:rgba(255,255,255,.16);
  --fill1:rgba(255,255,255,.03);--fill2:rgba(255,255,255,.05);
  --deep:#020409;--deeper:#010204;--panel:#0E1220;
  --glass:rgba(6,8,15,.88);--glass-solid:rgba(6,8,15,.97);
  --hero-overlay:linear-gradient(135deg,rgba(6,8,15,.9) 0%,rgba(6,8,15,.62) 50%,rgba(6,8,15,.78) 100%);
  --map-filter:grayscale(1) invert(.92) contrast(.9);
  --card-shadow:none;
  --grad1:linear-gradient(135deg,#3B82F6,#06B6D4);
  --grad2:linear-gradient(135deg,#10B981,#06B6D4);
  --shadow:0 20px 60px rgba(0,0,0,.5);
  color-scheme:dark;
}
/* ===== LIGHT THEME ===== */
html[data-theme="light"]{
  --bg:#FFFFFF;--bg2:#F4F7FB;--bg3:#FFFFFF;--bg4:#EAF0F7;
  --accent:#2563EB;--cyan:#0891B2;--green:#059669;
  --hc:#0B1220;--t1:#0F172A;--t2:#334155;--t3:#64748B;--t4:#94A3B8;
  --bdr:rgba(15,23,42,.08);--bdr2:rgba(15,23,42,.12);--bdr3:rgba(15,23,42,.18);
  --fill1:rgba(15,23,42,.025);--fill2:rgba(15,23,42,.04);
  --deep:#EEF2F7;--deeper:#E4EAF2;--panel:#FFFFFF;
  --glass:rgba(255,255,255,.88);--glass-solid:rgba(255,255,255,.97);
  --hero-overlay:linear-gradient(135deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.82) 50%,rgba(244,247,251,.9) 100%);
  --map-filter:grayscale(.3);
  --card-shadow:0 4px 18px rgba(15,23,42,.06);
  --shadow:0 20px 50px rgba(15,23,42,.14);
  color-scheme:light;
}
html[data-theme="light"] .svc-card,html[data-theme="light"] .ind-card,html[data-theme="light"] .case-card,
html[data-theme="light"] .test-card,html[data-theme="light"] .blog-card,html[data-theme="light"] .contact-box,
html[data-theme="light"] .about-card,html[data-theme="light"] .mini-svc{box-shadow:var(--card-shadow);}
html[data-theme="light"] .svc-card:hover,html[data-theme="light"] .ind-card:hover,html[data-theme="light"] .case-card:hover,
html[data-theme="light"] .blog-card:hover{box-shadow:0 18px 44px rgba(15,23,42,.12);}
html[data-theme="light"] .pillar-num{color:rgba(37,99,235,.14);}
html[data-theme="light"] .glow-line{opacity:.35;}
html[data-theme="light"] .test-card::before{color:rgba(37,99,235,.14);}
html[data-theme="light"] .nav-logo svg polygon[opacity],html[data-theme="light"] .f-logo svg polygon[opacity]{fill:#fff;}
/* Theme switch */
.theme-toggle{width:40px;height:40px;border-radius:10px;border:1px solid var(--bdr2);background:var(--fill1);color:var(--t2);display:inline-flex;align-items:center;justify-content:center;transition:border-color .2s,color .2s,background .2s;flex-shrink:0;}
.theme-toggle:hover{border-color:var(--accent);color:var(--hc);}
.theme-toggle svg{width:18px;height:18px;}
.theme-toggle .i-sun{display:none;}
html[data-theme="light"] .theme-toggle .i-sun{display:block;}
html[data-theme="light"] .theme-toggle .i-moon{display:none;}
.theme-anim,.theme-anim *{transition:background-color .3s,color .3s,border-color .3s!important;}

/* ===== TOP BAR ===== */
.top-bar{background:var(--deep);border-bottom:1px solid var(--bdr);padding:0 60px;height:40px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--t3);}
.top-left{display:flex;align-items:center;gap:20px;}
.top-left a{color:var(--t3);display:flex;align-items:center;gap:6px;}
.top-left a:hover{color:var(--accent);}
.top-right{display:flex;align-items:center;gap:16px;}
.top-tagline{color:var(--t3);letter-spacing:.04em;}
.lang-switch{position:relative;display:flex;align-items:center;gap:6px;cursor:pointer;padding:4px 12px;border-radius:4px;border:1px solid var(--bdr2);background:var(--fill1);font-size:12px;color:var(--t2);}
.lang-switch:hover{border-color:var(--accent);}
.lang-switch svg{width:14px;height:14px;}
.lang-dd{position:absolute;top:calc(100% + 8px);right:0;background:var(--panel);border:1px solid var(--bdr2);border-radius:8px;min-width:160px;padding:6px 0;display:none;z-index:200;box-shadow:var(--shadow);}
.lang-switch:hover .lang-dd,.lang-switch:focus-within .lang-dd{display:block;}
.lang-dd a{display:flex;align-items:center;gap:10px;padding:8px 16px;font-size:13px;color:var(--t2);}
.lang-dd a:hover{background:rgba(59,130,246,.08);color:var(--hc);}
.lang-dd a.active{color:var(--accent);font-weight:600;}

/* ===== NAVBAR ===== */
.navbar{position:sticky;top:0;z-index:100;background:var(--glass);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid var(--bdr);padding:0 60px;height:72px;display:flex;align-items:center;justify-content:space-between;transition:background .3s,box-shadow .3s;}
.navbar.scrolled{background:var(--glass-solid);box-shadow:0 4px 20px rgba(0,0,0,.3);}
.nav-logo{display:flex;align-items:center;gap:12px;}
.nav-logo .lt{display:flex;flex-direction:column;line-height:1.15;}
.nav-logo .lt .b{font-size:22px;font-weight:800;color:var(--hc);letter-spacing:-.02em;}
.nav-logo .lt .s{font-size:10px;font-weight:500;color:var(--t3);letter-spacing:.14em;text-transform:uppercase;}
.nav-menu{display:flex;align-items:center;height:100%;}
.nav-item{position:relative;height:100%;display:flex;align-items:center;}
.nav-item>a{padding:0 16px;height:100%;display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--t2);position:relative;}
.nav-item>a::after{content:'';position:absolute;bottom:0;left:16px;right:16px;height:3px;background:var(--grad1);border-radius:3px 3px 0 0;transform:scaleX(0);transition:transform .25s;}
.nav-item:hover>a,.nav-item:focus-within>a{color:var(--hc);}
.nav-item:hover>a::after{transform:scaleX(1);}
.mega-panel{position:absolute;top:100%;left:50%;transform:translateX(-50%);background:var(--panel);border:1px solid var(--bdr2);border-top:3px solid var(--accent);border-radius:0 0 16px 16px;padding:28px 32px;min-width:600px;display:none;grid-template-columns:1fr 1fr;gap:6px;z-index:200;box-shadow:0 24px 80px rgba(0,0,0,.6);}
.mega-panel.single{min-width:300px;grid-template-columns:1fr;}
.nav-item:hover .mega-panel,.nav-item:focus-within .mega-panel{display:grid;}
.mega-link{display:flex;align-items:flex-start;gap:14px;padding:12px 14px;border-radius:10px;transition:background .2s;}
.mega-link:hover{background:rgba(59,130,246,.06);}
.mega-link .mi{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.mega-link h4{font-size:14px;font-weight:600;color:var(--t1);margin-bottom:2px;}
.mega-link p{font-size:12px;color:var(--t3);line-height:1.4;}
.nav-right{display:flex;align-items:center;gap:12px;}
.nav-cta{background:var(--grad2);color:#fff;padding:10px 24px;border-radius:8px;font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:8px;transition:transform .2s,box-shadow .2s;}
.nav-cta:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(16,185,129,.3);}
.nav-phone{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:8px;border:1px solid var(--bdr2);font-size:13px;color:var(--t2);}
.nav-phone:hover{border-color:var(--green);color:var(--green);}
.nav-phone svg{width:14px;height:14px;}
.nav-toggle{display:none;width:40px;height:40px;border-radius:8px;background:var(--fill2);border:1px solid var(--bdr2);color:var(--hc);align-items:center;justify-content:center;}

/* Mobile drawer */
.mobile-menu{display:none;position:fixed;inset:64px 0 0 0;background:var(--bg);z-index:99;overflow-y:auto;padding:16px 20px 40px;}
.mobile-menu.open{display:block;}
.mobile-menu details{border-bottom:1px solid var(--bdr);}
.mobile-menu summary{list-style:none;padding:16px 4px;font-size:16px;font-weight:600;color:var(--hc);cursor:pointer;display:flex;justify-content:space-between;}
.mobile-menu summary::-webkit-details-marker{display:none;}
.mobile-menu summary::after{content:'+';color:var(--cyan);}
.mobile-menu details[open] summary::after{content:'–';}
.mobile-menu details a,.mobile-menu>a{display:block;padding:10px 12px;font-size:14px;color:var(--t2);}
.mobile-menu>a{padding:16px 4px;font-size:16px;font-weight:600;color:var(--hc);border-bottom:1px solid var(--bdr);}

/* ===== HERO ===== */
/* First screen = top bar + navbar + hero + news ticker, so the ticker is always visible without scrolling */
:root{--topbar-h:40px;--nav-h:72px;--ticker-h:44px;}


.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1s ease-in-out,visibility 1s;}
.hero-slide.active{opacity:1;visibility:visible;}
.hero-slide .bg{position:absolute;inset:0;background-size:cover;background-position:center;}
.hero-slide .overlay{position:absolute;inset:0;background:var(--hero-overlay);}
.hero-content{position:absolute;inset:0;display:flex;align-items:center;padding:0 60px 100px;z-index:3;}
.hero-text{max-width:720px;}
.hero-tag{display:inline-flex;align-items:center;gap:8px;background:rgba(59,130,246,.1);border:1px solid rgba(59,130,246,.2);padding:6px 18px;border-radius:20px;font-size:12px;font-weight:600;color:var(--cyan);margin-bottom:24px;text-transform:uppercase;letter-spacing:.08em;}
.hero-tag .pulse{width:8px;height:8px;border-radius:50%;background:var(--green);animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.4;}}
.hero-trio{display:flex;gap:18px;font-size:15px;font-weight:600;color:var(--t2);margin-bottom:14px;}
.hero-trio span:nth-child(1){color:#22C55E;}.hero-trio span:nth-child(2){color:#E8392D;}.hero-trio span:nth-child(3){color:var(--accent);}
.hero-text h1,
.hero-text h2{font-size:52px;font-weight:800;color:var(--hc);line-height:1.1;margin-bottom:20px;letter-spacing:-.02em;}
.hero-text h1 .hl,
.hero-text h2 .hl{background:var(--grad1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.rotator{display:inline-block;min-width:1ch;transition:opacity .35s,transform .35s;}
.rotator.out{opacity:0;transform:translateY(10px);}
.hero-text p{font-size:18px;color:var(--t2);line-height:1.7;margin-bottom:14px;max-width:600px;}
.hero-text p.sub{font-size:16px;color:var(--t3);margin-bottom:32px;}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:18px;}
.btn-primary{background:var(--grad2);color:#fff;padding:14px 32px;border-radius:8px;font-size:15px;font-weight:600;display:inline-flex;align-items:center;gap:10px;transition:transform .25s,box-shadow .25s;}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(16,185,129,.3);}
.btn-secondary{background:var(--fill2);color:var(--hc);padding:14px 32px;border-radius:8px;font-size:15px;font-weight:600;border:1px solid var(--bdr3);display:inline-flex;align-items:center;gap:10px;transition:border-color .25s,background .25s;}
.btn-secondary:hover{border-color:var(--accent);background:rgba(59,130,246,.08);}
.hero-indicators{position:absolute;bottom:112px;left:60px;display:flex;gap:10px;z-index:5;}
.hero-dot{width:40px;height:4px;border-radius:4px;background:var(--bdr3);cursor:pointer;transition:all .3s;padding:0;}
.hero-dot.active{background:var(--accent);width:60px;}
.hero-stats{position:absolute;bottom:0;left:0;right:0;z-index:5;background:var(--glass);backdrop-filter:blur(16px);border-top:1px solid var(--bdr);padding:20px 60px;display:flex;align-items:center;justify-content:space-between;}
.hs-item{display:flex;align-items:center;gap:14px;}
.hs-num{font-size:32px;font-weight:800;color:var(--cyan);line-height:1;}
.hs-lbl{font-size:12px;color:var(--t3);text-transform:uppercase;letter-spacing:.06em;line-height:1.3;}
.hs-div{width:1px;height:40px;background:var(--bdr2);}

/* ===== TICKER ===== */
.ticker{background:var(--accent);height:var(--ticker-h);padding:0 60px;display:flex;align-items:center;gap:16px;overflow:hidden;}
.ticker-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#fff;background:rgba(0,0,0,.2);padding:4px 12px;border-radius:4px;flex-shrink:0;position:relative;z-index:2;}
.ticker-track{overflow:hidden;flex:1;}
.ticker-content{display:flex;gap:40px;animation:scroll 45s linear infinite;white-space:nowrap;width:max-content;}
.ticker:hover .ticker-content{animation-play-state:paused;}
@keyframes scroll{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
.ticker-item{font-size:13px;font-weight:500;color:rgba(255,255,255,.92);display:flex;align-items:center;gap:8px;}
.ticker-item::before{content:'';width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.5);flex-shrink:0;}
.ticker-item a:hover{text-decoration:underline;}

/* ===== SECTION COMMON ===== */
.section{padding:100px 60px;}
.sec-header{margin-bottom:60px;max-width:1400px;margin-left:auto;margin-right:auto;}
.sec-header.center{text-align:center;}
.sec-overline{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:var(--cyan);margin-bottom:12px;display:flex;align-items:center;gap:10px;}
.sec-header.center .sec-overline{justify-content:center;}
.sec-overline::before{content:'';width:24px;height:2px;background:var(--grad1);border-radius:2px;}
.sec-header h2{font-size:42px;font-weight:800;color:var(--hc);line-height:1.12;letter-spacing:-.02em;margin-bottom:16px;}
.sec-header p{font-size:17px;color:var(--t2);max-width:640px;line-height:1.7;}
.sec-header.center p{margin:0 auto;}
.sec-more{text-align:center;margin-top:48px;}
.glow-line{height:1px;background:linear-gradient(90deg,transparent,var(--accent),var(--cyan),transparent);opacity:.2;}

/* ===== PILLARS ===== */
.pillars{display:grid;grid-template-columns:repeat(4,1fr);max-width:1400px;margin:0 auto;}
.pillar{padding:48px 36px;border-right:1px solid var(--bdr);position:relative;overflow:hidden;transition:background .4s;}
.pillar:last-child{border-right:none;}
.pillar::before{content:'';position:absolute;bottom:0;left:0;right:0;height:4px;background:var(--grad1);transform:scaleX(0);transition:transform .3s;transform-origin:left;}
.pillar:hover{background:rgba(59,130,246,.04);}
.pillar:hover::before{transform:scaleX(1);}
.pillar-num{font-size:64px;font-weight:800;color:rgba(59,130,246,.08);line-height:1;margin-bottom:16px;}
.pillar h3{font-size:22px;font-weight:700;color:var(--hc);margin-bottom:12px;}
.pillar h3 .accent{color:var(--cyan);}
.pillar p{font-size:14px;color:var(--t2);line-height:1.7;}

/* ===== SERVICES ===== */
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;max-width:1400px;margin:0 auto;}
.svc-card{background:var(--bg3);border:1px solid var(--bdr);border-radius:16px;padding:32px 26px;transition:transform .35s,box-shadow .35s,border-color .35s;position:relative;overflow:hidden;display:flex;flex-direction:column;}
.svc-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;opacity:0;transition:opacity .3s;background:var(--bar,var(--grad1));}
.svc-card:hover{transform:translateY(-6px);box-shadow:0 20px 60px rgba(0,0,0,.4);border-color:rgba(59,130,246,.15);}
.svc-card:hover::before{opacity:1;}
.svc-icon{width:56px;height:56px;border-radius:14px;margin-bottom:20px;display:flex;align-items:center;justify-content:center;}
.svc-icon img{width:34px;height:34px;object-fit:contain;}
.svc-card h3{font-size:18px;font-weight:700;color:var(--t1);margin-bottom:10px;}
.svc-card p{font-size:14px;color:var(--t2);line-height:1.7;margin-bottom:16px;}
.svc-points{margin-bottom:20px;display:flex;flex-direction:column;gap:6px;}
.svc-points li{font-size:13px;color:var(--t3);display:flex;gap:8px;align-items:flex-start;}
.svc-points li::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--cyan);margin-top:7px;flex-shrink:0;}
.svc-new{position:absolute;top:18px;right:18px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--gold);background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.25);padding:2px 8px;border-radius:4px;}
.svc-link{font-size:13px;font-weight:600;color:var(--accent);display:inline-flex;align-items:center;gap:6px;margin-top:auto;}
.svc-link:hover{color:var(--cyan);}

/* ===== INDUSTRIES ===== */
.ind-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;max-width:1400px;margin:0 auto;}
.ind-card{background:var(--bg3);border:1px solid var(--bdr);border-radius:14px;padding:32px 24px;transition:transform .3s,border-color .3s,box-shadow .3s;position:relative;overflow:hidden;display:block;}
.ind-card::after{content:'';position:absolute;top:0;right:0;width:80px;height:80px;background:radial-gradient(circle,rgba(59,130,246,.06),transparent);border-radius:0 14px 0 80px;}
.ind-card:hover{transform:translateY(-4px);border-color:rgba(59,130,246,.2);box-shadow:0 12px 40px rgba(0,0,0,.3);}
.ind-icon{width:48px;height:48px;border-radius:12px;background:rgba(59,130,246,.08);display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.ind-card h3{font-size:16px;font-weight:700;color:var(--t1);margin-bottom:8px;}
.ind-card p{font-size:13px;color:var(--t2);line-height:1.6;}
.ind-card .more{font-size:12px;font-weight:600;color:var(--accent);margin-top:12px;display:inline-block;}

/* ===== CASE STUDIES ===== */
.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1400px;margin:0 auto;}
.case-card{background:var(--bg3);border:1px solid var(--bdr);border-radius:16px;overflow:hidden;transition:transform .35s,box-shadow .35s;}
.case-card:hover{transform:translateY(-5px);box-shadow:0 16px 50px rgba(0,0,0,.4);}
.case-top{height:10px;}
.case-body{padding:28px;}
.case-tag{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:4px 12px;border-radius:6px;margin-bottom:14px;}
.case-body h3{font-size:17px;font-weight:700;color:var(--t1);margin-bottom:10px;line-height:1.4;}
.case-body p{font-size:13px;color:var(--t2);line-height:1.6;margin-bottom:18px;}
.case-metrics{display:flex;gap:20px;padding-top:18px;border-top:1px solid var(--bdr);}
.case-metric{text-align:center;flex:1;}
.case-metric .val{font-size:22px;font-weight:800;color:var(--cyan);line-height:1;}
.case-metric .lbl{font-size:10px;color:var(--t3);text-transform:uppercase;letter-spacing:.04em;margin-top:4px;}
.story-links{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:40px;}

/* ===== COUNTERS ===== */
.counter-strip{background:linear-gradient(135deg,rgba(59,130,246,.06),rgba(6,182,212,.04)),var(--bg2);border-top:1px solid var(--bdr);border-bottom:1px solid var(--bdr);padding:60px;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.counter-box{text-align:center;padding:24px;position:relative;}
.counter-box::after{content:'';position:absolute;right:0;top:20%;height:60%;width:1px;background:var(--bdr2);}
.counter-box:last-child::after{display:none;}
.counter-box .num{font-size:48px;font-weight:800;background:var(--grad1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;}
.counter-box .lbl{font-size:13px;color:var(--t2);margin-top:8px;font-weight:500;}

/* ===== TESTIMONIALS ===== */
.test-wrap{max-width:1400px;margin:0 auto;position:relative;}
.test-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-bottom:8px;scrollbar-width:none;}
.test-track::-webkit-scrollbar{display:none;}
.test-card{flex:0 0 calc((100% - 48px)/3);scroll-snap-align:start;background:var(--bg3);border:1px solid var(--bdr);border-radius:16px;padding:32px;position:relative;display:flex;flex-direction:column;}
.test-card::before{content:'\201C';position:absolute;top:20px;right:24px;font-size:64px;color:rgba(59,130,246,.1);font-family:Georgia,serif;line-height:1;}
.test-quote{font-size:14px;color:var(--t2);line-height:1.8;font-style:italic;margin-bottom:24px;flex:1;}
.test-author{display:flex;align-items:center;gap:14px;padding-top:18px;border-top:1px solid var(--bdr);}
.test-av{width:52px;height:52px;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;padding:4px;}
.test-av img{width:100%;height:100%;object-fit:contain;}
.test-info .name{font-size:14px;font-weight:600;color:var(--t1);}
.test-info .role{font-size:12px;color:var(--t3);}
.test-nav{display:flex;justify-content:center;gap:12px;margin-top:32px;}
.test-btn{width:44px;height:44px;border-radius:50%;background:var(--fill2);border:1px solid var(--bdr2);color:var(--hc);font-size:18px;transition:background .2s,border-color .2s;}
.test-btn:hover{background:var(--accent);border-color:var(--accent);}

/* ===== ABOUT ===== */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;max-width:1400px;margin:0 auto;align-items:center;}
.about-text h3{font-size:28px;font-weight:800;color:var(--hc);margin-bottom:20px;line-height:1.2;}
.about-text p{font-size:15px;color:var(--t2);line-height:1.8;margin-bottom:16px;}
.about-highlights{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0;}
.about-highlights li{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--t1);padding:12px 14px;border:1px solid var(--bdr2);border-radius:10px;background:var(--fill1);}
.about-highlights li svg{flex-shrink:0;}
.about-badges{display:flex;gap:16px;margin-top:8px;flex-wrap:wrap;align-items:center;}
.about-badge{display:flex;align-items:center;gap:10px;padding:10px 16px;background:#fff;border-radius:10px;}
.about-badge img{height:34px;width:auto;}
.about-card{background:var(--bg3);border:1px solid var(--bdr);border-radius:16px;padding:40px;position:relative;overflow:hidden;}
.about-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--grad1);}
.about-card .tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px;}
.about-card .tag{padding:6px 14px;background:rgba(59,130,246,.08);border:1px solid rgba(59,130,246,.15);border-radius:6px;font-size:12px;font-weight:600;color:var(--accent);}
.about-img{margin-top:28px;border-radius:12px;overflow:hidden;}

/* ===== BLOG ===== */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1400px;margin:0 auto;}
.blog-card{background:var(--bg3);border:1px solid var(--bdr);border-radius:16px;overflow:hidden;transition:transform .3s,box-shadow .3s,border-color .3s;display:flex;flex-direction:column;}
.blog-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.3);border-color:rgba(59,130,246,.15);}
.blog-img{height:210px;background-size:cover;background-position:center;position:relative;background-color:var(--bg4);}
.blog-date{position:absolute;top:16px;left:16px;z-index:2;background:var(--glass-solid);border:1px solid var(--bdr2);border-radius:10px;padding:6px 12px;text-align:center;line-height:1.1;}
.blog-date b{display:block;font-size:20px;color:var(--hc);}
.blog-date span{font-size:11px;color:var(--cyan);text-transform:uppercase;font-weight:700;}
.blog-body{padding:24px;display:flex;flex-direction:column;flex:1;}
.blog-type{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px;color:var(--cyan);}
.blog-card h3{font-size:17px;font-weight:700;color:var(--t1);margin-bottom:8px;line-height:1.4;}
.blog-card p{font-size:13px;color:var(--t2);line-height:1.6;flex:1;}
.blog-rm{font-size:13px;font-weight:600;color:var(--accent);margin-top:14px;display:inline-flex;align-items:center;gap:6px;}

/* ===== CONTACT ===== */
.contact-box{max-width:560px;margin:0 auto;background:var(--bg3);border:1px solid var(--bdr);border-radius:20px;padding:40px;position:relative;overflow:hidden;}
.contact-box::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--grad2);}
.field{margin-bottom:16px;}
.field input,.field select,.field textarea{width:100%;padding:13px 16px;background:var(--fill2);border:1px solid var(--bdr2);border-radius:10px;color:var(--hc);font-size:14px;outline:none;font-family:inherit;transition:border-color .2s;}
.field textarea{resize:vertical;min-height:96px;}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);}
.field select{color:var(--t2);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;}
.field select option{background:var(--panel);color:var(--hc);}
.submit-btn{width:100%;padding:14px;background:var(--grad2);color:#fff;border-radius:10px;font-size:15px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px;transition:transform .2s,box-shadow .2s;}
.submit-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(16,185,129,.3);}
.form-note{font-size:11px;color:var(--t4);text-align:center;margin-top:12px;}
.form-success{display:none;text-align:center;padding:20px 0;}
.form-success h3{color:var(--hc);font-size:20px;margin-bottom:8px;}
.form-success p{color:var(--t2);font-size:14px;}

/* ===== CTA BANNER ===== */
.cta-banner{position:relative;overflow:hidden;padding:80px 60px;text-align:center;}
.cta-banner .bg{position:absolute;inset:0;background:var(--grad2);opacity:.9;}
.cta-banner .pattern{position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");}
.cta-inner{position:relative;z-index:2;}
.cta-banner h2{font-size:38px;font-weight:800;color:#fff;margin-bottom:16px;}
.cta-banner p{font-size:17px;color:rgba(255,255,255,.88);margin:0 auto 32px;max-width:580px;}
.btn-white{background:#fff;color:#059669;padding:15px 40px;border-radius:8px;font-size:15px;font-weight:700;display:inline-flex;align-items:center;gap:10px;transition:transform .25s,box-shadow .25s;}
.btn-white:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,.2);}

/* ===== FOOTER ===== */
.footer{background:var(--deep);border-top:1px solid var(--bdr);padding:64px 60px 0;}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1.6fr;gap:44px;max-width:1400px;margin:0 auto;padding-bottom:48px;border-bottom:1px solid var(--bdr);}
.f-logo{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
.f-logo-text .bn{font-size:20px;font-weight:800;color:var(--hc);}
.f-logo-text .bs{font-size:11px;color:var(--t3);}
.f-tagline{font-size:13px;color:var(--t3);font-style:italic;margin:14px 0 18px;}
.f-news p{font-size:13px;color:var(--t2);line-height:1.6;margin-bottom:12px;}
.f-news form{display:flex;gap:8px;margin-bottom:22px;}
.f-news input{flex:1;min-width:0;padding:10px 14px;background:var(--fill2);border:1px solid var(--bdr2);border-radius:8px;color:var(--hc);font-size:13px;font-family:inherit;outline:none;}
.f-news input:focus{border-color:var(--accent);}
.f-news button{padding:10px 16px;background:var(--grad1);color:#fff;border-radius:8px;font-size:13px;font-weight:600;}
.f-social{display:flex;gap:10px;flex-wrap:wrap;}
.f-social a{width:38px;height:38px;border-radius:10px;background:var(--fill1);border:1px solid var(--bdr2);display:flex;align-items:center;justify-content:center;color:var(--t3);transition:all .2s;}
.f-social a:hover{background:var(--accent);border-color:var(--accent);color:#fff;transform:translateY(-2px);}
.f-social a svg{width:16px;height:16px;}
.f-col h4{font-size:11px;font-weight:700;color:var(--hc);text-transform:uppercase;letter-spacing:.14em;margin-bottom:20px;}
.f-col ul{display:flex;flex-direction:column;gap:12px;}
.f-col li a{font-size:14px;color:var(--t2);}
.f-col li a:hover{color:var(--accent);}
.f-contact-item{display:flex;align-items:flex-start;gap:10px;margin-bottom:16px;}
.f-contact-item .flag{font-size:16px;flex-shrink:0;}
.f-contact-item .txt{font-size:13px;color:var(--t2);line-height:1.6;}
.f-contact-item .txt b{color:var(--hc);display:block;font-size:12px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:2px;}
.f-contact-item .txt a:hover{color:var(--accent);}
.f-partners{display:flex;gap:12px;margin-top:20px;flex-wrap:wrap;}
.f-partners img{height:44px;width:auto;background:#fff;border-radius:8px;padding:4px 8px;}
.f-bottom{background:var(--deeper);padding:20px 60px;border-top:1px solid var(--bdr);}
.f-bottom-inner{max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;}
.f-copy{font-size:12px;color:var(--t4);}
.f-bottom-links{display:flex;gap:20px;}
.f-bottom-links a{font-size:12px;color:var(--t4);}
.f-bottom-links a:hover{color:var(--accent);}

/* ===== WHATSAPP ===== */
.wa{position:fixed;bottom:28px;right:28px;z-index:99;width:58px;height:58px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 24px rgba(37,211,102,.4);transition:transform .2s;}
.wa:hover{transform:scale(1.08);}
.wa svg{width:28px;height:28px;}

/* ===== REVEAL (only when JS is on) ===== */
.js .reveal{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease;}
.js .reveal.in{opacity:1;transform:none;}

/* ===== RESPONSIVE ===== */
@media(max-width:1200px){
  .svc-grid{grid-template-columns:repeat(3,1fr);}
  .nav-phone{display:none;}
}
@media(max-width:1024px){
  .top-bar,.navbar{padding:0 24px;}.section{padding:72px 24px;}
  .hero-content{padding:0 24px 100px;}.hero-stats{padding:20px 24px;}.hero-indicators{left:24px;}
  .hero-text h1,
  .hero-text h2{font-size:40px;}
  .pillars{grid-template-columns:repeat(2,1fr);}.pillar{border-right:none;border-bottom:1px solid var(--bdr);}
  .svc-grid,.blog-grid,.case-grid,.ind-grid{grid-template-columns:repeat(2,1fr);}
  .test-card{flex-basis:calc((100% - 24px)/2);}
  .counter-strip{grid-template-columns:repeat(2,1fr);}
  .about-grid{grid-template-columns:1fr;}
  .footer{padding:48px 24px 0;}.footer-grid{grid-template-columns:1fr 1fr 1fr;gap:32px;}
  .f-brand{grid-column:1/-1;}
  .nav-menu{display:none;}.nav-toggle{display:flex;}
}
@media(max-width:768px){
  .top-bar{display:none;}.navbar{height:64px;padding:0 16px;}
  .nav-cta{display:none;}
  .section{padding:56px 16px;}
  .hero{height:auto;min-height:640px;max-height:none;}
  .hero-content{padding:40px 16px 200px;}
  .hero-text h1,
  .hero-text h2{font-size:32px;}
  .hero-stats{padding:16px;flex-wrap:wrap;gap:16px;}
  .hero-indicators{bottom:180px;left:16px;}
  .hs-div{display:none;}.hs-item{flex:1 1 40%;}
  .ticker{padding:10px 16px;}
  .pillars,.svc-grid,.blog-grid,.case-grid,.ind-grid{grid-template-columns:1fr;}
  .test-card{flex-basis:88%;}
  .about-highlights{grid-template-columns:1fr;}
  .counter-strip{grid-template-columns:1fr 1fr;padding:40px 16px;}
  .counter-box::after{display:none;}
  .footer{padding:40px 16px 0;}.footer-grid{grid-template-columns:1fr 1fr;gap:24px;}
  .f-bottom{padding:16px;}.f-bottom-inner{flex-direction:column;text-align:center;}
  .cta-banner{padding:56px 16px;}.cta-banner h2{font-size:28px;}
  .sec-header h2{font-size:30px;}
  .contact-box{padding:28px 20px;}
}
@media(max-width:480px){
  .footer-grid{grid-template-columns:1fr;}
  .counter-strip{grid-template-columns:1fr;}
  .hero-text h1,
  .hero-text h2{font-size:28px;}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important;}
  .js .reveal{opacity:1;transform:none;}
}
/* ===== Navbar v2 (Home · Solutions · Industries · Insights · About Us · Careers · Contact) ===== */
.nav-item>a .caret{font-size:10px;margin-left:5px;opacity:.7;}
.nav-item>a[aria-current]{color:var(--hc);}
.nav-item>a[aria-current]::after{transform:scaleX(1);}
.mega-panel.single{min-width:320px;padding:18px;}
.mega-link .mi{width:36px;height:36px;background:color-mix(in srgb,var(--mi) 14%,transparent);}
.mega-link .mi span{width:10px;height:10px;border-radius:3px;background:var(--mi);transform:rotate(45deg);}
.mega-link:hover h4{color:var(--accent);}
[id]{scroll-margin-top:96px;}
@media(max-width:1280px){.nav-item>a{padding:0 12px;}.nav-item>a::after{left:12px;right:12px;}}
@media(max-width:1200px){.nav-item>a{padding:0 10px;font-size:13.5px;}}
/* ===== No top bar: navbar holds the language switch ===== */
:root{--topbar-h:0px;}
.navbar .lang-switch{padding:0;border:0;background:none;}
.lang-btn{height:40px;padding:0 12px;border-radius:10px;border:1px solid var(--bdr2);background:var(--fill1);color:var(--t2);display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;transition:border-color .2s,color .2s;}
.lang-btn:hover,.lang-switch.open .lang-btn{border-color:var(--accent);color:var(--hc);}
.lang-btn svg{width:16px;height:16px;}
.lang-btn .caret{font-size:9px;opacity:.7;}
.navbar .lang-dd{top:calc(100% + 10px);}
.lang-switch.open .lang-dd{display:block;}
.lang-switch:hover .lang-dd,.lang-switch:focus-within .lang-dd{display:none;}
.lang-switch.open:hover .lang-dd,.lang-switch.open .lang-dd{display:block;}
@media(hover:hover) and (min-width:1025px){.lang-switch:hover .lang-dd{display:block;}}
@media(max-width:768px){.lang-btn{padding:0 10px;}.lang-btn .caret{display:none;}.nav-right{gap:8px;}}

/* ===== HERO SIZE: shorter image, News bar always inside the first screen =====
   Hero height = screen height − navbar − news bar, capped at --hero-max.
   Change --hero-max to make the image taller or shorter. */
:root{--nav-h:72px;--ticker-h:44px;--hero-max:600px;--stats-h:76px;}
.hero{position:relative;overflow:hidden;min-height:0;max-height:none;
  height:min(calc(100vh - var(--nav-h) - var(--ticker-h)),var(--hero-max));
  height:min(calc(100svh - var(--nav-h) - var(--ticker-h)),var(--hero-max));}
.admin-bar .hero{height:min(calc(100svh - 32px - var(--nav-h) - var(--ticker-h)),var(--hero-max));}
.hero-slide,.hero-slide.active{position:absolute;inset:0;}
.hero-content{position:absolute;inset:0 0 var(--stats-h) 0;padding:0 60px 28px;display:flex;align-items:center;}
.hero-indicators{position:absolute;left:60px;bottom:calc(var(--stats-h) + 16px);padding:0;}
.hero-stats{position:absolute;left:0;right:0;bottom:0;height:var(--stats-h);padding:0 60px;display:flex;align-items:center;justify-content:space-between;}
.hero-tag{margin-bottom:14px;}
.hero-trio{margin-bottom:8px;}
.hero-text h1,
.hero-text h2{font-size:44px;margin-bottom:12px;}
.hero-text p{font-size:16px;line-height:1.6;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.hero-text p.sub{font-size:15px;margin-bottom:0;-webkit-line-clamp:1;}
.hero-btns{margin-top:18px;}
.hs-num{font-size:28px;}
/* Shorter screens (laptops with browser toolbars) */
@media(min-width:769px) and (max-height:720px){
  .hero-trio{display:none;}
  .hero-text h1,
  .hero-text h2{font-size:40px;}
}
@media(min-width:769px) and (max-height:650px){
  :root{--stats-h:64px;}
  .hero-text p.sub{display:none;}
  .hero-text p{-webkit-line-clamp:2;}
  .hero-text h1,
  .hero-text h2{font-size:34px;}
  .hero-tag{margin-bottom:10px;padding:4px 14px;}
  .btn-primary,.btn-secondary{padding:11px 22px;font-size:14px;}
  .hs-num{font-size:24px;}
}
@media(min-width:769px) and (max-height:560px){
  .hero-text p{display:none;}
  .hero-text h1,
  .hero-text h2{font-size:30px;}
}
@media(max-width:1024px){
  .hero-content{padding:0 24px 24px;}.hero-indicators{left:24px;}.hero-stats{padding:0 24px;}
}
/* Phones: same idea — image + stats + News bar fill exactly one screen */
@media(max-width:768px){
  :root{--nav-h:64px;--ticker-h:40px;--stats-h:64px;--hero-max:760px;}
  .hero-content{padding:20px 16px 36px;align-items:center;}
  .hero-indicators{left:16px;bottom:calc(var(--stats-h) + 12px);}
  .hero-trio,.hero-text p.sub{display:none;}
  .hero-tag{font-size:10px;padding:4px 12px;margin-bottom:12px;letter-spacing:.05em;}
  .hero-text h1,
  .hero-text h2{font-size:30px;}
  .hero-text p{font-size:15px;-webkit-line-clamp:4;}
  .hero-btns{margin-top:14px;gap:10px;}
  .btn-primary,.btn-secondary{padding:11px 18px;font-size:14px;}
  .hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:0 12px;}
  .hs-div{display:none;}
  .hs-item{flex-direction:column;align-items:center;text-align:center;gap:4px;}
  .hs-num{font-size:19px;}
  .hs-lbl{font-size:0;line-height:1.2;}
  .hs-lbl::after{content:attr(data-short);font-size:10px;letter-spacing:.03em;}
  .ticker-label{font-size:10px;padding:3px 8px;}
  .ticker-item{font-size:12px;}
}
@media(max-width:768px) and (max-height:760px){
  .hero-text h1,
  .hero-text h2{font-size:26px;}
  .hero-text p{-webkit-line-clamp:3;font-size:14px;}
}
@media(max-width:768px) and (max-height:680px){
  .hero-text p{-webkit-line-clamp:2;}
  .hero-btns .btn-secondary{display:none;}
}
@media(max-width:380px){.hero-text h1,.hero-text h2{font-size:24px;}}
@media(max-width:480px){.hero-stats{display:grid;}}
@media(max-width:1024px){.ticker{padding:0 24px;}}
@media(max-width:768px){.ticker{padding:0 16px;}}

/* Phones: WhatsApp button appears after the visitor starts scrolling the home page */
@media(max-width:768px){
  .home .wa{opacity:0;pointer-events:none;transform:scale(.8);transition:opacity .25s,transform .25s;}
  .home .wa.show{opacity:1;pointer-events:auto;transform:none;}
  .wa{width:50px;height:50px;bottom:18px;right:16px;}
}

/* ===== HERO: solid background + right-side "End-to-End Digital Growth" card ===== */
:root{--hero-bg:#0A1020;--card-glass:rgba(255,255,255,.04);--tile-bg:rgba(255,255,255,.035);}
html[data-theme="light"]{--hero-bg:#EEF3FA;--card-glass:rgba(255,255,255,.75);--tile-bg:#FFFFFF;}
.hero{background:var(--hero-bg);}
.hero-slide .bg,.hero-slide .overlay{display:none;}
.hero-text{max-width:620px;}
.hero-card{position:absolute;z-index:4;right:60px;top:calc((100% - var(--stats-h)) / 2);transform:translateY(-50%);
  width:380px;padding:28px;border-radius:20px;background:var(--card-glass);border:1px solid var(--bdr2);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--card-shadow);}
.hc-kicker{font-size:12px;font-weight:600;letter-spacing:.06em;color:var(--t3);margin-bottom:6px;}
.hc-title{font-size:21px;font-weight:800;color:var(--hc);letter-spacing:-.01em;margin-bottom:20px;}
.hc-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.hc-tile{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:20px 12px;border-radius:14px;
  background:var(--tile-bg);border:1px solid var(--bdr2);transition:border-color .25s,transform .25s,background .25s;}
.hc-tile svg{width:26px;height:26px;color:var(--cyan);margin-bottom:6px;}
.hc-label{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--t3);}
.hc-tile strong{font-size:14px;font-weight:700;color:var(--hc);}
.hc-tile:hover{border-color:var(--cyan);transform:translateY(-3px);background:rgba(6,182,212,.06);}
@media(min-width:769px) and (max-height:650px){
  .hero-card{padding:20px;width:340px;}.hc-title{font-size:18px;margin-bottom:14px;}
  .hc-tile{padding:12px 10px;gap:4px;}.hc-tile svg{width:22px;height:22px;margin-bottom:2px;}
}
@media(min-width:769px) and (max-height:560px){.hc-label{display:none;}.hc-kicker{display:none;}}
@media(max-width:1280px){.hero-card{right:24px;width:340px;}.hero-text{max-width:560px;}}
/* Not enough width beside the text on tablets/phones: the card is hidden there */
@media(max-width:1100px){.hero-card{display:none;}.hero-text{max-width:720px;}}
/* Keep hero text and card inside the same 1400px column as the rest of the page on wide screens */
@media(min-width:1101px){
  :root{--hero-pad:max(60px, calc((100vw - 1400px) / 2));}
  .hero-content{padding-left:var(--hero-pad);padding-right:var(--hero-pad);}
  .hero-indicators{left:var(--hero-pad);}
  .hero-card{right:var(--hero-pad);}
  .hero-stats{padding-left:var(--hero-pad);padding-right:var(--hero-pad);}
}
@media(min-width:1101px) and (max-width:1280px){:root{--hero-pad:24px;}}
.hc-tile strong{white-space:nowrap;font-size:13.5px;}.hc-label{white-space:nowrap;}

/* ===== CLIENT STRIP (inside the hero, above the stats) ===== */
:root{--ticker-h:0px;--strip-h:64px;--hero-max:660px;}
.hero-content{bottom:calc(var(--stats-h) + var(--strip-h));}
.hero-indicators{bottom:calc(var(--stats-h) + var(--strip-h) + 14px);}
.hero-card{top:calc((100% - var(--stats-h) - var(--strip-h)) / 2);}
.client-strip{position:absolute;z-index:5;left:0;right:0;bottom:var(--stats-h);height:var(--strip-h);
  display:flex;align-items:center;gap:24px;padding:0 var(--hero-pad,60px);background:transparent;border-top:1px solid var(--bdr);}
.cs-label{flex-shrink:0;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--cyan);
  padding-right:24px;border-right:1px solid var(--bdr2);line-height:28px;}
.cs-track{flex:1;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);}
.cs-content{display:flex;width:max-content;animation:scroll calc(var(--cs-count) * 5s) linear infinite;}
.client-strip:hover .cs-content{animation-play-state:paused;}
.cs-item{display:flex;align-items:center;white-space:nowrap;font-size:16px;font-weight:600;letter-spacing:.04em;
  text-transform:uppercase;color:var(--t2);padding:0 22px;}
.cs-item::after{content:'';width:6px;height:6px;border-radius:50%;background:var(--cyan);opacity:.6;margin-left:44px;}
@media(max-width:1100px){.client-strip{padding:0 24px;}}
@media(min-width:769px) and (max-height:650px){:root{--strip-h:52px;}.cs-item{font-size:14px;}}
@media(max-width:768px){
  :root{--strip-h:52px;}
  .client-strip{padding:0 16px;gap:14px;}
  .cs-label{font-size:10px;padding-right:14px;letter-spacing:.1em;}
  .cs-item{font-size:13px;padding:0 14px;}
  .cs-item::after{margin-left:28px;width:5px;height:5px;}
  .hero-indicators{bottom:calc(var(--stats-h) + var(--strip-h) + 10px);}
}
@media(max-width:768px){:root{--hero-max:900px;}}
@media(min-width:1101px) and (max-width:1280px){.hero-text h1,.hero-text h2{font-size:38px;}.hero-text p{-webkit-line-clamp:2;}}
/* ===== WHAT WE DO: auto-switching tabs ===== */
.wwd-wrap{max-width:1160px;margin:0 auto;}
.wwd-tabs{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:44px;}
.wwd-tab{position:relative;overflow:hidden;padding:10px 22px;border-radius:999px;border:1px solid var(--bdr2);background:var(--fill1);
  color:var(--t2);font-size:14px;font-weight:600;transition:color .25s,border-color .25s,background .25s;}
.wwd-tab:hover{border-color:var(--accent);color:var(--hc);}
.wwd-tab.active{background:var(--grad1);border-color:transparent;color:#fff;box-shadow:0 6px 20px rgba(59,130,246,.25);}
.wwd-progress{position:absolute;left:0;bottom:0;height:3px;width:0;background:rgba(255,255,255,.7);}
.wwd-tab.active .wwd-progress{animation:wwdProgress var(--wwd-time,5s) linear forwards;}
.wwd-wrap.paused .wwd-tab.active .wwd-progress{animation-play-state:paused;}
@keyframes wwdProgress{from{width:0;}to{width:100%;}}
.wwd-panel{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.wwd-panel[hidden]{display:none;}
.wwd-panel.active{animation:wwdIn .45s ease;}
@keyframes wwdIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
.wwd-text h3{font-size:30px;font-weight:800;color:var(--hc);letter-spacing:-.01em;margin-bottom:14px;line-height:1.2;}
.wwd-text>p{font-size:16px;color:var(--t2);line-height:1.7;margin-bottom:22px;max-width:520px;}
.wwd-text ul{display:flex;flex-direction:column;gap:12px;margin-bottom:26px;}
.wwd-text li{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:var(--t2);}
.wwd-text li::before{content:'✓';color:var(--green);font-weight:800;flex-shrink:0;}
.wwd-link{font-size:15px;font-weight:700;color:var(--accent);}
.wwd-link:hover{color:var(--cyan);}
.wwd-visual{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;min-height:320px;padding:36px;
  border-radius:20px;border:1px solid var(--bdr2);overflow:hidden;
  background:radial-gradient(circle at 25% 20%,color-mix(in srgb,var(--c) 22%,transparent),transparent 60%),
             linear-gradient(135deg,rgba(16,185,129,.08),rgba(59,130,246,.10)),var(--bg3);box-shadow:var(--card-shadow);
  transition:border-color .3s;}
.wwd-visual:hover{border-color:var(--c);}
.wwd-orb{width:112px;height:112px;border-radius:28px;display:flex;align-items:center;justify-content:center;color:var(--c);
  background:color-mix(in srgb,var(--c) 14%,var(--bg3));border:1px solid color-mix(in srgb,var(--c) 40%,transparent);
  box-shadow:0 0 0 10px color-mix(in srgb,var(--c) 6%,transparent),0 20px 50px color-mix(in srgb,var(--c) 25%,transparent);}
.wwd-orb svg{width:54px;height:54px;}
.wwd-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:360px;}
.wwd-chip{padding:7px 14px;border-radius:999px;font-size:12.5px;font-weight:700;letter-spacing:.03em;color:var(--hc);
  background:var(--fill2);border:1px solid var(--bdr2);opacity:0;animation:wwdChip .4s ease forwards;animation-delay:calc(.15s + var(--d) * .07s);}
@keyframes wwdChip{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
@media(max-width:900px){
  .wwd-panel{grid-template-columns:1fr;gap:32px;}
  .wwd-visual{min-height:240px;}
}
@media(max-width:768px){
  .wwd-tabs{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;margin:0 -16px 32px;padding:0 16px 4px;}
  .wwd-tabs::-webkit-scrollbar{display:none;}
  .wwd-tab{flex-shrink:0;padding:9px 18px;font-size:13px;}
  .wwd-text h3{font-size:24px;}
  .wwd-orb{width:88px;height:88px;border-radius:22px;}.wwd-orb svg{width:42px;height:42px;}
}
@media(prefers-reduced-motion:reduce){.wwd-tab.active .wwd-progress{width:100%;}}
/* Hero card tiles: name first, partnership level underneath */
.hc-tile strong{font-size:16px;}
.hc-tile .hc-label{color:var(--cyan);opacity:.9;}
/* Footer: 4 columns (brand · Services · Company · Get in touch) */
.footer-grid{grid-template-columns:1.6fr 1fr 1fr 1.6fr;}
@media(max-width:1024px){.footer-grid{grid-template-columns:1fr 1fr 1fr;}}
@media(max-width:768px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:480px){.footer-grid{grid-template-columns:1fr;}}
/* Our Services: photo in the right-hand box */
.wwd-visual{display:block;padding:0;min-height:0;aspect-ratio:16/9;background:var(--bg3);}
.wwd-visual img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease;}
.wwd-visual:hover img{transform:scale(1.03);}
.wwd-panel.active .wwd-visual img{animation:wwdImg .5s ease;}
@keyframes wwdImg{from{opacity:0;transform:scale(1.02);}to{opacity:1;transform:none;}}
@media(max-width:900px){.wwd-visual{min-height:0;}}
/* ===== Dropdowns with sub-options ===== */
.mega-link{flex-direction:column;align-items:stretch;gap:0;padding:0;}
.mega-link .ml-main{display:flex;align-items:flex-start;gap:14px;padding:12px 14px;border-radius:10px;}
.mega-link:hover{background:none;}
.mega-link .ml-main:hover{background:rgba(59,130,246,.06);}
.mega-link .ml-main:hover h4{color:var(--accent);}
.mega-link:hover h4{color:inherit;}
.ml-sub{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 12px 64px;margin-top:-4px;}
.ml-sub a{font-size:12px;font-weight:600;color:var(--t2);padding:5px 11px;border-radius:999px;border:1px solid var(--bdr2);background:var(--fill1);transition:all .2s;}
.ml-sub a:hover,.ml-sub a[aria-current]{border-color:var(--accent);color:var(--accent);background:rgba(59,130,246,.06);}
.mega-panel.two-col{min-width:660px;grid-template-columns:1fr 1fr;padding:18px;gap:2px 10px;}
.mobile-menu details a.m-sub{padding:7px 12px 7px 30px;font-size:13px;color:var(--t3);position:relative;}
.mobile-menu details a.m-sub::before{content:'';position:absolute;left:16px;top:50%;width:6px;height:1px;background:var(--t4);}
.mega-panel.single{min-width:370px;}
.mega-panel.two-col{min-width:740px;}
.ml-sub{flex-wrap:nowrap;gap:6px;}
.ml-sub a{font-size:11.5px;padding:4px 10px;white-space:nowrap;}
@media(max-width:1180px){.mega-panel.two-col{min-width:680px;}}
/* Our Services points: "Name — detail" */
.wwd-text ul{gap:11px;}
.wwd-text li{font-size:14.5px;line-height:1.55;}
.wwd-text li strong{color:var(--hc);font-weight:700;}
.pillar p{font-size:14.5px;}
/* ===== Industries section (mirrors the navbar dropdown) ===== */
.ind-card{display:flex;flex-direction:column;padding:28px 24px 24px;}
.ind-card .ind-main{display:block;flex:1;}
.ind-card .ind-icon{background:color-mix(in srgb,var(--ic) 12%,transparent);color:var(--ic);}
.ind-card:hover{border-color:color-mix(in srgb,var(--ic) 45%,transparent);}
.ind-card:hover h3{color:var(--ic);}
.ind-card h3{transition:color .2s;}
.ind-sub{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;}
.ind-sub a{font-size:11.5px;font-weight:600;padding:4px 10px;border-radius:999px;border:1px solid var(--bdr2);color:var(--t2);background:var(--fill1);white-space:nowrap;transition:all .2s;}
.ind-sub a:hover{border-color:var(--ic);color:var(--ic);}
.ind-card .more{margin-top:14px;color:var(--ic);}
.ind-card::after{background:radial-gradient(circle,color-mix(in srgb,var(--ic) 10%,transparent),transparent);}
/* ===== Hero card: hub layout (Digital Transformation in the middle, 4 corners) ===== */
.hc-hub{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:12px;}
.hc-hub .hc-tile{position:relative;align-items:flex-start;text-align:left;justify-content:flex-start;gap:3px;padding:18px 18px;min-height:122px;}
.hc-hub .hc-tile svg{width:24px;height:24px;margin-bottom:6px;}
.hc-hub .hc-tile strong{font-size:16px;}
.hc-hub .hc-tile .hc-label{font-size:9.5px;}
/* push content to the outer corner so the centre badge never covers it */
.hc-tr{align-items:flex-end !important;text-align:right !important;}
.hc-bl{justify-content:flex-end !important;}
.hc-br{align-items:flex-end !important;text-align:right !important;justify-content:flex-end !important;}
.hc-center{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);width:118px;height:118px;border-radius:50%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;
  background:var(--grad1);color:#fff;border:5px solid var(--hero-bg);
  box-shadow:0 0 0 1px rgba(6,182,212,.35),0 12px 34px rgba(59,130,246,.35);transition:transform .25s,box-shadow .25s;}
.hc-center svg{width:24px;height:24px;}
.hc-center strong{font-size:11.5px;font-weight:800;line-height:1.2;letter-spacing:.01em;}
.hc-center::before{content:'';position:absolute;inset:-12px;border-radius:50%;border:1px dashed rgba(6,182,212,.45);animation:hcSpin 18s linear infinite;}
.hc-center:hover{transform:translate(-50%,-50%) scale(1.05);box-shadow:0 0 0 1px rgba(6,182,212,.6),0 16px 40px rgba(59,130,246,.45);}
@keyframes hcSpin{to{transform:rotate(360deg);}}
/* card background behind the badge ring should match the card, not the hero */
.hero-card .hc-center{border-color:color-mix(in srgb,var(--hero-bg) 60%,var(--bg3));}
@media(min-width:769px) and (max-height:650px){
  .hc-hub .hc-tile{min-height:100px;padding:12px 14px;}
  .hc-hub .hc-tile svg{width:20px;height:20px;margin-bottom:2px;}
  .hc-center{width:100px;height:100px;}.hc-center strong{font-size:10.5px;}.hc-center svg{width:20px;height:20px;}
}
@media(prefers-reduced-motion:reduce){.hc-center::before{animation:none;}}
/* hub v2: badge sits in the gap between the two rows */
.hc-hub{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:12px;row-gap:62px;}
.hc-hub .hc-tile{min-height:0;padding:14px 16px;}
.hc-hub .hc-tile .hc-label{white-space:normal;line-height:1.3;}
.hc-tl,.hc-tr{justify-content:flex-start !important;}
.hc-bl,.hc-br{justify-content:flex-end !important;}
.hc-center{width:104px;height:104px;}
.hc-center strong{font-size:10.5px;}
.hc-center svg{width:22px;height:22px;}
.hc-center::before{inset:-9px;}
@media(min-width:769px) and (max-height:650px){
  .hc-hub{row-gap:52px;}
  .hc-hub .hc-tile{padding:10px 14px;}
  .hc-center{width:92px;height:92px;}.hc-center strong{font-size:9.5px;}
  .hero-card .hc-kicker{display:none;}
}
.hc-center{width:110px;height:110px;}.hc-center strong{font-size:10px;letter-spacing:0;}@media(min-width:769px) and (max-height:650px){.hc-center{width:96px;height:96px;}.hc-center strong{font-size:9px;}}
.hc-hub .hc-tile .hc-label{white-space:nowrap;letter-spacing:.05em;}
/* ===== Hero slides v3: handwritten tag + two-line headline ===== */
.hero-slide{--acc1:#3B82F6;--acc2:#06B6D4;--brush:#F5B700;}
.hero-slide[data-accent="green"]{--acc1:#10B981;--acc2:#22C55E;--brush:#84CC16;}
.hero-slide[data-accent="purple"]{--acc1:#7C3AED;--acc2:#A855F7;--brush:#8B5CF6;}
html[data-theme="light"] .hero-slide[data-accent="blue"]{--acc1:#2563EB;--acc2:#0EA5E9;}
html[data-theme="light"] .hero-slide[data-accent="green"]{--acc1:#059669;--acc2:#16A34A;}
html[data-theme="light"] .hero-slide[data-accent="purple"]{--acc1:#6D28D9;--acc2:#9333EA;}
.hero-script{margin-bottom:12px;}
.hero-script span{position:relative;display:inline-block;font-family:'Caveat','Segoe Script','Comic Sans MS',cursive;font-size:26px;font-weight:700;
  color:var(--hc);line-height:1;transform:rotate(-2deg);padding:0 4px 8px;}
.hero-script span::after{content:'';position:absolute;left:0;right:-14px;bottom:0;height:7px;border-radius:6px;transform:skewX(-18deg) rotate(-1deg);
  background:linear-gradient(90deg,var(--brush),color-mix(in srgb,var(--brush) 55%,transparent));opacity:.9;}
.hero-text h1,
.hero-text h2{font-size:46px;line-height:1.08;margin-bottom:14px;}
.hero-text h1 .hl,
.hero-text h2 .hl{background:linear-gradient(90deg,var(--acc1),var(--acc2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.hero-text p{-webkit-line-clamp:3;max-width:560px;}
.btn-play{gap:10px;}
.btn-play .play{width:22px;height:22px;flex-shrink:0;fill:var(--hc);}
html[data-theme="light"] .btn-secondary.btn-play{background:#fff;border-color:var(--hc);}
@media(min-width:769px) and (max-height:720px){.hero-text h1,.hero-text h2{font-size:40px;}}
@media(min-width:769px) and (max-height:650px){.hero-text h1,.hero-text h2{font-size:34px;}.hero-script span{font-size:22px;}}
@media(min-width:1101px) and (max-width:1280px){.hero-text h1,.hero-text h2{font-size:38px;}}
@media(max-width:768px){.hero-text h1,.hero-text h2{font-size:30px;}.hero-script span{font-size:22px;}}
@media(max-width:768px) and (max-height:760px){.hero-text h1,.hero-text h2{font-size:26px;}}
.btn-play .play circle{fill:var(--hc);}
.btn-play .play path{fill:var(--hero-bg);}
@media(min-width:1281px){.hero-text{max-width:690px;}}
@media(min-width:1101px) and (max-width:1280px){.hero-text{max-width:640px;}}
/* ===== Hero card v3: polished hub ===== */
.hero-card{padding:26px;border-radius:24px;overflow:visible;
  background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.02)) padding-box,
             linear-gradient(160deg,rgba(6,182,212,.45),rgba(139,92,246,.25) 45%,rgba(255,255,255,.06)) border-box;
  border:1px solid transparent;box-shadow:0 30px 80px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.06);}
html[data-theme="light"] .hero-card{
  background:linear-gradient(160deg,#fff,#F7FAFF) padding-box,
             linear-gradient(160deg,rgba(6,182,212,.55),rgba(139,92,246,.35) 45%,rgba(15,23,42,.06)) border-box;
  box-shadow:0 24px 60px rgba(15,23,42,.12);}
.hc-kicker{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--t3);margin-bottom:6px;}
.hc-title{font-size:22px;margin-bottom:18px;}
.hc-title span{background:linear-gradient(90deg,#3B82F6,#06B6D4);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
/* tiles */
.hc-hub .hc-tile{--tc:#06B6D4;border-radius:16px;border:1px solid color-mix(in srgb,var(--tc) 22%,var(--bdr2));
  background:radial-gradient(120% 120% at var(--gx,0%) var(--gy,0%),color-mix(in srgb,var(--tc) 16%,transparent),transparent 60%),var(--tile-bg);
  transition:transform .25s,border-color .25s,box-shadow .25s;}
.hc-tl{--gx:0%;--gy:0%;}.hc-tr{--gx:100%;--gy:0%;}.hc-bl{--gx:0%;--gy:100%;}.hc-br{--gx:100%;--gy:100%;}
.hc-hub .hc-tile:hover{transform:translateY(-3px);border-color:var(--tc);box-shadow:0 12px 30px color-mix(in srgb,var(--tc) 25%,transparent);background-color:transparent;}
.hc-ico{width:36px;height:36px;border-radius:11px;display:flex;align-items:center;justify-content:center;margin-bottom:8px;
  color:var(--tc);background:color-mix(in srgb,var(--tc) 15%,transparent);border:1px solid color-mix(in srgb,var(--tc) 30%,transparent);transition:background .25s,color .25s;}
.hc-ico svg{width:19px !important;height:19px !important;margin:0 !important;color:inherit !important;}
.hc-hub .hc-tile:hover .hc-ico{background:var(--tc);color:#fff;}
.hc-hub .hc-tile strong{font-size:16px;letter-spacing:-.01em;}
.hc-hub .hc-tile .hc-label{color:var(--tc);opacity:1;font-weight:700;}
/* centre orb */
.hc-center{width:112px;height:112px;border:0;overflow:visible;
  background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.35),transparent 45%),linear-gradient(140deg,#3B82F6,#06B6D4 55%,#10B981);
  box-shadow:0 0 0 6px color-mix(in srgb,var(--bg3) 85%,transparent),0 0 0 7px rgba(6,182,212,.35),0 16px 40px rgba(6,182,212,.35);}
html[data-theme="light"] .hc-center{box-shadow:0 0 0 6px #fff,0 0 0 7px rgba(6,182,212,.35),0 14px 34px rgba(37,99,235,.28);}
.hc-center::before{inset:-16px;border:1.5px dashed rgba(6,182,212,.5);}
.hc-pulse{position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 0 rgba(6,182,212,.45);animation:hcPulse 2.6s ease-out infinite;pointer-events:none;}
@keyframes hcPulse{0%{box-shadow:0 0 0 0 rgba(6,182,212,.45);}100%{box-shadow:0 0 0 22px rgba(6,182,212,0);}}
.hc-center strong{font-size:10.5px;text-shadow:0 1px 2px rgba(0,0,0,.2);}
.hc-center svg{width:22px;height:22px;}
@media(min-width:769px) and (max-height:650px){
  .hero-card{padding:20px;}.hc-title{font-size:19px;margin-bottom:12px;}
  .hc-ico{width:30px;height:30px;margin-bottom:4px;}.hc-ico svg{width:16px !important;height:16px !important;}
  .hc-center{width:98px;height:98px;}.hc-center strong{font-size:9.5px;}
}
@media(prefers-reduced-motion:reduce){.hc-pulse{animation:none;}}
.hero-card{background:linear-gradient(160deg,rgba(255,255,255,.05),rgba(255,255,255,0)) padding-box,
  linear-gradient(#0E1424,#0E1424) padding-box,
  linear-gradient(160deg,rgba(6,182,212,.55),rgba(139,92,246,.3) 45%,rgba(255,255,255,.06)) border-box;}
html[data-theme="light"] .hero-card{background:linear-gradient(160deg,#fff,#F7FAFF) padding-box,
  linear-gradient(160deg,rgba(6,182,212,.55),rgba(139,92,246,.35) 45%,rgba(15,23,42,.06)) border-box;}
.hero-card .hc-center{box-shadow:0 0 0 6px #0E1424,0 0 0 7px rgba(6,182,212,.4),0 16px 40px rgba(6,182,212,.35);}
html[data-theme="light"] .hero-card .hc-center{box-shadow:0 0 0 6px #fff,0 0 0 7px rgba(6,182,212,.35),0 14px 34px rgba(37,99,235,.28);}
/* ===== Hero card v4: hub-and-spoke diagram ===== */
.hc-v4{width:380px;}
.hc-orbit{position:relative;width:100%;aspect-ratio:328/285;margin-top:2px;}
.hc-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;}
.hc-ring{fill:none;stroke:var(--bdr3);stroke-width:1;stroke-dasharray:3 5;}
.hc-spoke{fill:none;stroke-width:1.5;stroke-opacity:.45;stroke-dasharray:4 4;}
.hc-dot{filter:drop-shadow(0 0 4px currentColor);}
.hc-node{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:7px;z-index:2;}
.hc-bubble{width:50px;height:50px;border-radius:16px;display:flex;align-items:center;justify-content:center;color:var(--tc);
  background:color-mix(in srgb,var(--tc) 14%,var(--bg3));border:1px solid color-mix(in srgb,var(--tc) 45%,transparent);
  box-shadow:0 8px 22px color-mix(in srgb,var(--tc) 22%,transparent);transition:transform .25s,background .25s,color .25s,box-shadow .25s;}
.hc-bubble svg{width:22px;height:22px;}
.hc-name{font-size:12.5px;font-weight:700;color:var(--hc);white-space:nowrap;letter-spacing:.01em;}
/* label positions: top label above? keep below for all, top node sits high enough */
.hc-node:hover .hc-bubble{transform:translateY(-3px) scale(1.06);background:var(--tc);color:#fff;box-shadow:0 12px 28px color-mix(in srgb,var(--tc) 40%,transparent);}
.hc-node:hover .hc-name{color:var(--tc);}
.hc-node-top{transform:translate(-50%,-38%);}
.hc-core{position:absolute;left:50%;top:50.88%;transform:translate(-50%,-50%);width:31%;aspect-ratio:1;border-radius:50%;z-index:3;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;color:#fff;
  background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.4),transparent 45%),linear-gradient(140deg,#3B82F6,#06B6D4 55%,#10B981);
  box-shadow:0 0 0 6px #0E1424,0 0 0 7px rgba(6,182,212,.4),0 16px 40px rgba(6,182,212,.35);transition:transform .25s;}
html[data-theme="light"] .hc-core{box-shadow:0 0 0 6px #fff,0 0 0 7px rgba(6,182,212,.35),0 14px 34px rgba(37,99,235,.28);}
.hc-core::after{content:'';position:absolute;inset:0;border-radius:50%;animation:hcPulse 2.6s ease-out infinite;}
.hc-core:hover{transform:translate(-50%,-50%) scale(1.05);}
.hc-core svg{width:22px;height:22px;}
.hc-core strong{font-size:10.5px;font-weight:800;line-height:1.2;text-shadow:0 1px 2px rgba(0,0,0,.2);}
@media(max-width:1280px){.hc-v4{width:340px;}}
@media(min-width:769px) and (max-height:720px){.hc-v4 .hc-kicker{display:none;}.hc-v4 .hc-title{margin-bottom:8px;}}
@media(min-width:769px) and (max-height:650px){
  .hc-v4{width:300px;padding:18px 20px;}.hc-v4 .hc-title{font-size:17px;}
  .hc-bubble{width:42px;height:42px;border-radius:13px;}.hc-bubble svg{width:19px;height:19px;}.hc-name{font-size:11.5px;}
  .hc-core strong{font-size:9px;}.hc-core svg{width:18px;height:18px;}
}
@media(prefers-reduced-motion:reduce){.hc-dot{display:none;}.hc-core::after{animation:none;}}
/* v4.1 spacing */
.hc-orbit{aspect-ratio:328/300;}
.hc-core{top:50%;width:28%;}
.hc-core strong{font-size:9.5px;}
.hc-node-top{flex-direction:column-reverse;transform:translate(-50%,-62%);}
.hc-node-bottom,.hc-node-left,.hc-node-right{transform:translate(-50%,-25px);}
.hc-spoke{stroke-opacity:.6;}
.hc-ring{stroke-opacity:.8;}
@media(max-width:1280px){.hc-core{width:30%;}.hc-core strong{font-size:9px;}}
/* v4.2: taller diagram; each node's bubble centre sits exactly on its spoke end */
.hc-orbit{aspect-ratio:328/330;}
.hc-core{width:27%;}
.hc-node-bottom,.hc-node-left,.hc-node-right{transform:translate(-50%,calc(var(--bub,50px) / -2));}
.hc-node-top{transform:translate(-50%,calc(-100% + var(--bub,50px) / 2));}
@media(min-width:769px) and (max-height:650px){.hc-node{--bub:42px;}.hc-core{width:31%;}.hc-core strong{font-size:8.5px;}}
@media(max-width:1280px){.hc-core{width:29%;}}
.hc-v4 .hc-title{margin-bottom:16px;}
.hc-core{width:30%;}
.hc-core strong{font-size:9px;letter-spacing:0;}
@media(max-width:1280px){.hc-core{width:31%;}.hc-core strong{font-size:8.5px;}}
@media(min-width:769px) and (max-height:720px){.hc-v4 .hc-title{margin-bottom:14px;}}
/* ===== INSIGHTS: blogs & case studies ===== */
.ins-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1400px;margin:0 auto;}
.ins-card{--ac:#22D3EE;display:flex;flex-direction:column;border-radius:18px;padding:8px;
  background:linear-gradient(160deg,rgba(255,255,255,.05),rgba(255,255,255,.01)) padding-box,linear-gradient(#0E1424,#0E1424) padding-box,
             linear-gradient(160deg,color-mix(in srgb,var(--ac) 55%,transparent),rgba(59,130,246,.15) 50%,rgba(255,255,255,.05)) border-box;
  border:1px solid transparent;box-shadow:0 18px 50px rgba(0,0,0,.35);transition:transform .3s,box-shadow .3s;}
.ins-card.is-case{--ac:#A855F7;}
html[data-theme="light"] .ins-card{background:linear-gradient(#fff,#fff) padding-box,linear-gradient(160deg,color-mix(in srgb,var(--ac) 55%,transparent),rgba(15,23,42,.08) 55%) border-box;box-shadow:0 12px 34px rgba(15,23,42,.08);}
.ins-card:hover{transform:translateY(-5px);box-shadow:0 24px 60px color-mix(in srgb,var(--ac) 25%,rgba(0,0,0,.35));}
.ins-img{display:block;border-radius:12px;overflow:hidden;aspect-ratio:10/3;background:var(--bg4);}
.ins-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.ins-card:hover .ins-img img{transform:scale(1.04);}
.ins-body{display:flex;flex-direction:column;flex:1;padding:18px 18px 16px;}
.ins-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;}
.ins-type,.ins-tag{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 12px;border-radius:999px;}
.ins-type{background:var(--ac);color:#06121F;}
.is-case .ins-type{color:#fff;}
.ins-tag{border:1px solid var(--bdr3);color:var(--t2);}
.ins-title{font-size:18px;font-weight:800;color:var(--hc);line-height:1.3;margin-bottom:8px;letter-spacing:-.01em;}
.ins-text{font-size:14px;color:var(--t2);line-height:1.6;flex:1;}
.ins-more{margin-top:16px;font-size:15px;font-weight:700;color:var(--ac);display:inline-flex;align-items:center;gap:8px;}
.ins-card:hover .ins-more span{transform:translateX(4px);}
.ins-more span{transition:transform .25s;}
html[data-theme="light"] .ins-card.is-blog{--ac:#0891B2;}
html[data-theme="light"] .ins-card.is-blog .ins-type{color:#fff;}
.ins .sec-more{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
@media(max-width:1100px){.ins-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:700px){.ins-grid{grid-template-columns:1fr;}.ins-title{font-size:17px;}}
/* ===== Back-to-top button (replaces the WhatsApp float) ===== */
.to-top{position:fixed;right:28px;bottom:28px;z-index:99;width:50px;height:50px;border-radius:14px;display:flex;align-items:center;justify-content:center;
  color:#fff;background:var(--grad1);box-shadow:0 10px 28px rgba(37,99,235,.35);opacity:0;visibility:hidden;transform:translateY(12px);
  transition:opacity .25s,transform .25s,visibility .25s,box-shadow .25s;}
.to-top.show{opacity:1;visibility:visible;transform:none;}
.to-top:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(37,99,235,.45);}
.to-top svg{width:22px;height:22px;}
@media(max-width:768px){.to-top{right:16px;bottom:18px;width:46px;height:46px;border-radius:13px;}}

/* ===== Light theme: slightly darker page background so white cards stand out ===== */
html[data-theme="light"]{
  --bg:#F1F4F9;--bg2:#E7ECF4;--bg3:#FFFFFF;--bg4:#DCE3EE;
  --bdr:rgba(15,23,42,.10);--bdr2:rgba(15,23,42,.14);--bdr3:rgba(15,23,42,.20);
  --deep:#E1E7F0;--deeper:#D6DEE9;--hero-bg:#E5EBF4;
  --glass:rgba(241,244,249,.9);--glass-solid:rgba(241,244,249,.97);
  --card-shadow:0 6px 22px rgba(15,23,42,.08);
}
html[data-theme="light"] .navbar{background:rgba(255,255,255,.92);}
html[data-theme="light"] .navbar.scrolled{background:rgba(255,255,255,.98);}
/* Dynamic insight cards */
.ins-img{position:relative;aspect-ratio:16/8;}
.ins-img--wide{aspect-ratio:10/3;}
.ins-img--empty{display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 30% 20%,color-mix(in srgb,var(--ac) 35%,transparent),transparent 60%),linear-gradient(135deg,#1A2236,#0E1424);}
html[data-theme="light"] .ins-img--empty{background:radial-gradient(circle at 30% 20%,color-mix(in srgb,var(--ac) 30%,transparent),transparent 60%),linear-gradient(135deg,#E8EEF7,#DCE5F2);}
.ins-img-ph{font-size:56px;font-weight:800;color:color-mix(in srgb,var(--ac) 70%,transparent);}
.ins-date{position:absolute;left:10px;bottom:10px;font-size:11px;font-weight:700;letter-spacing:.04em;color:#fff;background:rgba(6,8,15,.72);backdrop-filter:blur(6px);padding:4px 10px;border-radius:999px;}
.ins-img--wide .ins-date{display:none;}
/* listing pages reuse the insight card inside the existing grid */
.blog-grid .ins-card{height:100%;}
/* Hero slide accent: mint (slide 1) */
.hero-slide[data-accent="mint"]{--acc1:#34D399;--acc2:#5EEAD4;--brush:#34D399;}
html[data-theme="light"] .hero-slide[data-accent="mint"]{--acc1:#059669;--acc2:#0D9488;}
.hero-slide[data-accent="mint"] .hero-text p{-webkit-line-clamp:4;}
@media(max-width:768px){.hero-slide[data-accent="mint"] .hero-text p{-webkit-line-clamp:7;}}
@media(max-width:768px) and (max-height:760px){.hero-slide[data-accent="mint"] .hero-text p{-webkit-line-clamp:6;}}
/* No dash in front of section labels (e.g. "WHAT WE DO", "INSIGHTS") */
.sec-overline::before{content:none;display:none;}
.sec-overline{gap:0;}
