/* ================================================================
   LYCKA INFOLAB — PREMIUM 2025-2026 DESIGN SYSTEM
   ================================================================ */

/* ── TOKENS ── */
:root {
  --primary:     #0A0F1E;
  --primary-mid: #111827;
  --accent:      #6366F1;
  --accent-dark: #4F46E5;
  --accent2:     #06B6D4;
  --grad:        linear-gradient(135deg,#6366F1 0%,#06B6D4 100%);
  --white:       #FFFFFF;
  --off-white:   #F8FAFC;
  --text:        #0F172A;
  --muted:       #64748B;
  --light:       #94A3B8;
  --border:      #E2E8F0;
  --sh:    0 4px 16px rgba(0,0,0,.08);
  --sh-lg: 0 12px 32px rgba(0,0,0,.12);
  --sh-xl: 0 24px 48px rgba(0,0,0,.15);
  --r-sm:   8px;  --r:  14px;  --r-lg: 20px;
  --r-xl:  28px;  --r-full: 9999px;
  --ease:  cubic-bezier(0.4,0,0.2,1);
  --tx:    all 0.3s var(--ease);
  --nav-h: 84px;
}

/* ── RESET ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

body{font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;color:var(--text);background:var(--off-white);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit;transition:var(--tx)}
ul{list-style:none}
button{font-family:inherit;cursor:pointer}

/* ── TYPOGRAPHY ── */
h1,h2,h3,h4,h5,h6{font-family:'Sora','Inter',sans-serif;font-weight:700;line-height:1.15;color:var(--text)}
h1{font-size:clamp(2.5rem,5.5vw,4.5rem)}
h2{font-size:clamp(2rem,4vw,3.25rem)}
h3{font-size:clamp(1.375rem,2.5vw,2rem)}
h4{font-size:1.25rem}
h5{font-size:1.0625rem}
p{color:var(--muted);line-height:1.8;margin-bottom:1rem}
p:last-child{margin-bottom:0}
.gradient-text{background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

/* ── LAYOUT ── */
.container{width:100%;max-width:1180px;margin:0 auto;padding:0 24px}
.container-lg{width:100%;max-width:1400px;margin:0 auto;padding:0 32px}
.section{padding:100px 0}
.section-sm{padding:64px 0}

/* ── LABEL CHIP ── */
.label-chip{display:inline-flex;align-items:center;gap:8px;padding:5px 14px;border-radius:var(--r-full);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}
.label-chip.accent{background:rgba(99,102,241,.1);color:var(--accent);border:1px solid rgba(99,102,241,.2)}
.label-chip.dark{background:rgba(255,255,255,.08);color:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.1)}
.label-chip.cyan{background:rgba(6,182,212,.1);color:var(--accent2);border:1px solid rgba(6,182,212,.2)}

/* ── SECTION HEADER ── */
.section-head{text-align:center;max-width:100%;margin:0 auto 64px}
.section-head .label-chip{margin-bottom:14px}
.section-head h2{margin-bottom:16px}
.section-head p{font-size:1.0625rem}
.section-head.left{text-align:left;margin-left:0}

/* ── BUTTONS ── */
.btn{display:inline-flex;align-items:center;gap:9px;padding:13px 28px;border-radius:var(--r-full);font-size:.9375rem;font-weight:600;border:2px solid transparent;transition:var(--tx);white-space:nowrap;outline:none;cursor:pointer}
.btn-primary{background:var(--grad);color:var(--white);box-shadow:0 4px 16px rgba(99,102,241,.35)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(99,102,241,.45);color:var(--white)}
.btn-ghost{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:var(--white);backdrop-filter:blur(10px)}
.btn-ghost:hover{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.4);color:var(--white)}
.btn-light{background:var(--white);color:var(--accent);box-shadow:var(--sh)}
.btn-light:hover{transform:translateY(-2px);box-shadow:var(--sh-lg);color:var(--accent)}
.btn-outline-accent{background:transparent;border-color:var(--accent);color:var(--accent)}
.btn-outline-accent:hover{background:var(--accent);color:var(--white)}
.btn-lg{padding:16px 36px;font-size:1rem}
.btn-sm{padding:9px 20px;font-size:.8125rem}

/* ================================================================
   NAVBAR
   ================================================================ */
.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;height:var(--nav-h);background:rgba(255,255,255,.97);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid rgba(15,23,42,.06);transition:height .4s var(--ease),box-shadow .4s var(--ease)}
.navbar::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,#6366f1,#06b6d4);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.navbar.scrolled{height:calc(var(--nav-h) - 16px);box-shadow:0 8px 30px rgba(15,23,42,.13)}
.navbar.scrolled::after{transform:scaleX(1)}
.nav-container{display:flex;align-items:center;justify-content:space-between;height:100%;padding:0 32px;max-width:1400px;margin:0 auto}

.nav-brand a{display:flex;align-items:center;gap:12px}

.nav-logo-wrap{display:flex;align-items:center;transition:var(--tx)}
.nav-brand a:hover .nav-logo-wrap{transform:translateY(-1px)}
.nav-logo{
  height:50px;
  width:auto;
  object-fit:contain;
  display:block;
}

.brand-text{
  font-family:'Sora',sans-serif;
  font-size:1.1875rem;
  font-weight:700;
  color:var(--white);
  letter-spacing:.02em;
}
.nav-list{display:flex;align-items:center;gap:2px}
.nav-item{position:relative}
.nav-link{display:flex;align-items:center;gap:5px;padding:9px 16px;color:#1e293b;font-weight:600;font-size:.9rem;border-radius:var(--r-sm);transition:var(--tx)}
.nav-link:hover{color:#6366f1;background:rgba(99,102,241,.08)}
.nav-link i{font-size:.55rem;transition:transform .3s}
.nav-item:hover .nav-link i{transform:rotate(180deg)}
.dropdown{position:absolute;top:100%;left:0;min-width:230px;padding:8px;margin-top:12px;background:#fff;border-radius:14px;border:1px solid #e5e9f2;box-shadow:0 16px 40px rgba(15,23,42,.18);opacity:0;visibility:hidden;transform:translateY(-10px);transition:var(--tx);overflow:hidden}
.nav-item:hover .dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.nav-item.has-dropdown::after{content:"";position:absolute;left:0;right:0;top:100%;height:14px}
.dropdown li a{display:block;padding:11px 16px;color:#334155;font-size:.9rem;font-weight:500;border-radius:10px;transition:var(--tx)}
.dropdown li a:hover{color:#4f46e5;background:rgba(99,102,241,.1);padding-left:22px}
.nav-cta{display:flex;align-items:center;gap:12px}
.nav-cta .btn-primary{background:linear-gradient(135deg,#4f46e5,#2563eb);padding:11px 24px;font-weight:700;letter-spacing:.01em;box-shadow:0 4px 14px rgba(37,99,235,.4)}
.nav-cta .btn-primary:hover{background:linear-gradient(135deg,#4338ca,#1d4ed8);box-shadow:0 6px 20px rgba(37,99,235,.55)}
.nav-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;color:#fff;font-size:1.05rem;transition:var(--tx)}
.nav-call{background:linear-gradient(135deg,#6366f1,#4f46e5);box-shadow:0 4px 14px rgba(99,102,241,.4)}
.nav-wa{background:linear-gradient(135deg,#25d366,#128c7e);font-size:1.3rem;box-shadow:0 4px 14px rgba(37,211,102,.4)}
.nav-icon-btn:hover{transform:translateY(-2px) scale(1.06);color:#fff}
.nav-call:hover{box-shadow:0 6px 20px rgba(99,102,241,.55)}
.nav-wa:hover{box-shadow:0 6px 20px rgba(37,211,102,.55)}
.nav-toggle{display:none;flex-direction:column;gap:5px;padding:6px;background:none;border:none}
.nav-toggle span{display:block;width:22px;height:2px;background:#1e293b;border-radius:var(--r-full);transition:var(--tx)}
.nav-toggle.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle.active span:nth-child(2){opacity:0;transform:scaleX(0)}
.nav-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ================================================================
   HERO
   ================================================================ */
.hero{min-height:100vh;background:var(--primary);display:flex;align-items:center;position:relative;overflow:hidden;padding-top:var(--nav-h)}
.hero-bg-radial{position:absolute;inset:0;background:radial-gradient(ellipse 65% 55% at 12% 50%,rgba(99,102,241,.3) 0%,transparent 70%),radial-gradient(ellipse 45% 40% at 88% 20%,rgba(6,182,212,.18) 0%,transparent 55%),radial-gradient(ellipse 40% 35% at 60% 90%,rgba(99,102,241,.12) 0%,transparent 60%)}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 20%,transparent 100%)}
.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding:80px 24px;max-width:1200px;margin:0 auto;width:100%}
.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;background:rgba(99,102,241,.15);border:1px solid rgba(99,102,241,.3);border-radius:var(--r-full);color:var(--accent2);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-bottom:22px}
.hero h1{color:var(--white);margin-bottom:20px;line-height:1.1}
.hero-sub{font-size:1.125rem;color:rgba(255,255,255,.65);max-width:520px;margin-bottom:40px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.hero-trust{display:flex;align-items:center;gap:16px;margin-top:40px;padding-top:32px;border-top:1px solid rgba(255,255,255,.08);flex-wrap:wrap}
.hero-trust-num{font-family:'Sora',sans-serif;font-size:1.625rem;font-weight:800;color:var(--white);line-height:1}
.hero-trust-label{font-size:.8rem;color:rgba(255,255,255,.5);margin-top:2px}
.hero-trust-divider{width:1px;height:36px;background:rgba(255,255,255,.12)}
.hero-right{position:relative;display:flex;flex-direction:column;gap:14px}
.hero-right .float-card{position:relative;z-index:1}
.float-card{background:rgba(255,255,255,.06);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-lg);padding:22px;transition:var(--tx)}
.float-card:nth-child(1){animation:floatUp 6s ease-in-out infinite}
.float-card:nth-child(2){animation:floatUp 7s ease-in-out infinite;margin-left:28px;animation-delay:-.8s}
.float-card:nth-child(3){animation:floatUp 5.5s ease-in-out infinite;margin-left:12px;animation-delay:-1.5s}
@keyframes floatUp{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.float-card-icon{width:44px;height:44px;border-radius:var(--r-sm);background:var(--grad);display:flex;align-items:center;justify-content:center;font-size:1.125rem;color:var(--white);margin-bottom:10px}
.float-card h5{color:var(--white);font-size:.9375rem;margin-bottom:4px}
.float-card p{color:rgba(255,255,255,.55);font-size:.8125rem;margin:0}

/* ================================================================
   TICKER STRIP
   ================================================================ */
.ticker-strip{background:var(--primary);border-top:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.05);padding:14px 0;overflow:hidden}
.ticker-track{display:flex;width:max-content;animation:tickerRun 24s linear infinite}
.ticker-track:hover{animation-play-state:paused}
.ticker-item{display:flex;align-items:center;gap:20px;padding:0 20px;font-family:'Sora',sans-serif;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:rgba(255,255,255,.3);white-space:nowrap}
.ticker-dot{color:var(--accent);font-size:1rem}
@keyframes tickerRun{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ================================================================
   PAGE HERO
   ================================================================ */
.page-hero{background:var(--primary);padding:160px 0 72px;position:relative;overflow:hidden;text-align:center}
.page-hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 60% 70% at 25% 50%,rgba(99,102,241,.22) 0%,transparent 65%),radial-gradient(ellipse 50% 45% at 80% 30%,rgba(6,182,212,.13) 0%,transparent 60%)}
.page-hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:56px 56px}
.page-hero-content{position:relative;z-index:2}
.page-hero h1{color:var(--white);margin-bottom:16px}
.breadcrumb{display:inline-flex;align-items:center;gap:8px;color:rgba(255,255,255,.45);font-size:.9rem;margin-top:12px}
.breadcrumb a{color:var(--accent2)}
.breadcrumb .sep{color:rgba(255,255,255,.2)}

/* ================================================================
   CLIENTS — GLASS CARD MARQUEE
   ================================================================ */
.clients-section{background:var(--primary);padding:80px 0;overflow:hidden;position:relative}
.clients-section::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 50%,rgba(99,102,241,.07) 0%,transparent 70%)}
.clients-section .container{position:relative;z-index:1}
.clients-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:40px;flex-wrap:wrap;gap:20px}
.clients-eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent2);margin-bottom:6px}
.clients-header-left h3{color:var(--white);font-size:1.375rem;font-weight:700;margin:0}
.clients-header-right{display:flex;align-items:center;gap:28px}
.clients-stat{display:flex;flex-direction:column;align-items:flex-end}
.clients-stat-num{font-family:'Sora',sans-serif;font-size:1.75rem;font-weight:800;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}
.clients-stat-lbl{font-size:.75rem;color:rgba(255,255,255,.45);font-weight:500;text-transform:uppercase;letter-spacing:.07em;margin-top:2px}
.clients-stat-divider{width:1px;height:40px;background:rgba(255,255,255,.1)}
.marquee-wrap{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent 0%,black 6%,black 94%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,black 6%,black 94%,transparent 100%)}
.marquee-track{display:flex;gap:16px;width:max-content;animation:marqueeRun 34s linear infinite;align-items:stretch}
.marquee-track:hover{animation-play-state:paused}
.client-card{flex-shrink:0;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);border-radius:var(--r-lg);padding:20px 28px;display:flex;align-items:center;justify-content:center;min-width:140px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:all .35s ease;cursor:pointer;position:relative;overflow:hidden}
.client-card::before{content:'';position:absolute;inset:0;border-radius:var(--r-lg);background:var(--grad);opacity:0;transition:opacity .35s ease}
.client-card:hover{border-color:rgba(99,102,241,.5);box-shadow:0 0 28px rgba(99,102,241,.2),0 8px 24px rgba(0,0,0,.3);transform:translateY(-4px) scale(1.03)}
.client-card:hover::before{opacity:.08}
.client-card img{height:56px;width:auto;max-width:130px;object-fit:contain;position:relative;z-index:1;transition:transform .35s ease}
.client-card:hover img{transform:scale(1.06)}
@keyframes marqueeRun{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ================================================================
   BENTO SERVICES
   ================================================================ */
.services-bento{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:auto auto;gap:16px;grid-template-areas:"feat s1 s2""feat s3 s4"}
.sb-featured{grid-area:feat}
.sb-s1{grid-area:s1}.sb-s2{grid-area:s2}.sb-s3{grid-area:s3}.sb-s4{grid-area:s4}
.bento-card{background:var(--white);border-radius:var(--r-xl);padding:36px;border:1px solid var(--border);position:relative;overflow:hidden;transition:var(--tx)}
.bento-card:hover{box-shadow:var(--sh-xl);transform:translateY(-4px);border-color:transparent}
.bento-card::after{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.bento-card:not(.bento-dark):hover::after{transform:scaleX(1)}
.bento-dark{background:var(--primary);border-color:transparent}
.bento-dark::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 20% 30%,rgba(99,102,241,.35) 0%,transparent 65%),radial-gradient(ellipse 60% 50% at 80% 80%,rgba(6,182,212,.2) 0%,transparent 55%)}
.bento-dark>*{position:relative;z-index:1}
.bento-icon{width:52px;height:52px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;font-size:1.375rem;margin-bottom:18px}
.bento-icon.light{background:rgba(255,255,255,.1);color:var(--white)}
.bento-icon.accent{background:rgba(99,102,241,.12);color:var(--accent)}
.bento-icon.grad{background:var(--grad);color:var(--white)}
.bento-card h4{margin-bottom:10px;font-size:1.125rem}
.bento-dark h4{color:var(--white)}
.bento-dark p{color:rgba(255,255,255,.55)}
.service-list{display:flex;flex-direction:column;gap:10px;margin-top:24px}
.service-list-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:rgba(255,255,255,.06);border-radius:var(--r);border:1px solid rgba(255,255,255,.08);transition:var(--tx)}
.service-list-item:hover{background:rgba(255,255,255,.1)}
.service-list-item i{color:var(--accent2);font-size:.9375rem}
.service-list-item span{color:rgba(255,255,255,.8);font-size:.9375rem;font-weight:500}
.link-arrow{display:inline-flex;align-items:center;gap:8px;font-size:.9375rem;font-weight:600;color:var(--accent);margin-top:20px;transition:var(--tx)}
.link-arrow:hover{gap:14px}
.link-arrow.white{color:var(--accent2)}

/* ================================================================
   ABOUT SPLIT
   ================================================================ */
.about-split{display:grid;grid-template-columns:1fr 1.1fr;gap:80px;align-items:center}
.about-img-wrap{position:relative;padding-bottom:36px;padding-right:36px}
.about-img-main{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r-xl)}
.about-img-card{position:absolute;bottom:0;right:0;background:var(--white);border-radius:var(--r-lg);padding:20px 24px;box-shadow:var(--sh-xl);display:grid;grid-template-columns:1fr 1fr;gap:16px 20px;min-width:200px}
.about-mini-stat .num{font-family:'Sora',sans-serif;font-size:1.875rem;font-weight:800;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;margin-bottom:2px}
.about-mini-stat .lbl{font-size:.7rem;color:var(--muted);font-weight:500;text-transform:uppercase;letter-spacing:.06em}
.num-features{display:flex;flex-direction:column;gap:18px;margin-top:28px}
.num-feature{display:flex;gap:18px;padding:20px;background:var(--white);border-radius:var(--r);border:1px solid var(--border);transition:var(--tx)}
.num-feature:hover{border-color:var(--accent);box-shadow:var(--sh)}
.num-feature-num{font-family:'Sora',sans-serif;font-size:2rem;font-weight:900;line-height:1;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;min-width:48px}
.num-feature-text h5{margin-bottom:4px;font-size:.9375rem}
.num-feature-text p{font-size:.875rem;margin:0}

/* ================================================================
   STATS PANELS
   ================================================================ */
.stats-band{background:var(--primary);padding:88px 0 8px;position:relative;overflow:hidden}
.stats-band::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 80% at 50% 0%,rgba(99,102,241,.14) 0%,transparent 70%)}
.stats-band .container{position:relative;z-index:1}
.stats-panel{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.stat-panel-item{background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.1);border-radius:var(--r-lg);padding:36px 24px;text-align:center;position:relative;overflow:hidden;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:all .35s ease}
.stat-panel-item:hover{transform:translateY(-4px);border-color:rgba(99,102,241,.5);box-shadow:0 14px 36px rgba(0,0,0,.35),0 0 28px rgba(99,102,241,.18)}
.stat-panel-item::before{content:'';position:absolute;top:0;left:20%;right:20%;height:2px;background:var(--grad);border-radius:0 0 4px 4px}
.stat-big{font-family:'Sora',sans-serif;font-size:clamp(2.5rem,4vw,3.5rem);font-weight:800;line-height:1.1;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:10px}
.stat-label-sm{font-size:.78rem;color:rgba(255,255,255,.55);font-weight:600;text-transform:uppercase;letter-spacing:.12em}

/* ================================================================
   PROCESS STEPS
   ================================================================ */
.process-section{background:var(--primary);padding:100px 0;position:relative;overflow:hidden}
.process-section::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 50% 0%,rgba(99,102,241,.2) 0%,transparent 60%)}
.process-section>.container{position:relative;z-index:1}
.process-track{display:grid;grid-template-columns:repeat(4,1fr);position:relative;margin-top:56px}
.process-track::before{content:'';position:absolute;top:36px;left:12.5%;right:12.5%;height:2px;background:linear-gradient(90deg,var(--accent) 0%,var(--accent2) 100%);opacity:.35}
.process-step{text-align:center;padding:0 20px}
.process-circle{width:72px;height:72px;border-radius:50%;background:var(--grad);display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-family:'Sora',sans-serif;font-size:1.375rem;font-weight:800;color:var(--white);position:relative;z-index:1;box-shadow:0 8px 24px rgba(99,102,241,.4)}
.process-step h4{color:var(--white);margin-bottom:8px}
.process-step p{color:rgba(255,255,255,.5);font-size:.875rem}

/* ================================================================
   TEAM MAGAZINE
   ================================================================ */
.team-section-dark{background:var(--primary-mid);padding:100px 0}
.magazine-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:20px}
.team-feature-card{border-radius:var(--r-xl);overflow:hidden;position:relative;aspect-ratio:2/3;grid-row:span 2}
.team-feature-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.team-feature-card:hover img{transform:scale(1.04)}
.team-feature-overlay{position:absolute;bottom:0;left:0;right:0;padding:32px 28px;background:linear-gradient(to top,rgba(10,15,30,.9) 0%,transparent 100%)}
.team-feature-overlay h3{color:var(--white);font-size:1.625rem;margin-bottom:6px}
.team-feature-overlay .role{color:var(--accent2);font-size:.875rem;font-weight:600}
.team-feature-socials{display:flex;gap:10px;margin-top:14px}
.team-feature-socials a{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.12);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;color:var(--white);font-size:.8rem;transition:var(--tx)}
.team-feature-socials a:hover{background:var(--accent)}
.team-small-col{display:flex;flex-direction:column;gap:20px}
.team-small-card{background:rgba(255,255,255,.04);border-radius:var(--r-lg);overflow:hidden;border:1px solid rgba(255,255,255,.07);transition:var(--tx)}
.team-small-card:hover{border-color:rgba(99,102,241,.4);box-shadow:0 8px 32px rgba(99,102,241,.15)}
.team-small-photo{aspect-ratio:4/3;overflow:hidden}
.team-small-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.team-small-card:hover .team-small-photo img{transform:scale(1.06)}
.team-small-info{padding:16px 18px}
.team-small-info h4{color:var(--white);font-size:1rem;margin-bottom:4px}
.team-small-info .role{color:var(--accent2);font-size:.8rem;font-weight:600}
.team-small-socials{display:flex;gap:8px;margin-top:12px}
.team-small-socials a{width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.6);font-size:.7rem;transition:var(--tx)}
.team-small-socials a:hover{background:var(--accent);color:var(--white)}

/* ── Team grid (inner page) ── */
.team-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.team-card{background:var(--white);border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--border);transition:var(--tx)}
.team-card:hover{box-shadow:var(--sh-xl);transform:translateY(-5px)}
.team-photo{position:relative;overflow:hidden;aspect-ratio:3/4}
.team-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.team-card:hover .team-photo img{transform:scale(1.05)}
.team-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(99,102,241,.85) 0%,transparent 55%);display:flex;align-items:flex-end;justify-content:center;padding:20px;opacity:0;transition:var(--tx)}
.team-card:hover .team-overlay{opacity:1}
.team-socials{display:flex;gap:8px}
.team-socials a{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.2);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;color:var(--white);font-size:.75rem;transition:var(--tx)}
.team-socials a:hover{background:var(--white);color:var(--accent)}
.team-info{padding:18px 20px}
.team-info h4{margin-bottom:4px;font-size:1rem}
.team-role{font-size:.8rem;color:var(--accent);font-weight:600;margin:0}

/* ================================================================
   TESTIMONIALS SLIDER
   ================================================================ */
.testi-section{
  background:var(--primary);
  padding:100px 0;
  position:relative;
  overflow:hidden;
  text-align:center;
}
.testi-bg-deco{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse 70% 60% at 20% 50%,rgba(99,102,241,.12) 0%,transparent 65%),
    radial-gradient(ellipse 50% 50% at 80% 30%,rgba(6,182,212,.08) 0%,transparent 60%);
  pointer-events:none;
}
.testi-section::before{
  content:'\201C';
  position:absolute;
  top:-60px;left:24px;
  font-size:20rem;
  line-height:1;
  color:var(--accent);
  opacity:.05;
  font-family:Georgia,serif;
  pointer-events:none;
}
.testi-section>.container{position:relative;z-index:1}
.testi-header{margin-bottom:56px}

/* Slider container */
.testi-slider-wrap{position:relative;max-width:900px;margin:0 auto}

/* Grid overlay trick — all slides share the same cell, auto height */
.testi-slider{
  display:grid;
  grid-template-areas:"slide";
}
.testi-slide{
  grid-area:slide;
  display:flex;
  flex-direction:column;
  align-items:center;
  opacity:0;
  visibility:hidden;
  transform:translateX(32px);
  transition:opacity .5s ease,transform .5s ease,visibility 0s .5s;
  pointer-events:none;
}
.testi-slide.active{
  opacity:1;
  visibility:visible;
  transform:translateX(0);
  pointer-events:auto;
  transition:opacity .5s ease,transform .5s ease,visibility 0s 0s;
}
.testi-slide.exit{
  opacity:0;
  visibility:hidden;
  transform:translateX(-32px);
  transition:opacity .4s ease,transform .4s ease,visibility 0s .4s;
}

/* Big decorative quote mark per slide */
.testi-quote-mark{
  font-size:5rem;
  line-height:.8;
  font-family:Georgia,serif;
  background:var(--grad);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
  margin-bottom:16px;
  display:block;
}

/* Quote text */
.testi-text{
  font-family:'Sora','Inter',sans-serif;
  font-size:clamp(1.0625rem,2vw,1.3125rem);
  font-weight:500;
  color:rgba(255,255,255,.85);
  line-height:1.65;
  margin-bottom:36px;
  max-width:780px;
  font-style:italic;
}

/* Author row */
.testi-author{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  flex-wrap:wrap;
}
.testi-avatar{
  width:56px;height:56px;
  border-radius:50%;
  object-fit:cover;
  border:2px solid rgba(255,255,255,.15);
  box-shadow:0 0 0 4px rgba(99,102,241,.2);
}
.testi-name{
  color:var(--white);
  font-size:1rem;
  font-weight:700;
  text-align:left;
  margin-bottom:2px;
}
.testi-role{
  color:var(--accent2);
  font-size:.8125rem;
  font-weight:600;
  text-align:left;
}
.testi-rating{
  margin-left:8px;
  display:flex;
  gap:3px;
}
.testi-rating i{
  color:#FBBF24;
  font-size:.8125rem;
}

/* Arrows */
.testi-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:48px;height:48px;
  border-radius:50%;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.12);
  color:rgba(255,255,255,.7);
  font-size:.875rem;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;
  transition:var(--tx);
  backdrop-filter:blur(10px);
  z-index:5;
}
.testi-arrow:hover{
  background:var(--accent);
  border-color:var(--accent);
  color:var(--white);
  box-shadow:0 0 20px rgba(99,102,241,.4);
}
.testi-prev{left:-72px}
.testi-next{right:-72px}

/* Dots */
.testi-dots{
  display:flex;
  gap:10px;
  justify-content:center;
  margin-top:40px;
}
.testi-dot{
  width:8px;height:8px;
  border-radius:var(--r-full);
  background:rgba(255,255,255,.2);
  border:none;
  cursor:pointer;
  transition:all .3s ease;
  padding:0;
}
.testi-dot.active{
  background:var(--grad);
  width:28px;
  box-shadow:0 0 10px rgba(99,102,241,.5);
}
.testi-dot:hover{background:rgba(255,255,255,.5)}

/* Old quote classes kept for other pages */
.quote-section{background:var(--primary);padding:100px 0;position:relative;overflow:hidden;text-align:center}
.quote-section::before{content:'\201C';position:absolute;top:-60px;left:28px;font-size:22rem;line-height:1;color:var(--accent);opacity:.06;font-family:Georgia,serif;pointer-events:none}
.quote-text{font-family:'Sora',sans-serif;font-size:clamp(1.25rem,2.5vw,2rem);font-weight:600;color:var(--white);line-height:1.5;max-width:860px;margin:0 auto 36px;position:relative;z-index:1}
.quote-author{display:flex;align-items:center;justify-content:center;gap:14px;position:relative;z-index:1}
.quote-avatar{width:52px;height:52px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.15)}
.quote-name{color:var(--white);font-size:1rem;font-weight:600;text-align:left}
.quote-role{color:var(--accent2);font-size:.8125rem}
.quote-divider{width:1px;height:36px;background:rgba(255,255,255,.12)}

/* ================================================================
   CTA
   ================================================================ */
.cta-section{padding:100px 0;text-align:center;background:var(--primary);position:relative;overflow:hidden}
.cta-section::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 90% 80% at 50% 50%,rgba(99,102,241,.25) 0%,transparent 70%)}
.cta-section>.container{position:relative;z-index:1}
.cta-section h2{color:var(--white);margin-bottom:14px}
.cta-section>.container>p{color:rgba(255,255,255,.65);font-size:1.125rem;margin-bottom:40px}
.cta-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* ================================================================
   PROJECTS
   ================================================================ */
.filter-bar{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:40px}
.filter-btn{padding:8px 22px;border-radius:var(--r-full);border:2px solid var(--border);background:var(--white);color:var(--muted);font-size:.875rem;font-weight:600;cursor:pointer;transition:var(--tx)}
.filter-btn:hover,.filter-btn.active{background:var(--accent);border-color:var(--accent);color:var(--white)}
.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.project-item.hidden{display:none}
.project-card{border-radius:var(--r-lg);overflow:hidden;position:relative;aspect-ratio:4/3;display:block}
.project-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.project-card:hover img{transform:scale(1.07)}
.project-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,15,30,.9) 0%,rgba(10,15,30,.1) 55%,transparent 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:22px;opacity:0;transform:translateY(10px);transition:var(--tx)}
.project-card:hover .project-overlay{opacity:1;transform:translateY(0)}
.project-overlay h5{color:var(--white);margin-bottom:8px;font-size:1rem}
.project-tags{display:flex;gap:6px;flex-wrap:wrap}
.project-tag{padding:3px 10px;background:rgba(99,102,241,.5);border-radius:var(--r-full);color:var(--white);font-size:.7rem;font-weight:700}

/* ================================================================
   VISION
   ================================================================ */
.vision-stack{display:flex;flex-direction:column;gap:12px}
.vision-row{display:flex;gap:16px;padding:20px 24px;background:var(--white);border-radius:var(--r);border:1px solid var(--border);transition:var(--tx)}
.vision-row:hover{border-color:var(--accent);box-shadow:var(--sh);transform:translateX(4px)}
.vision-n{font-family:'Sora',sans-serif;font-size:1.25rem;font-weight:900;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;opacity:.5;min-width:28px;line-height:1.4}
.vision-p{font-size:.9375rem;color:var(--muted);line-height:1.75;margin:0;align-self:center}

/* ================================================================
   SECTORS
   ================================================================ */
.sectors-cloud{display:flex;flex-wrap:wrap;gap:10px}
.sector-pill{display:flex;align-items:center;gap:8px;padding:10px 18px;background:var(--white);border:1px solid var(--border);border-radius:var(--r-full);font-size:.875rem;font-weight:500;color:var(--text);transition:var(--tx)}
.sector-pill:hover{border-color:var(--accent);color:var(--accent);background:rgba(99,102,241,.04)}
.sector-pill i{color:var(--accent);font-size:.8rem}

/* ================================================================
   PROGRESS
   ================================================================ */
.progress-block{display:flex;flex-direction:column;gap:22px}
.prog-item{}
.prog-head{display:flex;justify-content:space-between;margin-bottom:8px}
.prog-label{font-size:.9375rem;font-weight:600;color:var(--text);text-transform:capitalize}
.prog-pct{font-size:.875rem;font-weight:700;color:var(--accent)}
.prog-track{height:8px;background:var(--off-white);border-radius:var(--r-full);overflow:hidden}
.prog-fill{height:100%;background:var(--grad);border-radius:var(--r-full);width:0;transition:width 1.8s var(--ease)}

/* ================================================================
   WHY CHOOSE US
   ================================================================ */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.why-card{background:var(--white);border-radius:var(--r-xl);padding:36px 28px;border:1px solid var(--border);transition:var(--tx);position:relative;overflow:hidden}
.why-card::before{content:attr(data-n);position:absolute;top:-16px;right:20px;font-family:'Sora',sans-serif;font-size:6rem;font-weight:900;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;opacity:.07;line-height:1}
.why-card:hover{border-color:var(--accent);box-shadow:var(--sh-xl);transform:translateY(-5px)}
.why-icon{width:60px;height:60px;border-radius:var(--r-sm);background:rgba(99,102,241,.1);display:flex;align-items:center;justify-content:center;font-size:1.625rem;color:var(--accent);margin-bottom:18px;transition:var(--tx)}
.why-card:hover .why-icon{background:var(--grad);color:var(--white)}
.why-card h4{margin-bottom:10px}

/* ================================================================
   CONTACT
   ================================================================ */
.contact-wrap{display:grid;grid-template-columns:1fr 1.7fr;gap:64px;align-items:start}
.contact-info-list{display:flex;flex-direction:column;gap:14px;margin-top:28px}
.contact-info-item{display:flex;gap:16px;padding:20px;background:var(--white);border-radius:var(--r);border:1px solid var(--border);transition:var(--tx)}
.contact-info-item:hover{border-color:var(--accent);box-shadow:var(--sh)}
.ci-icon{width:44px;height:44px;min-width:44px;border-radius:var(--r-sm);background:var(--grad);display:flex;align-items:center;justify-content:center;color:var(--white);font-size:1rem}
.ci-text h6{font-size:.8rem;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.07em;margin-bottom:4px}
.ci-text p,.ci-text a{color:var(--text);font-weight:500;font-size:.9375rem;margin:0}
.ci-text a:hover{color:var(--accent)}
.form-card{background:var(--white);border-radius:var(--r-xl);padding:48px;box-shadow:var(--sh-lg);border:1px solid var(--border)}
.form-card h3{margin-bottom:6px}
.form-card>p{margin-bottom:28px}
.form-group{margin-bottom:18px}
.form-label{display:block;font-size:.875rem;font-weight:600;color:var(--text);margin-bottom:7px}
.form-control{width:100%;padding:12px 14px;border:2px solid var(--border);border-radius:var(--r);font-size:.9375rem;color:var(--text);font-family:inherit;background:var(--off-white);outline:none;transition:var(--tx)}
.form-control:focus{border-color:var(--accent);background:var(--white);box-shadow:0 0 0 4px rgba(99,102,241,.1)}
.form-control::placeholder{color:var(--light)}
textarea.form-control{resize:vertical;min-height:110px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-check{display:flex;align-items:center;gap:10px;margin-bottom:22px}
.form-check-input{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}
.form-check-label{font-size:.9375rem;color:var(--muted);cursor:pointer}
.map-section{height:450px;overflow:hidden}
.map-section iframe{width:100%;height:100%;border:0;display:block}
.alert{padding:14px 18px;border-radius:var(--r);font-size:.9375rem;font-weight:500;margin-bottom:20px}
.alert-success{background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.3);color:#065F46}
.alert-error{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);color:#991B1B}

/* ================================================================
   FILM
   ================================================================ */
.film-wrap{display:grid;grid-template-columns:320px 1fr;gap:56px;align-items:start}
.film-img{border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-xl)}
.film-img img{width:100%;object-fit:cover}
.film-chips{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 20px}

/* ================================================================
   LEGAL
   ================================================================ */
.legal-body{max-width:800px;margin:0 auto}
.legal-body h3{margin:36px 0 12px;font-size:1.375rem}
.legal-body h3:first-child{margin-top:0}
.legal-body ul{list-style:disc;padding-left:20px;color:var(--muted)}
.legal-body ul li{margin-bottom:8px;line-height:1.75}

/* ================================================================
   FOOTER
   ================================================================ */
.footer{background:var(--primary);padding:80px 0 0}
.footer-inner{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.4fr;gap:48px;padding-bottom:60px;border-bottom:1px solid rgba(255,255,255,.07)}
.footer-logo{
  height:48px;
  width:auto;
  margin-bottom:16px;
  object-fit:contain;
  padding:5px 10px;
  background:rgba(255,255,255,0.1);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,0.14);
  border-radius:10px;
}
.footer-brand h3{color:var(--white);font-size:1.0625rem;margin-bottom:10px}
.footer-brand p{color:rgba(255,255,255,.5);font-size:.9rem;line-height:1.7;margin-bottom:20px}
.footer-socials{display:flex;gap:8px}
.footer-socials a{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.07);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.6);font-size:.8rem;transition:var(--tx)}
.footer-socials a:hover{background:var(--accent);color:var(--white);transform:translateY(-3px)}
.footer-col h4{color:var(--white);font-size:.9375rem;margin-bottom:18px;font-weight:600}
.footer-col ul{display:flex;flex-direction:column;gap:9px}
.footer-col ul li a{color:rgba(255,255,255,.5);font-size:.9rem;display:flex;align-items:center;gap:6px;transition:var(--tx)}
.footer-col ul li a:hover{color:var(--white);padding-left:6px}
.footer-news h4{color:var(--white);font-size:.9375rem;margin-bottom:18px;font-weight:600}
.footer-news>p{color:rgba(255,255,255,.5);font-size:.875rem;margin-bottom:14px}
.news-form{display:flex;gap:8px;margin-bottom:20px}
.news-form input{flex:1;padding:10px 14px;border-radius:var(--r-full);border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.07);color:var(--white);font-family:inherit;font-size:.875rem;outline:none;transition:var(--tx)}
.news-form input::placeholder{color:rgba(255,255,255,.3)}
.news-form input:focus{border-color:var(--accent);background:rgba(255,255,255,.1)}
.news-form button{width:40px;height:40px;border-radius:50%;background:var(--accent);border:none;display:flex;align-items:center;justify-content:center;color:var(--white);font-size:.875rem;flex-shrink:0;transition:var(--tx)}
.news-form button:hover{background:var(--accent-dark);transform:scale(1.08)}
.footer-contacts{display:flex;flex-direction:column;gap:8px}
.footer-contacts li{display:flex;align-items:flex-start;gap:10px;color:rgba(255,255,255,.5);font-size:.875rem}
.footer-contacts li i{color:var(--accent2);width:14px;flex-shrink:0;margin-top:2px}
.footer-contacts li a,.footer-contacts li span{color:rgba(255,255,255,.5);line-height:1.5}
.footer-contacts li a:hover{color:var(--white)}
.footer-bottom{padding:22px 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.footer-bottom p{color:rgba(255,255,255,.35);font-size:.8125rem;margin:0}
.footer-bottom i{color:#F43F5E}

/* ================================================================
   BACK TO TOP
   ================================================================ */
.back-to-top{position:fixed;bottom:28px;right:28px;width:44px;height:44px;border-radius:50%;background:var(--accent);color:var(--white);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(99,102,241,.4);opacity:0;visibility:hidden;transition:var(--tx);z-index:997;font-size:.8rem}
.back-to-top.visible{opacity:1;visibility:visible}
.back-to-top:hover{transform:translateY(-3px);background:var(--accent-dark);color:var(--white)}

/* ================================================================
   RESPONSIVE
   ================================================================ */
@media(max-width:1100px){
  .services-bento{grid-template-columns:1fr 1fr;grid-template-areas:"feat feat""s1 s2""s3 s4"}
  .stats-panel{grid-template-columns:1fr 1fr;gap:14px}
  .magazine-grid{grid-template-columns:1fr 1fr}
  .team-feature-card{grid-row:span 1;aspect-ratio:4/3}
  .footer-inner{grid-template-columns:1fr 1fr;gap:36px}
  .why-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:992px){
  .nav-menu{position:fixed;top:calc(var(--nav-h) - 8px);left:16px;right:16px;border-radius:16px;background:#fff;box-shadow:0 16px 40px rgba(0,0,0,.35);padding:20px;transform:translateY(-110%);opacity:0;transition:var(--tx);z-index:999;visibility:hidden}
  .nav-menu.open{transform:translateY(0);opacity:1;visibility:visible}
  .nav-list{flex-direction:column;gap:0;align-items:stretch}
  .nav-link{padding:13px 0;border-bottom:1px solid #eef1f7;border-radius:0;color:#1e293b!important}
  .dropdown{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;background:#f4f6fb;border-radius:var(--r);margin:6px 0;display:none}
  .nav-item.open .dropdown{display:block}
  .dropdown li a{color:#475569!important}
  .dropdown li a:hover{color:#6366f1!important}
  .nav-toggle{display:flex}
  .nav-cta .btn-primary{display:none}
  .hero-inner{grid-template-columns:1fr;padding:64px 24px}
  .hero-right{display:none}
  .about-split{grid-template-columns:1fr;gap:48px}
  .about-img-card{right:8px;bottom:8px}
  .process-track{grid-template-columns:repeat(2,1fr);gap:32px}
  .process-track::before{display:none}
  .magazine-grid{grid-template-columns:1fr}
  .team-feature-card{aspect-ratio:16/9}
  .contact-wrap{grid-template-columns:1fr;gap:40px}
  .film-wrap{grid-template-columns:1fr}
  .film-img{max-width:300px}
  .team-grid-4{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
  .testi-prev{left:-16px}
  .testi-next{right:-16px}
  .testi-slider-wrap{padding:0 48px}
}
@media(max-width:768px){
  :root{--nav-h:68px}
  .section{padding:72px 0}
  .services-bento{grid-template-columns:1fr;grid-template-areas:"feat""s1""s2""s3""s4"}
  .stats-panel{grid-template-columns:1fr 1fr}
  .hero-trust{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .hero-trust-divider{display:none}
  .process-track{grid-template-columns:1fr;gap:24px}
  .projects-grid{grid-template-columns:repeat(2,1fr)}
  .form-row{grid-template-columns:1fr}
  .why-grid{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr;gap:28px}
  .footer-bottom{flex-direction:column;text-align:center}
  .section-head{margin-bottom:48px}
}
@media(max-width:480px){
  .container{padding:0 16px}
  .stats-panel{grid-template-columns:1fr}
  .projects-grid{grid-template-columns:1fr}
  .team-grid-4{grid-template-columns:1fr 1fr}
}


/* ================================================================
   LIGHT SECTIONS — alternate with dark bands for visual rhythm
   ================================================================ */
.process-section{background:var(--off-white)}
.process-section::before{background:radial-gradient(ellipse 60% 50% at 50% 0%,rgba(99,102,241,.08) 0%,transparent 70%)}
.process-track{gap:24px}
.process-track::before{display:none}
.process-step{background:var(--white);border:1px solid var(--border);border-radius:var(--r-lg);padding:40px 24px 32px;box-shadow:0 4px 20px rgba(15,23,42,.05);position:relative;transition:all .35s ease}
.process-step:hover{transform:translateY(-6px);box-shadow:0 18px 44px rgba(99,102,241,.16);border-color:rgba(99,102,241,.35)}
.process-step::after{content:'';position:absolute;top:0;left:20%;right:20%;height:3px;background:var(--grad);border-radius:0 0 4px 4px}
.process-step h4{color:var(--text)}
.process-step p{color:var(--muted)}
.process-circle{box-shadow:0 8px 22px rgba(99,102,241,.35)}

.testi-section{background:var(--white)}
.testi-bg-deco{background:radial-gradient(ellipse 60% 60% at 15% 50%,rgba(99,102,241,.08) 0%,transparent 65%),radial-gradient(ellipse 50% 50% at 85% 30%,rgba(6,182,212,.07) 0%,transparent 60%)}
.testi-section::before{opacity:.07}
.testi-text{color:var(--text)}
.testi-name{color:var(--text)}
.testi-avatar{border-color:var(--white);box-shadow:0 0 0 3px rgba(99,102,241,.25)}
.testi-arrow{background:var(--white);border-color:var(--border);color:var(--text);box-shadow:0 4px 14px rgba(15,23,42,.1)}
.testi-dot{background:#cbd5e1}
.testi-dot:hover{background:#94a3b8}
@media(max-width:992px){.process-track{gap:20px}}


/* ================================================================
   HERO VECTOR ART + SHAPES
   ================================================================ */
.hero-vector{position:absolute;top:50%;left:50%;width:140%;max-width:760px;aspect-ratio:1;transform:translate(-50%,-50%);z-index:0;pointer-events:none;overflow:visible}
.hv-ring,.hv-float,.hv-pulse{transform-box:fill-box;transform-origin:center}
.hv-r1{animation:hvSpin 50s linear infinite}
.hv-r2{animation:hvSpin 34s linear infinite reverse}
.hv-r3{animation:hvSpin 22s linear infinite}
.hv-pulse{animation:hvPulse 6s ease-in-out infinite}
.hv-f1{animation:hvBob 6s ease-in-out infinite}
.hv-f2{animation:hvBob 7.5s ease-in-out infinite -2s}
.hv-f3{animation:hvBob 5.5s ease-in-out infinite -1s}
.hv-f4{animation:hvBob 8s ease-in-out infinite -3s}
@keyframes hvSpin{to{transform:rotate(360deg)}}
@keyframes hvPulse{0%,100%{opacity:.7;transform:scale(.94)}50%{opacity:1;transform:scale(1.06)}}
@keyframes hvBob{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-16px) rotate(8deg)}}
.hero-shapes{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.hs{position:absolute;display:block;opacity:.5}
.hs1{width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(99,102,241,.35),transparent 70%);top:8%;left:-60px;animation:hvBob 12s ease-in-out infinite}
.hs2{width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(6,182,212,.3),transparent 70%);bottom:6%;right:30%;animation:hvBob 10s ease-in-out infinite -3s}
.hs3{width:18px;height:18px;border:2px solid rgba(6,182,212,.7);border-radius:4px;top:22%;left:46%;animation:hvBob 7s ease-in-out infinite -1s}
.hs4{width:12px;height:12px;border-radius:50%;background:var(--grad);top:68%;left:44%;animation:hvBob 6s ease-in-out infinite -2s}
.hs5{width:22px;height:22px;border:2px solid rgba(99,102,241,.7);border-radius:50%;top:12%;right:8%;animation:hvBob 9s ease-in-out infinite -4s}

/* ================================================================
   SCROLL REVEAL + PROGRESS BAR
   ================================================================ */
.scroll-progress{position:fixed;top:0;left:0;height:3px;width:100%;background:linear-gradient(90deg,#6366f1,#06b6d4);transform:scaleX(0);transform-origin:left;z-index:1100;pointer-events:none}
.js-reveal .reveal{opacity:0;transform:translateY(36px);transition:opacity .8s cubic-bezier(.22,.8,.3,1),transform .8s cubic-bezier(.22,.8,.3,1);transition-delay:var(--rd,0s);will-change:opacity,transform}
.js-reveal .reveal.reveal-left{transform:translateX(-48px)}
.js-reveal .reveal.reveal-right{transform:translateX(48px)}
.js-reveal .reveal.reveal-zoom{transform:scale(.92)}
.js-reveal .reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  .js-reveal .reveal{opacity:1;transform:none;transition:none}
  .hv-ring,.hv-float,.hv-pulse,.hs{animation:none}
}


/* ================================================================
   HERO SERVICE CARDS (refined)
   ================================================================ */
.hero-right{gap:16px;padding:8px 0;max-width:470px;margin-left:auto;width:100%}
.hero-right::before{content:'';position:absolute;left:44px;top:40px;bottom:40px;width:2px;background:linear-gradient(180deg,rgba(99,102,241,0),rgba(99,102,241,.6),rgba(6,182,212,.6),rgba(6,182,212,0));z-index:0}
.hero-right .float-card{display:flex;align-items:center;gap:16px;margin:0!important;padding:18px 20px;background:linear-gradient(135deg,rgba(255,255,255,.1),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.12);border-radius:18px;box-shadow:0 10px 30px rgba(0,0,0,.25);text-decoration:none;overflow:hidden;animation:none!important;transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}
.hero-right .float-card::before{content:'';position:absolute;left:0;top:18%;bottom:18%;width:3px;border-radius:0 4px 4px 0;background:var(--grad)}
.hero-right .float-card:hover{transform:translateY(-4px);border-color:rgba(99,102,241,.6);box-shadow:0 14px 36px rgba(99,102,241,.3)}
.hero-right .float-card-icon{flex-shrink:0;width:52px;height:52px;margin:0;border-radius:14px;font-size:1.2rem;box-shadow:0 8px 20px rgba(99,102,241,.4)}
.fc-text{flex:1;min-width:0}
.hero-right .float-card h5{font-size:1rem;margin-bottom:3px}
.hero-right .float-card p{font-size:.8125rem;line-height:1.45}
.fc-num{position:absolute;top:10px;right:16px;font-family:'Sora',sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.1em;color:rgba(255,255,255,.28)}
.fc-arrow{flex-shrink:0;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;color:rgba(255,255,255,.7);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);margin-top:14px;transition:all .3s ease}
.float-card:hover .fc-arrow{background:var(--grad);border-color:transparent;color:#fff;transform:translateX(3px)}
.hero-vector{width:125%;max-width:640px;opacity:.85}


/* ================================================================
   SECTION SPACING
   ================================================================ */
@media(max-width:768px){.nav-logo{height:42px}}


/* ================================================================
   PERFORMANCE — backdrop blur on many layers makes scrolling lag
   ================================================================ */
*,*::before,*::after{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.hero-right .float-card{background:linear-gradient(135deg,rgba(40,48,95,.85),rgba(18,24,52,.9))}
.client-card{background:rgba(24,30,58,.9)}
.hero-grid,.hero-bg-radial{will-change:auto}

/* Navbar: fully opaque, no accent/progress lines */
.navbar{background:#fff}
.navbar::after{display:none!important}
.scroll-progress{display:none!important}

/* Navbar: constant height (no resize on scroll) + white cover above it so nothing shows over the top edge */
.navbar,.navbar.scrolled{height:var(--nav-h)}
.navbar::before{content:'';position:absolute;left:0;right:0;bottom:100%;height:120px;background:#fff}


/* Services panel: wider featured column, two-column compact list */
.services-bento{grid-template-columns:1.55fr 1fr 1fr}
.service-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.service-list-item{padding:10px 14px;gap:10px;min-width:0}
.service-list-item i{width:18px;text-align:center;flex-shrink:0}
.service-list-item span{font-size:.84rem;line-height:1.3}
@media(max-width:1100px){.services-bento{grid-template-columns:1fr 1fr;grid-template-areas:"feat feat""s1 s2""s3 s4"}}
@media(max-width:520px){.service-list{grid-template-columns:1fr}}
.service-list-item{align-items:flex-start}
.service-list-item i{margin-top:3px}
.service-list-item span b{display:block;color:var(--white);font-weight:600;font-size:.86rem}
.service-list-item span small{display:block;margin-top:2px;color:rgba(255,255,255,.55);font-size:.74rem;line-height:1.4;font-weight:400}
.service-list{grid-template-columns:1fr}
.services-bento{grid-template-columns:1.25fr 1fr 1fr}

/* Services bento: 6 cards, 2 per row beside the featured panel */
.services-bento{grid-template-rows:repeat(3,1fr);grid-template-areas:"feat s1 s2""feat s3 s4""feat s5 s6"}
.sb-s5{grid-area:s5}.sb-s6{grid-area:s6}
@media(max-width:1100px){.services-bento{grid-template-rows:auto;grid-template-columns:1fr 1fr;grid-template-areas:"feat feat""s1 s2""s3 s4""s5 s6"}}
@media(max-width:768px){.services-bento{grid-template-columns:1fr;grid-template-areas:"feat""s1""s2""s3""s4""s5""s6"}}

/* Services bento: compact cards so both sides end at the same height */
.services-bento{gap:14px}
.bento-card{padding:26px 28px}
.sb-featured{padding:30px 28px}
.bento-card:not(.sb-featured) .bento-icon{width:44px;height:44px;font-size:1.15rem;margin-bottom:12px}
.bento-card:not(.sb-featured) h4{font-size:1.05rem;margin-bottom:6px}
.bento-card:not(.sb-featured) p{font-size:.875rem;line-height:1.55;margin:0}
.bento-card:not(.sb-featured) .link-arrow{margin-top:12px;font-size:.875rem}
.sb-featured .service-list{gap:8px;margin-top:18px}
.sb-featured .service-list-item{padding:9px 14px}
.sb-featured .link-arrow{margin-top:18px}

/* Process: numbered circles sit above the cards on one connected timeline */
.process-track{margin-top:112px}
.process-track::before{display:none}
.process-line{position:absolute;top:-56px;left:12.5%;right:12.5%;height:4px;margin-top:-2px;border-radius:4px;background:linear-gradient(90deg,#6366f1,#06b6d4);box-shadow:0 0 14px rgba(99,102,241,.45);transform-origin:left center;z-index:0}
.process-step{overflow:visible;padding-top:40px;z-index:1}
.process-step::before{content:'';position:absolute;top:-20px;left:50%;width:3px;height:20px;margin-left:-1.5px;background:linear-gradient(180deg,#6366f1,#06b6d4)}
.process-circle{position:absolute;top:-92px;left:calc(50% - 36px);margin:0;z-index:2;border:5px solid var(--off-white);box-shadow:0 0 0 2px rgba(99,102,241,.35),0 10px 24px rgba(99,102,241,.4)}
@media(max-width:992px){
  .process-track{margin-top:72px;row-gap:96px}
  .process-line{display:none}
  .process-step::before{display:none}
}

/* CTA: bright gradient band so it reads as its own section, clearly apart from the dark footer */
.cta-section{background:linear-gradient(120deg,#4338ca 0%,#2563eb 55%,#0891b2 100%);padding:96px 0}
.cta-section::before{background:radial-gradient(circle at 12% 20%,rgba(255,255,255,.18) 0,transparent 38%),radial-gradient(circle at 88% 85%,rgba(255,255,255,.14) 0,transparent 42%)}
.cta-section::after{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse 70% 80% at 50% 50%,#000 20%,transparent 80%);mask-image:radial-gradient(ellipse 70% 80% at 50% 50%,#000 20%,transparent 80%);pointer-events:none}
.cta-section .label-chip.dark{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.3);color:#fff}
.cta-section>.container>p{color:rgba(255,255,255,.88)}
.cta-section .btn-primary{background:#fff;color:#3730a3;box-shadow:0 10px 28px rgba(0,0,0,.25)}
.cta-section .btn-primary:hover{background:#f1f5ff;color:#3730a3;box-shadow:0 14px 34px rgba(0,0,0,.32)}
.cta-section .btn-ghost{background:transparent;border:2px solid rgba(255,255,255,.7);color:#fff}
.cta-section .btn-ghost:hover{background:rgba(255,255,255,.15);border-color:#fff;color:#fff}
.footer{background:#070b17}

.footer-brand h4{color:var(--white);font-size:1rem;font-weight:700;margin-bottom:16px}
.footer-brand p{text-align:justify;hyphens:auto}

/* ================================================================
   ABOUT: CORE SERVICES + INDUSTRIES
   ================================================================ */
.svc4-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.svc4-card{position:relative;background:var(--white);border:1px solid var(--border);border-radius:var(--r-xl);padding:34px 26px 30px;overflow:hidden;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.svc4-card::before{content:'';position:absolute;left:0;top:0;width:100%;height:4px;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .45s ease}
.svc4-card:hover{transform:translateY(-8px);box-shadow:0 22px 50px rgba(99,102,241,.18);border-color:rgba(99,102,241,.35)}
.svc4-card:hover::before{transform:scaleX(1)}
.svc4-num{position:absolute;top:14px;right:20px;font-family:'Sora',sans-serif;font-size:3.2rem;font-weight:800;line-height:1;color:rgba(99,102,241,.09);transition:color .35s ease}
.svc4-card:hover .svc4-num{color:rgba(99,102,241,.2)}
.svc4-icon{width:58px;height:58px;border-radius:16px;background:var(--grad);color:#fff;font-size:1.4rem;display:flex;align-items:center;justify-content:center;margin-bottom:22px;box-shadow:0 10px 24px rgba(99,102,241,.35);transition:transform .4s ease}
.svc4-card:hover .svc4-icon{transform:rotate(-8deg) scale(1.08)}
.svc4-card h4{font-size:1.1rem;margin-bottom:10px}
.svc4-card p{font-size:.9rem;line-height:1.65;margin:0;color:var(--muted)}

.ind-panel{position:relative;margin-top:56px;padding:52px 40px 44px;border-radius:28px;background:linear-gradient(135deg,#0b1020,#1e1b4b 55%,#0c2a4a);overflow:hidden;text-align:center}
.ind-panel::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 15% 15%,rgba(99,102,241,.35),transparent 45%),radial-gradient(circle at 90% 90%,rgba(6,182,212,.28),transparent 45%)}
.ind-panel>*{position:relative}
.ind-head h3{color:#fff;margin:16px auto 34px;max-width:640px;font-size:1.5rem;line-height:1.35}
.ind-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ind-tile{display:flex;align-items:center;gap:16px;padding:18px 22px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:18px;text-align:left;transition:transform .3s ease,background .3s ease,border-color .3s ease,box-shadow .3s ease}
.ind-tile:hover{transform:translateY(-5px);background:rgba(255,255,255,.13);border-color:rgba(34,211,238,.55);box-shadow:0 14px 34px rgba(0,0,0,.35)}
.ind-icon{width:48px;height:48px;border-radius:14px;flex-shrink:0;background:var(--grad);color:#fff;font-size:1.15rem;display:flex;align-items:center;justify-content:center}
.ind-name{color:#fff;font-weight:600;font-size:.98rem}
@media(max-width:1100px){.svc4-grid{grid-template-columns:1fr 1fr}}
@media(max-width:768px){
  .svc4-grid{grid-template-columns:1fr}
  .ind-panel{padding:40px 20px 30px}
  .ind-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){.ind-grid{grid-template-columns:1fr}}

/* About: single-line title + technology tiles */
.tech-title{white-space:nowrap;font-size:clamp(1.5rem,3.1vw,2.5rem)}
.tech-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:24px 0}
.tech-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12px 4px;background:var(--white);border:1px solid var(--border);border-radius:14px;color:var(--c);cursor:default;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.tech-tile i{font-size:1.65rem;transition:transform .35s ease}
.tech-tile span{font-size:.68rem;font-weight:600;color:var(--muted);letter-spacing:.02em}
.tech-tile:hover{transform:translateY(-5px);border-color:var(--c);box-shadow:0 10px 24px rgba(15,23,42,.1),0 0 0 3px color-mix(in srgb,var(--c) 18%,transparent)}
.tech-tile:hover i{transform:scale(1.2) rotate(-6deg)}
@media(max-width:560px){.tech-grid{grid-template-columns:repeat(4,1fr)}.tech-title{white-space:normal}}

/* Dark variant of the process section (white text inline, used on Why Choose Us) */
.process-section.process-dark{background:var(--primary)}
.process-section.process-dark::before{background:radial-gradient(ellipse 70% 60% at 50% 0%,rgba(99,102,241,.2) 0%,transparent 60%)}

/* ================================================================
   FILM PRODUCTION PAGE
   ================================================================ */
.film-layout{display:grid;grid-template-columns:340px 1fr;gap:56px;align-items:start}
.film-photo{position:sticky;top:calc(var(--nav-h) + 24px);border-radius:var(--r-xl);overflow:hidden;box-shadow:0 24px 56px rgba(15,23,42,.22);aspect-ratio:4/5;background:var(--primary)}
.film-photo::after{content:'';position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);background:linear-gradient(180deg,transparent 60%,rgba(10,15,30,.55));pointer-events:none}
.film-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.film-meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}
.film-tag{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;background:rgba(99,102,241,.08);border:1px solid rgba(99,102,241,.22);color:var(--accent);font-size:.82rem;font-weight:600}
.film-tag i{font-size:.8rem}
.film-title{font-size:clamp(1.5rem,2.6vw,2rem);margin-bottom:18px}
.film-layout p{margin-bottom:14px}
.feature-list{display:grid;gap:14px}
.feature-item{display:flex;align-items:flex-start;gap:18px;padding:20px 22px;background:var(--white);border:1px solid var(--border);border-radius:var(--r-lg);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.feature-item:hover{transform:translateX(6px);box-shadow:0 14px 34px rgba(99,102,241,.14);border-color:rgba(99,102,241,.35)}
.feature-icon{width:50px;height:50px;border-radius:14px;flex-shrink:0;background:var(--grad);color:#fff;font-size:1.15rem;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(99,102,241,.35)}
.feature-text h5{font-size:1.02rem;margin-bottom:4px}
.feature-text p{margin:0;font-size:.9rem;line-height:1.6}
@media(max-width:992px){
  .film-layout{grid-template-columns:1fr;gap:36px}
  .film-photo{position:relative;top:0;max-width:360px;margin:0 auto}
}

/* ---- Film page: cinematic touches ---- */
.film-layout p{text-align:justify;hyphens:auto}
.film-title{text-align:left}
.film-side{position:sticky;top:calc(var(--nav-h) + 24px)}
.film-photo{position:relative;top:0}
.film-photo::before{content:'';position:absolute;inset:0;z-index:2;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.22) 50%,transparent 65%);transform:translateX(-120%);animation:filmShine 5s ease-in-out infinite;pointer-events:none}
@keyframes filmShine{0%,55%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
.film-rec{position:absolute;top:16px;left:16px;z-index:3;display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border-radius:999px;background:rgba(10,15,30,.7);color:#fff;font:700 .72rem/1 'Inter',sans-serif;letter-spacing:.14em}
.rec-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#ef4444;box-shadow:0 0 0 0 rgba(239,68,68,.6);animation:recBlink 1.3s ease-in-out infinite}
@keyframes recBlink{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(239,68,68,.55)}50%{opacity:.45;box-shadow:0 0 0 7px rgba(239,68,68,0)}}
.film-slate{position:absolute;left:16px;right:16px;bottom:16px;z-index:3;padding:12px 16px;border-radius:12px;background:rgba(10,15,30,.72);border:1px solid rgba(255,255,255,.18);color:#fff}
.film-slate b{display:block;font:700 1rem 'Sora',sans-serif}
.film-slate span{font-size:.75rem;opacity:.75;letter-spacing:.06em}
.film-tag{transition:transform .3s ease,background .3s ease}
.film-tag:hover{transform:translateY(-3px);background:rgba(99,102,241,.16)}

/* reels + perforated film strip */
.reel{position:absolute;color:rgba(255,255,255,.14);animation:reelSpin 18s linear infinite;pointer-events:none}
@keyframes reelSpin{to{transform:rotate(360deg)}}
.film-reel-a{width:230px;height:230px;right:6%;top:18%}
.film-reel-b{width:120px;height:120px;left:5%;bottom:26%;animation-duration:11s;animation-direction:reverse;color:rgba(6,182,212,.22)}
.film-strip{position:absolute;left:0;right:0;bottom:0;height:34px;z-index:1;background:#05070f;border-top:1px solid rgba(255,255,255,.1)}
.film-strip::before,.film-strip::after{content:'';position:absolute;left:0;right:0;height:8px;background-image:repeating-linear-gradient(90deg,transparent 0 10px,#e2e8f0 10px 22px,transparent 22px 32px);background-size:32px 100%;opacity:.75;animation:stripRun 3s linear infinite}
.film-strip::before{top:5px}.film-strip::after{bottom:5px}
@keyframes stripRun{to{background-position-x:32px}}

/* showcase */
.cine-box{position:relative;max-width:900px;margin:0 auto;aspect-ratio:16/9;border-radius:var(--r-xl);overflow:hidden;background:radial-gradient(ellipse at center,#1e1b4b 0%,#0a0f1e 75%);box-shadow:0 30px 70px rgba(15,23,42,.35);display:flex;align-items:center;justify-content:center}
.cine-box .film-strip{height:30px}
.film-strip-top{top:0;bottom:auto;border-top:0;border-bottom:1px solid rgba(255,255,255,.1)}
.cine-glow{position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(99,102,241,.35),transparent 55%);animation:cineGlow 4s ease-in-out infinite}
@keyframes cineGlow{0%,100%{opacity:.6;transform:scale(.92)}50%{opacity:1;transform:scale(1.08)}}
.cine-reel-l{width:150px;height:150px;left:6%;top:50%;margin-top:-75px;color:rgba(255,255,255,.1)}
.cine-reel-r{width:110px;height:110px;right:7%;top:50%;margin-top:-55px;color:rgba(6,182,212,.18);animation-direction:reverse;animation-duration:12s}
.cine-center{position:relative;z-index:2;text-align:center}
.cine-play{position:relative;width:86px;height:86px;border-radius:50%;border:0;cursor:pointer;color:#fff;font-size:1.6rem;padding-left:5px;background:linear-gradient(135deg,#6366f1,#06b6d4);box-shadow:0 14px 36px rgba(79,70,229,.55);transition:transform .3s ease}
.cine-play:hover{transform:scale(1.1)}
.cine-play::before,.cine-play::after{content:'';position:absolute;inset:0;border-radius:50%;border:2px solid rgba(99,102,241,.7);animation:playRing 2.4s ease-out infinite}
.cine-play::after{animation-delay:1.2s}
@keyframes playRing{0%{transform:scale(1);opacity:.9}100%{transform:scale(2);opacity:0}}
.cine-title{margin:22px 0 4px;color:#fff;font:700 1.3rem 'Sora',sans-serif;letter-spacing:.2em;text-transform:uppercase}
.cine-sub{margin:0;color:rgba(255,255,255,.65);font-size:.95rem}

@media(max-width:992px){.film-side{position:relative;top:0}.film-reel-a{width:140px;height:140px}}
@media(prefers-reduced-motion:reduce){.reel,.film-photo::before,.rec-dot,.film-strip::before,.film-strip::after,.cine-glow,.cine-play::before,.cine-play::after{animation:none}}

/* Film showcase: real video */
.cine-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000;opacity:0;visibility:hidden;z-index:4;transition:opacity .5s ease}
.cine-box.playing .cine-video{opacity:1;visibility:visible}
.cine-box.playing .cine-center,.cine-box.playing .cine-glow,.cine-box.playing .reel,.cine-box.playing .film-strip{opacity:0;visibility:hidden;transition:opacity .4s ease,visibility 0s .4s}
.cine-center{cursor:pointer;transition:opacity .4s ease}

/* Film page: three feature cards in one row, full width under the intro */
.feature-list{grid-template-columns:repeat(3,1fr);gap:20px;margin-top:56px}
.feature-item{flex-direction:column;gap:16px;padding:28px 26px}
.feature-item:hover{transform:translateY(-8px)}
.feature-icon{width:56px;height:56px;font-size:1.3rem}
@media(max-width:900px){.feature-list{grid-template-columns:1fr}.feature-item{flex-direction:row}}

/* ================================================================
   TEAM: hover detail panel that slides out beside the card
   ================================================================ */
.team-grid-4{position:relative}
.team-card{position:relative;overflow:visible;outline:none;transition:transform .35s ease,box-shadow .35s ease,opacity .35s ease,filter .35s ease}
.team-photo{border-radius:var(--r-lg) var(--r-lg) 0 0}
.team-grid-4:hover .team-card:not(:hover):not(:focus-within){opacity:.55;filter:saturate(.7)}
.team-card:hover,.team-card:focus-within,.team-card.open{z-index:20;transform:translateY(-6px)}

.team-detail{position:absolute;top:0;left:calc(100% + 18px);width:350px;padding:26px 26px 22px;border-radius:20px;color:#fff;background:linear-gradient(150deg,#1e1b4b,#0f172a 70%);border:1px solid rgba(255,255,255,.12);box-shadow:0 28px 60px rgba(15,23,42,.45);opacity:0;visibility:hidden;pointer-events:none;transform:translateX(-26px) scale(.94);transform-origin:left top;transition:opacity .35s ease,transform .45s cubic-bezier(.22,.8,.3,1),visibility 0s .45s}
.team-detail::before{content:'';position:absolute;left:0;top:0;right:0;height:4px;border-radius:20px 20px 0 0;background:var(--grad)}
.td-arrow{position:absolute;top:44px;left:-8px;width:16px;height:16px;background:#1e1b4b;border-left:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);transform:rotate(45deg)}
.team-card:hover .team-detail,.team-card:focus-within .team-detail,.team-card.open .team-detail{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition:opacity .35s ease,transform .45s cubic-bezier(.22,.8,.3,1),visibility 0s}
.td-role{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#22d3ee}
.td-head h4{color:#fff;font-size:1.35rem;margin:4px 0 14px}
.td-skills{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px}
.td-skills span{padding:5px 11px;border-radius:999px;font-size:.72rem;font-weight:600;color:#c7d2fe;background:rgba(99,102,241,.2);border:1px solid rgba(129,140,248,.35)}
.team-detail p{margin:0 0 10px;font-size:.85rem;line-height:1.65;color:rgba(255,255,255,.75);text-align:justify}
.team-detail p:last-child{margin-bottom:0}
/* staggered content inside the panel */
.team-detail>*:not(.td-arrow){opacity:0;transform:translateX(-14px);transition:opacity .4s ease,transform .5s ease}
.team-card:hover .team-detail>*:not(.td-arrow),.team-card:focus-within .team-detail>*:not(.td-arrow),.team-card.open .team-detail>*:not(.td-arrow){opacity:1;transform:none}
.team-card:hover .td-head,.team-card.open .td-head{transition-delay:.1s}
.team-card:hover .td-skills,.team-card.open .td-skills{transition-delay:.18s}
.team-card:hover .team-detail p:nth-of-type(1),.team-card.open .team-detail p:nth-of-type(1){transition-delay:.26s}
.team-card:hover .team-detail p:nth-of-type(2),.team-card.open .team-detail p:nth-of-type(2){transition-delay:.34s}

/* last card in each row opens to the left */
.team-grid-4>.team-card:nth-child(4n) .team-detail{left:auto;right:calc(100% + 18px);transform-origin:right top;transform:translateX(26px) scale(.94)}
.team-grid-4>.team-card:nth-child(4n):hover .team-detail,.team-grid-4>.team-card:nth-child(4n):focus-within .team-detail,.team-grid-4>.team-card:nth-child(4n).open .team-detail{transform:none}
.team-grid-4>.team-card:nth-child(4n) .td-arrow{left:auto;right:-8px;transform:rotate(225deg)}
.team-grid-4>.team-card:nth-child(4n) .team-detail>*:not(.td-arrow){transform:translateX(14px)}
.team-grid-4>.team-card:nth-child(4n):hover .team-detail>*:not(.td-arrow),.team-grid-4>.team-card:nth-child(4n).open .team-detail>*:not(.td-arrow){transform:none}

@media(max-width:1100px){
  .team-detail{width:300px}
}
@media(max-width:992px){
  .team-grid-4>.team-card:nth-child(4n) .team-detail{left:calc(100% + 18px);right:auto;transform-origin:left top;transform:translateX(-26px) scale(.94)}
  .team-grid-4>.team-card:nth-child(4n):hover .team-detail,.team-grid-4>.team-card:nth-child(4n).open .team-detail{transform:none}
  .team-grid-4>.team-card:nth-child(4n) .td-arrow{left:-8px;right:auto;transform:rotate(45deg)}
  .team-grid-4>.team-card:nth-child(2n) .team-detail{left:auto;right:calc(100% + 18px);transform-origin:right top;transform:translateX(26px) scale(.94)}
  .team-grid-4>.team-card:nth-child(2n):hover .team-detail,.team-grid-4>.team-card:nth-child(2n).open .team-detail{transform:none}
  .team-grid-4>.team-card:nth-child(2n) .td-arrow{left:auto;right:-8px;transform:rotate(225deg)}
  .team-grid-4>.team-card:nth-child(2n) .team-detail>*:not(.td-arrow){transform:translateX(14px)}
  .team-grid-4>.team-card:nth-child(2n):hover .team-detail>*:not(.td-arrow),.team-grid-4>.team-card:nth-child(2n).open .team-detail>*:not(.td-arrow){transform:none}
}
/* phones: panel drops open under the card instead of beside it */
@media(max-width:640px){
  .team-grid-4{grid-template-columns:1fr!important}
  .team-grid-4:hover .team-card:not(:hover){opacity:1;filter:none}
  .team-detail,.team-grid-4>.team-card:nth-child(n) .team-detail{position:relative;left:auto;right:auto;top:auto;width:auto;margin:0;border-radius:0 0 var(--r-lg) var(--r-lg);max-height:0;padding-top:0;padding-bottom:0;overflow:hidden;transform:none;border-width:0}
  .team-card.open .team-detail,.team-grid-4>.team-card.open:nth-child(n) .team-detail{max-height:640px;padding:24px 22px 22px;border-width:1px;transition:max-height .5s ease,padding .4s ease,opacity .35s ease,visibility 0s}
  .td-arrow{display:none}
  .team-card.open{transform:none}
}
@media(prefers-reduced-motion:reduce){.team-detail,.team-detail>*{transition:none!important}}
.team-detail::before{display:none}

/* ================================================================
   SERVICES: interactive map + detail sections
   ================================================================ */
.svc-map-section{background:var(--white)}
.svc-map{max-width:1040px;margin:0 auto}
.svc-map-stage{position:relative;aspect-ratio:100/66;border-radius:32px;background:radial-gradient(circle at 50% 50%,rgba(99,102,241,.1),transparent 62%),linear-gradient(180deg,#f8faff,#fff);border:1px solid var(--border);overflow:hidden}
.svc-map-stage::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(99,102,241,.16) 1px,transparent 1px);background-size:26px 26px;mask-image:radial-gradient(circle at 50% 50%,#000 30%,transparent 75%);-webkit-mask-image:radial-gradient(circle at 50% 50%,#000 30%,transparent 75%)}
.svc-map-svg{position:absolute;inset:0;width:100%;height:100%}
.map-ring{fill:rgba(99,102,241,.04);stroke:rgba(99,102,241,.28);stroke-width:1.2;stroke-dasharray:3 4;vector-effect:non-scaling-stroke;animation:mapRing 40s linear infinite}
@keyframes mapRing{to{stroke-dashoffset:-140}}
.map-line{stroke:url(#mapG);stroke-width:2.5;stroke-linecap:round;opacity:.35;vector-effect:non-scaling-stroke;transition:opacity .3s ease,stroke-width .3s ease}
.map-flow{stroke:#fff;stroke-width:2.5;stroke-linecap:round;stroke-dasharray:1.5 8;vector-effect:non-scaling-stroke;opacity:.95;animation:mapFlow 2.2s linear infinite;mix-blend-mode:normal}
@keyframes mapFlow{to{stroke-dashoffset:-19}}
.map-line.active{opacity:1;stroke-width:4}

.map-hub{position:absolute;left:50%;top:50%;width:19%;aspect-ratio:1;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;z-index:3}
.hub-core{position:relative;z-index:2;width:100%;height:100%;border-radius:50%;background:linear-gradient(135deg,#4338ca,#2563eb 60%,#0891b2);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 18px 44px rgba(79,70,229,.5),inset 0 0 0 5px rgba(255,255,255,.18);text-align:center;line-height:1.15}
.hub-core i{font-size:1.5rem;margin-bottom:4px;color:#fde047}
.hub-core b{font:800 1.15rem 'Sora',sans-serif}
.hub-core small{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;opacity:.85}
.hub-pulse{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(99,102,241,.55);animation:hubPulse 3s ease-out infinite}
.hub-pulse-2{animation-delay:1.5s}
@keyframes hubPulse{0%{transform:scale(1);opacity:.9}100%{transform:scale(1.9);opacity:0}}

.map-node{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);z-index:4;display:flex;align-items:center;gap:12px;min-width:215px;padding:12px 40px 12px 12px;border-radius:18px;background:#fff;border:1px solid var(--border);box-shadow:0 10px 28px rgba(15,23,42,.1);color:var(--text);animation:nodeFloat 5s ease-in-out infinite;animation-delay:var(--d);transition:box-shadow .3s ease,border-color .3s ease,background .3s ease}
@keyframes nodeFloat{0%,100%{margin-top:0}50%{margin-top:-7px}}
.map-node:hover{border-color:rgba(99,102,241,.55);box-shadow:0 18px 44px rgba(99,102,241,.3);background:linear-gradient(135deg,#fff,#eef2ff);animation-play-state:paused}
.map-num{position:absolute;top:-11px;left:14px;padding:2px 9px;border-radius:999px;background:var(--grad);color:#fff;font:700 .68rem 'Sora',sans-serif;letter-spacing:.08em}
.map-ico{width:46px;height:46px;border-radius:14px;flex-shrink:0;background:var(--grad);color:#fff;font-size:1.1rem;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 18px rgba(99,102,241,.35);transition:transform .35s ease}
.map-node:hover .map-ico{transform:rotate(-8deg) scale(1.1)}
.map-txt b{display:block;font:700 .92rem/1.25 'Sora',sans-serif;color:var(--text)}
.map-txt small{display:block;margin-top:2px;font-size:.72rem;color:var(--muted)}
.map-go{position:absolute;right:14px;top:50%;margin-top:-7px;font-size:.8rem;color:var(--accent);transition:transform .3s ease}
.map-node:hover .map-go{transform:translateY(4px)}

/* detail sections */
.svc-section{scroll-margin-top:100px}
.svc-row{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.svc-row.reverse .svc-text{order:2}
.svc-row.reverse .svc-media{order:1}
.svc-media{position:relative}
.svc-media img{width:100%;display:block;border-radius:var(--r-xl);box-shadow:var(--sh-xl);position:relative;z-index:1}
.svc-media::before{content:'';position:absolute;inset:-16px 16px 16px -16px;border-radius:var(--r-xl);border:2px dashed rgba(99,102,241,.35);z-index:0}
.svc-row.reverse .svc-media::before{inset:-16px -16px 16px 16px}
.svc-big-num{position:absolute;top:-28px;right:-10px;z-index:2;font:800 4.5rem/1 'Sora',sans-serif;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;opacity:.9}
.svc-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:24px}
.svc-back{font-size:.85rem;font-weight:600;color:var(--muted);display:inline-flex;gap:8px;align-items:center;transition:color .25s ease}
.svc-back:hover{color:var(--accent)}
.svc-section.flash .svc-media img{animation:svcFlash 1.4s ease}
@keyframes svcFlash{0%,100%{box-shadow:var(--sh-xl)}40%{box-shadow:0 0 0 8px rgba(99,102,241,.35),var(--sh-xl)}}

@media(max-width:992px){
  .svc-row{grid-template-columns:1fr;gap:48px}
  .svc-row.reverse .svc-text,.svc-row.reverse .svc-media{order:initial}
  .svc-media{max-width:520px;margin:0 auto}
  .map-node{min-width:0;padding-right:34px}
  .map-txt small{display:none}
  .map-hub{width:21%}
}
/* phones: the map becomes a vertical tree */
@media(max-width:700px){
  .svc-map-stage{aspect-ratio:auto;display:flex;flex-direction:column;align-items:stretch;gap:14px;padding:26px 18px 22px 44px;border-radius:24px}
  .svc-map-svg{display:none}
  .map-hub{position:relative;left:auto;top:auto;transform:none;width:120px;margin:0 auto 6px}
  .svc-map-stage::after{content:'';position:absolute;left:24px;top:150px;bottom:44px;width:3px;border-radius:3px;background:linear-gradient(180deg,#6366f1,#06b6d4);opacity:.5}
  .map-node{position:relative;left:auto;top:auto;transform:none;animation:none;min-width:0;width:100%}
  .map-node::before{content:'';position:absolute;left:-22px;top:50%;width:20px;height:3px;border-radius:3px;background:linear-gradient(90deg,#6366f1,#06b6d4);opacity:.6}
  .map-txt small{display:block}
}
@media(prefers-reduced-motion:reduce){.map-ring,.map-flow,.map-node,.hub-pulse{animation:none}}

/* Hub: company logo on white */
.hub-core{background:#fff;box-shadow:0 18px 44px rgba(79,70,229,.35),0 0 0 6px rgba(99,102,241,.18),0 0 0 12px rgba(99,102,241,.08)}
.hub-core img{width:78%;height:auto;max-height:70%;object-fit:contain;display:block}

/* HD logo: the artwork has wide white margins, so crop to the mark + name inside a small window */
.nav-logo-wrap{width:84px;height:64px;overflow:hidden;position:relative;flex-shrink:0}
.nav-logo{position:absolute;left:-9.5px;top:-19px;width:103px;height:103px;max-width:none;object-fit:contain}
@media(max-width:768px){.nav-logo-wrap{width:72px;height:55px}.nav-logo{left:-8px;top:-16.5px;width:88.5px;height:88.5px}}
.hub-core img{width:106%;max-width:none;max-height:none;height:auto}
.hub-core{overflow:hidden}

/* services dropdown: wider so the four headings stay on one line */
.nav-item.has-dropdown .dropdown{min-width:290px}

/* ================================================================
   SERVICE VISUALS — one relevant UI mockup per service
   (sizes use container units so each mockup scales with its column)
   ================================================================ */
.vis{position:relative;container-type:inline-size;width:100%;aspect-ratio:1/.94;border-radius:var(--r-xl);background:linear-gradient(145deg,#eef2ff 0%,#e0f2fe 100%);box-shadow:var(--sh-xl);overflow:hidden;z-index:1;font-family:'Inter',sans-serif}
.vis::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(99,102,241,.18) 1px,transparent 1px);background-size:3.6cqw 3.6cqw;opacity:.7}
.vis *{box-sizing:border-box}
.svc-media .vis{border-radius:var(--r-xl)}

/* floating chips */
.vchip{position:absolute;z-index:6;display:inline-flex;align-items:center;gap:1.2cqw;padding:1.5cqw 2.6cqw;border-radius:999px;background:#fff;color:#1e293b;font-weight:700;font-size:2.4cqw;line-height:1;box-shadow:0 1.6cqw 4cqw rgba(15,23,42,.18);white-space:nowrap;animation:vFloat 5s ease-in-out infinite}
.vchip i{color:#6366f1;font-size:2.3cqw}
.vchip.c1{top:7%;left:5%}
.vchip.c2{top:41%;right:4%;animation-delay:-1.6s}
.vchip.c3{bottom:8%;left:6%;animation-delay:-3.2s}
@keyframes vFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-1.6cqw)}}

/* ---------- 1. mobile app ---------- */
.vis-app .ph{position:absolute;border-radius:6cqw;background:#0f172a;padding:.9cqw}
.vis-app .ph-back{width:34cqw;aspect-ratio:9/18.2;left:50%;top:12%;transform:translateX(-4%) rotate(9deg);opacity:.92;background:#1e1b4b}
.vis-app .ph-back .ph-screen{background:linear-gradient(160deg,#6366f1,#06b6d4);height:100%}
.vis-app .ph-front{width:40cqw;aspect-ratio:9/18.2;left:50%;top:5%;transform:translateX(-86%) rotate(-5deg);z-index:3;box-shadow:0 4cqw 8cqw rgba(15,23,42,.35);animation:phFloat 6s ease-in-out infinite}
@keyframes phFloat{0%,100%{translate:0 0}50%{translate:0 -2cqw}}
.ph-notch{position:absolute;top:1.6cqw;left:50%;width:10cqw;height:2.2cqw;margin-left:-5cqw;border-radius:2cqw;background:#0f172a;z-index:5}
.ph-screen{position:relative;height:100%;border-radius:5.2cqw;background:#f8fafc;overflow:hidden;padding:5cqw 2.6cqw 2.6cqw;display:flex;flex-direction:column;gap:1.8cqw}
.ap-top{display:flex;align-items:center;gap:1.4cqw}
.ap-av{width:5.4cqw;height:5.4cqw;border-radius:50%;background:linear-gradient(135deg,#f472b6,#6366f1);flex-shrink:0}
.ap-top div{flex:1;line-height:1.2}
.ap-top b{display:block;font-size:2.2cqw;color:#0f172a}
.ap-top small{font-size:1.7cqw;color:#64748b}
.ap-top>i{font-size:2.2cqw;color:#6366f1}
.ap-card{border-radius:2.6cqw;padding:2.2cqw;color:#fff;background:linear-gradient(135deg,#4f46e5,#06b6d4);position:relative;overflow:hidden}
.ap-card small{font-size:1.6cqw;opacity:.85}
.ap-card b{display:block;font:800 3.4cqw 'Sora',sans-serif;margin-top:.4cqw}
.ap-spark{display:flex;align-items:flex-end;gap:.9cqw;height:5.6cqw;margin-top:1.2cqw}
.ap-spark i{flex:1;height:var(--h);background:rgba(255,255,255,.75);border-radius:.6cqw;transform-origin:bottom;animation:barPulse 2.6s ease-in-out infinite}
.ap-spark i:nth-child(odd){animation-delay:-1.2s}
@keyframes barPulse{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.68)}}
.ap-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2cqw}
.ap-grid span{display:flex;flex-direction:column;align-items:center;gap:.6cqw;font-size:1.5cqw;font-weight:600;color:#475569;padding:1.2cqw 0;border-radius:1.8cqw;background:#fff;box-shadow:0 .4cqw 1.2cqw rgba(15,23,42,.06)}
.ap-grid i{font-size:2.3cqw;color:#6366f1}
.ap-list{display:flex;flex-direction:column;gap:1.2cqw}
.ap-list>div{display:flex;align-items:center;gap:1.4cqw;padding:1.3cqw;border-radius:2cqw;background:#fff;box-shadow:0 .4cqw 1.2cqw rgba(15,23,42,.06)}
.ap-list .dot{width:4.4cqw;height:4.4cqw;border-radius:1.4cqw;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.8cqw}
.ap-list .d1{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.ap-list .d2{background:linear-gradient(135deg,#f59e0b,#ef4444)}
.ap-list p{flex:1;margin:0;line-height:1.2}
.ap-list p b{display:block;font-size:1.8cqw;color:#0f172a}.ap-list p small{font-size:1.4cqw;color:#94a3b8}
.ap-list em{font-style:normal;font-weight:700;font-size:1.8cqw;color:#16a34a}
.ap-nav{margin-top:auto;display:flex;justify-content:space-around;padding:1.4cqw 0 .2cqw;border-top:1px solid #e2e8f0}
.ap-nav i{font-size:2.4cqw;color:#94a3b8}.ap-nav i.on{color:#6366f1}

/* ---------- 2. dashboard ---------- */
.vis-dash{display:flex;align-items:center;justify-content:center}
.dash{position:relative;z-index:2;width:86%;height:72%;margin-top:-3%;display:flex;border-radius:2.6cqw;background:#fff;box-shadow:0 3cqw 7cqw rgba(15,23,42,.22);overflow:hidden}
.dash-side{width:8%;background:#0f172a;display:flex;flex-direction:column;align-items:center;gap:2cqw;padding-top:2cqw}
.dash-side>i{color:#fde047;font-size:2.4cqw;margin-bottom:1cqw}
.dash-side span{width:3.4cqw;height:3.4cqw;border-radius:1cqw;background:rgba(255,255,255,.16)}
.dash-side span.on{background:linear-gradient(135deg,#6366f1,#06b6d4)}
.dash-main{flex:1;padding:2cqw 2.2cqw;display:flex;flex-direction:column;gap:1.4cqw;min-width:0}
.dash-top{display:flex;justify-content:space-between;align-items:center}
.dash-top b{font:700 2.4cqw 'Sora',sans-serif;color:#0f172a}
.pill{font-size:1.6cqw;padding:.6cqw 1.6cqw;border-radius:999px;background:#eef2ff;color:#4f46e5;font-weight:600}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2cqw}
.kpis>div{padding:1.2cqw 1.4cqw;border-radius:1.6cqw;background:#f8fafc;border:1px solid #e2e8f0;line-height:1.25}
.kpis small{display:block;font-size:1.5cqw;color:#64748b}
.kpis b{display:block;font:800 2.4cqw 'Sora',sans-serif;color:#0f172a}
.kpis em{font-style:normal;font-size:1.4cqw;font-weight:700;color:#16a34a}
.dash-mid{display:grid;grid-template-columns:1.7fr 1fr;gap:1.4cqw;flex:1;min-height:0}
.chart{border-radius:1.6cqw;background:#f8fafc;border:1px solid #e2e8f0;padding:1.4cqw;display:flex;align-items:flex-end}
.chart-bars{display:flex;align-items:flex-end;gap:1cqw;width:100%;height:100%}
.chart-bars i{flex:1;height:var(--h);border-radius:.8cqw .8cqw 0 0;background:linear-gradient(180deg,#6366f1,#06b6d4);transform-origin:bottom;animation:barGrow 3.2s ease-in-out infinite}
.chart-bars i:nth-child(2n){animation-delay:-.8s}.chart-bars i:nth-child(3n){animation-delay:-1.6s}
@keyframes barGrow{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.62)}}
.donut{position:relative;border-radius:1.6cqw;background:#f8fafc;border:1px solid #e2e8f0;display:flex;align-items:center;justify-content:center}
.donut svg{width:78%;transform:rotate(-90deg)}
.donut circle{fill:none;stroke-width:4.4}
.donut .d-bg{stroke:#e2e8f0}.donut .d-a{stroke:#6366f1;animation:donutSpin 6s ease-in-out infinite}.donut .d-b{stroke:#06b6d4}
@keyframes donutSpin{0%,100%{stroke-dasharray:62 38}50%{stroke-dasharray:48 52}}
.donut b{position:absolute;font:800 2.4cqw 'Sora',sans-serif;color:#0f172a}
.dash-line{width:100%;height:5.4cqw;flex-shrink:0}
.dash-line .area{fill:rgba(99,102,241,.14)}
.dash-line .ln{fill:none;stroke:#6366f1;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;stroke-dasharray:1;animation:lineDraw 4s ease-in-out infinite}
@keyframes lineDraw{0%{stroke-dashoffset:1}60%,100%{stroke-dashoffset:0}}
.rows{display:flex;flex-direction:column;gap:.8cqw}
.rows>div{display:flex;align-items:center;gap:1.2cqw;font-size:1.6cqw}
.rows .av{width:3cqw;height:3cqw;border-radius:50%;flex-shrink:0}
.rows .a1{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.rows .a2{background:linear-gradient(135deg,#06b6d4,#22c55e)}
.rows p{flex:1;margin:0;font-weight:700;color:#0f172a;line-height:1.2}.rows p small{display:block;font-weight:500;color:#94a3b8;font-size:1.3cqw}
.rows em{font-style:normal;font-weight:700;color:#0f172a}
.vis-dash .vchip.c1{top:5%;right:5%;left:auto}.vis-dash .vchip.c2{top:auto;bottom:7%;right:6%}.vis-dash .vchip.c3{bottom:7%;left:5%}

/* ---------- 3. website ---------- */
.vis-web{display:flex;align-items:center;justify-content:center}
.browser{position:relative;z-index:2;width:82%;margin:-2% 0 0 -4%;border-radius:2.2cqw;background:#fff;box-shadow:0 3cqw 7cqw rgba(15,23,42,.24);overflow:hidden;animation:phFloat 7s ease-in-out infinite}
.br-bar{display:flex;align-items:center;gap:1cqw;padding:1.6cqw 2cqw;background:#f1f5f9;border-bottom:1px solid #e2e8f0}
.br-bar>i{width:1.6cqw;height:1.6cqw;border-radius:50%;background:#f87171}.br-bar>i:nth-child(2){background:#fbbf24}.br-bar>i:nth-child(3){background:#34d399}
.br-url{flex:1;margin-left:1.4cqw;padding:.9cqw 2cqw;border-radius:999px;background:#fff;border:1px solid #e2e8f0;font-size:1.7cqw;color:#475569}
.br-url i{color:#16a34a;margin-right:.8cqw;font-size:1.5cqw}
.br-body{padding:2.4cqw}
.br-nav{display:flex;align-items:center;gap:2cqw;margin-bottom:2.4cqw}
.br-nav b{font:800 2.2cqw 'Sora',sans-serif;color:#4f46e5;margin-right:auto}
.br-nav span{width:6cqw;height:1.1cqw;border-radius:1cqw;background:#e2e8f0}
.br-nav em{font-style:normal;font-size:1.6cqw;font-weight:700;color:#fff;background:linear-gradient(135deg,#6366f1,#06b6d4);padding:.8cqw 1.8cqw;border-radius:999px}
.br-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:2cqw;align-items:center;margin-bottom:2.4cqw}
.br-copy h5{font:800 3.1cqw/1.18 'Sora',sans-serif;color:#0f172a;margin:0 0 1cqw}
.br-copy p{font-size:1.7cqw;color:#64748b;margin:0 0 1.6cqw;line-height:1.45}
.br-btn{display:inline-block;font-size:1.7cqw;font-weight:700;color:#fff;padding:1cqw 2.4cqw;border-radius:999px;background:linear-gradient(135deg,#6366f1,#06b6d4);animation:btnPulse 2.4s ease-in-out infinite}
@keyframes btnPulse{0%,100%{box-shadow:0 0 0 0 rgba(99,102,241,.5)}50%{box-shadow:0 0 0 1.2cqw rgba(99,102,241,0)}}
.br-art{position:relative;height:17cqw;border-radius:2cqw;background:linear-gradient(135deg,#eef2ff,#cffafe);overflow:hidden}
.br-art span{position:absolute;border-radius:50%}
.br-art .sh1{width:9cqw;height:9cqw;left:12%;top:14%;background:linear-gradient(135deg,#6366f1,#8b5cf6);opacity:.85;animation:vFloat 5s ease-in-out infinite}
.br-art .sh2{width:6cqw;height:6cqw;right:12%;bottom:14%;background:linear-gradient(135deg,#06b6d4,#22d3ee);animation:vFloat 4s ease-in-out infinite -1s}
.br-art .sh3{width:7cqw;height:7cqw;right:30%;top:20%;background:#fff;color:#6366f1;font-size:3cqw;display:flex;align-items:center;justify-content:center;box-shadow:0 1cqw 2.4cqw rgba(15,23,42,.18);animation:vFloat 6s ease-in-out infinite -2s}
.br-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6cqw}
.br-cards span{padding:1.6cqw;border-radius:1.6cqw;background:#f8fafc;border:1px solid #e2e8f0;display:flex;flex-direction:column;gap:.8cqw}
.br-cards span i{font-size:2.6cqw;color:#6366f1;margin-bottom:.4cqw}
.br-cards b{height:1cqw;border-radius:1cqw;background:#e2e8f0}.br-cards b+b{width:60%}
.minimobile{position:absolute;z-index:4;right:5%;bottom:6%;width:15cqw;aspect-ratio:9/17;border-radius:3cqw;background:#fff;border:.8cqw solid #0f172a;box-shadow:0 3cqw 6cqw rgba(15,23,42,.3);padding:2cqw 1.4cqw;display:flex;flex-direction:column;gap:1cqw;animation:phFloat 5.5s ease-in-out infinite -2s}
.minimobile span{height:5cqw;border-radius:1.2cqw;background:linear-gradient(135deg,#6366f1,#06b6d4)}
.minimobile b{height:1.1cqw;border-radius:1cqw;background:#e2e8f0}.minimobile b:nth-child(3){width:70%}
.vis-web .vchip.c1{top:5%;right:5%;left:auto}.vis-web .vchip.c2{top:auto;bottom:6%;left:5%;right:auto}.vis-web .vchip.c3{top:auto;bottom:auto;display:none}

/* ---------- 4. industrial automation ---------- */
.vis-ind{display:flex;align-items:center;justify-content:center}
.ind-svg{position:relative;z-index:2;width:96%;height:auto;margin-top:-2%}
.ind-bars rect{fill:url(#indBox);transform-box:fill-box;transform-origin:bottom;animation:barGrow 2.8s ease-in-out infinite}
.ind-bars rect:nth-child(2n){animation-delay:-.7s}.ind-bars rect:nth-child(3n){animation-delay:-1.5s}
.led{animation:ledBlink 1.6s ease-in-out infinite}.led.l1{fill:#22c55e}.led.l2{fill:#fbbf24;animation-delay:-.5s}.led.l3{fill:#ef4444;animation-delay:-1s}
@keyframes ledBlink{0%,100%{opacity:1}50%{opacity:.25}}
.ind-t{font:700 9px 'Inter',sans-serif;fill:#22d3ee;letter-spacing:.14em}
.ind-t2{font:700 8.5px 'Inter',sans-serif;fill:#475569;letter-spacing:.08em}
.ind-t3{font:700 10px 'Inter',sans-serif;fill:#6366f1;letter-spacing:.2em}
.g-fill{stroke-dasharray:1;stroke-dashoffset:.06}
.g-needle{transform-box:view-box;transform-origin:300px 62px;animation:needle 5s ease-in-out infinite}
@keyframes needle{0%,100%{transform:rotate(60deg)}50%{transform:rotate(100deg)}}
.arm{transform-box:view-box;transform-origin:111px 224px;animation:armSwing 5s ease-in-out infinite}
.arm2{transform-box:view-box;transform-origin:111px 130px;animation:armBend 5s ease-in-out infinite}
@keyframes armSwing{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(18deg)}}
@keyframes armBend{0%,100%{transform:rotate(0)}50%{transform:rotate(-10deg)}}
.belt{animation:beltRun 1.2s linear infinite}
@keyframes beltRun{to{stroke-dashoffset:-18}}
.beam{animation:beamPulse 1.4s ease-in-out infinite}
@keyframes beamPulse{0%,100%{opacity:.55}50%{opacity:1}}
.bx{animation:boxMove 7.5s linear infinite}
.bx.b2{animation-delay:-2.5s}.bx.b3{animation-delay:-5s}
@keyframes boxMove{0%{transform:translateX(-50px)}100%{transform:translateX(420px)}}
.vis-ind .vchip.c1{top:auto;bottom:22%;left:5%}.vis-ind .vchip.c2{top:auto;bottom:22%;right:5%}.vis-ind .vchip.c3{display:none}

/* ---------- 5 / 6 placeholders ---------- */
.vis-ph{display:flex;align-items:center;justify-content:center}
.phc{position:absolute;z-index:2;width:44cqw;padding:3cqw;border-radius:3cqw;background:#fff;box-shadow:0 3cqw 7cqw rgba(15,23,42,.2);display:flex;flex-direction:column;gap:1.4cqw;animation:phFloat 6s ease-in-out infinite}
.phc i{font-size:5cqw;color:#6366f1;margin-bottom:.6cqw}
.phc b{height:1.6cqw;border-radius:1cqw;background:#e2e8f0}.phc b+b{width:62%}
.phc.p1{left:7%;top:12%}.phc.p2{right:7%;top:30%;animation-delay:-2s}.phc.p3{left:20%;bottom:9%;animation-delay:-4s}
.vis-ph .vchip.c1{display:none}.vis-ph .vchip.c2{top:5%;right:5%}
.vis-ph2 .vchip.c1{display:inline-flex;top:5%;right:5%;left:auto}
.orbit{position:absolute;left:50%;top:50%;border-radius:50%;border:.5cqw dashed rgba(99,102,241,.4);transform:translate(-50%,-50%)}
.orbit.o1{width:38cqw;height:38cqw;animation:orbitSpin 22s linear infinite}
.orbit.o2{width:62cqw;height:62cqw;animation:orbitSpin 34s linear infinite reverse;border-color:rgba(6,182,212,.45)}
.orbit.o3{width:86cqw;height:86cqw;animation:orbitSpin 48s linear infinite}
.orbit::after{content:'';position:absolute;top:-1.6cqw;left:50%;width:3.2cqw;height:3.2cqw;margin-left:-1.6cqw;border-radius:50%;background:linear-gradient(135deg,#6366f1,#06b6d4)}
@keyframes orbitSpin{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}
.orb-core{position:relative;z-index:3;width:22cqw;height:22cqw;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:8cqw;background:linear-gradient(135deg,#4338ca,#2563eb 60%,#0891b2);box-shadow:0 3cqw 7cqw rgba(79,70,229,.5)}

@media(prefers-reduced-motion:reduce){.vis *,.vis *::before{animation:none!important}}
@media(max-width:520px){.vchip{font-size:2.8cqw}.vchip i{font-size:2.6cqw}}

/* ================================================================
   SERVICE SECTION THEMES — each service gets its own layout + look
   ================================================================ */
.svc-section{position:relative;overflow:hidden}
.svc-section>.container{position:relative;z-index:1}
.svc-section h2{line-height:1.12}
.svc-actions.center{justify-content:center}

/* 1 · App — lavender, tile features, platform badges */
.svc-app{background:linear-gradient(160deg,#f5f3ff 0%,#eef2ff 45%,#ecfeff 100%)}
.blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.55;pointer-events:none}
.blob.b1{width:340px;height:340px;background:#c7d2fe;left:-90px;top:-60px}
.blob.b2{width:300px;height:300px;background:#a5f3fc;right:-70px;bottom:-60px}
.app-feats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0 16px}
.app-feat{padding:16px 14px;border-radius:18px;background:rgba(255,255,255,.85);border:1px solid #e0e7ff;box-shadow:0 8px 22px rgba(99,102,241,.08);transition:transform .3s ease,box-shadow .3s ease}
.app-feat:hover{transform:translateY(-6px);box-shadow:0 16px 34px rgba(99,102,241,.2)}
.af-ico{width:42px;height:42px;border-radius:13px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1rem;margin-bottom:10px}
.af-ico.c1{background:linear-gradient(135deg,#6366f1,#8b5cf6)}
.af-ico.c2{background:linear-gradient(135deg,#06b6d4,#3b82f6)}
.af-ico.c3{background:linear-gradient(135deg,#f59e0b,#ef4444)}
.app-feat b{display:block;font:700 .86rem/1.25 'Sora',sans-serif;color:var(--text)}
.app-feat small{display:block;margin-top:3px;font-size:.74rem;color:var(--muted);line-height:1.4}
.store-row{display:flex;gap:10px;flex-wrap:wrap}
.store-row span{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;background:#0f172a;color:#fff;font-size:.8rem;font-weight:600}
.store-row i{font-size:1rem}

/* 2 · Software — dark, centred, dashboard hero + glass cards */
.svc-soft{background:radial-gradient(ellipse 70% 50% at 50% 0%,rgba(99,102,241,.28),transparent 70%),#0a0f1e}
.svc-soft::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,#000,transparent);-webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,#000,transparent)}
.svc-stack{display:flex;flex-direction:column;align-items:center;gap:44px}
.svc-head{text-align:center;max-width:780px}
.svc-head h2{color:#fff;margin:14px 0 12px}
.svc-head p{color:rgba(255,255,255,.7)}
.soft-media{width:100%;max-width:760px}
.soft-media::before{display:none}
.soft-media .svc-big-num{right:-4px;top:-34px}
.soft-feats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;width:100%}
.soft-feat{padding:26px 24px;border-radius:20px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);text-align:center;transition:transform .3s ease,border-color .3s ease,background .3s ease}
.soft-feat:hover{transform:translateY(-8px);border-color:rgba(34,211,238,.55);background:rgba(255,255,255,.1)}
.soft-feat span{width:54px;height:54px;margin:0 auto 14px;border-radius:16px;background:var(--grad);color:#fff;font-size:1.25rem;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px rgba(99,102,241,.4)}
.soft-feat h5{color:#fff;font-size:1rem;margin-bottom:4px}
.soft-feat p{margin:0;font-size:.85rem;color:rgba(255,255,255,.6)}
.svc-soft .svc-back{color:rgba(255,255,255,.65)}.svc-soft .svc-back:hover{color:#22d3ee}

/* 3 · Website — light cyan, vertical timeline */
.svc-web{background:linear-gradient(180deg,#f0fdfa 0%,#ffffff 100%)}
.tl{position:relative;margin:22px 0 4px;display:flex;flex-direction:column;gap:18px}
.tl::before{content:'';position:absolute;left:17px;top:18px;bottom:18px;width:3px;border-radius:3px;background:linear-gradient(180deg,#6366f1,#06b6d4)}
.tl-step{position:relative;display:flex;gap:16px;align-items:flex-start}
.tl-dot{position:relative;z-index:1;width:38px;height:38px;border-radius:50%;flex-shrink:0;background:#fff;border:3px solid #6366f1;color:#4f46e5;font:800 .95rem 'Sora',sans-serif;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 6px rgba(99,102,241,.12);transition:all .3s ease}
.tl-step:hover .tl-dot{background:var(--grad);border-color:transparent;color:#fff;transform:scale(1.12)}
.tl-step b{display:block;font:700 1rem 'Sora',sans-serif;color:var(--text)}
.tl-step p{margin:2px 0 0;font-size:.9rem;line-height:1.55;color:var(--muted)}

/* 4 · Industrial — dark control room */
.svc-ind{background:linear-gradient(180deg,#070b17 0%,#0f172a 100%)}
.svc-ind::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(34,211,238,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(34,211,238,.06) 1px,transparent 1px);background-size:40px 40px;mask-image:radial-gradient(ellipse 80% 80% at 70% 50%,#000,transparent);-webkit-mask-image:radial-gradient(ellipse 80% 80% at 70% 50%,#000,transparent)}
.svc-ind h2{color:#fff}
.svc-ind .svc-text>p{color:rgba(255,255,255,.7)}
.svc-ind .svc-media::before{border-color:rgba(34,211,238,.45)}
.ind-status{display:inline-flex;align-items:center;gap:10px;margin-bottom:18px;padding:7px 16px;border-radius:6px;background:rgba(34,211,238,.1);border:1px solid rgba(34,211,238,.35);color:#22d3ee;font:700 .72rem/1 'Inter',monospace;letter-spacing:.16em}
.ind-led,.spec-led{width:9px;height:9px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 0 rgba(34,197,94,.7);animation:ledPing 1.8s ease-out infinite;flex-shrink:0}
@keyframes ledPing{0%{box-shadow:0 0 0 0 rgba(34,197,94,.6)}100%{box-shadow:0 0 0 9px rgba(34,197,94,0)}}
.specs{display:flex;flex-direction:column;gap:12px;margin:22px 0 4px}
.spec{display:flex;align-items:center;gap:16px;padding:16px 18px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-left:4px solid #22d3ee;transition:transform .3s ease,background .3s ease,border-color .3s ease}
.spec:hover{transform:translateX(8px);background:rgba(34,211,238,.08);border-color:rgba(34,211,238,.45);border-left-color:#22d3ee}
.spec-ico{width:44px;height:44px;border-radius:10px;flex-shrink:0;background:rgba(34,211,238,.12);color:#22d3ee;font-size:1.1rem;display:flex;align-items:center;justify-content:center}
.spec div{flex:1;min-width:0}
.spec b{display:block;color:#fff;font:600 .92rem/1.4 'Inter',sans-serif}
.spec small{display:block;margin-top:3px;color:#64748b;font:600 .68rem 'Inter',monospace;letter-spacing:.14em}
.svc-ind .svc-back{color:rgba(255,255,255,.65)}.svc-ind .svc-back:hover{color:#22d3ee}

/* 5 · placeholder — clean white */
.svc-p5{background:#fff}
/* 6 · placeholder — brand gradient band */
.svc-p6{background:linear-gradient(135deg,#4338ca 0%,#2563eb 55%,#0891b2 100%)}
.svc-p6 h2{color:#fff}.svc-p6 .gradient-text{background:none;-webkit-text-fill-color:#fde68a;color:#fde68a}
.svc-p6 .svc-text>p{color:rgba(255,255,255,.85)}
.svc-p6 .label-chip.dark{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.35);color:#fff}
.svc-p6 .tl::before{background:rgba(255,255,255,.55)}
.svc-p6 .tl-dot{border-color:#fff;color:#4338ca;box-shadow:0 0 0 6px rgba(255,255,255,.18)}
.svc-p6 .tl-step b{color:#fff}.svc-p6 .tl-step p{color:rgba(255,255,255,.8)}
.svc-p6 .btn-primary{background:#fff;color:#3730a3}
.svc-p6 .svc-back{color:rgba(255,255,255,.8)}.svc-p6 .svc-back:hover{color:#fff}
.svc-p6 .svc-media::before{border-color:rgba(255,255,255,.5)}

@media(max-width:992px){.soft-feats{grid-template-columns:1fr}.app-feats{grid-template-columns:1fr}}
@media(max-width:640px){.svc-stack{gap:32px}}

/* ================================================================
   SERVICE SECTIONS — tighter, more compact sizing
   ================================================================ */
.svc-section.section{padding:76px 0}
.svc-section h2{font-size:clamp(1.65rem,2.8vw,2.25rem)}
.svc-section .svc-text>p,.svc-head p{font-size:.95rem;line-height:1.7}
.svc-row{gap:56px}
.svc-media{width:100%;max-width:480px;justify-self:center}
.svc-row:not(.reverse) .svc-media{justify-self:end}
.svc-row.reverse .svc-media{justify-self:start}
.svc-media::before{inset:-12px 12px 12px -12px}
.svc-row.reverse .svc-media::before{inset:-12px -12px 12px 12px}
.svc-big-num{font-size:3.2rem;top:-22px}
.vchip{font-size:1.85cqw;padding:1cqw 2cqw;gap:.9cqw}
.vchip i{font-size:1.8cqw}
.svc-stack{gap:30px}
.soft-media{max-width:540px}
.svc-head{max-width:700px}
.soft-feats{max-width:880px;gap:14px}
.soft-feat{padding:18px 18px}
.soft-feat span{width:44px;height:44px;font-size:1.05rem;border-radius:13px;margin-bottom:10px}
.soft-feat h5{font-size:.92rem}.soft-feat p{font-size:.8rem}
.app-feats{gap:10px;margin:18px 0 14px}
.app-feat{padding:13px 12px;border-radius:16px}
.af-ico{width:36px;height:36px;font-size:.9rem;border-radius:11px;margin-bottom:8px}
.app-feat b{font-size:.8rem}.app-feat small{font-size:.7rem}
.store-row span{padding:6px 13px;font-size:.75rem}
.tl{gap:14px;margin-top:18px}
.tl-dot{width:32px;height:32px;font-size:.85rem}
.tl::before{left:14px}
.tl-step b{font-size:.92rem}.tl-step p{font-size:.84rem}
.specs{gap:10px;margin-top:18px}
.spec{padding:12px 14px;gap:12px}
.spec-ico{width:38px;height:38px;font-size:.95rem}
.spec b{font-size:.84rem}.spec small{font-size:.62rem}
.svc-actions{margin-top:20px}
.svc-actions .btn{padding:11px 22px;font-size:.9rem}
.ind-status{font-size:.66rem;padding:6px 13px;margin-bottom:14px}
@media(max-width:992px){.svc-media,.svc-row:not(.reverse) .svc-media,.svc-row.reverse .svc-media{justify-self:center;max-width:460px}}

/* ================================================================
   2 · SOFTWARE SOLUTIONS — module tabs + live product preview
   ================================================================ */
.svc-crm{background:#f8fafc}
.svc-crm::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(99,102,241,.14) 1px,transparent 1px);background-size:26px 26px;mask-image:radial-gradient(ellipse 70% 80% at 80% 50%,#000,transparent);-webkit-mask-image:radial-gradient(ellipse 70% 80% at 80% 50%,#000,transparent)}
.mod-tabs{display:flex;flex-direction:column;gap:10px;margin:22px 0 4px}
.mod-tab{position:relative;display:flex;align-items:center;gap:14px;width:100%;padding:12px 16px;text-align:left;border:1px solid var(--border);border-radius:14px;background:#fff;cursor:pointer;font-family:inherit;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease,background .3s ease}
.mod-tab::before{content:'';position:absolute;left:0;top:14%;bottom:14%;width:4px;border-radius:0 4px 4px 0;background:var(--grad);transform:scaleY(0);transition:transform .3s ease}
.mod-tab:hover{transform:translateX(5px);border-color:rgba(99,102,241,.4)}
.mod-tab.active{border-color:rgba(99,102,241,.55);background:linear-gradient(135deg,#fff,#eef2ff);box-shadow:0 12px 28px rgba(99,102,241,.18)}
.mod-tab.active::before{transform:scaleY(1)}
.mt-ico{width:40px;height:40px;border-radius:12px;flex-shrink:0;background:#eef2ff;color:#6366f1;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all .3s ease}
.mod-tab.active .mt-ico{background:var(--grad);color:#fff;box-shadow:0 8px 18px rgba(99,102,241,.35)}
.mt-txt{flex:1;min-width:0}
.mt-txt b{display:block;font:700 .92rem 'Sora',sans-serif;color:var(--text)}
.mt-txt small{display:block;margin-top:2px;font-size:.78rem;color:var(--muted)}
.mt-go{font-size:.75rem;color:#cbd5e1;transition:all .3s ease}
.mod-tab.active .mt-go{color:#6366f1;transform:translateX(3px)}

.sp{container-type:inline-size;position:relative;z-index:1;width:100%;border-radius:20px;background:#fff;border:1px solid #e2e8f0;box-shadow:0 26px 60px rgba(15,23,42,.16);overflow:hidden}
.sp-bar{display:flex;align-items:center;gap:7px;padding:12px 16px;background:#f1f5f9;border-bottom:1px solid #e2e8f0}
.sp-bar>i{width:10px;height:10px;border-radius:50%;background:#f87171}.sp-bar>i:nth-child(2){background:#fbbf24}.sp-bar>i:nth-child(3){background:#34d399}
.sp-title{margin-left:10px;font:700 .78rem 'Inter',sans-serif;color:#475569;flex:1}
.sp-live{display:inline-flex;align-items:center;gap:6px;font:700 .68rem 'Inter',sans-serif;color:#16a34a;letter-spacing:.05em}
.sp-live b{width:7px;height:7px;border-radius:50%;background:#22c55e;animation:ledPing 1.8s ease-out infinite}
.sp-body{position:relative;height:clamp(300px,64cqw,350px);padding:16px;background:linear-gradient(180deg,#fff,#f8fafc)}
.sp-view{position:absolute;inset:16px;opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .45s ease,transform .45s ease,visibility 0s .45s}
.sp-view.active{opacity:1;visibility:visible;transform:none;transition:opacity .45s ease,transform .45s ease,visibility 0s}

/* CRM kanban */
.kb{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;height:100%}
.kb-col{background:#f1f5f9;border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:8px;min-width:0}
.kb-col h6{margin:0 0 2px;display:flex;justify-content:space-between;align-items:center;font:700 .7rem 'Inter',sans-serif;color:#475569;text-transform:uppercase;letter-spacing:.06em}
.kb-col h6 em{font-style:normal;min-width:20px;text-align:center;padding:1px 6px;border-radius:999px;background:#e0e7ff;color:#4f46e5;font-size:.68rem}
.kb-col.won h6 em{background:#dcfce7;color:#15803d}
.kb-card{display:flex;align-items:center;gap:7px;padding:8px;border-radius:10px;background:#fff;box-shadow:0 2px 8px rgba(15,23,42,.06);border:1px solid #e2e8f0}
.sp-view.active .kb-card{animation:cardIn .5s ease both}
.sp-view.active .kb-col:nth-child(2) .kb-card{animation-delay:.12s}.sp-view.active .kb-col:nth-child(3) .kb-card{animation-delay:.24s}
@keyframes cardIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.av{width:24px;height:24px;border-radius:50%;flex-shrink:0}
.a1{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.a2{background:linear-gradient(135deg,#06b6d4,#22c55e)}.a3{background:linear-gradient(135deg,#f59e0b,#ef4444)}.a4{background:linear-gradient(135deg,#ec4899,#8b5cf6)}
.kb-card p{flex:1;min-width:0;margin:0;line-height:1.2}
.kb-card b{display:block;font:700 .7rem 'Inter',sans-serif;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kb-card small{display:block;font-size:.6rem;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kb-card em{font:700 .68rem 'Inter',sans-serif;font-style:normal;color:#4f46e5}

/* ERP */
.erp-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}
.erp-kpis>div{padding:10px 12px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0;line-height:1.25}
.erp-kpis small{display:block;font-size:.66rem;color:#64748b}
.erp-kpis b{display:block;font:800 1.05rem 'Sora',sans-serif;color:#0f172a}
.erp-kpis em{font-style:normal;font-size:.64rem;font-weight:700;color:#64748b}.erp-kpis em.up{color:#16a34a}
.erp-tbl{width:100%;border-collapse:collapse;font-size:.74rem}
.erp-tbl th{text-align:left;padding:6px 8px;font-size:.62rem;text-transform:uppercase;letter-spacing:.07em;color:#94a3b8;border-bottom:1px solid #e2e8f0}
.erp-tbl td{padding:8px;border-bottom:1px solid #f1f5f9;color:#334155;font-weight:600}
.stp{display:inline-block;padding:2px 9px;border-radius:999px;font-size:.62rem;font-weight:700}
.stp.ok{background:#dcfce7;color:#15803d}.stp.warn{background:#fef3c7;color:#b45309}.stp.info{background:#dbeafe;color:#1d4ed8}
.erp-bars{display:flex;align-items:flex-end;gap:7px;height:34px;margin-top:10px}
.erp-bars i{flex:1;height:var(--h);border-radius:4px 4px 0 0;background:linear-gradient(180deg,#6366f1,#06b6d4);transform-origin:bottom;animation:barGrow 3s ease-in-out infinite}
.erp-bars i:nth-child(2n){animation-delay:-.8s}.erp-bars i:nth-child(3n){animation-delay:-1.6s}

/* E-commerce */
.shop-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.shop-top b{font:700 .9rem 'Sora',sans-serif;color:#0f172a}
.cart{position:relative;width:34px;height:34px;border-radius:50%;background:#eef2ff;color:#6366f1;display:flex;align-items:center;justify-content:center;font-size:.85rem}
.cart em{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;border-radius:50%;background:#ef4444;color:#fff;font:700 .6rem/16px 'Inter',sans-serif;font-style:normal;text-align:center}
.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.pr{padding:8px;border-radius:12px;background:#fff;border:1px solid #e2e8f0;box-shadow:0 2px 8px rgba(15,23,42,.05);display:flex;flex-direction:column;gap:6px}
.sp-view.active .pr{animation:cardIn .5s ease both}.sp-view.active .pr:nth-child(2){animation-delay:.12s}.sp-view.active .pr:nth-child(3){animation-delay:.24s}
.pr-img{height:76px;border-radius:9px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.6rem}
.pr-img.g1{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.pr-img.g2{background:linear-gradient(135deg,#06b6d4,#3b82f6)}.pr-img.g3{background:linear-gradient(135deg,#f59e0b,#ef4444)}
.pr b{font:700 .74rem 'Inter',sans-serif;color:#0f172a}
.pr div{display:flex;justify-content:space-between;align-items:center}
.pr em{font:800 .8rem 'Sora',sans-serif;font-style:normal;color:#4f46e5}
.pr-add{width:22px;height:22px;border-radius:50%;background:var(--grad);color:#fff;font-size:.6rem;display:flex;align-items:center;justify-content:center}
.shop-foot{display:flex;justify-content:space-between;gap:8px;margin-top:14px;font-size:.68rem;font-weight:600;color:#64748b}
.shop-foot i{color:#16a34a;margin-right:5px}.shop-foot span+span i{color:#6366f1}

@media(max-width:520px){.kb-card small{display:none}.pr-img{height:58px}.shop-foot{flex-direction:column}}

/* ================================================================
   5 · AI/ML VISUAL + 6 · IoT VISUAL
   ================================================================ */
.svc-ai{background:linear-gradient(180deg,#ffffff,#f5f3ff)}
.vis-ai{background:radial-gradient(circle at 50% 50%,#1e1b4b 0%,#0a0f1e 80%)}
.vis-ai::before{background-image:radial-gradient(rgba(129,140,248,.22) 1px,transparent 1px);opacity:.9}
.nn-svg{position:absolute;inset:0;width:100%;height:100%}
.nn-l{stroke:rgba(129,140,248,.45);stroke-width:1.2;vector-effect:non-scaling-stroke;animation:nnLine 3.6s ease-in-out infinite;animation-delay:var(--d)}
@keyframes nnLine{0%,100%{stroke:rgba(129,140,248,.2)}50%{stroke:rgba(34,211,238,.95);stroke-width:1.8}}
.nn-n{position:absolute;width:4.4cqw;height:4.4cqw;margin:-2.2cqw 0 0 -2.2cqw;border-radius:50%;background:linear-gradient(135deg,#6366f1,#22d3ee);box-shadow:0 0 0 .8cqw rgba(99,102,241,.25),0 0 3cqw rgba(34,211,238,.6);animation:nnPulse 2.8s ease-in-out infinite;animation-delay:var(--d);z-index:2}
.nn-n.l0{background:#fff;box-shadow:0 0 0 .8cqw rgba(255,255,255,.2),0 0 2.4cqw rgba(255,255,255,.6)}
.nn-n.l3{width:6cqw;height:6cqw;margin:-3cqw 0 0 -3cqw;background:linear-gradient(135deg,#fde047,#f59e0b);box-shadow:0 0 0 1cqw rgba(253,224,71,.25),0 0 4cqw rgba(253,224,71,.7)}
@keyframes nnPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.28)}}
.nn-tag{position:absolute;bottom:5%;font:700 1.7cqw 'Inter',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.55);transform:translateX(-50%);z-index:3}
.nn-tag.t1{left:14%}.nn-tag.t2{left:50%}.nn-tag.t3{left:86%}
.nn-out{display:none}
.vis-ai .vchip.c1{top:5%;left:5%}.vis-ai .vchip.c2{top:5%;right:5%;left:auto}.vis-ai .vchip.c3{display:none}

.vis-iot{background:linear-gradient(145deg,#eef2ff,#ecfeff)}
.iot-svg{position:absolute;inset:0;width:100%;height:100%}
.iot-l{stroke:rgba(99,102,241,.35);stroke-width:2;vector-effect:non-scaling-stroke}
.iot-f{stroke:#06b6d4;stroke-width:2.5;stroke-linecap:round;stroke-dasharray:1.5 12;vector-effect:non-scaling-stroke;animation:iotFlow 1.8s linear infinite;animation-delay:var(--d)}
@keyframes iotFlow{to{stroke-dashoffset:-27}}
.iot-n{position:absolute;transform:translate(-50%,-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:1cqw}
.iot-n span{width:11cqw;height:11cqw;border-radius:3cqw;background:#fff;color:#6366f1;font-size:4.6cqw;display:flex;align-items:center;justify-content:center;box-shadow:0 1.6cqw 4cqw rgba(15,23,42,.16);border:1px solid #e0e7ff;animation:vFloat 5s ease-in-out infinite}
.iot-n:nth-of-type(2) span{animation-delay:-1s}.iot-n:nth-of-type(3) span{animation-delay:-2s}.iot-n:nth-of-type(4) span{animation-delay:-3s}
.iot-n small{font:700 1.7cqw 'Inter',sans-serif;color:#475569;white-space:nowrap}
.iot-n.core span{width:16cqw;height:16cqw;border-radius:50%;font-size:7cqw;color:#fff;background:linear-gradient(135deg,#4338ca,#2563eb 60%,#0891b2);box-shadow:0 2.4cqw 6cqw rgba(79,70,229,.5),0 0 0 1.2cqw rgba(99,102,241,.15);border:0}
.vis-iot .vchip.c1{top:5%;left:5%}.vis-iot .vchip.c3{bottom:4%;left:auto;right:5%}.vis-iot .vchip.c2{display:none}

/* Platform / technology list: plain icon + text with a small label, clearly not a button */
.store-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px 22px;margin:4px 0 18px;padding:14px 0 0;border-top:1px dashed #cbd5e1}
.store-row::before{content:attr(data-label);font:700 .66rem 'Inter',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#94a3b8}
.store-row span{display:inline-flex;align-items:center;gap:8px;padding:0;border-radius:0;background:none;color:var(--muted);font-size:.84rem;font-weight:600}
.store-row span i{width:auto;font-size:1rem;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.store-row span+span{position:relative}
.store-row span+span::before{content:'';position:absolute;left:-12px;top:50%;width:1px;height:14px;margin-top:-7px;background:#cbd5e1}

/* Informational tags elsewhere: same plain icon + text treatment so they never read as buttons */
.film-meta{gap:8px 22px;padding-bottom:16px;border-bottom:1px dashed #cbd5e1}
.film-tag{padding:0;border:0;border-radius:0;background:none;color:var(--muted);font-size:.86rem;font-weight:600}
.film-tag i{background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:1rem}
.film-tag:hover{transform:none;background:none;color:var(--accent)}
.td-skills{gap:6px 16px}
.td-skills span{padding:0;border:0;border-radius:0;background:none;color:#c7d2fe;font-size:.74rem}
.td-skills span::before{content:'\f00c';font-family:'Font Awesome 5 Free';font-weight:900;font-size:.62rem;margin-right:6px;color:#22d3ee}

/* ================================================================
   PROJECTS PAGE: numbers, industries, world map
   ================================================================ */
.pj-numbers{padding:56px 0!important}
.pj-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.pj-stat{position:relative;text-align:center;padding:28px 18px;border-radius:20px;background:linear-gradient(160deg,#fff,#f5f3ff);border:1px solid #e0e7ff;transition:transform .3s ease,box-shadow .3s ease}
.pj-stat:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(99,102,241,.16)}
.pj-ico{width:48px;height:48px;margin:0 auto 12px;border-radius:14px;background:var(--grad);color:#fff;font-size:1.15rem;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 22px rgba(99,102,241,.35)}
.pj-num{font:800 clamp(1.9rem,3.4vw,2.7rem) 'Sora',sans-serif;line-height:1.1;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.pj-lbl{margin-top:4px;font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}

.pj-industries{padding-top:84px}
.ind-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.ind-card{position:relative;padding:22px 20px 20px;border-radius:20px;background:#fff;border:1px solid var(--border);overflow:hidden;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.ind-card::before{content:'';position:absolute;left:0;top:0;right:0;height:3px;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .45s ease}
.ind-card:hover{transform:translateY(-8px);box-shadow:0 22px 48px rgba(99,102,241,.18);border-color:rgba(99,102,241,.35)}
.ind-card:hover::before{transform:scaleX(1)}
.ind-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.ind-ico{width:44px;height:44px;border-radius:13px;background:#eef2ff;color:#6366f1;font-size:1.05rem;display:flex;align-items:center;justify-content:center;transition:all .35s ease}
.ind-card:hover .ind-ico{background:var(--grad);color:#fff;transform:rotate(-8deg) scale(1.08)}
.ind-rank{font:800 .8rem 'Sora',sans-serif;color:#c7d2fe}
.ind-count{display:flex;align-items:baseline;gap:7px;margin-bottom:6px}
.ind-num{font:800 2.3rem/1 'Sora',sans-serif;color:var(--text)}
.ind-count small{font-size:.8rem;font-weight:600;color:var(--muted)}
.ind-card h4{font-size:.98rem;margin-bottom:4px;min-height:2.5em}
.ind-card p{font-size:.82rem;line-height:1.5;color:var(--muted);margin:0 0 14px;min-height:2.5em}
.ind-bar{height:6px;border-radius:6px;background:#eef2ff;overflow:hidden}
.ind-bar span{display:block;height:100%;border-radius:6px;background:var(--grad);transform-origin:left}
.ind-share{margin-top:8px;font-size:.72rem;font-weight:600;color:#94a3b8}

.pj-map-section{background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(99,102,241,.25),transparent 70%),#0a0f1e;position:relative;overflow:hidden}
.wm{max-width:1060px;margin:0 auto}
.wm-stage{position:relative;width:100%}
.wm-svg{position:absolute;inset:0;width:100%;height:100%}
.wm-land{fill:none;stroke:rgba(165,180,252,.42);stroke-width:5.4;stroke-linecap:round}
.wm-arc{fill:none;stroke:url(#wmG);stroke-width:2.2;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0;opacity:.85}
.wm-flow{fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round;stroke-dasharray:2 14;animation:wmFlow 2.4s linear infinite}
@keyframes wmFlow{to{stroke-dashoffset:-32}}
.wm-pin{position:absolute;transform:translate(-50%,-50%);z-index:3}
.wm-dot{position:relative;display:block;width:12px;height:12px;border-radius:50%;background:#22d3ee;box-shadow:0 0 14px rgba(34,211,238,.9);z-index:2}
.wm-pin.hq .wm-dot{width:16px;height:16px;background:#fde047;box-shadow:0 0 18px rgba(253,224,71,.95)}
.wm-ring{position:absolute;left:50%;top:50%;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;border:2px solid rgba(34,211,238,.8);animation:wmPing 2.4s ease-out infinite}
.wm-pin.hq .wm-ring{border-color:rgba(253,224,71,.85)}
@keyframes wmPing{0%{transform:scale(1);opacity:.9}100%{transform:scale(4);opacity:0}}
.wm-label{position:absolute;white-space:nowrap;padding:6px 12px;border-radius:10px;background:rgba(15,23,42,.88);border:1px solid rgba(255,255,255,.14);color:#fff;line-height:1.25;box-shadow:0 8px 22px rgba(0,0,0,.4);transition:transform .3s ease,border-color .3s ease}
.wm-label b{display:block;font:700 .78rem 'Inter',sans-serif}
.wm-label small{display:block;font-size:.64rem;color:#94a3b8}
.wm-pin.side-r .wm-label{left:22px;top:-16px}
.wm-pin.side-l .wm-label{right:22px;top:-16px}
.wm-pin.side-t .wm-label{left:50%;bottom:20px;transform:translateX(-50%)}
.wm-pin.hl .wm-label,.wm-pin:hover .wm-label{border-color:#22d3ee}
.wm-pin.hl .wm-dot{transform:scale(1.5)}
.wm-pin.side-t.hl .wm-label,.wm-pin.side-t:hover .wm-label{transform:translateX(-50%) translateY(-3px)}

.wm-legend{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:34px}
.wm-item{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);transition:transform .3s ease,border-color .3s ease,background .3s ease}
.wm-item:hover,.wm-item.hl{transform:translateY(-5px);border-color:rgba(34,211,238,.6);background:rgba(255,255,255,.1)}
.wm-code{width:40px;height:40px;border-radius:12px;flex-shrink:0;background:var(--grad);color:#fff;font:800 .82rem 'Sora',sans-serif;display:flex;align-items:center;justify-content:center}
.wm-item.hq .wm-code{background:linear-gradient(135deg,#f59e0b,#fde047);color:#422006}
.wm-item.more .wm-code{background:rgba(255,255,255,.12);font-size:1.2rem}
.wm-item b{display:block;color:#fff;font:700 .84rem 'Inter',sans-serif;line-height:1.25}
.wm-item small{display:block;color:#94a3b8;font-size:.7rem;margin-top:1px;line-height:1.35}

@media(max-width:1100px){.ind-cards{grid-template-columns:repeat(3,1fr)}.wm-legend{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.pj-stats{grid-template-columns:repeat(2,1fr)}.ind-cards{grid-template-columns:repeat(2,1fr)}.wm-legend{grid-template-columns:repeat(2,1fr)}.wm-label small{display:none}.wm-label{padding:4px 9px}}
@media(max-width:520px){.ind-cards{grid-template-columns:1fr}.ind-card h4,.ind-card p{min-height:0}.wm-legend{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.wm-ring,.wm-flow{animation:none}}

/* ================================================================
   INDUSTRIES: donut chart + ranked bars (replaces plain cards)
   ================================================================ */
.ix{display:grid;grid-template-columns:minmax(280px,380px) 1fr;gap:56px;align-items:center;max-width:1080px;margin:0 auto}
.ix-chart{text-align:center}
.ix-donut-wrap{position:relative;width:100%;max-width:360px;aspect-ratio:1;margin:0 auto;padding:18px;border-radius:50%;background:#fff;border:1px solid var(--border);box-shadow:0 26px 60px rgba(99,102,241,.16)}
.ix-donut{width:100%;height:100%;transform:rotate(-90deg);overflow:visible}
.ix-donut circle{fill:none;stroke-width:5.2}
.ix-ring{stroke:#eef2ff}
.ix-seg{stroke-linecap:butt;cursor:pointer;transition:stroke-width .3s ease,opacity .3s ease,filter .3s ease}
.ix.has-hl .ix-seg:not(.hl){opacity:.28}
.ix-seg.hl{stroke-width:6.6;filter:drop-shadow(0 0 1.4px currentColor)}
.ix-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none;padding:0 22%}
.ix-center b{font:800 clamp(2.2rem,5vw,3.2rem)/1 'Sora',sans-serif;color:var(--text);transition:color .3s ease}
.ix-center span{margin-top:6px;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);line-height:1.3}
.ix-hint{margin:22px 0 0;font-size:.8rem;color:#94a3b8}
.ix-hint i{margin-right:6px;color:#6366f1}

.ix-list{display:flex;flex-direction:column;gap:12px}
.ix-row{display:flex;align-items:center;gap:16px;padding:14px 18px;border-radius:16px;background:#fff;border:1px solid var(--border);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease,opacity .3s ease}
.ix.has-hl .ix-row:not(.hl){opacity:.5}
.ix-row.hl,.ix-row:hover{transform:translateX(8px);border-color:var(--c);box-shadow:0 14px 34px rgba(15,23,42,.1)}
.ix-ico{width:44px;height:44px;border-radius:13px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.05rem;background:var(--c);box-shadow:0 8px 18px color-mix(in srgb,var(--c) 40%,transparent)}
.ix-info{flex:1;min-width:0}
.ix-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.ix-head b{font:700 .95rem 'Sora',sans-serif;color:var(--text)}
.ix-val{font-size:.72rem;font-weight:600;color:var(--muted);white-space:nowrap}
.ix-val em{font:800 1.15rem 'Sora',sans-serif;font-style:normal;color:var(--c)}
.ix-bar{height:8px;border-radius:8px;background:#f1f5f9;margin:8px 0 6px;overflow:hidden}
.ix-fill{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,color-mix(in srgb,var(--c) 70%,#fff),var(--c));transform-origin:left}
.ix-info small{font-size:.74rem;color:#94a3b8}

@media(max-width:900px){.ix{grid-template-columns:1fr;gap:36px}.ix-row:hover,.ix-row.hl{transform:none}}

/* ================================================================
   PROJECTS v3: compact industries grid + locations panel
   ================================================================ */
.pj-industries{padding-bottom:84px}
.pj-industries .section-head{margin-bottom:40px}
.in12{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;max-width:1080px;margin:0 auto}
.in12-tile{position:relative;display:flex;align-items:center;gap:14px;padding:18px 18px;border-radius:16px;background:#fff;border:1px solid var(--border);overflow:hidden;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.in12-tile::after{content:'';position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .4s ease}
.in12-tile:hover{transform:translateY(-6px);border-color:rgba(99,102,241,.4);box-shadow:0 16px 36px rgba(99,102,241,.16)}
.in12-tile:hover::after{transform:scaleX(1)}
.in12-n{position:absolute;top:8px;right:12px;font:800 .66rem 'Sora',sans-serif;letter-spacing:.08em;color:#cbd5e1}
.in12-ico{width:44px;height:44px;border-radius:13px;flex-shrink:0;background:#eef2ff;color:#6366f1;font-size:1.05rem;display:flex;align-items:center;justify-content:center;transition:all .35s ease}
.in12-tile:hover .in12-ico{background:var(--grad);color:#fff;transform:rotate(-8deg) scale(1.08)}
.in12-tile b{font:700 .88rem/1.3 'Sora',sans-serif;color:var(--text)}

.loc{display:grid;grid-template-columns:1fr 1.25fr;gap:18px;margin-top:34px}
.loc-card{padding:22px 24px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}
.loc-head{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.loc-head b{display:block;color:#fff;font:700 1.05rem 'Sora',sans-serif}
.loc-head small{display:block;color:#94a3b8;font-size:.76rem;margin-top:2px}
.loc-cities{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}
.loc-cities li{color:#e2e8f0;font-size:.86rem;font-weight:500}
.loc-cities i{color:#fde047;margin-right:8px;font-size:.78rem}
.loc-rows{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.loc-row{padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.04)}
.loc-row .wm-code{width:36px;height:36px;font-size:.74rem}
.loc-card.wm-item{display:block}
.loc-card.wm-item:hover,.loc-card.wm-item.hl{transform:none;border-color:rgba(253,224,71,.5)}
@media(max-width:1000px){.in12{grid-template-columns:repeat(3,1fr)}.loc{grid-template-columns:1fr}}
@media(max-width:700px){.in12{grid-template-columns:repeat(2,1fr)}.loc-rows,.loc-cities{grid-template-columns:1fr}}
@media(max-width:440px){.in12{grid-template-columns:1fr}}

/* ================================================================
   INDUSTRIES v2: colourful tiles with a field-specific animation each
   ================================================================ */
.pj-industries{background:radial-gradient(ellipse 70% 50% at 50% 0%,rgba(99,102,241,.1),transparent 70%),var(--off-white)!important}
.in12{gap:18px;max-width:1120px}
.in12-tile{display:block;min-height:176px;padding:22px 22px 20px;border-radius:22px;background:linear-gradient(160deg,#fff 40%,color-mix(in srgb,var(--c) 11%,#fff));border:1px solid color-mix(in srgb,var(--c) 22%,#e2e8f0);transform-style:preserve-3d;will-change:transform;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.in12-tile::before{content:'';position:absolute;inset:0;background:radial-gradient(circle 170px at var(--mx,50%) var(--my,0%),color-mix(in srgb,var(--c) 22%,transparent),transparent 70%);opacity:0;transition:opacity .3s ease;pointer-events:none}
.in12-tile::after{background:var(--c);height:4px}
.in12-tile:hover{border-color:var(--c);box-shadow:0 22px 48px color-mix(in srgb,var(--c) 30%,transparent)}
.in12-tile:hover::before{opacity:1}
.in12-bg{position:absolute;right:-14px;bottom:-16px;font-size:6.4rem;color:var(--c);opacity:.07;transform:rotate(-12deg);transition:transform .5s ease,opacity .4s ease;pointer-events:none}
.in12-tile:hover .in12-bg{opacity:.14;transform:rotate(0) scale(1.15)}
.in12-n{top:12px;right:16px;color:color-mix(in srgb,var(--c) 45%,#cbd5e1)}
.in12-ico{position:relative;display:flex;width:54px;height:54px;border-radius:16px;margin-bottom:14px;background:linear-gradient(135deg,var(--c),color-mix(in srgb,var(--c) 55%,#000));color:#fff;font-size:1.3rem;align-items:center;justify-content:center;box-shadow:0 10px 22px color-mix(in srgb,var(--c) 45%,transparent);transition:transform .4s ease;overflow:visible}
.in12-tile:hover .in12-ico{background:linear-gradient(135deg,var(--c),color-mix(in srgb,var(--c) 55%,#000));transform:scale(1.1)}
.in12-ico>i{position:relative;z-index:2;display:block}
.in12-tile b{display:block;font:700 .98rem/1.25 'Sora',sans-serif;color:var(--text);margin-bottom:6px;position:relative}
.in12-tile p{position:relative;margin:0;font-size:.8rem;line-height:1.5;color:var(--muted);max-width:92%}
.in12-go{position:absolute;right:16px;bottom:16px;width:30px;height:30px;border-radius:50%;background:var(--c);color:#fff;font-size:.72rem;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateX(-10px);transition:all .35s ease}
.in12-tile:hover .in12-go{opacity:1;transform:none}

/* field-specific motion on the icon (always gently on, stronger on hover) */
.an-spin .in12-ico>i{animation:inSpin 7s linear infinite}
.an-spin:hover .in12-ico>i{animation-duration:1.6s}
@keyframes inSpin{to{transform:rotate(360deg)}}
.an-swing .in12-ico>i{animation:inSwing 3s ease-in-out infinite;transform-origin:50% 90%}
.an-swing:hover .in12-ico>i{animation-duration:.9s}
@keyframes inSwing{0%,100%{transform:rotate(-14deg)}50%{transform:rotate(14deg)}}
.an-pulse .in12-ico>i{animation:inPulse 2.2s ease-in-out infinite}
.an-pulse .in12-ico::after{content:'';position:absolute;inset:0;border-radius:16px;border:2px solid var(--c);animation:inRing 2.2s ease-out infinite}
@keyframes inPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.18)}}
@keyframes inRing{0%{transform:scale(1);opacity:.8}100%{transform:scale(1.7);opacity:0}}
.an-slide .in12-ico>i{animation:inSlide 2.4s ease-in-out infinite}
.an-slide:hover .in12-ico>i{animation-duration:1s}
@keyframes inSlide{0%,100%{transform:translateX(-5px) rotate(-8deg)}50%{transform:translateX(5px) rotate(8deg)}}
.an-tilt .in12-ico>i{animation:inTilt 2.6s ease-in-out infinite}
@keyframes inTilt{0%,100%{transform:rotate(-10deg) scale(1)}50%{transform:rotate(10deg) scale(1.12)}}
.an-bounce .in12-ico>i{animation:inBounce 2s ease-in-out infinite}
.an-bounce:hover .in12-ico>i{animation-duration:.8s}
@keyframes inBounce{0%,100%{transform:translateY(0)}40%{transform:translateY(-7px)}60%{transform:translateY(-3px)}}

/* bubbles rising from the flask */
.fx{position:absolute;display:none;pointer-events:none}
.an-bubble .fx{display:block;bottom:60%;width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.9);animation:inBubble 2.4s ease-in infinite;opacity:0}
.an-bubble .fx1{left:30%}.an-bubble .fx2{left:50%;animation-delay:.8s;width:5px;height:5px}.an-bubble .fx3{left:66%;animation-delay:1.5s}
@keyframes inBubble{0%{transform:translateY(14px) scale(.6);opacity:0}30%{opacity:.95}100%{transform:translateY(-34px) scale(1.1);opacity:0}}
.an-bubble .in12-ico>i{animation:inBob 3s ease-in-out infinite}
@keyframes inBob{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(2px) rotate(4deg)}}

/* sparkles around the diamond */
.an-sparkle .fx{display:block;width:10px;height:10px;background:#fff;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);animation:inTwinkle 2.2s ease-in-out infinite;opacity:0}
.an-sparkle .fx1{top:-6px;right:-5px}.an-sparkle .fx2{bottom:2px;left:-6px;animation-delay:.7s;width:8px;height:8px;background:var(--c)}.an-sparkle .fx3{top:8px;left:6px;animation-delay:1.4s;width:6px;height:6px}
@keyframes inTwinkle{0%,100%{transform:scale(0) rotate(0);opacity:0}50%{transform:scale(1.3) rotate(90deg);opacity:1}}
.an-sparkle .in12-ico>i{animation:inPulse 3s ease-in-out infinite}

@media(max-width:1000px){.in12{gap:14px}}
@media(prefers-reduced-motion:reduce){.in12-ico>i,.in12-ico::after,.fx{animation:none!important}}

/* ================================================================
   PRODUCTS PAGE
   ================================================================ */
.pd-nav{position:sticky;top:var(--nav-h);z-index:50;background:rgba(255,255,255,.96);border-bottom:1px solid var(--border);box-shadow:0 6px 20px rgba(15,23,42,.05)}
.pd-nav .container{display:flex;justify-content:center;gap:6px;flex-wrap:wrap}
.pd-nav a{position:relative;display:flex;align-items:center;gap:9px;padding:16px 20px;font-size:.88rem;font-weight:600;color:var(--muted);transition:color .25s ease}
.pd-nav a i{color:#a5b4fc;transition:color .25s ease,transform .3s ease}
.pd-nav a::after{content:'';position:absolute;left:20px;right:20px;bottom:0;height:3px;border-radius:3px 3px 0 0;background:var(--grad);transform:scaleX(0);transition:transform .3s ease}
.pd-nav a:hover{color:var(--accent)}
.pd-nav a:hover i{color:var(--accent);transform:scale(1.2)}
.pd-nav a:hover::after{transform:scaleX(1)}

.pd-sec{position:relative;overflow:hidden;scroll-margin-top:130px}
.pd-sec>.container{position:relative;z-index:1}
.pd-head{display:flex;align-items:center;gap:22px;margin-bottom:44px}
.pd-head h2{margin:12px 0 0;font-size:clamp(1.6rem,3vw,2.3rem)}
.pd-cat{font:800 clamp(3.4rem,7vw,5.2rem)/1 'Sora',sans-serif;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;opacity:.35}
.pd-head.light h2{color:#fff}
.pd-tag{display:inline-flex;align-items:center;gap:7px;font:700 .7rem 'Inter',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}
.pd-link{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-size:.88rem;font-weight:700;color:var(--accent);transition:gap .3s ease}
.pd-link:hover{gap:14px}

/* 1 · enterprise */
.pd-enterprise{background:linear-gradient(180deg,#fff,#f5f3ff)}
.pd-feature{display:grid;grid-template-columns:.9fr 1.3fr;gap:36px;align-items:center;padding:36px;border-radius:28px;background:linear-gradient(135deg,#1e1b4b,#0f172a 70%);color:#fff;box-shadow:0 30px 70px rgba(30,27,75,.35);position:relative;overflow:hidden;margin-bottom:26px}
.pd-feature::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 90% 10%,rgba(34,211,238,.25),transparent 45%),radial-gradient(circle at 5% 100%,rgba(99,102,241,.35),transparent 50%)}
.pd-feature>*{position:relative}
.pd-feature .pd-tag{color:#22d3ee}
.pd-feature h3{color:#fff;font-size:1.7rem;margin-bottom:12px}
.pd-feature p{color:rgba(255,255,255,.75);font-size:.95rem;line-height:1.7}
.pd-feature .pd-link{color:#22d3ee}
.pd-mods{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.pd-mod{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 8px;border-radius:16px;text-align:center;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);transition:transform .3s ease,background .3s ease,border-color .3s ease;animation:modIn .6s ease both;animation-delay:calc(var(--i)*.07s)}
@keyframes modIn{from{opacity:0;transform:translateY(14px) scale(.9)}to{opacity:1;transform:none}}
.pd-mod:hover{transform:translateY(-6px);background:rgba(255,255,255,.14);border-color:rgba(34,211,238,.6)}
.pd-mod span{width:42px;height:42px;border-radius:13px;background:var(--grad);display:flex;align-items:center;justify-content:center;font-size:1.05rem;box-shadow:0 8px 18px rgba(99,102,241,.4)}
.pd-mod b{font:600 .76rem/1.3 'Inter',sans-serif;color:#e2e8f0}

.pd-cards{display:grid;gap:20px}
.pd-cards.three{grid-template-columns:repeat(3,1fr)}
.pd-card{padding:22px 22px 24px;border-radius:22px;background:#fff;border:1px solid var(--border);transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.pd-card:hover{transform:translateY(-8px);box-shadow:0 24px 50px rgba(99,102,241,.18);border-color:rgba(99,102,241,.4)}
.pd-card h4{font-size:1.08rem;margin-bottom:8px}
.pd-card p{font-size:.88rem;line-height:1.65;color:var(--muted);margin:0}
.pd-vis{position:relative;height:150px;border-radius:16px;margin-bottom:18px;background:linear-gradient(135deg,#eef2ff,#ecfeff);display:flex;align-items:center;justify-content:center;overflow:hidden}
/* QR / track & trace */
.qr{display:grid;grid-template-columns:repeat(9,1fr);grid-template-rows:repeat(9,1fr);gap:2px;width:96px;height:96px;padding:6px;background:#fff;border-radius:10px;box-shadow:0 8px 20px rgba(15,23,42,.14)}
.qr i{background:#1e1b4b;border-radius:1.5px}
.qr-scan{position:absolute;left:50%;top:18px;width:120px;height:3px;margin-left:-60px;border-radius:3px;background:linear-gradient(90deg,transparent,#06b6d4,transparent);box-shadow:0 0 12px #06b6d4;animation:qrScan 2.4s ease-in-out infinite}
@keyframes qrScan{0%,100%{transform:translateY(0)}50%{transform:translateY(112px)}}
.qr-ok{position:absolute;right:16px;bottom:14px;width:30px;height:30px;border-radius:50%;background:#22c55e;color:#fff;font-size:.8rem;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 14px rgba(34,197,94,.5);animation:okPop 2.4s ease-in-out infinite}
@keyframes okPop{0%,40%{transform:scale(0)}55%,90%{transform:scale(1)}100%{transform:scale(0)}}
/* accounting */
.acc{width:78%;padding:12px 14px;border-radius:12px;background:#fff;box-shadow:0 8px 20px rgba(15,23,42,.12);display:flex;flex-direction:column;gap:8px}
.acc-row{display:flex;gap:6px;align-items:center}.acc-row i{height:7px;border-radius:4px;background:#e2e8f0;flex:1}.acc-row i:first-child{flex:.5;background:#c7d2fe}.acc-row b{width:34px;height:7px;border-radius:4px;background:linear-gradient(90deg,#6366f1,#06b6d4);animation:accBar 2.6s ease-in-out infinite}
.acc-row:nth-child(2) b{animation-delay:-.8s}.acc-row:nth-child(3) b{animation-delay:-1.6s}
@keyframes accBar{0%,100%{width:34px}50%{width:56px}}
.acc-total{display:flex;justify-content:space-between;align-items:center;padding-top:8px;border-top:1px dashed #cbd5e1;font-size:.7rem;font-weight:700;color:#64748b}
.acc-total em{font:800 .86rem 'Sora',sans-serif;font-style:normal;color:#4f46e5}
/* TIJ printing */
.prn{position:relative;width:130px;height:96px;border-radius:12px;background:#fff;box-shadow:0 8px 20px rgba(15,23,42,.14);display:flex;align-items:center;justify-content:center;gap:12px;padding-top:14px}
.prn-head{position:absolute;top:0;left:0;right:0;height:14px;border-radius:12px 12px 0 0;background:linear-gradient(90deg,#6366f1,#06b6d4)}
.prn-head::after{content:'';position:absolute;top:0;left:0;width:22px;height:14px;background:#fff;opacity:.5;border-radius:4px;animation:prnHead 2.6s ease-in-out infinite}
@keyframes prnHead{0%,100%{transform:translateX(4px)}50%{transform:translateX(104px)}}
.prn-box{width:46px;height:46px;border-radius:10px;background:#eef2ff;color:#4f46e5;font-size:1.5rem;display:flex;align-items:center;justify-content:center}
.prn-label{display:flex;flex-direction:column;gap:6px}.prn-label b{display:block;height:6px;width:30px;border-radius:4px;background:#cbd5e1}.prn-label b+b{width:20px}
.prn-cloud{position:absolute;top:14px;right:18px;color:#6366f1;font-size:1.3rem;animation:vFloat 3s ease-in-out infinite}

/* 2 · insurtech */
.pd-insur{background:radial-gradient(ellipse 70% 50% at 50% 0%,rgba(99,102,241,.28),transparent 70%),#0a0f1e}
.pd-insur::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse 80% 70% at 50% 30%,#000,transparent);-webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 30%,#000,transparent)}
.pd-split{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.pd-panel{padding:32px 30px;border-radius:26px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.13);transition:transform .35s ease,border-color .35s ease,background .35s ease}
.pd-panel:hover{transform:translateY(-8px);border-color:rgba(34,211,238,.55);background:rgba(255,255,255,.09)}
.pd-panel .pd-tag,.pd-panel .pd-link{color:#22d3ee}
.pd-panel h3{color:#fff;font-size:1.45rem;margin-bottom:10px}
.pd-panel>p{color:rgba(255,255,255,.72);font-size:.92rem;line-height:1.7}
.flow{display:flex;align-items:center;margin:24px 0 18px}
.flow-n{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;min-width:76px}
.flow-n span{width:52px;height:52px;border-radius:16px;background:var(--grad);color:#fff;font-size:1.15rem;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px rgba(99,102,241,.5)}
.flow-n small{font-size:.7rem;font-weight:600;color:#cbd5e1}
.flow-line{position:relative;flex:1;height:3px;margin:0 6px 20px;border-radius:3px;background:rgba(255,255,255,.18);overflow:hidden}
.flow-line i{position:absolute;top:0;left:-30%;width:30%;height:100%;background:linear-gradient(90deg,transparent,#22d3ee,transparent);animation:flowRun 2s linear infinite}
.flow-line:nth-of-type(2) i{animation-delay:-1s}
@keyframes flowRun{to{left:100%}}
.pd-ticks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}
.pd-ticks li{position:relative;padding-left:24px;font-size:.86rem;font-weight:500;color:#cbd5e1}
.pd-ticks li::before{content:'\f00c';font-family:'Font Awesome 5 Free';font-weight:900;position:absolute;left:0;top:1px;font-size:.7rem;color:#22d3ee}
.chat{margin:22px 0 16px;display:flex;flex-direction:column;gap:10px}
.msg{display:flex;gap:9px;align-items:flex-end;max-width:92%;animation:msgIn .6s ease both}
.msg i{width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:.65rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.msg span{padding:9px 13px;border-radius:14px;font-size:.8rem;line-height:1.45}
.msg.in span{background:rgba(255,255,255,.12);color:#e2e8f0;border-bottom-left-radius:4px}
.msg.out{align-self:flex-end;flex-direction:row-reverse;animation-delay:.5s}
.msg.out i{background:var(--grad)}
.msg.out span{background:linear-gradient(135deg,#6366f1,#2563eb);color:#fff;border-bottom-right-radius:4px}
@keyframes msgIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.wave{display:flex;align-items:center;gap:4px;padding:10px 14px;border-radius:14px;background:rgba(34,211,238,.1);border:1px solid rgba(34,211,238,.3)}
.wave b{width:4px;height:16px;border-radius:3px;background:#22d3ee;animation:waveB 1.1s ease-in-out infinite}
.wave b:nth-child(2n){animation-delay:-.3s;background:#6366f1}.wave b:nth-child(3n){animation-delay:-.6s}
@keyframes waveB{0%,100%{transform:scaleY(.35)}50%{transform:scaleY(1.5)}}
.wave em{margin-left:auto;font-style:normal;font-size:.72rem;font-weight:700;color:#22d3ee}

/* 3 · advanced */
.pd-adv{background:linear-gradient(180deg,#f5f3ff,#fff)}
.pd-adv-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.pd-adv-card{border-radius:26px;background:#fff;border:1px solid var(--border);overflow:hidden;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.pd-adv-card:hover{transform:translateY(-8px);box-shadow:0 26px 56px rgba(99,102,241,.2);border-color:rgba(99,102,241,.4)}
.pd-adv-text{padding:24px 28px 28px}
.pd-adv-text h3{font-size:1.3rem;margin-bottom:8px}
.pd-adv-text p{font-size:.9rem;line-height:1.65;color:var(--muted);margin:0}
.dm-vis{position:relative;height:260px;background:radial-gradient(circle,#1e1b4b,#0a0f1e 80%);display:flex;align-items:center;justify-content:center;overflow:hidden}
.dm-svg{width:150px;height:135px;filter:drop-shadow(0 0 22px rgba(99,102,241,.7));animation:dmFloat 4s ease-in-out infinite}
@keyframes dmFloat{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-8px) rotate(2deg)}}
.dm-scan{position:absolute;left:18%;right:18%;top:20%;height:3px;border-radius:3px;background:linear-gradient(90deg,transparent,#22d3ee,transparent);box-shadow:0 0 16px #22d3ee;animation:dmScan 2.8s ease-in-out infinite}
@keyframes dmScan{0%,100%{top:22%}50%{top:76%}}
.dm-br{position:absolute;width:26px;height:26px;border:3px solid #22d3ee;opacity:.85}
.dm-br.b1{left:22%;top:18%;border-right:0;border-bottom:0;border-radius:6px 0 0 0}.dm-br.b2{right:22%;top:18%;border-left:0;border-bottom:0;border-radius:0 6px 0 0}
.dm-br.b3{left:22%;bottom:18%;border-right:0;border-top:0;border-radius:0 0 0 6px}.dm-br.b4{right:22%;bottom:18%;border-left:0;border-top:0;border-radius:0 0 6px 0}
.dm-tag{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);padding:5px 12px;border-radius:8px;background:rgba(34,211,238,.14);border:1px solid rgba(34,211,238,.4);color:#22d3ee;font:700 .66rem 'Inter',sans-serif;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
.hr-vis{position:relative;height:260px;background:radial-gradient(circle,#eef2ff,#e0f2fe);overflow:hidden}
.hr-svg{position:absolute;inset:0;width:100%;height:100%}
.hr-l{stroke:#6366f1;stroke-width:2;stroke-dasharray:3 7;vector-effect:non-scaling-stroke;opacity:.6;animation:hrFlow 1.6s linear infinite;animation-delay:var(--d)}
@keyframes hrFlow{to{stroke-dashoffset:-20}}
.hr-p{position:absolute;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;background:#fff;color:#6366f1;font-size:1.05rem;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(15,23,42,.16);border:2px solid #c7d2fe;animation:vFloat 4.5s ease-in-out infinite;animation-delay:var(--d)}
.hr-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:72px;height:72px;border-radius:22px;background:linear-gradient(135deg,#4338ca,#2563eb 60%,#0891b2);color:#fff;font-size:1.7rem;display:flex;align-items:center;justify-content:center;box-shadow:0 14px 34px rgba(79,70,229,.5);animation:hrSpin 6s ease-in-out infinite}
@keyframes hrSpin{0%,100%{transform:translate(-50%,-50%) rotate(0)}50%{transform:translate(-50%,-50%) rotate(8deg) scale(1.08)}}

/* 4 · staffing */
.pd-staff{background:linear-gradient(135deg,#4338ca 0%,#2563eb 55%,#0891b2 100%)}
.pd-staff::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse 80% 80% at 50% 40%,#000,transparent);-webkit-mask-image:radial-gradient(ellipse 80% 80% at 50% 40%,#000,transparent)}
.pd-staff .pd-cat{background:none;-webkit-text-fill-color:rgba(255,255,255,.35)}
.pd-staff .gradient-text{background:none;-webkit-text-fill-color:#fde68a;color:#fde68a}
.pd-lead{max-width:640px;margin:-18px 0 30px;color:rgba(255,255,255,.88);font-size:1rem}
.pd-clocks{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.pd-clock{padding:20px 10px 16px;border-radius:20px;text-align:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);color:#fff;transition:transform .3s ease,background .3s ease}
.pd-clock:hover{transform:translateY(-6px);background:rgba(255,255,255,.2)}
.pd-clock svg{width:78px;height:78px;margin-bottom:8px}
.ck-face{fill:rgba(255,255,255,.1);stroke:rgba(255,255,255,.65);stroke-width:1.6}
.pd-clock.day .ck-face{fill:rgba(253,230,138,.28);stroke:#fde68a}
.ck-ticks line{stroke:#fff;stroke-width:1.6;stroke-linecap:round}
.ck-h,.ck-m,.ck-s{transform-origin:30px 30px;transform-box:view-box;stroke-linecap:round}
.ck-h{stroke:#fff;stroke-width:2.6}.ck-m{stroke:#e0e7ff;stroke-width:1.9}.ck-s{stroke:#fde047;stroke-width:1}
.ck-dot{fill:#fde047}
.pd-clock b{display:block;font:800 1.05rem 'Sora',sans-serif}
.pd-clock small{display:block;font-size:.72rem;opacity:.8}
.pd-clock .ck-t{display:block;margin-top:6px;font:700 .95rem 'Sora',sans-serif;font-style:normal;letter-spacing:.06em;color:#fde68a}
.pd-sub{margin:44px 0 20px;color:#fff;font-size:1.25rem}
.pd-exps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.pd-exp{display:flex;align-items:center;gap:14px;padding:16px 16px;border-radius:16px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);transition:transform .3s ease,background .3s ease}
.pd-exp:hover{transform:translateY(-5px);background:rgba(255,255,255,.18)}
.pd-exp span{width:44px;height:44px;border-radius:13px;flex-shrink:0;background:#fff;color:#4338ca;font-size:1.15rem;display:flex;align-items:center;justify-content:center}
.pd-exp b{display:block;color:#fff;font:700 .86rem/1.3 'Sora',sans-serif}
.pd-exp small{display:block;margin-top:2px;color:rgba(255,255,255,.78);font-size:.72rem}

@media(max-width:1100px){.pd-feature{grid-template-columns:1fr}.pd-clocks{grid-template-columns:repeat(3,1fr)}.pd-exps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.pd-cards.three,.pd-split,.pd-adv-grid{grid-template-columns:1fr}.pd-nav a{padding:12px 12px;font-size:.8rem}}
@media(max-width:600px){.pd-mods{grid-template-columns:repeat(2,1fr)}.pd-clocks{grid-template-columns:repeat(2,1fr)}.pd-exps{grid-template-columns:1fr}.pd-head{flex-direction:column;align-items:flex-start;gap:6px}.pd-feature{padding:24px 18px}.flow-n{min-width:60px}.pd-nav a span{display:none}.pd-nav a{padding:14px 18px}}
@media(prefers-reduced-motion:reduce){.pd-mod,.msg,.qr-scan,.qr-ok,.flow-line i,.wave b,.dm-scan,.dm-svg,.hr-l,.hr-p,.hr-core,.prn-head::after,.prn-cloud,.acc-row b{animation:none!important}}

/* Industries: bullet points revealed on hover / tap */
.in12-pts{position:absolute;inset:0;z-index:5;padding:18px 20px;border-radius:inherit;background:linear-gradient(150deg,var(--c),color-mix(in srgb,var(--c) 52%,#0f172a));color:#fff;opacity:0;visibility:hidden;transform:translateY(16px) scale(.97);transition:opacity .3s ease,transform .4s cubic-bezier(.22,.8,.3,1),visibility 0s .4s;display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.in12-pts::before{content:'';position:absolute;right:-30px;top:-30px;width:130px;height:130px;border-radius:50%;background:rgba(255,255,255,.12)}
.in12-tile:hover .in12-pts,.in12-tile.open .in12-pts{opacity:1;visibility:visible;transform:none;transition:opacity .3s ease,transform .4s cubic-bezier(.22,.8,.3,1),visibility 0s}
.in12-pts h5{position:relative;display:flex;align-items:center;gap:9px;margin:0 0 10px;color:#fff;font:700 .92rem/1.25 'Sora',sans-serif}
.in12-pts h5 i{width:28px;height:28px;border-radius:9px;flex-shrink:0;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:.8rem}
.in12-pts ul{position:relative;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.in12-pts li{position:relative;padding-left:20px;font-size:.78rem;font-weight:500;line-height:1.35;color:rgba(255,255,255,.95);opacity:0;transform:translateX(-12px);transition:opacity .3s ease,transform .35s ease}
.in12-pts li::before{content:'';position:absolute;left:2px;top:.42em;width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.25)}
.in12-tile:hover .in12-pts li,.in12-tile.open .in12-pts li{opacity:1;transform:none}
.in12-tile:hover .in12-pts li:nth-child(1),.in12-tile.open .in12-pts li:nth-child(1){transition-delay:.08s}
.in12-tile:hover .in12-pts li:nth-child(2),.in12-tile.open .in12-pts li:nth-child(2){transition-delay:.16s}
.in12-tile:hover .in12-pts li:nth-child(3),.in12-tile.open .in12-pts li:nth-child(3){transition-delay:.24s}
.in12-tile:hover .in12-pts li:nth-child(4),.in12-tile.open .in12-pts li:nth-child(4){transition-delay:.32s}

/* ================================================================
   AI TOOLKIT PAGE
   ================================================================ */
.ai-hero{position:relative;overflow:hidden;background:#070b17;padding:calc(var(--nav-h) + 70px) 0 90px}
.ai-hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 60% 70% at 15% 40%,rgba(99,102,241,.35),transparent 65%),radial-gradient(ellipse 50% 50% at 90% 20%,rgba(6,182,212,.22),transparent 60%)}
.ai-hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse 80% 80% at 50% 40%,#000,transparent);-webkit-mask-image:radial-gradient(ellipse 80% 80% at 50% 40%,#000,transparent)}
.ai-hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center}
.ai-hero h1{color:#fff;margin:18px 0 16px;font-size:clamp(2.4rem,5vw,3.8rem);line-height:1.08}
.ai-sub{color:rgba(255,255,255,.75);font-size:1.08rem;line-height:1.7;max-width:540px}
.ai-sub b{color:#fff}
.ai-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.ai-points{list-style:none;margin:30px 0 0;padding:22px 0 0;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-wrap:wrap;gap:10px 26px}
.ai-points li{display:flex;align-items:center;gap:9px;font-size:.85rem;font-weight:600;color:#cbd5e1}
.ai-points i{color:#22d3ee}

/* vault visual */
.ai-vault{position:relative;width:100%;max-width:470px;aspect-ratio:1;margin:0 auto}
.av-ring{position:absolute;left:50%;top:50%;border-radius:50%;border:1.5px dashed rgba(129,140,248,.4);transform:translate(-50%,-50%)}
.av-ring.r1{width:62%;height:62%;animation:avSpin 40s linear infinite}
.av-ring.r2{width:92%;height:92%;border-color:rgba(34,211,238,.28);animation:avSpin 60s linear infinite reverse}
@keyframes avSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.av-rack{position:absolute;left:50%;top:50%;width:34%;transform:translate(-50%,-50%);padding:10px;border-radius:16px;background:#111827;border:1px solid rgba(255,255,255,.14);box-shadow:0 22px 50px rgba(0,0,0,.55);display:flex;flex-direction:column;gap:7px}
.av-unit{display:flex;align-items:center;gap:6px;padding:9px 10px;border-radius:8px;background:#1f2937}
.av-unit i{font-size:.4rem;color:#22c55e;animation:ledBlink 1.6s ease-in-out infinite}
.av-unit i+i{color:#fbbf24;animation-delay:-.6s}
.av-unit span{flex:1;height:5px;border-radius:3px;background:linear-gradient(90deg,#6366f1,#22d3ee);opacity:.6}
.av-shield{position:absolute;left:50%;top:50%;width:46%;aspect-ratio:1;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;color:rgba(99,102,241,.5);font-size:clamp(7rem,15vw,10.5rem);filter:drop-shadow(0 0 30px rgba(99,102,241,.7));animation:avPulse 3.2s ease-in-out infinite}
.av-shield b{position:absolute;right:-4%;bottom:6%;width:34%;aspect-ratio:1;border-radius:50%;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;font-size:clamp(1rem,2.4vw,1.7rem);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px rgba(34,197,94,.55)}
@keyframes avPulse{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.05)}}
.av-cloud{position:absolute;width:15%;aspect-ratio:1;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);color:#94a3b8;font-size:clamp(1rem,2.6vw,1.8rem);display:flex;align-items:center;justify-content:center;animation:avRepel 4s ease-in-out infinite}
.av-cloud s{position:absolute;left:8%;right:8%;top:50%;height:3px;border-radius:3px;background:#ef4444;transform:rotate(-40deg);box-shadow:0 0 10px rgba(239,68,68,.8)}
.av-cloud.c1{left:2%;top:10%}.av-cloud.c2{right:3%;top:18%;animation-delay:-1.3s}.av-cloud.c3{left:10%;bottom:8%;animation-delay:-2.6s}
@keyframes avRepel{0%,100%{transform:translate(0,0)}50%{transform:translate(-8px,-6px)}}
.av-chip{position:absolute;padding:8px 14px;border-radius:999px;font:700 .72rem 'Inter',sans-serif;color:#fff;background:rgba(15,23,42,.85);border:1px solid rgba(255,255,255,.18);white-space:nowrap;box-shadow:0 8px 20px rgba(0,0,0,.4);animation:vFloat 5s ease-in-out infinite}
.av-chip i{margin-right:6px;color:#22d3ee}
.av-chip.a1{left:50%;bottom:-2%;transform:translateX(-50%)}.av-chip.a2{right:-2%;top:46%;animation-delay:-2s}.av-chip.a2 i{color:#ef4444}

/* privacy */
.ai-privacy{background:#fff}
.ai-guard{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ai-g{position:relative;padding:30px 26px;border-radius:22px;background:linear-gradient(160deg,#fff,#f5f3ff);border:1px solid #e0e7ff;text-align:center;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.ai-g:hover{transform:translateY(-8px);box-shadow:0 22px 48px rgba(99,102,241,.18);border-color:rgba(99,102,241,.4)}
.ai-g span{width:60px;height:60px;margin:0 auto 16px;border-radius:18px;background:var(--grad);color:#fff;font-size:1.4rem;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 26px rgba(99,102,241,.4);transition:transform .4s ease}
.ai-g:hover span{transform:rotate(-8deg) scale(1.1)}
.ai-g h4{font-size:1.05rem;margin-bottom:8px}.ai-g p{font-size:.88rem;line-height:1.65;color:var(--muted);margin:0}
.ai-quote{margin:34px auto 0;max-width:780px;padding:20px 28px;border-radius:18px;text-align:center;font:600 1.08rem/1.5 'Sora',sans-serif;color:#3730a3;background:linear-gradient(90deg,#eef2ff,#ecfeff,#eef2ff);background-size:200% 100%;animation:quoteSheen 8s linear infinite}
.ai-quote i{font-size:.8rem;color:#a5b4fc;margin:0 8px}
@keyframes quoteSheen{to{background-position:200% 0}}

/* features */
.ai-features{background:radial-gradient(ellipse 70% 40% at 50% 0%,rgba(99,102,241,.3),transparent 70%),#0a0f1e;position:relative;overflow:hidden;scroll-margin-top:90px}
.ai-features .gradient-text{background:linear-gradient(90deg,#818cf8,#22d3ee);-webkit-background-clip:text;background-clip:text}
.ai-bento{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.ai-card{display:flex;flex-direction:column;padding:26px 26px 22px;border-radius:26px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.13);transition:transform .35s ease,border-color .35s ease,background .35s ease}
.ai-card:hover{transform:translateY(-8px);border-color:rgba(34,211,238,.55);background:rgba(255,255,255,.09)}
.ai-cardhead{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.ai-cardhead h3{color:#fff;font-size:1.2rem;margin:0}.ai-cardhead small{color:#94a3b8;font-size:.78rem}
.ai-ico{width:48px;height:48px;border-radius:14px;background:var(--grad);color:#fff;font-size:1.15rem;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 22px rgba(99,102,241,.45)}
.ai-demo{min-height:200px;border-radius:18px;background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.08);padding:16px;display:flex;align-items:center;justify-content:center;gap:16px;overflow:hidden}
.ai-demo.two{flex-wrap:wrap}
.ai-list{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.ai-list li{position:relative;padding-left:26px;color:#e2e8f0;font-size:.9rem}
.ai-list li::before{content:'\f00c';font-family:'Font Awesome 5 Free';font-weight:900;position:absolute;left:0;top:2px;font-size:.72rem;color:#22d3ee}
.ai-list b{font-weight:600}
.ai-dev{grid-column:1/-1}

/* bg remover */
.bgr{position:relative;width:46%;min-width:150px;aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:conic-gradient(#e2e8f0 25%,#fff 0 50%,#e2e8f0 0 75%,#fff 0) 0 0/16px 16px}
.bgr-under,.bgr-over{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center}
.bgr-under i,.bgr-over>i{font-size:5.2rem;color:#4338ca;margin-bottom:-8px}
.bgr-over{background:linear-gradient(180deg,#fbbf24,#f97316 50%,#1e1b4b);animation:bgrWipe 4.5s ease-in-out infinite}
.bgr-over .sun{position:absolute;top:14%;left:16%;width:20px;height:20px;border-radius:50%;background:#fff6}
.bgr-over .hill{position:absolute;bottom:0;border-radius:50% 50% 0 0}
.bgr-over .h1{left:-10%;width:60%;height:38%;background:#312e81}.bgr-over .h2{right:-10%;width:60%;height:30%;background:#4338ca}
.bgr-over>i{position:relative;z-index:2}
@keyframes bgrWipe{0%,15%{clip-path:inset(0 0 0 0)}50%,65%{clip-path:inset(0 0 0 100%)}100%{clip-path:inset(0 0 0 0)}}
.bgr-line{position:absolute;top:0;bottom:0;width:3px;background:#fff;box-shadow:0 0 10px #fff;left:100%;animation:bgrLine 4.5s ease-in-out infinite}
@keyframes bgrLine{0%,15%{left:100%}50%,65%{left:0}100%{left:100%}}
.cmp{flex:1;min-width:130px;display:flex;flex-direction:column;gap:14px}
.cmp-row small{display:block;margin-bottom:5px;color:#94a3b8;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.cmp-row span{display:block;height:10px;border-radius:6px;background:rgba(255,255,255,.1);overflow:hidden}
.cmp-row i{display:block;height:100%;width:100%;border-radius:6px;background:linear-gradient(90deg,#f59e0b,#ef4444)}
.cmp-row i.small{background:linear-gradient(90deg,#22c55e,#06b6d4);animation:cmpShrink 4s ease-in-out infinite}
@keyframes cmpShrink{0%{width:100%}40%,80%{width:18%}100%{width:100%}}

/* pdf */
.pdf{position:relative;width:100%;max-width:300px;display:flex;gap:12px;align-items:flex-start}
.pdf-tools{display:flex;flex-direction:column;gap:8px}
.pdf-tools i{width:32px;height:32px;border-radius:10px;background:rgba(255,255,255,.1);color:#c7d2fe;font-size:.8rem;display:flex;align-items:center;justify-content:center}
.pdf-tools i:first-child{background:var(--grad);color:#fff}
.pdf-page{flex:1;padding:16px 14px;border-radius:10px;background:#fff;display:flex;flex-direction:column;gap:9px;box-shadow:0 14px 30px rgba(0,0,0,.4)}
.pdf-page b{display:block;height:7px;border-radius:4px;background:#e2e8f0}.pdf-page b.w2{width:70%}.pdf-page b.w3{width:85%}
.pdf-page b.hl{position:relative;background:#c7d2fe}
.pdf-page b.hl em{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:4px;background:#6366f1;animation:pdfType 3.2s steps(12) infinite}
.pdf-page b.hl::after{content:'';position:absolute;top:-3px;bottom:-3px;width:2px;background:#4338ca;left:0;animation:pdfCaret 3.2s steps(12) infinite}
@keyframes pdfType{0%{width:0}70%,100%{width:100%}}
@keyframes pdfCaret{0%{left:0}70%,100%{left:100%}}
.pdf-conv{position:absolute;right:-4px;bottom:-14px;padding:6px 12px;border-radius:999px;background:linear-gradient(135deg,#6366f1,#06b6d4);color:#fff;font:700 .68rem 'Inter',sans-serif;box-shadow:0 8px 18px rgba(99,102,241,.5);animation:vFloat 4s ease-in-out infinite}

/* calculator + youtube */
.calc{width:128px;padding:10px;border-radius:14px;background:#111827;border:1px solid rgba(255,255,255,.12)}
.calc-d{padding:8px 10px;border-radius:8px;background:#1f2937;text-align:right;margin-bottom:8px}
.calc-d small{display:block;color:#94a3b8;font-size:.62rem}.calc-d b{font:800 1.3rem 'Sora',sans-serif;color:#22d3ee}
.calc-k{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
.calc-k i{height:20px;border-radius:5px;background:#374151;animation:keyHit 3s ease-in-out infinite}
.calc-k i:nth-child(3n){animation-delay:-.4s}.calc-k i:nth-child(3n+1){animation-delay:-1.2s}.calc-k i:nth-child(4n){animation-delay:-2s}
.calc-k i.eq{grid-column:span 2;background:var(--grad);animation:none}
@keyframes keyHit{0%,85%,100%{background:#374151}92%{background:#6366f1}}
.ytm{display:flex;align-items:center;gap:10px}
.ytm-vid{width:72px;height:50px;border-radius:10px;background:linear-gradient(135deg,#ef4444,#b91c1c);color:#fff;font-size:1.6rem;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 18px rgba(239,68,68,.4)}
.ytm-ar{color:#22d3ee;font-size:1.3rem;animation:arrowNudge 1.4s ease-in-out infinite}
@keyframes arrowNudge{0%,100%{transform:translateX(-3px)}50%{transform:translateX(4px)}}
.ytm-mp3{padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);text-align:center}
.ytm-w{display:flex;align-items:center;gap:3px;height:26px}
.ytm-w b{width:4px;height:100%;border-radius:3px;background:#22d3ee;animation:waveB 1s ease-in-out infinite}
.ytm-w b:nth-child(2n){animation-delay:-.3s;background:#818cf8}.ytm-w b:nth-child(3n){animation-delay:-.6s}
.ytm-mp3 small{display:block;margin-top:3px;font:800 .68rem 'Sora',sans-serif;color:#fff;letter-spacing:.1em}

/* dev hub */
.ide{width:100%;max-width:640px;border-radius:14px;overflow:hidden;background:#0f172a;border:1px solid rgba(255,255,255,.14);box-shadow:0 20px 44px rgba(0,0,0,.5)}
.ide-bar{display:flex;align-items:center;gap:6px;padding:9px 12px;background:#1e293b}
.ide-bar i{width:9px;height:9px;border-radius:50%;background:#f87171}.ide-bar i:nth-child(2){background:#fbbf24}.ide-bar i:nth-child(3){background:#34d399}
.ide-bar span{margin-left:8px;font:600 .7rem 'Inter',sans-serif;color:#94a3b8}
.ide-body{display:grid;grid-template-columns:1.25fr 1fr}
.ide-code{padding:14px 14px;font:500 .72rem/1.9 'Consolas','Courier New',monospace;color:#cbd5e1;border-right:1px solid rgba(255,255,255,.08)}
.ide-code p{margin:0;white-space:nowrap}
.ide-code em{font-style:normal}.t{color:#f472b6}.s{color:#86efac}.k{color:#60a5fa}.p{color:#fbbf24}.v{color:#fda4af}.f{color:#c4b5fd}
.caret{display:inline-block;width:7px;height:13px;margin-left:2px;vertical-align:middle;background:#22d3ee;animation:caretBlink 1s steps(2) infinite}
@keyframes caretBlink{50%{opacity:0}}
.ide-prev{padding:14px;background:#fff;display:flex;flex-direction:column;justify-content:center;gap:8px}
.ide-prev small{font:700 .58rem 'Inter',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#94a3b8}
.ide-prev h6{margin:0;font:800 1.1rem 'Sora',sans-serif;color:#0f172a}
.ide-prev span{align-self:flex-start;padding:7px 16px;border-radius:8px;background:#6366f1;color:#fff;font:700 .75rem 'Inter',sans-serif;animation:prevColor 5s ease-in-out infinite}
@keyframes prevColor{0%,40%{background:#6366f1}55%,95%{background:#06b6d4}100%{background:#6366f1}}

/* custom */
.ai-custom{background:#fff}
.ai-custom-box{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center;padding:48px;border-radius:32px;background:linear-gradient(135deg,#4338ca 0%,#2563eb 55%,#0891b2 100%);color:#fff;position:relative;overflow:hidden;box-shadow:0 30px 70px rgba(67,56,202,.35)}
.ai-custom-box::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 90% 10%,rgba(255,255,255,.2),transparent 40%),radial-gradient(circle at 5% 100%,rgba(255,255,255,.14),transparent 45%)}
.ai-custom-box>*{position:relative}
.ai-custom-box h2{color:#fff;margin:16px 0 12px}
.ai-custom-box p{color:rgba(255,255,255,.88);font-size:1rem;line-height:1.7;max-width:520px}
.ai-custom .btn-primary{background:#fff;color:#3730a3}
.ai-custom .btn-ghost{border:2px solid rgba(255,255,255,.7);color:#fff;background:transparent}
.ai-custom .btn-ghost:hover{background:rgba(255,255,255,.15)}
.ai-custom-vis{position:relative;padding:26px 22px;border-radius:22px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);display:flex;flex-direction:column;gap:16px}
.cv-row span{display:block;margin-bottom:6px;font:700 .72rem 'Inter',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.9)}
.cv-row div{height:9px;border-radius:6px;background:rgba(255,255,255,.2);overflow:hidden}
.cv-row i{display:block;height:100%;width:var(--w);border-radius:6px;background:linear-gradient(90deg,#fde68a,#fff);animation:cvBar 4s ease-in-out infinite}
.cv-row:nth-child(2) i{animation-delay:-1s}.cv-row:nth-child(3) i{animation-delay:-2s}.cv-row:nth-child(4) i{animation-delay:-3s}
@keyframes cvBar{0%,100%{width:var(--w)}50%{width:calc(var(--w) - 22%)}}
.cv-gear{position:absolute;right:-18px;top:-22px;width:56px;height:56px;border-radius:50%;background:#fff;color:#4338ca;font-size:1.6rem;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 26px rgba(0,0,0,.25)}
.cv-gear i{animation:inSpin 6s linear infinite}

@media(max-width:1000px){.ai-hero-inner{grid-template-columns:1fr}.ai-vault{max-width:380px}.ai-guard{grid-template-columns:1fr}.ai-bento{grid-template-columns:1fr}.ai-custom-box{grid-template-columns:1fr;padding:34px 24px}}
@media(max-width:560px){.ide-body{grid-template-columns:1fr}.ide-code{border-right:0;border-bottom:1px solid rgba(255,255,255,.08);overflow-x:auto}.av-chip.a2{right:0}}
@media(prefers-reduced-motion:reduce){.av-ring,.av-shield,.av-cloud,.av-chip,.av-unit i,.ai-quote,.bgr-over,.bgr-line,.cmp-row i.small,.pdf-page b.hl em,.pdf-page b.hl::after,.pdf-conv,.calc-k i,.ytm-ar,.ytm-w b,.caret,.ide-prev span,.cv-row i,.cv-gear i{animation:none!important}}

/* ================================================================
   AI TOOLKIT v2: individual tool cards with filter tabs
   ================================================================ */
.tools-tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 10px;margin:0 0 32px;border-bottom:1px solid rgba(255,255,255,.12)}
.tt{position:relative;display:inline-flex;align-items:center;gap:8px;padding:12px 16px;background:none;border:0;cursor:pointer;color:#94a3b8;font:600 .86rem 'Inter',sans-serif;transition:color .25s ease}
.tt i{color:#64748b;transition:color .25s ease}
.tt::after{content:'';position:absolute;left:12px;right:12px;bottom:-1px;height:3px;border-radius:3px 3px 0 0;background:linear-gradient(90deg,#818cf8,#22d3ee);transform:scaleX(0);transition:transform .3s ease}
.tt:hover,.tt.active{color:#fff}.tt:hover i,.tt.active i{color:#22d3ee}
.tt.active::after{transform:scaleX(1)}
.tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.tool{display:flex;flex-direction:column;padding:20px 20px 22px;border-radius:22px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.13);transition:transform .35s ease,border-color .35s ease,background .35s ease,box-shadow .35s ease}
.tool:hover{transform:translateY(-8px);border-color:rgba(34,211,238,.55);background:rgba(255,255,255,.09);box-shadow:0 24px 50px rgba(0,0,0,.4)}
.tool.wide{grid-column:span 2}
.tool.hide{display:none}
.tool.pop{animation:toolPop .5s ease both}
@keyframes toolPop{from{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:none}}
.tool-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.tool-ico{width:42px;height:42px;border-radius:13px;background:var(--grad);color:#fff;font-size:1rem;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 18px rgba(99,102,241,.45);transition:transform .35s ease}
.tool:hover .tool-ico{transform:rotate(-8deg) scale(1.1)}
.tool-badge{font:700 .62rem 'Inter',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#4ade80}
.tool-badge i{margin-right:5px;font-size:.6rem}
.tool-vis{height:170px;border-radius:16px;background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;overflow:hidden;padding:14px;margin-bottom:16px}
.tool.wide .tool-vis{height:190px}
.tool h3{color:#fff;font-size:1.05rem;margin:0 0 6px}
.tool p{margin:0;color:#94a3b8;font-size:.85rem;line-height:1.6}
.tool .bgr{width:62%;min-width:0}
.cmp.big{width:100%;max-width:260px}
.cmp-save{display:block;margin-top:2px;font:600 .74rem 'Inter',sans-serif;font-style:normal;color:#4ade80}
.cmp-save i{margin-right:6px}
.tool .pdf{max-width:260px}
.tool .ide{max-width:none}
/* generator */
.gen{position:relative;width:120px;height:120px}
.gen-pg{position:absolute;width:80px;height:104px;border-radius:8px;background:#fff;box-shadow:0 10px 22px rgba(0,0,0,.45)}
.gen-pg.g1{left:6px;top:10px;transform:rotate(-10deg);opacity:.55}.gen-pg.g2{left:22px;top:6px;transform:rotate(-3deg);opacity:.8}
.gen-pg.g3{left:36px;top:2px;padding:14px 12px;display:flex;flex-direction:column;gap:7px;animation:genRise 3.4s ease-in-out infinite}
.gen-pg.g3 b{display:block;height:6px;border-radius:3px;background:#e2e8f0}.gen-pg.g3 b:nth-child(2){width:70%}
.gen-pg.g3>i{position:absolute;right:8px;bottom:8px;color:#ef4444;font-size:1.3rem}
@keyframes genRise{0%,100%{transform:translateY(8px)}50%{transform:translateY(-4px)}}
.gen-sp{position:absolute;color:#fde047;font-size:.9rem;animation:inTwinkle 2.4s ease-in-out infinite}
.gen-sp.s1{right:-6px;top:2px}.gen-sp.s2{left:-4px;bottom:6px;animation-delay:1.1s;color:#22d3ee}
/* converter */
.cvt{display:flex;align-items:center;gap:14px}
.cvt-f{display:flex;flex-direction:column;align-items:center;gap:6px;width:72px;padding:14px 0;border-radius:14px;background:#fff;color:#ef4444;font-size:1.7rem;box-shadow:0 10px 22px rgba(0,0,0,.4)}
.cvt-f.w{color:#2563eb}.cvt-f b{font:800 .66rem 'Sora',sans-serif;color:#334155;letter-spacing:.06em}
.cvt-ar{display:flex;color:#22d3ee;font-size:1.1rem}
.cvt-ar i{animation:cvtArrow 1.2s ease-in-out infinite}.cvt-ar i:nth-child(2){animation-delay:.2s}.cvt-ar i:nth-child(3){animation-delay:.4s}
@keyframes cvtArrow{0%,100%{opacity:.2}50%{opacity:1}}
@media(max-width:1000px){.tools{grid-template-columns:repeat(2,1fr)}.tool.wide{grid-column:1/-1}}
@media(max-width:620px){.tools{grid-template-columns:1fr}.tt{padding:10px 10px;font-size:.8rem}}
@media(prefers-reduced-motion:reduce){.gen-pg.g3,.gen-sp,.cvt-ar i,.tool.pop{animation:none!important}}

/* Footer: DPIIT / Startup India recognition badge */
.footer-badge{margin-top:22px;max-width:230px}
.footer-badge img{display:block;width:100%;height:auto;border-radius:14px;box-shadow:0 10px 26px rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.14);transition:transform .35s ease,box-shadow .35s ease}
.footer-badge img:hover{transform:translateY(-4px) scale(1.03);box-shadow:0 16px 34px rgba(99,102,241,.35)}
@media(max-width:640px){.footer-badge{max-width:200px}}

/* Footer: five aligned columns, recognition badge last */
.footer-inner{grid-template-columns:1.5fr .9fr 1fr 1.35fr 1fr;gap:40px;align-items:start}
.footer-recog img{display:block;width:100%;max-width:210px;height:auto;border-radius:14px;box-shadow:0 10px 26px rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.14);transition:transform .35s ease,box-shadow .35s ease}
.footer-recog img:hover{transform:translateY(-4px) scale(1.03);box-shadow:0 16px 34px rgba(99,102,241,.35)}
@media(max-width:1100px){.footer-inner{grid-template-columns:1fr 1fr 1fr;gap:34px}}
@media(max-width:700px){.footer-inner{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.footer-inner{grid-template-columns:1fr}}

/* ================================================================
   PRELOADER
   ================================================================ */
html.pl-lock,html.pl-lock body{overflow:hidden}
#preloader{position:fixed;inset:0;z-index:99999;background:#fff;display:flex;align-items:center;justify-content:center;transition:opacity .55s ease,visibility 0s .55s,transform .7s cubic-bezier(.7,0,.3,1)}
#preloader.done{opacity:0;visibility:hidden;transform:translateY(-6%)}
.pl-inner{display:flex;flex-direction:column;align-items:center;gap:22px}
.pl-ring{position:relative;width:150px;height:150px;display:flex;align-items:center;justify-content:center}
.pl-spin{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,#6366f1,#06b6d4,rgba(6,182,212,0) 70%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 4px));mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 4px));animation:plSpin 1.1s linear infinite}
@keyframes plSpin{to{transform:rotate(360deg)}}
.pl-logo{position:relative;width:118px;height:118px;border-radius:50%;overflow:hidden;background:#fff;box-shadow:0 10px 30px rgba(99,102,241,.2);animation:plPulse 1.8s ease-in-out infinite}
.pl-logo img{position:absolute;left:-43px;top:-23px;width:204px;height:204px;max-width:none}
@keyframes plPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
.pl-bar{width:170px;height:4px;border-radius:4px;background:#eef2ff;overflow:hidden}
.pl-bar i{display:block;height:100%;width:40%;border-radius:4px;background:linear-gradient(90deg,#6366f1,#06b6d4);animation:plBar 1.2s ease-in-out infinite}
@keyframes plBar{0%{transform:translateX(-100%)}100%{transform:translateX(350%)}}
#preloader small{font:700 .7rem 'Inter',sans-serif;letter-spacing:.3em;text-transform:uppercase;color:#94a3b8}
@media(prefers-reduced-motion:reduce){.pl-spin,.pl-logo,.pl-bar i{animation:none}}

/* Footer: socials now sit under the contact details */
.footer-news .footer-socials{margin-top:18px}

/* Contact form: maths check */
.captcha-box{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:16px;padding:14px 16px;border-radius:14px;background:linear-gradient(135deg,#eef2ff,#ecfeff);border:1px solid #e0e7ff}
.captcha-q{display:flex;align-items:center;gap:10px;font:700 1rem 'Sora',sans-serif;color:#3730a3}
.captcha-q i{width:36px;height:36px;border-radius:11px;background:var(--grad);color:#fff;font-size:.95rem;display:flex;align-items:center;justify-content:center}
.captcha-box .form-control{width:96px;text-align:center;font-weight:700}
.captcha-note{flex-basis:100%;font-size:.76rem;color:var(--muted);margin:0}

/* Preloader fixes: show only the icon mark (no clipped company-name text) and fade out in place */
.pl-logo img{left:-46px;top:-24px;width:208px;height:208px;-webkit-mask-image:linear-gradient(#000 0,#000 62%,transparent 62%);mask-image:linear-gradient(#000 0,#000 62%,transparent 62%)}
#preloader.done{transform:none;transition:opacity .5s ease,visibility 0s .5s}

/* Footer: social icons sit on the right of the copyright line */
.footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px}
.footer-bottom p{margin:0}
.footer-bottom .footer-socials{margin:0}
.footer-bottom .footer-socials i{color:inherit}
@media(max-width:640px){.footer-bottom .footer-socials{justify-content:center}}

/* Preloader: just the logo, nothing else */
#preloader .pl-only{width:min(260px,62vw);height:auto;display:block;animation:plLogo 1.6s ease-in-out infinite}
@keyframes plLogo{0%,100%{opacity:.55;transform:scale(.96)}50%{opacity:1;transform:scale(1.02)}}
@media(prefers-reduced-motion:reduce){#preloader .pl-only{animation:none}}

/* Content protection: no text selection or image dragging (form fields excluded) */
html,body{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none}
input,textarea,select,[contenteditable="true"]{-webkit-user-select:text;-moz-user-select:text;user-select:text}
img,svg{-webkit-user-drag:none;user-drag:none}

/* Preloader v3: small logo inside the same orbiting rings as the home-page hero */
.pl-stage{position:relative;width:min(330px,78vw);aspect-ratio:1;display:flex;align-items:center;justify-content:center}
.pl-art{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
#preloader .hv-r1{animation-duration:12s}
#preloader .hv-r2{animation-duration:9s}
#preloader .hv-r3{animation-duration:6s}
#preloader .pl-only{position:relative;z-index:2;width:44%;height:auto;animation:plLogo 1.8s ease-in-out infinite}
/* Preloader: smaller overall */
.pl-stage{width:min(200px,60vw)}
#preloader .pl-only{width:48%}
/* Preloader: back to the previous size */
.pl-stage{width:min(330px,78vw)}
#preloader .pl-only{width:44%}

/* ================================================================
   EMERGING TECH PAGE
   ================================================================ */
.et-sec{position:relative;overflow:hidden;scroll-margin-top:130px;padding:84px 0}
.et-sec>.container{position:relative;z-index:1}
.et-row{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.et-row.rev .et-text{order:2}.et-row.rev .et-media{order:1}
.et-text h2{margin:16px 0 14px;font-size:clamp(1.55rem,2.7vw,2.15rem);line-height:1.18}
.et-text p{font-size:.96rem;line-height:1.75;color:var(--muted)}
.et-text p b{color:var(--text);font-weight:700}
.et-media{width:100%;max-width:500px;justify-self:center}
.et-row:not(.rev) .et-media{justify-self:end}.et-row.rev .et-media{justify-self:start}

.et-tech{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;margin:22px 0 4px;padding-top:14px;border-top:1px dashed #cbd5e1}
.et-tech span{font:700 .66rem 'Inter',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#94a3b8}
.et-tech b{display:inline-flex;align-items:center;gap:8px;font-size:.84rem;font-weight:600;color:var(--muted)}
.et-tech b i{background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:1rem}
.et-checks{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.et-checks li{position:relative;padding-left:28px;font-size:.92rem;font-weight:600;color:var(--text)}
.et-checks li::before{content:'\f00c';font-family:'Font Awesome 5 Free';font-weight:900;position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;font-size:.6rem;display:flex;align-items:center;justify-content:center}

/* section themes */
.et-s1{background:linear-gradient(180deg,#fff,#f5f3ff)}
.et-s2{background:linear-gradient(180deg,#f0fdf4,#ecfccb)}
.et-s2 .gradient-text{background:linear-gradient(90deg,#16a34a,#06b6d4);-webkit-background-clip:text;background-clip:text}
.et-s3{background:radial-gradient(ellipse 70% 60% at 80% 40%,rgba(245,158,11,.22),transparent 70%),#0f0b1f}
.et-s3 h2{color:#fff}.et-s3 .et-text p{color:rgba(255,255,255,.72)}.et-s3 .et-text p b{color:#fde68a}
.et-s3 .gradient-text{background:linear-gradient(90deg,#fbbf24,#fb7185);-webkit-background-clip:text;background-clip:text}
.et-s3 .et-tech{border-color:rgba(255,255,255,.18)}.et-s3 .et-tech b{color:#e2e8f0}.et-s3 .svc-back{color:rgba(255,255,255,.65)}
.et-s3 .label-chip.dark{background:rgba(251,191,36,.14);border-color:rgba(251,191,36,.4);color:#fde68a}
.et-s4{background:linear-gradient(180deg,#fff,#ecfeff)}

/* shared scene frame */
.et-vis{position:relative;container-type:inline-size;width:100%;aspect-ratio:400/320;border-radius:26px;overflow:hidden;box-shadow:0 30px 64px rgba(15,23,42,.22);border:1px solid rgba(255,255,255,.6)}
.et-s3 .et-vis{box-shadow:0 30px 70px rgba(0,0,0,.6);border-color:rgba(255,255,255,.12)}
.et-svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.et-vis .vchip{font-size:2.3cqw;padding:1.3cqw 2.6cqw}.et-vis .vchip i{font-size:2.2cqw}
.et-vis .vchip.c3{left:auto;right:4%;bottom:6%;top:auto}
.et-vis .vchip.c1{top:5%;left:5%}.et-vis .vchip.c2{top:auto;bottom:6%;right:auto;left:5%}
.et-card{position:absolute;z-index:6;left:5%;top:6%;width:42%;padding:2.4cqw 2.8cqw;border-radius:16px;background:rgba(255,255,255,.92);box-shadow:0 12px 30px rgba(15,23,42,.22)}
.et-card b{display:flex;align-items:center;gap:1.2cqw;font:700 2.4cqw 'Inter',sans-serif;color:#0f172a;margin-bottom:1.6cqw}
.et-card b i{color:#6366f1}
.et-card .bar{margin-top:1.4cqw}
.et-card small{display:block;font-size:1.9cqw;font-weight:600;color:#64748b;margin-bottom:.6cqw}
.et-card .bar span{display:block;height:1.3cqw;border-radius:2cqw;background:#e2e8f0;overflow:hidden}
.et-card .bar i{display:block;height:100%;width:var(--w);border-radius:2cqw;background:linear-gradient(90deg,#6366f1,#06b6d4);animation:cvBar 4s ease-in-out infinite}
.et-card .bar:nth-child(3) i{animation-delay:-1.3s}.et-card .bar:nth-child(4) i{animation-delay:-2.6s}
.et-farm .et-card .bar i{background:linear-gradient(90deg,#22c55e,#06b6d4)}
.et-temple .et-card{background:rgba(15,11,31,.85);border:1px solid rgba(251,191,36,.4)}
.et-temple .et-card b{color:#fde68a}.et-temple .et-card b i{color:#fbbf24}.et-temple .et-card small{color:#cbd5e1}.et-temple .et-card .bar span{background:rgba(255,255,255,.14)}
.et-temple .et-card .bar i{background:linear-gradient(90deg,#fbbf24,#fb7185)}
.et-temple .vchip{background:#1e1b4b;color:#fde68a}.et-temple .vchip i{color:#fbbf24}

/* AI visual (reused) */
.et-ai{aspect-ratio:400/320;border-radius:26px}
.et-ai .vchip{font-size:2.3cqw}

/* farming motion */
.f-sun{transform-box:fill-box;transform-origin:center;animation:inSpin 40s linear infinite}
.f-crops path{animation:cropSway 3.4s ease-in-out infinite;transform-box:fill-box;transform-origin:bottom}
@keyframes cropSway{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
.drop{animation:dropFall 1.8s ease-in infinite;opacity:0}.drop.d2{animation-delay:.45s}.drop.d3{animation-delay:.9s}.drop.d4{animation-delay:1.35s}
@keyframes dropFall{0%{transform:translateY(-4px);opacity:0}20%{opacity:1}100%{transform:translateY(34px);opacity:0}}
.f-sensor .w{animation:wifiPulse 2s ease-in-out infinite;opacity:.2}.f-sensor .w2{animation-delay:.35s}
.f-sensor.s2 .w{animation-delay:.5s}.f-sensor.s3 .w{animation-delay:1s}
@keyframes wifiPulse{0%,100%{opacity:.15}50%{opacity:1}}

/* temple motion */
.t-glow{animation:cineGlow 5s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.t-stars circle{animation:ledBlink 2.6s ease-in-out infinite}.t-stars circle:nth-child(2n){animation-delay:-1.2s}
.t-win{animation:ledBlink 3.2s ease-in-out infinite}
.t-cam{transform-box:view-box;transform-origin:354px 98px;animation:camSweep 5s ease-in-out infinite}
@keyframes camSweep{0%,100%{transform:rotate(-22deg)}50%{transform:rotate(14deg)}}
.pp{animation:peopleWalk 11s linear infinite;animation-delay:var(--d)}
@keyframes peopleWalk{0%{transform:translateX(0)}100%{transform:translateX(430px)}}

/* pharma motion */
.p-lane{animation:beltRun 1.4s linear infinite}
.p-t{font:700 10px 'Inter',sans-serif;letter-spacing:.2em;fill:#6366f1}
.p-file{animation:fileMove 4s linear infinite}.p-file.f2{animation-delay:-2s}
@keyframes fileMove{0%{transform:translateX(100px);opacity:0}12%{opacity:1}45%{transform:translateX(184px)}55%{transform:translateX(196px)}88%{opacity:1}100%{transform:translateX(296px);opacity:0}}
.p-bt{animation:boxMove 7.5s linear infinite}.p-bt.b2{animation-delay:-2.5s}.p-bt.b3{animation-delay:-5s}
.p-ok{transform-box:fill-box;transform-origin:center;animation:okPop 3s ease-in-out infinite}
.et-pharma .vchip.c1{top:auto;bottom:6%;left:5%}.et-pharma .vchip.c2{bottom:6%;left:auto;right:4%}
.et-s4 .et-vis,.et-s2 .et-vis{border-color:#fff}

@media(max-width:992px){.et-row{grid-template-columns:1fr;gap:40px}.et-row.rev .et-text,.et-row.rev .et-media{order:initial}.et-media,.et-row:not(.rev) .et-media,.et-row.rev .et-media{justify-self:center;max-width:480px}.et-sec{padding:64px 0}}
@media(prefers-reduced-motion:reduce){.f-sun,.f-crops path,.drop,.f-sensor .w,.t-glow,.t-stars circle,.t-win,.t-cam,.pp,.p-lane,.p-file,.p-bt,.p-ok,.et-card .bar i{animation:none!important}}

/* ================================================================
   HOME: R&D AUTOMATION
   ================================================================ */
.rd-section{background:radial-gradient(ellipse 70% 40% at 50% 0%,rgba(99,102,241,.1),transparent 70%),#f8fafc}
.rd-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}
.rd-card{position:relative;padding:26px 24px;border-radius:24px;background:#fff;border:1px solid var(--border);overflow:hidden;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.rd-card:hover{transform:translateY(-8px);box-shadow:0 24px 52px rgba(99,102,241,.18);border-color:rgba(99,102,241,.4)}
.rd-years,.rd-money,.rd-sprint{grid-column:span 4}
.rd-core{grid-column:span 7}.rd-secure{grid-column:span 5}
.rd-ico{display:inline-flex;width:48px;height:48px;border-radius:15px;background:var(--grad);color:#fff;font-size:1.1rem;align-items:center;justify-content:center;box-shadow:0 10px 22px rgba(99,102,241,.4);transition:transform .4s ease;flex-shrink:0}
.rd-card:hover .rd-ico{transform:rotate(-8deg) scale(1.08)}
.rd-card h4{font-size:1.05rem;margin:14px 0 8px}
.rd-card p{font-size:.88rem;line-height:1.65;color:var(--muted);margin:0}
.rd-card p b{color:var(--text)}
.rd-big{display:flex;align-items:baseline;gap:2px;margin:6px 0 10px;font:800 clamp(2.6rem,4.4vw,3.4rem)/1 'Sora',sans-serif;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.rd-big em{font-style:normal;margin-right:2px;font-size:.55em;align-self:flex-start;margin-top:.15em}
.rd-big small{margin-left:8px;font:700 .8rem 'Inter',sans-serif;letter-spacing:.1em;text-transform:uppercase;-webkit-text-fill-color:#94a3b8;color:#94a3b8}
.rd-line{position:relative;margin-top:18px;height:4px;border-radius:4px;background:#e0e7ff}
.rd-line i{display:block;height:100%;width:100%;border-radius:4px;background:var(--grad);transform-origin:left;animation:rdGrow 3.6s ease-in-out infinite}
@keyframes rdGrow{0%{transform:scaleX(.05)}60%,100%{transform:scaleX(1)}}
.rd-line span{position:absolute;top:10px;font:700 .68rem 'Inter',sans-serif;color:#94a3b8;letter-spacing:.08em}
.rd-line span:first-of-type{left:0}.rd-line span:last-of-type{right:0}
.rd-split{display:flex;flex-direction:column;gap:7px;margin-top:16px;padding-top:14px;border-top:1px dashed #cbd5e1}
.rd-split span{font-size:.82rem;font-weight:600;color:var(--muted)}
.rd-split i{width:20px;color:#6366f1}
.rd-live{display:inline-flex;align-items:center;gap:10px;margin:6px 0 12px;padding:8px 14px;border-radius:10px;background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d;font:800 .78rem 'Inter',sans-serif;letter-spacing:.08em}
.rd-live b{font:800 1.3rem 'Sora',sans-serif;color:#166534}
.rd-dot{width:10px;height:10px;border-radius:50%;background:#22c55e;animation:ledPing 1.8s ease-out infinite}
.rd-bars{display:flex;align-items:flex-end;gap:7px;height:46px;margin-top:16px}
.rd-bars i{flex:1;height:var(--h);border-radius:5px 5px 0 0;background:linear-gradient(180deg,#6366f1,#06b6d4);transform-origin:bottom;animation:barGrow 3s ease-in-out infinite}
.rd-bars i:nth-child(2n){animation-delay:-.7s}.rd-bars i:nth-child(3n){animation-delay:-1.5s}

.rd-corehead{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.rd-corehead h4{margin:0}.rd-corehead small{font-size:.78rem;color:var(--muted)}
.rd-techs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.rd-tech{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 8px;border-radius:16px;text-align:center;background:linear-gradient(160deg,#fff,#eef2ff);border:1px solid #e0e7ff;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;animation:vFloat 5s ease-in-out infinite;animation-delay:calc(var(--i)*-.7s)}
.rd-tech:hover{transform:translateY(-4px);box-shadow:0 14px 28px rgba(99,102,241,.2);border-color:rgba(99,102,241,.5);animation-play-state:paused}
.rd-tech span{width:40px;height:40px;border-radius:12px;background:var(--grad);color:#fff;font-size:1rem;display:flex;align-items:center;justify-content:center}
.rd-tech b{font:700 .76rem/1.3 'Inter',sans-serif;color:var(--text)}
.rd-tech:last-child{grid-column:span 1}

.rd-secure{background:linear-gradient(150deg,#1e1b4b,#0f172a);border-color:transparent;color:#fff}
.rd-secure h4{color:#fff}.rd-secure .rd-corehead small{color:#94a3b8}
.rd-sec{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.rd-sec li{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);transition:transform .3s ease,border-color .3s ease}
.rd-sec li:hover{transform:translateX(6px);border-color:rgba(34,211,238,.6)}
.rd-sec li>span{width:38px;height:38px;border-radius:11px;flex-shrink:0;background:rgba(34,211,238,.14);color:#22d3ee;font-size:.95rem;display:flex;align-items:center;justify-content:center}
.rd-sec b{display:block;color:#fff;font:700 .86rem/1.3 'Inter',sans-serif}.rd-sec small{display:block;color:#94a3b8;font-size:.74rem;margin-top:2px}

.rd-comply{display:flex;align-items:center;gap:36px;margin-top:22px;padding:34px 38px;border-radius:28px;background:linear-gradient(135deg,#4338ca 0%,#2563eb 55%,#0891b2 100%);color:#fff;position:relative;overflow:hidden;box-shadow:0 30px 64px rgba(67,56,202,.32)}
.rd-comply::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 92% 10%,rgba(255,255,255,.2),transparent 40%),radial-gradient(circle at 4% 100%,rgba(255,255,255,.14),transparent 45%)}
.rd-comply>*{position:relative}
.rd-shield{position:relative;flex-shrink:0;width:110px;height:110px;display:flex;align-items:center;justify-content:center;font-size:3.4rem;color:#fff}
.rd-shield>i{position:relative;z-index:2;filter:drop-shadow(0 8px 18px rgba(0,0,0,.3))}
.rd-ring{position:absolute;inset:6px;border-radius:50%;border:2px solid rgba(255,255,255,.55);animation:hubPulse 3s ease-out infinite}.rd-ring.r2{animation-delay:1.5s}
.rd-comply h3{color:#fff;font-size:1.45rem;margin-bottom:10px}
.rd-comply p{color:rgba(255,255,255,.9);font-size:.94rem;line-height:1.75;margin:0 0 14px;max-width:760px}
.rd-comply ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 26px}
.rd-comply li{font-size:.86rem;font-weight:700}.rd-comply li i{margin-right:8px;color:#fde68a;font-size:.8rem}

@media(max-width:1100px){.rd-years,.rd-money,.rd-sprint{grid-column:span 6}.rd-sprint{grid-column:span 12}.rd-core,.rd-secure{grid-column:span 12}}
@media(max-width:700px){.rd-years,.rd-money,.rd-sprint,.rd-core,.rd-secure{grid-column:span 12}.rd-techs{grid-template-columns:repeat(2,1fr)}.rd-comply{flex-direction:column;text-align:center;padding:28px 22px}.rd-comply ul{justify-content:center}}
@media(prefers-reduced-motion:reduce){.rd-line i,.rd-dot,.rd-bars i,.rd-tech,.rd-ring{animation:none!important}}

/* R&D core technologies: tidy two-row grid (4 + 3), no floating offsets */
.rd-techs{grid-template-columns:repeat(12,1fr);gap:14px}
.rd-tech{grid-column:span 3;min-height:112px;justify-content:center;animation:rdGlow 4s ease-in-out infinite;animation-delay:calc(var(--i)*-.55s)}
.rd-tech:nth-child(n+5),.rd-tech:last-child{grid-column:span 4}
.rd-tech span{width:46px;height:46px;font-size:1.15rem;box-shadow:0 8px 18px rgba(99,102,241,.35)}
.rd-tech b{font-size:.82rem}
@keyframes rdGlow{0%,100%{box-shadow:0 0 0 0 rgba(99,102,241,0)}50%{box-shadow:0 10px 26px rgba(99,102,241,.2)}}
@media(max-width:700px){.rd-techs{grid-template-columns:repeat(2,1fr)}.rd-tech,.rd-tech:nth-child(n+5){grid-column:span 1}.rd-tech:last-child{grid-column:span 2}}

/* R&D technologies: own colourful marks instead of generic icons */
.rd-section{background:#fff}
.rd-tech{background:linear-gradient(160deg,#fff 45%,color-mix(in srgb,var(--tc) 10%,#fff));border:1px solid color-mix(in srgb,var(--tc) 28%,#e2e8f0);gap:10px}
.rd-tech:hover{border-color:var(--tc);box-shadow:0 14px 30px color-mix(in srgb,var(--tc) 28%,transparent)}
.rd-mark{display:flex;width:62px;height:62px;align-items:center;justify-content:center;transition:transform .4s ease}
.rd-tech:hover .rd-mark{transform:scale(1.14) rotate(-4deg)}
.rd-mark svg{width:100%;height:100%;overflow:visible}
.rd-tech span.rd-mark{background:none;box-shadow:none;border-radius:0}
.mk-t{font:800 20px 'Sora',sans-serif;fill:#fff}
.mk-pulse{transform-box:fill-box;transform-origin:center;animation:mkPulse 2.4s ease-out infinite}
@keyframes mkPulse{0%{transform:scale(.9);opacity:.9}100%{transform:scale(1.25);opacity:0}}
.mk-n{transform-box:fill-box;transform-origin:center;animation:mkNode 2.4s ease-in-out infinite}.mk-n.n2{animation-delay:-.8s}.mk-n.n3{animation-delay:-1.6s}
@keyframes mkNode{0%,100%{transform:scale(1)}50%{transform:scale(1.28)}}
.mk-dot{animation:mkDot 1.2s ease-in-out infinite}.mk-dot.d2{animation-delay:.2s}.mk-dot.d3{animation-delay:.4s}
@keyframes mkDot{0%,100%{opacity:.3}50%{opacity:1}}
.mk-spin{transform-box:view-box;transform-origin:32px 32px;animation:inSpin 9s linear infinite}
.mk-scan{animation:mkScan 2.6s ease-in-out infinite}
@keyframes mkScan{0%,100%{transform:translateY(0)}50%{transform:translateY(38px)}}
.mk-w{animation:wifiPulse 1.8s ease-in-out infinite;opacity:.25}.mk-w.w2{animation-delay:.4s}
.mk-speed{animation:mkSpeed 1.1s linear infinite}
@keyframes mkSpeed{0%{transform:translateX(6px);opacity:0}50%{opacity:1}100%{transform:translateX(-4px);opacity:0}}
@media(prefers-reduced-motion:reduce){.mk-pulse,.mk-n,.mk-dot,.mk-spin,.mk-scan,.mk-w,.mk-speed{animation:none!important}}

/* R&D investment: Technology / Hardware / Algorithms in one row */
.rd-split{flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px}
.rd-split span{display:inline-flex;align-items:center;gap:6px;font-size:.76rem;white-space:nowrap}
.rd-split i{width:auto;font-size:.82rem}

/* ================================================================
   R&D AUTOMATION PAGE  (+ "See More" on the home page)
   ================================================================ */
.rd-more{margin-top:34px;text-align:center}
.rd-more p{margin:0 0 16px;font-size:.95rem;color:var(--muted)}

.ra-mile{background:#fff;padding:52px 0 8px}
.ra-mile-box{display:grid;grid-template-columns:1.5fr 1fr;gap:34px;align-items:center;padding:34px 38px;border-radius:28px;background:linear-gradient(135deg,#1e1b4b,#0f172a 70%);color:#fff;position:relative;overflow:hidden;box-shadow:0 30px 64px rgba(30,27,75,.3)}
.ra-mile-box::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 92% 10%,rgba(34,211,238,.25),transparent 45%),radial-gradient(circle at 4% 100%,rgba(99,102,241,.35),transparent 50%)}
.ra-mile-box>*{position:relative}
.ra-tag{display:inline-flex;align-items:center;gap:8px;margin-bottom:12px;font:700 .72rem 'Inter',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#22d3ee}
.ra-mile-text p{margin:0;color:rgba(255,255,255,.85);font-size:1rem;line-height:1.75}
.ra-mile-text b{color:#fde68a}
.ra-mile-stats{display:grid;grid-template-columns:1fr;gap:12px}
.ra-mile-stats>div{padding:14px 18px;border-radius:16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15)}
.ra-mile-stats b{display:flex;align-items:center;gap:8px;font:800 1.45rem 'Sora',sans-serif;color:#fff}
.ra-mile-stats b em{font-style:normal;font-size:.8em;margin-right:-2px}
.ra-mile-stats small{display:block;margin-top:2px;font-size:.74rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#94a3b8}
.ra-mile-stats .live{color:#4ade80}

.ra-sec .et-text h2{margin-bottom:6px}
.ra-sub{margin:0 0 14px;font:600 .95rem 'Sora',sans-serif;color:var(--accent)}
.ra-specs{margin:18px 0 0;display:flex;flex-direction:column;gap:10px}
.ra-specs>div{padding:14px 16px;border-radius:14px;background:rgba(99,102,241,.06);border:1px solid rgba(99,102,241,.16)}
.ra-specs dt{display:flex;align-items:center;gap:9px;margin-bottom:4px;font:700 .72rem 'Inter',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#6366f1}
.ra-specs dd{margin:0;font-size:.9rem;line-height:1.65;color:var(--muted)}
.ra-specs dd b{color:var(--text)}
.ra-invest{display:inline-flex;align-items:center;gap:10px;margin-top:16px;padding:9px 18px;border-radius:12px;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fcd34d;color:#78350f;font-size:.82rem;font-weight:600}
.ra-invest i{color:#d97706}
.ra-invest b{font:800 1rem 'Sora',sans-serif;color:#451a03}

.ra-s1{background:linear-gradient(180deg,#fff,#f5f3ff)}
.ra-s2{background:#fff}
.ra-s3{background:linear-gradient(180deg,#ecfeff,#fff)}
.ra-s4{background:radial-gradient(ellipse 70% 60% at 20% 40%,rgba(99,102,241,.25),transparent 70%),#0b1020}
.ra-s4 h2{color:#fff}.ra-s4 .et-text p{color:rgba(255,255,255,.75)}.ra-s4 .et-text p b{color:#a5b4fc}
.ra-s4 .ra-sub{color:#22d3ee}
.ra-s4 .ra-specs>div{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14)}.ra-s4 .ra-specs dd{color:#cbd5e1}.ra-s4 .ra-specs dt{color:#22d3ee}
.ra-s4 .et-tech{border-color:rgba(255,255,255,.18)}.ra-s4 .et-tech b{color:#e2e8f0}.ra-s4 .svc-back{color:rgba(255,255,255,.65)}
.ra-s5{background:linear-gradient(180deg,#fff,#f1f5f9)}
.ra-s6{background:linear-gradient(180deg,#fff7ed,#fff)}
.ra-s6 .gradient-text,.ra-s6 .ra-sub{color:#ea580c}

/* 1 · diagnostics */
.ra-v1{background:#0b1020}
.rbc{animation:rbcDrift 5s ease-in-out infinite,rbcGlow 4s ease-in-out infinite;animation-delay:var(--d),var(--d);transform-box:fill-box;transform-origin:center}
@keyframes rbcDrift{0%,100%{transform:translate(0,0)}50%{transform:translate(var(--dx),var(--dy))}}
@keyframes rbcGlow{0%,70%,100%{filter:none}80%{filter:drop-shadow(0 0 6px #4ade80) hue-rotate(110deg) brightness(1.5)}}
.ra-beam{transform-box:fill-box;transform-origin:center;animation:raScan 3s ease-in-out infinite}
@keyframes raScan{0%,100%{transform:translateX(-100px) rotate(90deg)}50%{transform:translateX(100px) rotate(90deg)}}
.ra-v1 .ra-beam{animation:raBeamMove 3s ease-in-out infinite}
@keyframes raBeamMove{0%,100%{transform:translateX(-96px)}50%{transform:translateX(96px)}}
.ra-report{left:auto;right:4%;top:auto;bottom:5%;width:40%;background:rgba(255,255,255,.96)}
.ra-report .rep{display:flex;justify-content:space-between;align-items:center;padding:1cqw 0;border-bottom:1px dashed #e2e8f0}
.ra-report .rep small{margin:0;font-size:2cqw;font-weight:700;color:#334155}.ra-report .rep i{color:#22c55e;font-size:2.4cqw}
.ra-report em{display:block;margin-top:1.4cqw;font-style:normal;font-size:1.7cqw;font-weight:700;color:#6366f1}
.ra-v1 .vchip{background:#1e293b;color:#e2e8f0}.ra-v1 .vchip i{color:#22d3ee}

/* 2 · smart home */
.sh-wifi path{animation:wifiPulse 2s ease-in-out infinite}
.sh-win{animation:ledBlink 3s ease-in-out infinite}.sh-win.w2{animation-delay:-1.4s}
.sh-link{animation:beltRun 1.2s linear infinite}
.sh-phone{position:absolute;right:6%;top:50%;transform:translateY(-50%);width:34%;padding:3.4cqw 2.6cqw 2.6cqw;border-radius:5cqw;background:#fff;border:1cqw solid #0f172a;box-shadow:0 3cqw 7cqw rgba(15,23,42,.3);z-index:4;display:flex;flex-direction:column;gap:1.4cqw}
.sh-notch{position:absolute;top:.8cqw;left:50%;width:8cqw;height:1.6cqw;margin-left:-4cqw;border-radius:2cqw;background:#0f172a}
.sh-phone>b{font:800 2.4cqw 'Sora',sans-serif;color:#0f172a;margin:1cqw 0 .6cqw}
.sh-row{display:flex;align-items:center;gap:1.4cqw;padding:1.2cqw 1.4cqw;border-radius:2cqw;background:#f8fafc}
.sh-row i{width:3.4cqw;text-align:center;font-size:2.4cqw;color:#6366f1}
.sh-row span{flex:1;font-size:2cqw;font-weight:600;color:#334155}
.sh-t{position:relative;width:6cqw;height:3.2cqw;border-radius:2cqw;background:#cbd5e1;animation:shOn 6.6s ease-in-out infinite;animation-delay:var(--d)}
.sh-t::after{content:'';position:absolute;top:.4cqw;left:.4cqw;width:2.4cqw;height:2.4cqw;border-radius:50%;background:#fff;animation:shKnob 6.6s ease-in-out infinite;animation-delay:var(--d)}
@keyframes shOn{0%,8%{background:#cbd5e1}16%,55%{background:#22c55e}65%,100%{background:#cbd5e1}}
@keyframes shKnob{0%,8%{transform:translateX(0)}16%,55%{transform:translateX(2.8cqw)}65%,100%{transform:translateX(0)}}
.sh-timer{margin-top:.6cqw;padding:1.2cqw;border-radius:2cqw;background:linear-gradient(135deg,#6366f1,#06b6d4);color:#fff;font-size:1.9cqw;font-weight:700;text-align:center}
.ra-v2 .vchip.c1{top:5%;left:5%}.ra-v2 .vchip.c2{top:auto;bottom:6%;left:5%;right:auto}

/* 3 · rejection line */
.rj-c{animation:boxMove2 6s linear infinite}.rj-c.c2{animation-delay:-2s}.rj-c.c3{animation-delay:-4s}
@keyframes boxMove2{0%{transform:translateX(-50px)}100%{transform:translateX(330px)}}
.rj-bad{animation:rejectMove 6s linear infinite;animation-delay:-1s}
@keyframes rejectMove{0%{transform:translate(-50px,0);opacity:1}55%{transform:translate(226px,0);opacity:1}70%{transform:translate(262px,18px) rotate(14deg);opacity:1}85%{transform:translate(306px,56px) rotate(24deg);opacity:1}100%{transform:translate(318px,70px) rotate(24deg);opacity:0}}
.rj-jet{animation:jetFlash 6s ease-in-out infinite;animation-delay:-1s;opacity:0}
@keyframes jetFlash{0%,52%{opacity:0}58%,66%{opacity:1}72%,100%{opacity:0}}
.rj-t{font:700 9px 'Inter',sans-serif;fill:#b91c1c;letter-spacing:.1em}
.ra-count{left:5%;top:6%;width:30%}
.ra-bignum{display:block;font:800 7cqw/1 'Sora',sans-serif;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.ra-count small{margin:.6cqw 0 0;font-size:1.9cqw}
.ra-v3 .vchip.c1{top:auto;bottom:5%;left:5%}

/* 4 · line follower */
.lf-dash{animation:beltRun 1.2s linear infinite}
.lf-t{font:700 9px 'Inter',sans-serif;fill:#22d3ee;letter-spacing:.12em}
.lf-box{animation:lfBox 1.6s ease-in-out infinite}
@keyframes lfBox{0%,100%{opacity:1}50%{opacity:.3}}
.lf-bot{position:absolute;left:0;top:0;width:8cqw;height:5cqw;margin:-2.5cqw 0 0 -4cqw;border-radius:1.4cqw;background:linear-gradient(135deg,#6366f1,#06b6d4);box-shadow:0 0 3cqw rgba(34,211,238,.7);offset-path:path('M30 260 C 90 260 100 170 170 170 S 250 260 300 230 S 360 110 370 70');offset-rotate:auto;animation:lfRun 9s linear infinite;z-index:4}
.lf-eye{position:absolute;right:1cqw;top:50%;width:1.6cqw;height:1.6cqw;margin-top:-.8cqw;border-radius:50%;background:#fff}
.lf-w{position:absolute;bottom:-1cqw;width:2.2cqw;height:2.2cqw;border-radius:50%;background:#0f172a;border:.4cqw solid #94a3b8}.lf-w.w1{left:1cqw}.lf-w.w2{right:1cqw}
@keyframes lfRun{0%{offset-distance:0%}100%{offset-distance:100%}}

/* 5 · diamond imaging */
.dg-scan{animation:dgScan 3s ease-in-out infinite}
@keyframes dgScan{0%,100%{transform:translateY(0)}50%{transform:translateY(150px)}}
.dg-t{font:700 9px 'Inter',sans-serif;fill:#22d3ee;letter-spacing:.14em}
.dg-dim path{stroke-dasharray:1;animation:dgDraw 4s ease-in-out infinite}
@keyframes dgDraw{0%{stroke-dashoffset:1}40%,100%{stroke-dashoffset:0}}
.dg-model polygon{animation:beltRun 1.6s linear infinite}
.dg-gem{animation:dmFloat 5s ease-in-out infinite}

/* 6 · MQTT */
.mq-lines{animation:beltRun 1.2s linear infinite}
.mq-t{font:800 14px 'Sora',sans-serif;fill:#fff}.mq-t2{font:700 8px 'Inter',sans-serif;fill:#ffedd5;letter-spacing:.2em}
.mq-l{font:700 8px 'Inter',sans-serif;fill:#9a3412;letter-spacing:.14em}
.pk{fill:#ea580c;animation:pkMove 2.4s ease-in-out infinite}
.pk.p1{--x:95px}.pk.p2{--x:95px;animation-delay:-1.2s}.pk.p3{animation-name:pkDown}
@keyframes pkMove{0%{transform:translateX(0);opacity:0}15%{opacity:1}85%{opacity:1}100%{transform:translateX(var(--x));opacity:0}}
@keyframes pkDown{0%{transform:translateY(0);opacity:0}15%{opacity:1}85%{opacity:1}100%{transform:translateY(38px);opacity:0}}
.mq-mercury{transform-box:fill-box;transform-origin:bottom;animation:mqTemp 4s ease-in-out infinite}
@keyframes mqTemp{0%,100%{transform:scaleY(.5)}50%{transform:scaleY(1)}}
.ra-graph{left:5%;right:5%;top:auto;bottom:5%;width:auto;background:rgba(255,255,255,.96)}
.ra-graph svg{width:100%;height:12cqw;margin-top:.6cqw}
.ra-graph .gr-a{fill:rgba(249,115,22,.15)}
.ra-graph .gr-l{fill:none;stroke:#f97316;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;stroke-dasharray:1;animation:lineDraw 4s ease-in-out infinite}
.ra-graph em{display:block;margin-top:.8cqw;font-style:normal;font-size:1.8cqw;font-weight:700;color:#ea580c}
.ra-graph b i{color:#f97316}
.ra-v6 .vchip.c1{top:auto;bottom:auto;top:44%;left:5%}

@media(max-width:992px){.ra-mile-box{grid-template-columns:1fr;padding:28px 22px}.ra-mile-stats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.ra-mile-stats{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.rbc,.ra-beam,.sh-wifi path,.sh-win,.sh-link,.sh-t,.sh-t::after,.rj-c,.rj-bad,.rj-jet,.lf-dash,.lf-box,.lf-bot,.dg-scan,.dg-dim path,.dg-model polygon,.dg-gem,.mq-lines,.pk,.mq-mercury,.ra-graph .gr-l{animation:none!important}}

/* ================================================================
   COMPLIANCE PAGE
   ================================================================ */
.cp-intro{background:#fff;padding:52px 0 8px}
.cp-intro-box{display:flex;align-items:center;gap:34px;padding:34px 40px;border-radius:28px;background:linear-gradient(135deg,#4338ca 0%,#2563eb 55%,#0891b2 100%);color:#fff;position:relative;overflow:hidden;box-shadow:0 30px 64px rgba(67,56,202,.32)}
.cp-intro-box::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 92% 10%,rgba(255,255,255,.22),transparent 40%),radial-gradient(circle at 4% 100%,rgba(255,255,255,.14),transparent 45%)}
.cp-intro-box>*{position:relative}
.cp-shield{position:relative;flex-shrink:0;width:104px;height:104px;display:flex;align-items:center;justify-content:center;font-size:3.2rem}
.cp-shield>i{position:relative;z-index:2;filter:drop-shadow(0 8px 18px rgba(0,0,0,.3))}
.cp-intro-box p{margin:0;font-size:1.04rem;line-height:1.8;color:rgba(255,255,255,.93)}
.cp-intro-box b{color:#fde68a}

.cp-global{background:#fff}
.cp-stds{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-bottom:22px}
.cp-std{padding:22px 14px;border-radius:18px;text-align:center;background:linear-gradient(160deg,#fff,#eef2ff);border:1px solid #e0e7ff;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;animation:vFloat 6s ease-in-out infinite;animation-delay:calc(var(--i)*-.8s)}
.cp-std:hover{transform:translateY(-6px);box-shadow:0 16px 34px rgba(99,102,241,.2);border-color:rgba(99,102,241,.5);animation-play-state:paused}
.cp-std b{display:block;font:800 1.15rem/1.2 'Sora',sans-serif;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.cp-std small{display:block;margin-top:6px;font-size:.72rem;line-height:1.4;color:var(--muted)}
.cp-gs{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.cp-g{display:flex;gap:16px;align-items:flex-start;padding:22px 22px;border-radius:20px;background:#0f172a;color:#fff;transition:transform .3s ease,box-shadow .3s ease}
.cp-g:hover{transform:translateY(-6px);box-shadow:0 20px 44px rgba(15,23,42,.35)}
.cp-g>span{width:46px;height:46px;border-radius:14px;flex-shrink:0;background:var(--grad);display:flex;align-items:center;justify-content:center;font-size:1.1rem}
.cp-g h5{color:#fff;font-size:.96rem;margin:2px 0 6px}.cp-g p{margin:0;font-size:.82rem;line-height:1.6;color:#94a3b8}

.cp-regions{background:radial-gradient(ellipse 70% 40% at 50% 0%,rgba(99,102,241,.3),transparent 70%),#0a0f1e;position:relative;overflow:hidden;scroll-margin-top:90px}
.cp-tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.cp-tab{display:inline-flex;align-items:center;gap:10px;padding:9px 18px 9px 10px;border-radius:14px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.05);color:#cbd5e1;font:600 .86rem 'Inter',sans-serif;cursor:pointer;transition:all .3s ease}
.cp-tab span{width:30px;height:30px;border-radius:9px;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;font:800 .7rem 'Sora',sans-serif;color:#a5b4fc;transition:all .3s ease}
.cp-tab:hover{border-color:rgba(34,211,238,.6);color:#fff}
.cp-tab.active{background:linear-gradient(135deg,rgba(99,102,241,.35),rgba(6,182,212,.25));border-color:rgba(34,211,238,.7);color:#fff;box-shadow:0 10px 26px rgba(99,102,241,.3)}
.cp-tab.active span{background:var(--grad);color:#fff}
.cp-panels{max-width:1000px;margin:0 auto}
.cp-panel{display:none;padding:30px 32px;border-radius:26px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.13);animation:cpIn .5s ease both}
.cp-panel.active{display:block}
@keyframes cpIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.cp-phead{display:flex;gap:18px;align-items:flex-start;margin-bottom:22px;padding-bottom:20px;border-bottom:1px dashed rgba(255,255,255,.18)}
.cp-code{width:56px;height:56px;border-radius:16px;flex-shrink:0;background:var(--grad);color:#fff;font:800 1.1rem 'Sora',sans-serif;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px rgba(99,102,241,.5)}
.cp-phead h3{color:#fff;font-size:1.35rem;margin:0 0 6px}.cp-phead p{margin:0;color:#94a3b8;font-size:.92rem;line-height:1.65}
.cp-cols{display:grid;grid-template-columns:1fr 1fr;gap:22px}.cp-cols.one{grid-template-columns:1fr}
.cp-col h4{display:flex;align-items:center;gap:10px;margin:0 0 12px;color:#22d3ee;font:700 .8rem 'Inter',sans-serif;letter-spacing:.12em;text-transform:uppercase}
.cp-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.cp-cols.one .cp-list{display:grid;grid-template-columns:1fr 1fr;gap:10px 22px}
.cp-list li{position:relative;padding:12px 14px 12px 40px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);transition:transform .3s ease,border-color .3s ease}
.cp-list li:hover{transform:translateX(5px);border-color:rgba(34,211,238,.55)}
.cp-list li::before{content:'\f00c';font-family:'Font Awesome 5 Free';font-weight:900;position:absolute;left:13px;top:13px;width:18px;height:18px;border-radius:50%;background:rgba(34,197,94,.2);color:#4ade80;font-size:.58rem;display:flex;align-items:center;justify-content:center}
.cp-list b{display:block;color:#fff;font:700 .88rem/1.35 'Inter',sans-serif}
.cp-list small{display:block;margin-top:3px;color:#94a3b8;font-size:.76rem;line-height:1.5}

.cp-framework{background:linear-gradient(180deg,#f5f3ff,#fff)}
.cp-fw{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:20px;align-items:stretch}
.cp-fcard{padding:26px 24px;border-radius:24px;background:#fff;border:1px solid var(--border);transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.cp-fcard:hover{transform:translateY(-8px);box-shadow:0 24px 52px rgba(99,102,241,.18);border-color:rgba(99,102,241,.4)}
.cp-fhead{display:flex;gap:14px;align-items:center;margin-bottom:18px}
.cp-fhead>span{width:48px;height:48px;border-radius:15px;flex-shrink:0;background:var(--grad);color:#fff;font-size:1.1rem;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 22px rgba(99,102,241,.4)}
.cp-fhead h4{font-size:1rem;margin:0;line-height:1.3}.cp-fhead small{display:block;margin-top:3px;font-size:.76rem;color:var(--muted);line-height:1.4}
.cp-e8{background:linear-gradient(150deg,#1e1b4b,#0f172a);border-color:transparent}.cp-e8 h4{color:#fff}.cp-e8 .cp-fhead small{color:#94a3b8}
.cp-e8list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.cp-e8list li{display:flex;align-items:center;gap:13px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);color:#e2e8f0;font-size:.86rem;font-weight:500;line-height:1.4;transition:transform .3s ease,border-color .3s ease}
.cp-e8list li:hover{transform:translateX(6px);border-color:rgba(34,211,238,.6)}
.cp-e8list li span{min-width:30px;height:30px;border-radius:9px;background:rgba(34,211,238,.15);color:#22d3ee;font:800 .72rem 'Sora',sans-serif;display:flex;align-items:center;justify-content:center}
.cp-fi{display:flex;gap:13px;align-items:flex-start;padding:13px 0;border-top:1px dashed #e2e8f0}
.cp-fi:first-of-type{border-top:0;padding-top:0}
.cp-fi>i{width:36px;height:36px;border-radius:11px;flex-shrink:0;background:#eef2ff;color:#6366f1;font-size:.9rem;display:flex;align-items:center;justify-content:center;transition:all .3s ease}
.cp-fcard:hover .cp-fi>i{background:var(--grad);color:#fff}
.cp-fi b{display:block;font:700 .9rem 'Sora',sans-serif;color:var(--text);margin-bottom:3px}.cp-fi p{margin:0;font-size:.84rem;line-height:1.6;color:var(--muted)}

@media(max-width:1100px){.cp-stds{grid-template-columns:repeat(3,1fr)}.cp-fw{grid-template-columns:1fr 1fr}.cp-e8{grid-column:1/-1}}
@media(max-width:800px){.cp-gs,.cp-cols,.cp-cols.one .cp-list,.cp-fw{grid-template-columns:1fr}.cp-intro-box{flex-direction:column;text-align:center;padding:28px 22px}.cp-panel{padding:22px 18px}.cp-phead{flex-direction:column}}
@media(max-width:520px){.cp-stds{grid-template-columns:repeat(2,1fr)}.cp-tab{padding:8px 12px 8px 8px;font-size:.8rem}}
@media(prefers-reduced-motion:reduce){.cp-std,.cp-panel{animation:none!important}}

/* Compliance: Kenya + Nigeria nested inside the East Africa panel */
.cp-sub{margin-top:26px;padding-top:24px;border-top:1px dashed rgba(255,255,255,.2)}
.cp-subhead{display:flex;gap:14px;align-items:flex-start;margin-bottom:16px}
.cp-code.sm{width:44px;height:44px;border-radius:13px;font-size:.9rem}
.cp-subhead h3{color:#fff;font-size:1.12rem;margin:0 0 4px}
.cp-subhead h3 em{font:600 .8rem 'Inter',sans-serif;font-style:normal;color:#22d3ee}
.cp-subhead p{margin:0;color:#94a3b8;font-size:.88rem;line-height:1.6}

/* ================================================================
   CONCEPT TO LAUNCH PAGE
   ================================================================ */
.ctl-s1{background:linear-gradient(180deg,#fff,#f5f3ff)}
.ctl-team{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;padding:36px 38px;border-radius:28px;background:linear-gradient(135deg,#1e1b4b,#0f172a 70%);color:#fff;position:relative;overflow:hidden;box-shadow:0 30px 64px rgba(30,27,75,.3)}
.ctl-team::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 92% 10%,rgba(34,211,238,.25),transparent 45%),radial-gradient(circle at 4% 100%,rgba(99,102,241,.35),transparent 50%)}
.ctl-team>*{position:relative}
.ctl-tag{display:inline-flex;align-items:center;gap:8px;margin-bottom:12px;font:700 .72rem 'Inter',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#22d3ee}
.ctl-team h3{color:#fff;font-size:1.5rem;margin:0 0 10px}
.ctl-team p{margin:0;color:rgba(255,255,255,.82);font-size:.96rem;line-height:1.7}
.ctl-team p b{color:#fde68a}
.ctl-pts{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}
.ctl-pts li{display:flex;gap:14px;align-items:flex-start;padding:13px 15px;border-radius:14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13);transition:transform .3s ease,border-color .3s ease}
.ctl-pts li:hover{transform:translateX(6px);border-color:rgba(34,211,238,.6)}
.ctl-pts li>i{width:38px;height:38px;border-radius:11px;flex-shrink:0;background:var(--grad);display:flex;align-items:center;justify-content:center;font-size:.95rem}
.ctl-pts b{display:block;font:700 .92rem 'Sora',sans-serif;color:#fff;margin-bottom:2px}.ctl-pts small{display:block;color:#cbd5e1;font-size:.82rem;line-height:1.55}
.ctl-clocks{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.ctl-clocks .pd-clock{padding:18px 10px 14px}

.ctl-sub{margin:56px 0 28px;text-align:center;font-size:1.5rem}
.ctl-sub small{font:600 .9rem 'Inter',sans-serif;color:var(--muted)}
.ctl-sub.light{color:#fff}.ctl-sub.light small{color:#94a3b8}
.ctl-road{position:relative}
.ctl-line{position:absolute;left:12.5%;right:12.5%;top:46px;height:4px;border-radius:4px;background:#e0e7ff;overflow:visible}
.ctl-line i{position:absolute;left:0;top:50%;width:18px;height:18px;margin-top:-9px;border-radius:50%;background:var(--grad);box-shadow:0 0 0 6px rgba(99,102,241,.2),0 6px 14px rgba(99,102,241,.5);animation:ctlDot 5s ease-in-out infinite}
@keyframes ctlDot{0%{left:0}100%{left:calc(100% - 18px)}}
.ctl-stages{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.ctl-stage{position:relative;padding:62px 20px 24px;border-radius:22px;background:#fff;border:1px solid var(--border);text-align:center;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.ctl-stage:hover{transform:translateY(-8px);box-shadow:0 24px 50px rgba(99,102,241,.2);border-color:rgba(99,102,241,.45)}
.ctl-ico{position:absolute;left:50%;top:-8px;width:64px;height:64px;margin-left:-32px;border-radius:50%;background:var(--grad);color:#fff;font-size:1.4rem;display:flex;align-items:center;justify-content:center;border:5px solid #f5f3ff;box-shadow:0 12px 26px rgba(99,102,241,.4);transition:transform .4s ease}
.ctl-stage:hover .ctl-ico{transform:rotate(-8deg) scale(1.1)}
.ctl-stage:last-child .ctl-ico{background:linear-gradient(135deg,#f59e0b,#ef4444)}
.ctl-n{position:absolute;top:12px;right:16px;font:800 .8rem 'Sora',sans-serif;color:#c7d2fe}
.ctl-stage h4{font-size:1.02rem;margin:0 0 8px}.ctl-stage p{margin:0;font-size:.86rem;line-height:1.65;color:var(--muted)}

.ctl-s2{background:radial-gradient(ellipse 70% 40% at 50% 0%,rgba(99,102,241,.3),transparent 70%),#0a0f1e;position:relative;overflow:hidden}
.ctl-core{padding:30px 30px 26px;border-radius:26px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.13)}
.ctl-corehead{display:flex;gap:16px;align-items:center;margin-bottom:22px}
.ctl-corehead>span{width:54px;height:54px;border-radius:16px;flex-shrink:0;background:var(--grad);color:#fff;font-size:1.3rem;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 26px rgba(99,102,241,.5)}
.ctl-corehead h3{color:#fff;font-size:1.3rem;margin:0 0 4px}.ctl-corehead p{margin:0;color:#94a3b8;font-size:.9rem}
.ctl-techs{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.ctl-techs .rd-tech{grid-column:auto!important}
.ctl-lead{max-width:760px;margin:-14px auto 28px;text-align:center;color:#94a3b8;font-size:.95rem;line-height:1.7}
.ctl-stack{display:grid;grid-template-columns:1.25fr 1fr 1.1fr;gap:18px}
.ctl-sc{padding:24px 22px;border-radius:22px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.13);transition:transform .35s ease,border-color .35s ease,background .35s ease}
.ctl-sc:hover{transform:translateY(-8px);border-color:rgba(34,211,238,.55);background:rgba(255,255,255,.09)}
.ctl-sh{display:flex;gap:12px;align-items:center;margin-bottom:16px;padding-bottom:14px;border-bottom:1px dashed rgba(255,255,255,.18)}
.ctl-sh span{width:42px;height:42px;border-radius:13px;flex-shrink:0;background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1rem}
.ctl-sh h4{color:#fff;font-size:.95rem;margin:0;line-height:1.3}
.ctl-sc ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ctl-sc li{display:flex;gap:10px;align-items:center;padding:9px 10px;border-radius:11px;background:rgba(255,255,255,.05)}
.ctl-sc li>i{width:26px;text-align:center;font-size:1.2rem;color:#22d3ee}
.ctl-sc li b{display:block;color:#e2e8f0;font:600 .82rem/1.3 'Inter',sans-serif}.ctl-sc li small{display:block;color:#94a3b8;font-size:.68rem;line-height:1.4;margin-top:1px}
.ctl-sc:nth-child(2) ul{grid-template-columns:1fr}.ctl-sc:nth-child(3) ul{grid-template-columns:1fr 1fr}

.ctl-s3{background:#fff;padding:84px 0}
.ctl-solve{display:grid;grid-template-columns:1fr 1.3fr;gap:44px;align-items:center;padding:44px 42px;border-radius:32px;background:linear-gradient(135deg,#4338ca 0%,#2563eb 55%,#0891b2 100%);color:#fff;position:relative;overflow:hidden;box-shadow:0 30px 70px rgba(67,56,202,.35)}
.ctl-solve::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 92% 8%,rgba(255,255,255,.22),transparent 40%),radial-gradient(circle at 4% 100%,rgba(255,255,255,.14),transparent 45%)}
.ctl-solve>*{position:relative}
.ctl-solve h2{color:#fff;margin:16px 0 0;font-size:clamp(1.5rem,2.8vw,2.1rem);line-height:1.3}
.ctl-sols{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ctl-sol{padding:20px 18px;border-radius:20px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28)}
.ctl-solh{display:flex;align-items:center;gap:9px;margin-bottom:14px;font:700 .78rem 'Inter',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#fde68a}
.ctl-sol ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.ctl-sol li{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.1);font-size:.86rem;font-weight:600;line-height:1.3;transition:transform .3s ease,background .3s ease}
.ctl-sol li:hover{transform:translateX(6px);background:rgba(255,255,255,.2)}
.ctl-sol li>span{width:32px;height:32px;border-radius:10px;flex-shrink:0;background:#fff;color:#4338ca;font-size:.85rem;display:flex;align-items:center;justify-content:center}

@media(max-width:1100px){.ctl-team{grid-template-columns:1fr}.ctl-techs{grid-template-columns:repeat(3,1fr)}.ctl-stack{grid-template-columns:1fr 1fr}.ctl-solve{grid-template-columns:1fr}}
@media(max-width:860px){.ctl-stages{grid-template-columns:1fr 1fr;row-gap:44px}.ctl-line{display:none}.ctl-stack{grid-template-columns:1fr}.ctl-sols{grid-template-columns:1fr}.ctl-sc ul,.ctl-sc:nth-child(3) ul{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.ctl-stages{grid-template-columns:1fr}.ctl-techs{grid-template-columns:repeat(2,1fr)}.ctl-team,.ctl-solve{padding:26px 20px}.ctl-sc ul,.ctl-sc:nth-child(3) ul{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.ctl-line i{animation:none}}

/* Core stack: all three columns are single-column lists */
.ctl-sc ul,.ctl-sc:nth-child(2) ul,.ctl-sc:nth-child(3) ul{grid-template-columns:1fr}
@media(max-width:860px){.ctl-sc ul,.ctl-sc:nth-child(3) ul{grid-template-columns:1fr}}
.ctl-sc li{padding:12px 14px}

/* Backend card keeps its original two-column layout */
.ctl-sc:nth-child(1) ul{grid-template-columns:1fr 1fr}
.ctl-sc:nth-child(1) li{padding:9px 10px}
@media(max-width:860px){.ctl-sc:nth-child(1) ul{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.ctl-sc:nth-child(1) ul{grid-template-columns:1fr}}

/* Concept to Launch: Core Technologies + Security cards copied from the home page */
.ctl-rd{margin-bottom:8px}
.ctl-rd .rd-card:hover{transform:translateY(-8px)}
@media(max-width:1100px){.ctl-rd .rd-core,.ctl-rd .rd-secure{grid-column:span 12}}

/* Concept to Launch: IT-services card (longer descriptions) */
.ctl-offer .rd-sec{gap:10px}
.ctl-offer .rd-sec li{align-items:flex-start;padding:12px 14px}
.ctl-offer .rd-sec li>span{margin-top:2px}
.ctl-offer .rd-sec b{font-size:.84rem}
.ctl-offer .rd-sec small{font-size:.74rem;line-height:1.5}
.ctl-offer .rd-corehead h4{font-size:1.02rem;line-height:1.3}

/* Home services panel: three headline offerings with longer descriptions */
.sf-sub{margin:0 0 4px;color:#22d3ee;font:600 .95rem 'Sora',sans-serif}
.sf-list{gap:12px;margin-top:20px}
.sf-list .service-list-item{padding:14px 16px;gap:14px}
.sf-list .service-list-item i{width:22px;font-size:1.15rem;margin-top:3px}
.sf-list .service-list-item span b{font-size:.92rem;line-height:1.3}
.sf-list .service-list-item span small{font-size:.78rem;line-height:1.55;margin-top:4px}

/* Home services panel: justified descriptions */
.sf-list .service-list-item span small{text-align:justify;text-justify:inter-word}
.sf-list .service-list-item span{flex:1;min-width:0}

/* Concept to Launch IT-services card: short descriptions, justified */
.ctl-offer .rd-sec small{text-align:justify;text-justify:inter-word}
.ctl-offer .rd-sec li{align-items:center}

/* Services descriptions: left-aligned again (justify removed) */
.sf-list .service-list-item span small,.ctl-offer .rd-sec small{text-align:left;text-justify:auto}

/* Footer bottom bar: privacy link */
.footer-legal{font-size:.8125rem;color:rgba(255,255,255,.45);transition:color .25s ease}
.footer-legal:hover{color:#fff}
.footer-bottom .footer-legal{margin-left:auto;margin-right:22px}
@media(max-width:640px){.footer-bottom .footer-legal{margin:0}}

/* Home services panel: fill the lower part with stats + a call to action */
.sb-featured{display:flex;flex-direction:column}
.sb-featured .sf-bottom{margin-top:auto;padding-top:26px;display:flex;flex-direction:column;gap:16px}
.sf-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.sf-stats>div{padding:14px 8px;border-radius:14px;text-align:center;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);transition:transform .3s ease,border-color .3s ease}
.sf-stats>div:hover{transform:translateY(-4px);border-color:rgba(34,211,238,.55)}
.sf-stats b{display:block;font:800 1.4rem 'Sora',sans-serif;background:linear-gradient(90deg,#818cf8,#22d3ee);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.sf-stats small{display:block;margin-top:3px;font:600 .68rem 'Inter',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#94a3b8}
.sf-cta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 14px;padding:14px 16px;border-radius:14px;background:linear-gradient(135deg,rgba(99,102,241,.35),rgba(6,182,212,.2));border:1px solid rgba(255,255,255,.18)}
.sf-cta span{color:#fff;font-size:.88rem;font-weight:600}.sf-cta span i{color:#22d3ee;margin-right:8px}
.sf-cta .link-arrow{margin-top:0}
.sb-featured .sf-bottom>.link-arrow{margin-top:0}

/* Home services: tighter blue panel so the cards beside it are no taller than their content */
.sb-featured{padding:24px 24px 22px}
.sb-featured .label-chip{margin-bottom:14px!important}
.sb-featured h3{margin-bottom:8px!important;font-size:1.45rem;line-height:1.2}
.sb-featured .service-list{gap:7px;margin-top:14px}
.sb-featured .service-list-item{padding:7px 13px;gap:11px}
.sb-featured .service-list-item span b{font-size:.84rem}
.sb-featured .service-list-item span small{font-size:.72rem;line-height:1.35;margin-top:1px}
.sb-featured .sf-bottom{padding-top:14px}
.services-bento .bento-card:not(.sb-featured){display:flex;flex-direction:column}
.services-bento .bento-card:not(.sb-featured) .link-arrow{margin-top:auto;padding-top:12px}

/* Services bento: each row is only as tall as its own cards (rows were forced equal to the tallest one) */
.services-bento{grid-template-rows:repeat(3,auto)!important;align-items:stretch}
.services-bento .bento-card:not(.sb-featured) .link-arrow{margin-top:12px;padding-top:0}
.services-bento .bento-card:not(.sb-featured) p{margin-bottom:0}

/* Home services panel: larger heading and comfortable spacing */
.sb-featured{padding:28px 26px 24px}
.sb-featured .label-chip{margin-bottom:20px!important}
.sb-featured h3{font-size:clamp(1.8rem,2.6vw,2.15rem)!important;line-height:1.18!important;margin-bottom:20px!important;letter-spacing:-.01em}
.sb-featured .service-list{gap:10px;margin-top:0}
.sb-featured .service-list-item{padding:10px 15px;gap:13px}
.sb-featured .service-list-item span b{font-size:.9rem}
.sb-featured .service-list-item span small{font-size:.76rem;line-height:1.4;margin-top:2px}
.sb-featured .sf-bottom{padding-top:20px}

/* Screenshot mode (?shot=1): no preloader, chat, back-to-top or progress bar — used to capture clean images for the brochure */
html.shot #preloader,html.shot .lc-launch,html.shot .lc-tip,html.shot .lc-panel,html.shot .back-to-top,html.shot .scroll-progress{display:none!important}
html.shot.pl-lock,html.shot.pl-lock body{overflow:auto!important}

/* ================================================================
   CONTACT: company details
   ================================================================ */
.cd-section{background:linear-gradient(180deg,#f8fafc,#fff)}
.cd-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:1080px;margin:0 auto}
.cd-card{display:flex;gap:14px;align-items:flex-start;padding:20px 20px;border-radius:18px;background:#fff;border:1px solid var(--border);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.cd-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(99,102,241,.16);border-color:rgba(99,102,241,.4)}
.cd-card.wide{grid-column:span 2}
.cd-ico{width:44px;height:44px;border-radius:13px;flex-shrink:0;background:#eef2ff;color:#6366f1;font-size:1.05rem;display:flex;align-items:center;justify-content:center;transition:all .3s ease}
.cd-card:hover .cd-ico{background:var(--grad);color:#fff;transform:rotate(-8deg)}
.cd-card small{display:block;margin-bottom:3px;font:700 .68rem 'Inter',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#94a3b8}
.cd-card b{display:block;font:600 .95rem/1.5 'Inter',sans-serif;color:var(--text);word-break:break-word}
.cd-card.hl{background:linear-gradient(135deg,#4338ca,#2563eb 60%,#0891b2);border-color:transparent;color:#fff}
.cd-card.hl .cd-ico{background:rgba(255,255,255,.2);color:#fff}
.cd-card.hl small{color:rgba(255,255,255,.75)}.cd-card.hl b{color:#fff;font:700 1.15rem/1.35 'Sora',sans-serif}
.cd-card.lic{background:#0f172a;border-color:transparent}
.cd-card.lic .cd-ico{background:rgba(34,211,238,.15);color:#22d3ee}
.cd-card.lic small{color:#94a3b8}.cd-card.lic b{color:#22d3ee;font:700 1.05rem 'Consolas','Courier New',monospace;letter-spacing:.08em}
@media(max-width:1000px){.cd-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.cd-grid{grid-template-columns:1fr}.cd-card.wide{grid-column:auto}}

/* ================================================================
   ABOUT: WHO WE ARE (timeline + founder)
   ================================================================ */
.wwa-section{position:relative;overflow:hidden;background:radial-gradient(ellipse 70% 40% at 50% 0%,rgba(99,102,241,.32),transparent 70%),radial-gradient(ellipse 50% 40% at 0% 100%,rgba(6,182,212,.18),transparent 70%),#0a0f1e}
.wwa-section::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 25%,#000,transparent);mask-image:radial-gradient(ellipse 80% 60% at 50% 25%,#000,transparent)}
.wwa-section>.container{position:relative;z-index:1}
.wwa-section .section-head h2{font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1.2}

.wwa-timeline{position:relative;margin:10px 0 0}
.wwa-rail{position:absolute;left:8.33%;right:8.33%;top:30px;height:4px;border-radius:4px;background:rgba(255,255,255,.14)}
.wwa-rail i{position:absolute;left:0;top:50%;width:16px;height:16px;margin-top:-8px;border-radius:50%;background:var(--grad);box-shadow:0 0 0 6px rgba(99,102,241,.25),0 0 18px rgba(34,211,238,.7);animation:ctlDot 7s ease-in-out infinite}
.wwa-ms{position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.wwa-m{position:relative;text-align:center;padding:0 6px}
.wwa-dot{position:relative;z-index:1;display:flex;width:62px;height:62px;margin:0 auto 14px;border-radius:50%;align-items:center;justify-content:center;font-size:1.25rem;color:#fff;background:linear-gradient(135deg,#4338ca,#2563eb 60%,#0891b2);border:5px solid #0a0f1e;box-shadow:0 0 0 2px rgba(99,102,241,.5),0 12px 26px rgba(79,70,229,.5);transition:transform .35s ease}
.wwa-m:hover .wwa-dot{transform:scale(1.14) rotate(-6deg)}
.wwa-m:last-child .wwa-dot{background:linear-gradient(135deg,#f59e0b,#ef4444)}
.wwa-yr{display:block;font:800 1.5rem 'Sora',sans-serif;background:linear-gradient(90deg,#818cf8,#22d3ee);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:6px}
.wwa-m h4{color:#fff;font-size:.92rem;line-height:1.3;margin-bottom:4px}
.wwa-m p{margin:0;font-size:.8rem;line-height:1.5;color:#94a3b8}

.wwa-tagline{margin:46px auto 0;text-align:center;max-width:760px}
.wwa-tagline>p{margin:0;color:#e2e8f0;font:600 1.25rem/1.5 'Sora',sans-serif}
.wwa-tagline>p b{color:#fde68a}
.wwa-hash{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 18px;margin:14px 0 26px}
.wwa-hash span{font:600 .85rem 'Inter',sans-serif;color:#22d3ee}
.wwa-dl small{margin-left:10px;padding-left:10px;border-left:1px solid rgba(255,255,255,.45);font:600 .72rem 'Inter',sans-serif;opacity:.9}

.wwa-founder{display:grid;grid-template-columns:300px 1fr;gap:36px;margin-top:64px;padding:34px;border-radius:30px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);align-items:start}
.wwa-fside{text-align:center;position:sticky;top:110px}
.wwa-photo{position:relative;border-radius:24px;overflow:hidden;aspect-ratio:4/5;box-shadow:0 24px 50px rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.16)}
.wwa-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(10,15,30,.5))}
.wwa-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.wwa-fside h3{color:#fff;font-size:1.3rem;margin:18px 0 4px}
.wwa-role{display:inline-block;font:700 .8rem 'Inter',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#22d3ee}
.wwa-edu{display:block;margin-top:8px;color:#94a3b8;font-size:.82rem}.wwa-edu i{margin-right:6px;color:#a5b4fc}
.wwa-connect{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-size:.88rem;font-weight:700;color:#22d3ee;transition:gap .3s ease}
.wwa-connect:hover{gap:14px}
.wwa-tag{display:inline-flex;align-items:center;gap:8px;margin-bottom:10px;font:700 .72rem 'Inter',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#22d3ee}
.wwa-fh{color:#fff;font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.2;margin-bottom:14px}
.wwa-fbody p{color:rgba(255,255,255,.78);font-size:.95rem;line-height:1.75;margin-bottom:12px}
.wwa-fbody p b{color:#fde68a}
.wwa-focus{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0 6px}
.wwa-fc{padding:20px 20px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);transition:transform .3s ease,border-color .3s ease}
.wwa-fc:hover{transform:translateY(-5px);border-color:rgba(34,211,238,.55)}
.wwa-fc h5{display:flex;align-items:center;gap:10px;color:#fff;font-size:.92rem;margin-bottom:12px;line-height:1.3}
.wwa-fc h5 i{width:34px;height:34px;border-radius:10px;flex-shrink:0;background:var(--grad);display:flex;align-items:center;justify-content:center;font-size:.85rem}
.wwa-fc ul,.wwa-what{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.wwa-fc li,.wwa-what li{position:relative;padding-left:22px;font-size:.84rem;line-height:1.55;color:#cbd5e1}
.wwa-fc li::before,.wwa-what li::before{content:'\f00c';font-family:'Font Awesome 5 Free';font-weight:900;position:absolute;left:0;top:2px;font-size:.66rem;color:#22d3ee}
.wwa-sub{color:#fff;font-size:.95rem;margin:22px 0 10px}
.wwa-core{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;margin-top:20px;padding-top:16px;border-top:1px dashed rgba(255,255,255,.2)}
.wwa-core span{font:700 .66rem 'Inter',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#94a3b8}
.wwa-core b{font:600 .84rem 'Inter',sans-serif;color:#e2e8f0}
.wwa-core b+b::before{content:'|';margin-right:18px;color:rgba(255,255,255,.25)}
.wwa-fbody .wwa-close{margin:18px 0 0;font-style:italic;color:#a5b4fc}

@media(max-width:1100px){.wwa-ms{grid-template-columns:repeat(3,1fr);row-gap:34px}.wwa-rail{display:none}.wwa-founder{grid-template-columns:1fr}.wwa-fside{position:relative;top:0;max-width:300px;margin:0 auto}}
@media(max-width:640px){.wwa-ms{grid-template-columns:repeat(2,1fr)}.wwa-focus{grid-template-columns:1fr}.wwa-founder{padding:22px 18px}}
@media(max-width:420px){.wwa-ms{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.wwa-rail i{animation:none}}

.about-blurb{margin-top:6px;padding:16px 18px;border-left:4px solid var(--accent);border-radius:0 14px 14px 0;background:linear-gradient(90deg,rgba(99,102,241,.08),transparent);font-size:.94rem;line-height:1.75;color:var(--muted)}
.about-blurb b{color:var(--text)}

/* About › Who We Are: company blurb card */
.wwa-about{display:flex;gap:20px;align-items:flex-start;max-width:900px;margin:48px auto 0;padding:26px 30px;border-radius:24px;background:linear-gradient(135deg,rgba(99,102,241,.22),rgba(6,182,212,.12));border:1px solid rgba(255,255,255,.18);box-shadow:0 20px 50px rgba(0,0,0,.3)}
.wwa-ab-ico{width:52px;height:52px;border-radius:16px;flex-shrink:0;background:var(--grad);color:#fff;font-size:1.3rem;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 26px rgba(99,102,241,.5)}
.wwa-about p{margin:0;color:rgba(255,255,255,.85);font-size:.98rem;line-height:1.8}
.wwa-about p b{color:#fff;font-family:'Sora',sans-serif}
@media(max-width:600px){.wwa-about{flex-direction:column;padding:22px 20px}}

/* Who We Are timeline v2: uniform milestone cards, icon medallions on the connecting line */
.wwa-timeline{margin-top:34px}
.wwa-rail{top:32px;left:8.33%;right:8.33%;height:3px}
.wwa-ms{gap:16px;padding-top:34px;align-items:stretch}
.wwa-m{display:flex;flex-direction:column;align-items:center;padding:44px 14px 22px;border-radius:20px;background:linear-gradient(170deg,rgba(255,255,255,.09),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.14);transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}
.wwa-m:hover{transform:translateY(-8px);border-color:rgba(34,211,238,.55);box-shadow:0 20px 44px rgba(0,0,0,.35)}
.wwa-dot{position:absolute;top:-31px;left:50%;margin:0 0 0 -31px}
.wwa-yr{font-size:1.65rem;margin-bottom:8px}
.wwa-m h4{font-size:.95rem;min-height:2.6em;display:flex;align-items:center;justify-content:center;margin-bottom:6px}
.wwa-m p{font-size:.82rem;line-height:1.55}
@media(max-width:1100px){.wwa-ms{grid-template-columns:repeat(3,1fr);row-gap:48px}}
@media(max-width:640px){.wwa-ms{grid-template-columns:repeat(2,1fr)}}
@media(max-width:420px){.wwa-ms{grid-template-columns:1fr}}

/* Who We Are: static connecting line (the moving dot is removed to keep the page light) */
.wwa-rail i{display:none!important;animation:none!important}

/* Founder card: left column fills the full height (Core Tech moved here) */
.wwa-founder{align-items:stretch}
.wwa-fside{position:static;display:flex;flex-direction:column;align-items:center}
.wwa-ct{width:100%;margin-top:22px;padding:16px 16px 14px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);text-align:left}
.wwa-ct>span{display:block;margin-bottom:10px;font:700 .66rem 'Inter',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#94a3b8}
.wwa-ct ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.wwa-ct li{display:flex;align-items:center;gap:10px;font:600 .84rem 'Inter',sans-serif;color:#e2e8f0}
.wwa-ct li i{width:30px;height:30px;border-radius:9px;flex-shrink:0;background:rgba(34,211,238,.12);color:#22d3ee;font-size:.8rem;display:flex;align-items:center;justify-content:center}
.wwa-fside .wwa-connect{margin-top:auto;padding-top:18px}
@media(max-width:1100px){.wwa-ct{max-width:300px}}

/* Who We Are heading: centred block with balanced line breaks (no orphan words) */
.wwa-section .section-head{max-width:860px;margin:0 auto 48px;text-align:center}
.wwa-section .section-head h2{margin:16px auto 14px!important;text-align:center;text-wrap:balance;font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1.2;letter-spacing:-.01em}
.wwa-section .section-head p{max-width:640px;margin:0 auto!important;text-align:center;text-wrap:balance;font-size:1.02rem;line-height:1.7}

/* ================================================================
   CAREERS PAGE
   ================================================================ */
.cr-intro{background:#fff}
.cr-perks{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.cr-perk{padding:24px 20px;border-radius:20px;background:linear-gradient(160deg,#fff,#eef2ff);border:1px solid #e0e7ff;transition:transform .3s ease,box-shadow .3s ease}
.cr-perk:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(99,102,241,.16)}
.cr-perk span{width:48px;height:48px;border-radius:14px;margin-bottom:14px;background:var(--grad);color:#fff;font-size:1.1rem;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 22px rgba(99,102,241,.35)}
.cr-perk h5{font-size:1rem;margin-bottom:6px}.cr-perk p{margin:0;font-size:.86rem;line-height:1.6;color:var(--muted)}
.cr-roles-sec{background:radial-gradient(ellipse 70% 40% at 50% 0%,rgba(99,102,241,.3),transparent 70%),#0a0f1e}
.cr-roles{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;max-width:1040px;margin:0 auto}
.cr-role{display:flex;align-items:center;gap:16px;padding:18px 20px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.13);transition:transform .3s ease,border-color .3s ease,background .3s ease}
.cr-role:hover{transform:translateY(-5px);border-color:rgba(34,211,238,.55);background:rgba(255,255,255,.1)}
.cr-ico{width:48px;height:48px;border-radius:14px;flex-shrink:0;background:var(--grad);color:#fff;font-size:1.1rem;display:flex;align-items:center;justify-content:center}
.cr-role>div{flex:1;min-width:0}
.cr-role small{display:block;font:700 .64rem 'Inter',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#22d3ee}
.cr-role h4{color:#fff;font-size:1rem;margin:2px 0 3px}.cr-role p{margin:0;font-size:.8rem;color:#94a3b8;line-height:1.45}
.cr-apply{flex-shrink:0;display:inline-flex;align-items:center;gap:8px;font-size:.84rem;font-weight:700;color:#22d3ee;transition:gap .3s ease}
.cr-role:hover .cr-apply{gap:13px}
.cr-form-sec{background:linear-gradient(180deg,#f8fafc,#fff);scroll-margin-top:90px}
.cr-form-wrap{display:grid;grid-template-columns:1fr 1.25fr;gap:48px;align-items:start}
.cr-form-text p{color:var(--muted);line-height:1.75}
.cr-steps{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}
.cr-steps li{display:flex;align-items:center;gap:14px;padding:12px 16px;border-radius:14px;background:#fff;border:1px solid var(--border);font-weight:600;font-size:.9rem}
.cr-steps b{width:30px;height:30px;border-radius:50%;background:var(--grad);color:#fff;font:800 .8rem 'Sora',sans-serif;display:flex;align-items:center;justify-content:center}
select.form-control{appearance:auto}
@media(max-width:1000px){.cr-perks{grid-template-columns:repeat(2,1fr)}.cr-form-wrap{grid-template-columns:1fr}}
@media(max-width:700px){.cr-roles{grid-template-columns:1fr}.cr-perks{grid-template-columns:1fr}.cr-role{flex-wrap:wrap}}

/* Careers: CV upload */
.cv-hint{font-weight:500;color:#94a3b8;font-size:.78em}
.cv-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.cv-drop{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:14px;border:2px dashed #c7d2fe;background:linear-gradient(135deg,#f5f3ff,#ecfeff);cursor:pointer;transition:all .25s ease}
.cv-drop:hover,.cv-drop.drag{border-color:#6366f1;background:linear-gradient(135deg,#eef2ff,#e0f2fe);transform:translateY(-2px)}
.cv-ico{width:46px;height:46px;border-radius:13px;flex-shrink:0;background:#fff;color:#ef4444;font-size:1.35rem;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(15,23,42,.12)}
.cv-txt{flex:1;min-width:0}
.cv-txt b{display:block;font:600 .9rem 'Inter',sans-serif;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cv-txt small{display:block;font-size:.76rem;color:var(--muted)}
.cv-btn{padding:8px 16px;border-radius:99px;background:var(--grad);color:#fff;font:700 .78rem 'Inter',sans-serif}
.cv-drop.ok{border-style:solid;border-color:#22c55e;background:#f0fdf4}.cv-drop.ok .cv-ico{color:#16a34a}
.cv-drop.bad{border-color:#ef4444;background:#fef2f2}.cv-drop.bad .cv-txt b{color:#b91c1c}
.cv-input:focus+*,.cv-drop:focus-within{outline:2px solid #6366f1;outline-offset:2px}

/* Careers: fill the left column beside the form */
.cr-look{margin-top:22px;padding:20px 20px 16px;border-radius:18px;background:linear-gradient(135deg,#4338ca,#2563eb 60%,#0891b2);color:#fff;box-shadow:0 18px 40px rgba(67,56,202,.28)}
.cr-look h4{display:flex;align-items:center;gap:10px;color:#fff;font-size:1rem;margin:0 0 12px}
.cr-look ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.cr-look li{display:flex;gap:10px;align-items:flex-start;font-size:.88rem;line-height:1.5;color:rgba(255,255,255,.92)}
.cr-look li i{width:20px;height:20px;border-radius:50%;flex-shrink:0;margin-top:1px;background:rgba(255,255,255,.2);font-size:.6rem;display:flex;align-items:center;justify-content:center}
.cr-note{display:flex;gap:14px;align-items:flex-start;margin-top:14px;padding:14px 16px;border-radius:16px;background:#fff;border:1px solid var(--border)}
.cr-note>span{width:38px;height:38px;border-radius:11px;flex-shrink:0;background:#eef2ff;color:#6366f1;display:flex;align-items:center;justify-content:center}
.cr-note p{margin:0;font-size:.86rem;line-height:1.6;color:var(--muted)}
.cr-note p b{color:var(--text)}.cr-note a{color:var(--accent);font-weight:600}
@media(min-width:1001px){.cr-form-text{position:sticky;top:110px}}

/* Footer: Google rating + office timing */
.g-rate{display:flex;align-items:center;gap:12px;margin-top:16px;padding:11px 14px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);max-width:230px}
.g-logo{width:34px;height:34px;border-radius:10px;flex-shrink:0;background:#fff;color:#4285f4;font-size:1rem;display:flex;align-items:center;justify-content:center}
.g-rate>div{flex:1;min-width:0}
.g-rate b{display:block;color:#fff;font:600 .78rem 'Inter',sans-serif;margin-bottom:2px}
.g-stars{display:flex;gap:2px;color:#fbbf24;font-size:.72rem}
.g-rate em{font:800 1.1rem 'Sora',sans-serif;font-style:normal;color:#fff}
.fh-sub{display:flex;align-items:center;gap:8px;margin:20px 0 10px!important;font-size:.9rem!important}
.fh-sub i{color:var(--accent2)}
.f-hours{list-style:none;margin:0;padding:0;max-width:230px;display:flex;flex-direction:column;gap:6px}
.f-hours li{display:flex;justify-content:space-between;gap:10px;font-size:.76rem;line-height:1.4}
.f-hours li span{color:rgba(255,255,255,.55)}
.f-hours li b{font-weight:600;color:rgba(255,255,255,.88);text-align:right;white-space:nowrap}
.f-hours li.closed b{color:#f87171}

.footer-news .g-rate{max-width:260px}
.footer-news .f-hours{max-width:260px}

/* Footer v3: four even columns, badge under About, rating + timing as one full-width band */
.footer-inner{grid-template-columns:1.5fr .8fr 1fr 1.2fr;gap:44px;align-items:start}
.footer-badge2{margin-top:20px}
.footer-badge2 img{display:block;width:100%;max-width:230px;height:auto;border-radius:14px;box-shadow:0 10px 26px rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.14);transition:transform .35s ease}
.footer-badge2 img:hover{transform:translateY(-4px) scale(1.03)}
.footer-band{display:flex;align-items:center;gap:28px;margin:34px 0 34px;padding:20px 24px;border-radius:20px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}
.footer-band .g-rate{margin:0;max-width:none;flex-shrink:0;min-width:230px}
.fb-hours{flex:1;min-width:0}
.fb-hours .fh-sub{margin:0 0 12px!important}
.fb-hours .f-hours{max-width:none;display:grid;grid-template-columns:repeat(7,1fr);gap:10px}
.fb-hours .f-hours li{flex-direction:column;align-items:flex-start;gap:3px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}
.fb-hours .f-hours li span{font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.fb-hours .f-hours li b{text-align:left;white-space:normal;font-size:.78rem;line-height:1.35}
.fb-hours .f-hours li.closed{background:rgba(248,113,113,.07);border-color:rgba(248,113,113,.2)}
@media(max-width:1100px){.footer-inner{grid-template-columns:1fr 1fr;gap:34px}.fb-hours .f-hours{grid-template-columns:repeat(4,1fr)}.footer-band{flex-direction:column;align-items:stretch}}
@media(max-width:700px){.fb-hours .f-hours{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.footer-inner{grid-template-columns:1fr}}
.footer-band .fh-sub{color:#fff!important}
.footer-inner{border-bottom:0!important;padding-bottom:0!important}
.footer-band{margin:30px 0 28px}
.fb-hours .f-hours li b{font-size:.76rem}
.footer-band{margin:46px 0 30px}

/* Footer v4: compact, smaller type for the timing band; no mid-word hyphenation */
.footer-brand p{hyphens:none;-webkit-hyphens:none;text-align:left}
.footer-band{gap:22px;padding:14px 18px;margin:38px 0 26px;border-radius:16px}
.footer-band .g-rate{min-width:0;padding:8px 12px;gap:10px;border-radius:12px}
.footer-band .g-logo{width:28px;height:28px;border-radius:8px;font-size:.85rem}
.footer-band .g-rate b{font-size:.7rem}
.footer-band .g-stars{font-size:.62rem}
.footer-band .g-rate em{font-size:.95rem;margin-left:4px}
.fb-hours .fh-sub{font-size:.76rem!important;margin:0 0 8px!important}
.fb-hours .f-hours{gap:8px}
.fb-hours .f-hours li{padding:7px 10px;gap:2px;border-radius:10px}
.fb-hours .f-hours li span{font-size:.62rem;letter-spacing:.06em}
.fb-hours .f-hours li b{font-size:.7rem;white-space:nowrap}
@media(max-width:1100px){.fb-hours .f-hours{grid-template-columns:repeat(4,1fr)}}
@media(max-width:700px){.fb-hours .f-hours{grid-template-columns:repeat(2,1fr)}}

/* Footer v5: even more compact timing band + highlight for today (India time) */
.footer-band{padding:9px 14px;margin:30px 0 22px;gap:16px;border-radius:14px}
.footer-band .g-rate{padding:6px 10px;gap:8px;border-radius:10px}
.footer-band .g-logo{width:24px;height:24px;border-radius:7px;font-size:.75rem}
.footer-band .g-rate b{font-size:.64rem;margin-bottom:1px}
.footer-band .g-stars{font-size:.56rem}
.footer-band .g-rate em{font-size:.85rem}
.fb-hours{display:flex;align-items:center;gap:14px}
.fb-hours .fh-sub{flex-shrink:0;margin:0!important;font-size:.7rem!important;white-space:nowrap}
.fb-hours .f-hours{flex:1;gap:6px}
.fb-hours .f-hours li{position:relative;padding:5px 8px;gap:0;border-radius:8px;transition:all .25s ease}
.fb-hours .f-hours li span{font-size:.56rem;letter-spacing:.07em}
.fb-hours .f-hours li b{font-size:.66rem}
.fb-hours .f-hours li.today{background:linear-gradient(135deg,rgba(99,102,241,.45),rgba(6,182,212,.35));border-color:#22d3ee;box-shadow:0 0 0 1px rgba(34,211,238,.5),0 6px 18px rgba(34,211,238,.25)}
.fb-hours .f-hours li.today span{color:#fff}
.fb-hours .f-hours li.today span::after{content:'TODAY';margin-left:6px;padding:1px 5px;border-radius:4px;background:#22d3ee;color:#0a0f1e;font-size:.5rem;font-weight:800;letter-spacing:.06em;vertical-align:1px}
.fb-hours .f-hours li.closed.today{background:linear-gradient(135deg,rgba(248,113,113,.3),rgba(99,102,241,.25));border-color:#f87171;box-shadow:0 0 0 1px rgba(248,113,113,.5)}
@media(max-width:1100px){.fb-hours{flex-direction:column;align-items:flex-start;gap:8px}.fb-hours .f-hours{width:100%}}

/* Footer: recognition badges as equal cards in one row */
.footer-badges{display:grid;grid-template-columns:repeat(2,minmax(0,170px));gap:12px;margin-top:20px}
.fbadge{display:flex;align-items:center;justify-content:center;padding:6px;border-radius:14px;background:#fff;box-shadow:0 10px 26px rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.14);overflow:hidden;transition:transform .35s ease,box-shadow .35s ease}
.fbadge:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(99,102,241,.35)}
.fbadge img{display:block;width:100%;height:auto;max-height:110px;object-fit:contain}
.fb-hours .fh-sub{display:none}

/* Footer: justified About text, "Registered at" heading, MCA badge (the image has a large blank area below the logo, so crop it) */
.footer-brand>p{text-align:justify;text-justify:inter-word;hyphens:none;-webkit-hyphens:none}
.fb-reg{margin:20px 0 0;color:#fff;font:700 .78rem 'Inter',sans-serif;letter-spacing:.14em;text-transform:uppercase}
.fb-reg+.footer-badges{margin-top:10px}
.footer-badges{grid-template-columns:repeat(2,minmax(0,1fr));max-width:340px}
.fbadge{aspect-ratio:1366/768;padding:0}
.fbadge img{width:100%;height:100%;max-height:none;object-fit:cover}
.fbadge-crop{align-items:flex-start}
.fbadge-crop img{height:auto;aspect-ratio:1366/1504;object-fit:cover;object-position:top}

/* Footer badges: each card has its own title */
.fb-item{min-width:0}
.fb-item .fb-reg{margin:0 0 8px}
.footer-badges{margin-top:20px}

/* ================================================================
   PRIVACY POLICY: plain, readable document layout (no animation)
   ================================================================ */
.pp-section{background:#fff;padding:64px 0 80px}
.pp-article{max-width:820px;margin:0 auto}
.pp-updated{margin:0 0 28px;padding-bottom:16px;border-bottom:1px solid var(--border);font-size:.85rem;color:var(--muted)}
.pp-article h3{margin:34px 0 12px;padding-left:14px;border-left:4px solid var(--accent);font-size:1.2rem;line-height:1.3}
.pp-article p{margin:0 0 14px;font-size:.95rem;line-height:1.8;color:#475569}
.pp-article ul{margin:0 0 16px;padding-left:22px;list-style:disc}
.pp-article li{margin:0 0 7px;font-size:.93rem;line-height:1.7;color:#475569}
.pp-article li::marker{color:var(--accent)}
.pp-contact{margin-top:44px;padding:22px 24px;border-radius:12px;background:#f8fafc;border:1px solid var(--border)}
.pp-contact h3{margin:0 0 8px;padding:0;border:0;font-size:1.05rem}
.pp-contact p{margin:0}
.pp-contact a{color:var(--accent);font-weight:600;text-decoration:underline}

/* ================================================================
   HOME: PHARMA SERIALIZATION
   ================================================================ */
.ser-section{position:relative;overflow:hidden;background:radial-gradient(ellipse 60% 70% at 85% 30%,rgba(6,182,212,.22),transparent 65%),radial-gradient(ellipse 60% 70% at 5% 80%,rgba(99,102,241,.3),transparent 65%),#0a0f1e}
.ser-section::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse 80% 80% at 50% 40%,#000,transparent);mask-image:radial-gradient(ellipse 80% 80% at 50% 40%,#000,transparent)}
.ser-section>.container{position:relative;z-index:1}
.ser-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:52px;align-items:center}
.ser-text h2{color:#fff;margin:16px 0 14px;font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.2}
.ser-text>p{color:rgba(255,255,255,.75);font-size:.97rem;line-height:1.75}
.ser-feats{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ser-feats li{display:flex;gap:12px;align-items:flex-start;padding:12px 13px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);transition:transform .3s ease,border-color .3s ease}
.ser-feats li:hover{transform:translateY(-4px);border-color:rgba(34,211,238,.55)}
.ser-feats li>span{width:36px;height:36px;border-radius:11px;flex-shrink:0;background:var(--grad);color:#fff;font-size:.9rem;display:flex;align-items:center;justify-content:center}
.ser-feats b{display:block;color:#fff;font:700 .84rem/1.3 'Inter',sans-serif}
.ser-feats small{display:block;margin-top:2px;color:#94a3b8;font-size:.72rem;line-height:1.45}
.ser-cta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:26px}
.ser-cta>span{font-size:.84rem;color:#94a3b8}

.ser-vis{position:relative;width:100%;max-width:500px;justify-self:center;container-type:inline-size}
.ser-win{border-radius:20px;background:#0f172a;border:1px solid rgba(255,255,255,.16);box-shadow:0 30px 70px rgba(0,0,0,.5);overflow:hidden}
.ser-bar{display:flex;align-items:center;gap:7px;padding:11px 14px;background:#1e293b}
.ser-bar>i{width:9px;height:9px;border-radius:50%;background:#f87171}.ser-bar>i:nth-child(2){background:#fbbf24}.ser-bar>i:nth-child(3){background:#34d399}
.ser-bar span{flex:1;margin-left:8px;font:600 .72rem 'Inter',sans-serif;color:#94a3b8}
.ser-bar em{display:inline-flex;align-items:center;gap:6px;font:700 .64rem 'Inter',sans-serif;font-style:normal;color:#4ade80;letter-spacing:.06em}
.ser-bar em b{width:7px;height:7px;border-radius:50%;background:#22c55e;animation:ledPing 1.8s ease-out infinite}
.ser-body{padding:18px 18px 16px}
.ser-codes{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ser-code{text-align:center}.ser-code.wide{grid-column:1/-1}
.ser-code small{display:block;margin-top:6px;font:700 .64rem 'Inter',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#94a3b8}
.qr-box,.bar-box{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:9px;border-radius:12px;background:#fff;overflow:hidden}
.qrg{display:grid;grid-template-columns:repeat(11,1fr);grid-template-rows:repeat(11,1fr);gap:1px;width:88px;height:88px}
.qrg.dmg{grid-template-columns:repeat(12,1fr);grid-template-rows:repeat(12,1fr)}
.qrg i{background:#0f172a;border-radius:1px}
.bar-box{width:100%;padding:10px 14px}
.bars{display:flex;align-items:stretch;justify-content:center;gap:2px;height:40px}.bars i{background:#0f172a}
.bars.pharma{align-items:flex-end;gap:3px;height:40px}.bar-box{min-height:60px}
.scanline{position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,transparent,#06b6d4,transparent);box-shadow:0 0 10px #06b6d4;animation:serScan 2.8s ease-in-out infinite}
.scanline.s2{animation-delay:-.9s}.scanline.s3{animation-delay:-1.8s}
@keyframes serScan{0%,100%{top:0}50%{top:calc(100% - 3px)}}
.ser-gs1{display:flex;align-items:center;gap:10px;margin:14px 0;padding:9px 12px;border-radius:10px;background:rgba(34,211,238,.08);border:1px solid rgba(34,211,238,.28)}
.ser-gs1 span{padding:2px 8px;border-radius:5px;background:#22d3ee;color:#0a0f1e;font:800 .62rem 'Sora',sans-serif;letter-spacing:.08em}
.ser-gs1 code{font:600 .66rem 'Consolas','Courier New',monospace;color:#a5f3fc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ser-agg{display:flex;align-items:center;gap:6px}
.agg-n{flex:1;padding:10px 6px;border-radius:12px;text-align:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}
.agg-n i{display:block;margin-bottom:5px;color:#818cf8;font-size:1.1rem}
.agg-n b{display:block;color:#fff;font:700 .76rem 'Sora',sans-serif}.agg-n small{display:block;color:#94a3b8;font-size:.6rem}
.agg-arrow{position:relative;width:26px;height:3px;border-radius:3px;background:rgba(255,255,255,.14);overflow:hidden;flex-shrink:0}
.agg-arrow i{position:absolute;top:0;left:-40%;width:40%;height:100%;background:linear-gradient(90deg,transparent,#22d3ee,transparent);animation:flowRun 1.6s linear infinite}
.ser-stat{display:flex;justify-content:space-between;gap:8px;margin-top:14px;padding-top:12px;border-top:1px dashed rgba(255,255,255,.16);font:600 .64rem 'Inter',sans-serif;color:#94a3b8}
.ser-stat i{margin-right:5px;color:#4ade80}
.ser-vis .vchip{font-size:.72rem;padding:7px 12px;top:-14px;right:-8px;left:auto;animation:vFloat 5s ease-in-out infinite}

@media(max-width:1000px){.ser-grid{grid-template-columns:1fr;gap:40px}}
@media(max-width:560px){.ser-feats{grid-template-columns:1fr}.ser-stat{flex-direction:column;gap:4px}}
@media(prefers-reduced-motion:reduce){.scanline,.agg-arrow i,.ser-bar em b{animation:none}}

/* real generated codes (bwip-js SVG) */
.qr-box img{display:block;width:104px;height:104px;object-fit:contain}
.bar-box img{display:block;width:100%;height:46px;object-fit:contain}

/* ================================================================
   PROJECTS: DEMONSTRATION (symbologies + FAQ)
   ================================================================ */
.sym-banner{display:flex;align-items:center;gap:22px;max-width:860px;margin:0 auto 38px;padding:22px 28px;border-radius:18px;background:linear-gradient(135deg,#0b1220,#1e1b4b);color:#fff}
.sym-banner>b{font:800 3.2rem/1 'Sora',sans-serif;background:linear-gradient(135deg,#818cf8,#22d3ee);-webkit-background-clip:text;background-clip:text;color:transparent}
.sym-banner h3{margin:0 0 4px;font-size:1.15rem;color:#fff}.sym-banner p{margin:0;font-size:.9rem;color:#cbd5e1;line-height:1.6}
.sym-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:20px;margin-bottom:64px}
.sym-card{grid-column:span 2;position:relative;padding:24px;border-radius:16px;background:#fff;border:1px solid var(--border);border-top:4px solid var(--c);box-shadow:0 6px 20px rgba(15,23,42,.05);transition:transform .3s,box-shadow .3s}
.sym-card:hover{transform:translateY(-5px);box-shadow:0 16px 34px -10px var(--c)}
.sym-card:nth-child(4),.sym-card:nth-child(5){grid-column:span 3}
.sym-head{display:flex;align-items:center;gap:12px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px dashed var(--border)}
.sym-head span{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--c);color:#fff;font-size:1.05rem}
.sym-head div{flex:1}.sym-head h4{margin:0;font-size:1.05rem}
.sym-head em{font:700 .62rem 'Inter',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--c)}
.sym-head b{font:800 1.8rem/1 'Sora',sans-serif;color:var(--c);opacity:.25}
.sym-list{margin:0;padding:0;list-style:none}
.sym-card:nth-child(4) .sym-list,.sym-card:nth-child(5) .sym-list{columns:2;column-gap:20px}
.sym-list li{position:relative;margin:0 0 9px;padding-left:20px;font-size:.88rem;line-height:1.45;color:#334155;break-inside:avoid}
.sym-list li::before{content:"";position:absolute;left:0;top:.45em;width:9px;height:9px;border-radius:50%;background:var(--c);box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 20%,transparent)}
@media(max-width:1000px){.sym-card,.sym-card:nth-child(4),.sym-card:nth-child(5){grid-column:span 3}.sym-card:nth-child(5){grid-column:1/-1}}
@media(max-width:700px){.sym-grid{grid-template-columns:1fr}.sym-card,.sym-card:nth-child(4),.sym-card:nth-child(5){grid-column:1/-1}.sym-card:nth-child(4) .sym-list,.sym-card:nth-child(5) .sym-list{columns:1}}
.faq-wrap{max-width:860px;margin:0 auto}
.faq-title{text-align:center;margin-bottom:22px}.faq-title h3{margin:12px 0 0;font-size:1.5rem}
.faq-item{margin-bottom:10px;border:1px solid var(--border);border-radius:12px;background:#fff;overflow:hidden}
.faq-item summary{display:flex;align-items:center;gap:14px;padding:16px 20px;cursor:pointer;font-weight:600;font-size:.95rem;list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary b{font:700 .8rem 'Sora',sans-serif;color:var(--accent)}
.faq-item summary i{margin-left:auto;font-size:.8rem;color:#64748b;transition:transform .25s}
.faq-item[open] summary i{transform:rotate(45deg)}
.faq-item[open]{border-color:var(--accent);box-shadow:0 8px 24px rgba(99,102,241,.1)}
.faq-item p{margin:0;padding:0 20px 18px 54px;font-size:.92rem;line-height:1.75;color:#475569}
@media(max-width:800px){.sym-banner{flex-direction:column;text-align:center}.faq-item p{padding-left:20px}}

/* AI Toolkit: Barcode & QR Generator visual */
.bcg{display:flex;align-items:center;gap:14px}
.bcg-lab{position:relative;padding:10px 14px 6px;border-radius:10px;background:#fff;text-align:center;overflow:hidden}
.bcg-bars{display:flex;align-items:stretch;gap:2px;height:44px;justify-content:center}.bcg-bars i{background:#0f172a}
.bcg-lab small{display:block;margin-top:4px;font:600 .62rem 'Inter',sans-serif;letter-spacing:.12em;color:#334155}
.bcg-scan{position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,transparent,#06b6d4,transparent);box-shadow:0 0 10px #06b6d4;animation:serScan 2.8s ease-in-out infinite}
.bcg-qr{width:64px;height:64px;border-radius:10px;background:#fff;display:grid;place-items:center;font-size:2.6rem;color:#0f172a}
@media(prefers-reduced-motion:reduce){.bcg-scan{animation:none}}
.bcg-lab{padding:8px 12px}.bcg-lab img{display:block;height:64px;width:auto;max-width:190px}
.bcg-qr{padding:6px}.bcg-qr img{display:block;width:100%;height:100%;object-fit:contain}

/* serialization: full-width heading, features + console below */
.ser-head{max-width:860px;margin:0 auto 40px;text-align:center}
.ser-head h2{color:#fff;margin:16px 0 14px;font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.2}
.ser-head>p{color:rgba(255,255,255,.75);font-size:1rem;line-height:1.75;margin:0}
.ser-grid{grid-template-columns:1.15fr 1fr;gap:40px;align-items:start}
.ser-feats{margin-top:0}
.ser-feats small{font-size:.76rem}
.ser-cta{margin-top:26px}
@media(max-width:1000px){.ser-grid{grid-template-columns:1fr}}

/* disabled submit: clearly inactive until the human checkbox is ticked */
button.btn:disabled,button.btn[disabled]{opacity:.45;cursor:not-allowed;filter:grayscale(.5);box-shadow:none;transform:none}

/* contact form inline validation */
.has-error .form-control{border-color:#ef4444;background:#fef2f2}
.has-error .form-check-input{outline:2px solid #ef4444}
.field-error{margin:6px 0 0;font-size:.78rem;font-weight:600;color:#dc2626}
.field-error::before{content:"\f06a";font-family:"Font Awesome 5 Free";font-weight:900;margin-right:6px}
.captcha-box.has-error{border-color:#ef4444}
.form-check{flex-wrap:wrap}.form-check .field-error{flex:0 0 100%;margin-top:4px}

/* careers: long CV file names must never stretch the layout */
.cr-form-wrap>*,.cr-form-wrap form,.cr-form-wrap .form-group,.cr-form-wrap .form-row>*{min-width:0}
.cv-drop{min-width:0;max-width:100%;box-sizing:border-box}
.cv-txt b{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;word-break:break-word;line-height:1.35}
.cv-btn{flex-shrink:0}
@media(max-width:560px){.cv-drop{gap:10px;padding:12px}.cv-ico{width:40px;height:40px;font-size:1.15rem}.cv-btn{padding:7px 12px}}
@media(max-width:560px){.cv-drop{flex-wrap:wrap}.cv-txt{flex:1 1 calc(100% - 56px)}.cv-btn{flex:1 1 100%;text-align:center}}

/* reCAPTCHA: badge replaced by the required legal note */
/* Google reCAPTCHA badge: bottom-left, shows the logo and opens on hover */
.grecaptcha-badge{left:0!important;right:auto!important;width:70px!important;overflow:hidden!important;transition:width .3s ease!important;bottom:14px!important;z-index:1100}
.grecaptcha-badge:hover{width:256px!important}
.rc-note{display:none;margin:12px 0 0;font-size:.72rem;line-height:1.5;color:#94a3b8;text-align:center}
.rc-note a{color:#6366f1;text-decoration:underline}

/* form success pop-up */
.fp-overlay{position:fixed;inset:0;z-index:3000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(8,12,24,.62);backdrop-filter:blur(4px);opacity:0;transition:opacity .2s ease}
.fp-overlay.show{opacity:1}
.fp-box{position:relative;width:100%;max-width:420px;padding:34px 28px 26px;border-radius:22px;background:#fff;text-align:center;box-shadow:0 30px 70px rgba(0,0,0,.35);transform:translateY(18px) scale(.96);transition:transform .25s ease}
.fp-overlay.show .fp-box{transform:none}
.fp-x{position:absolute;top:12px;right:12px;width:34px;height:34px;border:0;border-radius:50%;background:#f1f5f9;color:#475569;cursor:pointer;transition:background .2s}
.fp-x:hover{background:#e2e8f0}
.fp-ico{display:inline-flex;align-items:center;justify-content:center;width:68px;height:68px;margin-bottom:14px;border-radius:50%;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;font-size:1.7rem;box-shadow:0 12px 26px rgba(34,197,94,.4);animation:fpPop .5s ease both}
@keyframes fpPop{0%{transform:scale(.4);opacity:0}70%{transform:scale(1.12)}100%{transform:scale(1);opacity:1}}
.fp-box h3{margin:0 0 8px;font-size:1.35rem}
.fp-box p{margin:0 0 22px;font-size:.95rem;line-height:1.65;color:#475569}
.fp-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.fp-actions .btn{flex:1 1 140px;justify-content:center}
.fp-close{background:#f1f5f9;color:#334155;border:1px solid #e2e8f0}
.fp-close:hover{background:#e2e8f0}
@media(prefers-reduced-motion:reduce){.fp-ico{animation:none}.fp-overlay,.fp-box{transition:none}}
