/* ============================================================
   MindQ Inc — Master Stylesheet v3
   Classic enterprise IT · rich animations · dropdown nav
============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,600;0,700;0,800;1,700&family=Source+Sans+3:wght@300;400;500;600;700&display=swap');

/* ---------- TOKENS ---------- */
:root{
  --navy:#0c2438;--navy-deep:#081826;--navy-mid:#122e47;--navy-glass:rgba(12,36,56,.55);
  --slate:#50647a;--slate-lt:#8fa3b3;
  --sky:#29abe2;--sky-d:#1a8cbf;--sky-p:rgba(41,171,226,.09);
  --orange:#f4602a;--orange-d:#d94f1d;--orange-p:rgba(244,96,42,.09);
  --paper:#f4f7fa;--line:#dfe7ef;--white:#fff;
  --sh-sm:0 2px 10px rgba(12,36,56,.07);
  --sh-md:0 8px 32px rgba(12,36,56,.11);
  --sh-lg:0 24px 64px rgba(12,36,56,.16);
  --r:6px;--rL:14px;
  --ease:.24s cubic-bezier(.4,0,.2,1);
}

/* ---------- RESET ---------- */
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Source Sans 3',Arial,sans-serif;color:var(--navy);background:var(--white);line-height:1.72;overflow-x:hidden;}
h1,h2,h3,h4{font-family:'Playfair Display',Georgia,serif;font-weight:700;color:var(--navy);line-height:1.2;}
a{text-decoration:none;color:inherit;}
img{max-width:100%;display:block;}
.wrap{max-width:1200px;margin:0 auto;padding:0 28px;}

/* ---------- REVEAL ANIMATIONS ---------- */
.rv{opacity:0;transform:translateY(36px);transition:opacity .7s ease,transform .7s ease;}
.rv.on{opacity:1;transform:none;}
.rv-l{opacity:0;transform:translateX(-44px);transition:opacity .7s ease,transform .7s ease;}
.rv-l.on{opacity:1;transform:none;}
.rv-r{opacity:0;transform:translateX(44px);transition:opacity .7s ease,transform .7s ease;}
.rv-r.on{opacity:1;transform:none;}
.rv-s{opacity:0;transform:scale(.92);transition:opacity .7s ease,transform .7s ease;}
.rv-s.on{opacity:1;transform:none;}
.d1{transition-delay:.08s;}.d2{transition-delay:.17s;}.d3{transition-delay:.26s;}.d4{transition-delay:.35s;}.d5{transition-delay:.44s;}

/* ============================================================
   TOP BAR
============================================================ */
.topbar{background:var(--navy-deep);color:#8fa3b3;font-size:12.5px;border-bottom:1px solid rgba(255,255,255,.05);}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;height:36px;}
.topbar a{color:#8fa3b3;transition:color var(--ease);}
.topbar a:hover{color:var(--sky);}
.tb-l span{margin-right:20px;}
.tb-r a{margin-left:16px;}
.tb-r a:first-child{margin-left:0;}

/* ============================================================
   HEADER + MEGA NAV
============================================================ */
header{background:var(--white);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:500;transition:box-shadow var(--ease);}
header.scrolled{box-shadow:var(--sh-md);}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:78px;}

/* Logo */
.logo{display:flex;align-items:baseline;position:relative;gap:0;font-family:'Playfair Display',serif;font-size:28px;font-weight:800;}
.logo .lm{color:var(--sky);}
.logo .lq{color:var(--orange);}
.logo-wave{position:absolute;left:-2px;bottom:4px;width:112%;pointer-events:none;}

/* Nav */
nav ul{display:flex;list-style:none;align-items:center;gap:2px;}
nav ul li{position:relative;}
nav ul li>a{
  display:inline-flex;align-items:center;gap:4px;
  padding:9px 13px;font-size:14px;font-weight:600;color:var(--navy);
  border-radius:var(--r);white-space:nowrap;
  transition:background var(--ease),color var(--ease);
}
nav ul li>a:hover,nav ul li>a.active{background:var(--sky);color:var(--white);}
.nav-arr{font-size:9px;transition:transform var(--ease);}
nav ul li:hover>.nav-arr,nav ul li:hover>a .nav-arr{transform:rotate(180deg);}

/* Dropdown */
.dd{
  position:absolute;top:calc(100% + 8px);left:0;
  min-width:260px;background:var(--white);
  border:1px solid var(--line);border-radius:var(--rL);
  box-shadow:var(--sh-lg);
  opacity:0;pointer-events:none;transform:translateY(12px);
  transition:opacity .2s ease,transform .2s ease;
  z-index:600;overflow:hidden;
}
nav ul li:hover>.dd{opacity:1;pointer-events:all;transform:none;}
.dd a{
  display:flex;align-items:flex-start;gap:14px;
  padding:13px 18px;font-size:13.5px;color:var(--navy);
  border-bottom:1px solid var(--line);
  transition:background var(--ease);
}
.dd a:last-child{border-bottom:none;}
.dd a:hover{background:var(--sky-p);}
.dd-ico{flex-shrink:0;width:34px;height:34px;border-radius:8px;background:var(--sky-p);display:flex;align-items:center;justify-content:center;margin-top:1px;transition:background var(--ease);}
.dd a:hover .dd-ico{background:rgba(41,171,226,.18);}
.dd-t strong{display:block;font-weight:700;font-size:13px;margin-bottom:2px;}
.dd-t span{color:var(--slate);font-size:12px;}

/* Nav CTA */
.nav-cta{background:var(--orange) !important;color:var(--white) !important;border-radius:var(--r) !important;transition:background var(--ease) !important;}
.nav-cta:hover{background:var(--orange-d) !important;}

/* ============================================================
   BUTTONS
============================================================ */
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 30px;font-weight:700;font-size:14.5px;border-radius:var(--r);border:2px solid transparent;cursor:pointer;font-family:inherit;transition:all var(--ease);}
.btn-primary{background:var(--orange);color:var(--white);}
.btn-primary:hover{background:var(--orange-d);transform:translateY(-2px);box-shadow:0 8px 24px rgba(244,96,42,.35);}
.btn-outline{border-color:rgba(255,255,255,.5);color:var(--white);}
.btn-outline:hover{background:rgba(255,255,255,.15);border-color:var(--white);}
.btn-sky{background:var(--sky);color:var(--white);}
.btn-sky:hover{background:var(--sky-d);transform:translateY(-2px);}
.btn-ghost{border-color:var(--navy);color:var(--navy);}
.btn-ghost:hover{background:var(--navy);color:var(--white);}
.btn-row{display:flex;gap:14px;flex-wrap:wrap;}

/* ============================================================
   HERO SLIDER
============================================================ */
.hero-slider{position:relative;background:var(--navy-deep);overflow:hidden;}
.slide{position:absolute;inset:0;opacity:0;transition:opacity 1s ease;pointer-events:none;}
.slide.active{opacity:1;position:relative;pointer-events:all;}

/* Grid overlay */
.slide::before{content:'';position:absolute;inset:0;z-index:1;
  background-image:linear-gradient(rgba(41,171,226,.035) 1px,transparent 1px),
  linear-gradient(90deg,rgba(41,171,226,.035) 1px,transparent 1px);
  background-size:56px 56px;}

/* Glowing orbs */
.orb{position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none;z-index:1;}
.orb-a{width:500px;height:500px;background:rgba(41,171,226,.11);top:-120px;right:-100px;}
.orb-b{width:320px;height:320px;background:rgba(244,96,42,.09);bottom:-80px;left:5%;}
.orb-c{width:200px;height:200px;background:rgba(41,171,226,.07);top:40%;left:35%;}

.slide-inner{position:relative;z-index:2;display:flex;align-items:center;gap:48px;min-height:580px;padding:80px 0 110px;}
.slide-txt{flex:1.15;}
.slide-vis{flex:1;display:flex;justify-content:center;align-items:center;}
.slide-vis svg{width:100%;max-width:420px;}

/* Eyebrow pill */
.h-pill{display:inline-flex;align-items:center;gap:8px;background:rgba(41,171,226,.12);border:1px solid rgba(41,171,226,.28);border-radius:30px;padding:6px 16px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:2.5px;color:var(--sky);margin-bottom:22px;}
.blink{width:6px;height:6px;border-radius:50%;background:var(--sky);display:inline-block;animation:blink 2.2s infinite;}
@keyframes blink{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.4;transform:scale(1.5);}}

.h1{font-size:50px;line-height:1.14;color:var(--white);margin-bottom:20px;font-weight:800;}
.h1 .acc-o{color:var(--orange);}
.h1 .acc-s{color:var(--sky);}
.hero-lead{font-size:17px;color:rgba(255,255,255,.7);max-width:530px;margin-bottom:34px;}

/* Mini stats in hero */
.h-stats{display:flex;gap:32px;margin-top:38px;flex-wrap:wrap;}
.h-stat .hv{font-family:'Playfair Display',serif;font-size:28px;font-weight:700;color:var(--white);line-height:1;}
.h-stat .hv .oa{color:var(--orange);}
.h-stat .hv .sa{color:var(--sky);}
.h-stat .hl{font-size:11.5px;color:var(--slate-lt);text-transform:uppercase;letter-spacing:1.5px;margin-top:4px;}

/* Wave bottom */
.slide-wave{position:absolute;bottom:-1px;left:0;width:100%;z-index:3;line-height:0;}
.slide-wave svg{display:block;width:100%;height:58px;}

/* Dots */
.h-dots{position:absolute;bottom:72px;left:50%;transform:translateX(-50%);display:flex;gap:10px;z-index:10;}
.h-dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.3);border:none;cursor:pointer;transition:all var(--ease);padding:0;}
.h-dot.on{background:var(--sky);transform:scale(1.25);}

/* Arrows */
.h-arr{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:2px solid rgba(255,255,255,.2);background:rgba(255,255,255,.07);color:var(--white);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;font-size:18px;transition:all var(--ease);}
.h-arr:hover{background:var(--sky);border-color:var(--sky);}
.h-prev{left:22px;}
.h-next{right:22px;}

/* ============================================================
   STATS STRIP
============================================================ */
.stats-strip{background:var(--paper);border-bottom:1px solid var(--line);}
.stats-strip .wrap{display:flex;justify-content:space-around;flex-wrap:wrap;padding:42px 28px;gap:20px;}
.st-item{text-align:center;flex:1;min-width:130px;}
.st-num{font-family:'Playfair Display',serif;font-size:40px;font-weight:700;color:var(--sky);line-height:1;}
.st-num .oo{color:var(--orange);}
.st-lbl{font-size:12px;color:var(--slate);text-transform:uppercase;letter-spacing:1.5px;margin-top:8px;font-weight:600;}

/* ============================================================
   SECTIONS
============================================================ */
section{padding:90px 0;}
.sec-head{text-align:center;max-width:700px;margin:0 auto 56px;}
.eyebrow{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:3px;color:var(--orange);margin-bottom:10px;}
.sec-head h2{font-size:36px;margin-bottom:14px;}
.rule{width:52px;height:3px;border-radius:2px;background:linear-gradient(90deg,var(--sky),var(--orange));margin:14px auto 18px;}
.sec-head p{color:var(--slate);font-size:16px;}

/* ============================================================
   ABOUT
============================================================ */
.about-wrap{display:flex;gap:68px;align-items:center;}
.abt-txt{flex:1.3;}
.abt-txt .eyebrow{color:var(--orange);}
.abt-txt h2{font-size:36px;margin-bottom:18px;}
.abt-txt p{color:var(--slate);font-size:15.5px;margin-bottom:16px;}
.ck-list{list-style:none;margin-top:20px;}
.ck-list li{display:flex;align-items:flex-start;gap:13px;margin-bottom:15px;font-size:15px;color:var(--navy);font-weight:600;}
.ck-mark{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--sky),var(--sky-d));color:var(--white);font-size:12px;display:flex;align-items:center;justify-content:center;}
.abt-vis{flex:1;}
.skill-box{background:var(--paper);border:1px solid var(--line);border-radius:var(--rL);padding:34px;}
.skill-box h4{font-family:'Playfair Display',serif;font-size:19px;margin-bottom:24px;}
.sk-row{margin-bottom:18px;}
.sk-labels{display:flex;justify-content:space-between;font-size:13.5px;font-weight:600;margin-bottom:7px;color:var(--navy);}
.sk-track{height:7px;background:var(--line);border-radius:4px;overflow:hidden;}
.sk-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,var(--sky),var(--orange));width:0;transition:width 1.3s ease;}

/* ============================================================
   SERVICE CARDS
============================================================ */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.svc-card{background:var(--white);border:1px solid var(--line);border-radius:var(--rL);padding:36px 28px 30px;border-top:4px solid var(--sky);position:relative;overflow:hidden;transition:transform var(--ease),box-shadow var(--ease);}
.svc-card::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--sky-p),transparent);opacity:0;transition:opacity var(--ease);}
.svc-card:hover{transform:translateY(-7px);box-shadow:var(--sh-lg);}
.svc-card:hover::after{opacity:1;}
.svc-card.alt{border-top-color:var(--orange);}
.svc-card.alt::after{background:linear-gradient(135deg,var(--orange-p),transparent);}
.svc-ico{width:52px;height:52px;border-radius:10px;background:var(--sky-p);display:flex;align-items:center;justify-content:center;margin-bottom:22px;position:relative;z-index:1;transition:transform var(--ease);}
.svc-card:hover .svc-ico{transform:scale(1.1);}
.svc-card.alt .svc-ico{background:var(--orange-p);}
.svc-card h3{font-size:18px;margin-bottom:10px;position:relative;z-index:1;}
.svc-card p{color:var(--slate);font-size:14.5px;position:relative;z-index:1;}
.svc-card .sc-link{display:inline-flex;align-items:center;gap:6px;margin-top:18px;font-size:13.5px;font-weight:700;color:var(--sky);position:relative;z-index:1;transition:gap var(--ease);}
.svc-card.alt .sc-link{color:var(--orange);}
.svc-card:hover .sc-link{gap:10px;}

/* ============================================================
   TECH CARDS
============================================================ */
.tech-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.tc{background:var(--white);border:1px solid var(--line);border-radius:var(--rL);padding:36px 20px;text-align:center;position:relative;overflow:hidden;transition:all var(--ease);}
.tc::before{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--sky),var(--orange));transform:scaleX(0);transform-origin:left;transition:transform .4s ease;}
.tc:hover{box-shadow:var(--sh-md);transform:translateY(-5px);}
.tc:hover::before{transform:scaleX(1);}
.tc-ico{width:70px;height:70px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:var(--white);font-family:'Playfair Display',serif;font-weight:700;font-size:22px;position:relative;}
.tc-ico::after{content:'';position:absolute;inset:-5px;border-radius:50%;border:2px dashed rgba(41,171,226,.35);animation:rotateSlow 10s linear infinite;}
@keyframes rotateSlow{to{transform:rotate(360deg);}}
.tc h4{font-size:16px;margin-bottom:8px;}
.tc p{font-size:13.5px;color:var(--slate);}
.tc-lnk{display:inline-block;margin-top:14px;font-size:13px;font-weight:700;color:var(--sky);}

/* Tech detail blocks */
.td-block{background:var(--paper);border:1px solid var(--line);border-radius:var(--rL);padding:40px;margin-bottom:28px;display:flex;gap:36px;align-items:flex-start;transition:box-shadow var(--ease);}
.td-block:hover{box-shadow:var(--sh-md);}
.td-badge{flex-shrink:0;width:72px;height:72px;border-radius:14px;display:flex;align-items:center;justify-content:center;color:var(--white);font-family:'Playfair Display',serif;font-weight:700;font-size:24px;background:linear-gradient(135deg,var(--sky),var(--sky-d));box-shadow:0 8px 24px rgba(41,171,226,.28);}
.td-block.alt .td-badge{background:linear-gradient(135deg,var(--orange),var(--orange-d));box-shadow:0 8px 24px rgba(244,96,42,.28);}
.td-block h3{font-size:22px;margin-bottom:10px;}
.td-block p{color:var(--slate);font-size:15px;margin-bottom:12px;}
.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;}
.tag{background:var(--white);border:1px solid var(--line);padding:5px 14px;border-radius:20px;font-size:12.5px;color:var(--navy);font-weight:600;}

/* ============================================================
   WHY SECTION
============================================================ */
.why-sec{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-deep) 100%);position:relative;overflow:hidden;}
.why-sec::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 18% 50%,rgba(41,171,226,.09) 0%,transparent 55%),radial-gradient(circle at 80% 20%,rgba(244,96,42,.07) 0%,transparent 50%);}
.why-sec .sec-head h2{color:var(--white);}
.why-sec .sec-head p{color:rgba(255,255,255,.6);}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.why-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:var(--rL);padding:38px 28px;text-align:center;transition:background var(--ease),border-color var(--ease),transform var(--ease);}
.why-card:hover{background:rgba(255,255,255,.09);border-color:rgba(41,171,226,.3);transform:translateY(-5px);}
.wnum{font-family:'Playfair Display',serif;font-size:54px;font-weight:700;color:var(--sky);margin-bottom:16px;line-height:1;}
.why-card:nth-child(2) .wnum{color:var(--orange);}
.why-card:nth-child(3) .wnum{color:#7ecbe9;}
.why-card h3{color:var(--white);font-size:20px;margin-bottom:12px;}
.why-card p{color:rgba(255,255,255,.55);font-size:14.5px;}

/* ============================================================
   PROCESS STEPS
============================================================ */
.proc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;}
.proc-grid::before{content:'';position:absolute;top:34px;left:calc(12.5%);right:calc(12.5%);height:2px;background:linear-gradient(90deg,var(--sky),var(--orange));z-index:0;}
.proc-step{text-align:center;padding:0 16px;position:relative;z-index:1;}
.proc-num{width:68px;height:68px;border-radius:50%;margin:0 auto 22px;background:var(--white);border:3px solid var(--sky);display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-weight:700;font-size:22px;color:var(--sky);box-shadow:0 0 0 7px var(--white);transition:background var(--ease),color var(--ease);}
.proc-step:nth-child(even) .proc-num{border-color:var(--orange);color:var(--orange);}
.proc-step:hover .proc-num{background:var(--sky);color:var(--white);}
.proc-step:nth-child(even):hover .proc-num{background:var(--orange);color:var(--white);}
.proc-step h4{font-size:16px;margin-bottom:8px;}
.proc-step p{font-size:13.5px;color:var(--slate);}

/* ============================================================
   CLIENTS / MARQUEE
============================================================ */
.clients-sec{background:var(--paper);padding:64px 0;}
.marquee-wrap{overflow:hidden;position:relative;margin-top:36px;}
.marquee-wrap::before,.marquee-wrap::after{content:'';position:absolute;top:0;width:160px;height:100%;z-index:2;pointer-events:none;}
.marquee-wrap::before{left:0;background:linear-gradient(90deg,var(--paper),transparent);}
.marquee-wrap::after{right:0;background:linear-gradient(-90deg,var(--paper),transparent);}
.marquee-track{display:flex;gap:24px;animation:scroll-left 30s linear infinite;width:max-content;}
.marquee-track:hover{animation-play-state:paused;}
@keyframes scroll-left{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* Client Cards (full page) */
.clients-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;}
.client-card{background:var(--white);border:1px solid var(--line);border-radius:var(--rL);padding:36px 28px;text-align:center;transition:all var(--ease);display:flex;flex-direction:column;align-items:center;gap:16px;}
.client-card:hover{box-shadow:var(--sh-lg);transform:translateY(-6px);border-color:var(--sky);}
.client-logo-wrap{width:120px;height:80px;display:flex;align-items:center;justify-content:center;background:var(--paper);border-radius:10px;padding:12px;}
.client-logo-text{font-family:'Playfair Display',serif;font-size:20px;font-weight:700;color:var(--navy);margin-bottom:4px;}
.client-ind{font-size:12.5px;color:var(--slate);font-weight:600;text-transform:uppercase;letter-spacing:1px;}
.client-desc{font-size:14px;color:var(--slate);text-align:center;}
.client-link{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-size:13px;font-weight:700;color:var(--sky);}

/* Marquee client tiles */
.mq-tile{flex-shrink:0;height:60px;padding:0 32px;background:var(--white);border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-weight:700;font-size:16px;color:var(--slate);white-space:nowrap;transition:all var(--ease);}
.mq-tile:hover{border-color:var(--sky);color:var(--navy);}

/* ============================================================
   TESTIMONIALS
============================================================ */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.testi-card{background:var(--white);border:1px solid var(--line);border-radius:var(--rL);padding:34px;position:relative;transition:box-shadow var(--ease),transform var(--ease);}
.testi-card:hover{box-shadow:var(--sh-md);transform:translateY(-4px);}
.testi-card::before{content:'\201C';position:absolute;top:18px;right:22px;font-family:'Playfair Display',serif;font-size:64px;color:var(--sky);opacity:.12;line-height:1;}
.t-stars{color:var(--orange);font-size:14px;margin-bottom:14px;letter-spacing:2px;}
.testi-card p{font-size:15px;color:var(--slate);font-style:italic;margin-bottom:22px;line-height:1.75;}
.t-author{display:flex;align-items:center;gap:12px;}
.t-ava{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--sky),var(--orange));display:flex;align-items:center;justify-content:center;color:var(--white);font-family:'Playfair Display',serif;font-weight:700;font-size:16px;flex-shrink:0;}
.t-name{font-weight:700;font-size:14px;}
.t-role{font-size:12.5px;color:var(--slate);}

/* ============================================================
   CTA STRIP
============================================================ */
.cta-strip{background:linear-gradient(135deg,var(--orange) 0%,#c84d21 100%);position:relative;overflow:hidden;}
.cta-strip::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/svg%3E");}
.cta-strip .wrap{padding:68px 28px;text-align:center;position:relative;z-index:1;}
.cta-strip h2{color:var(--white);font-size:34px;margin-bottom:12px;}
.cta-strip p{color:rgba(255,255,255,.85);font-size:16px;margin-bottom:30px;}
.cta-strip .btn-primary{background:var(--navy);box-shadow:none;}
.cta-strip .btn-primary:hover{background:var(--navy-deep);}

/* ============================================================
   PAGE HERO
============================================================ */
.ph{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-deep) 100%);position:relative;overflow:hidden;}
.ph::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(41,171,226,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(41,171,226,.04) 1px,transparent 1px);background-size:52px 52px;}
.ph .orb-a{width:280px;height:280px;background:rgba(41,171,226,.1);top:-60px;right:6%;}
.ph .orb-b{width:200px;height:200px;background:rgba(244,96,42,.07);bottom:-40px;left:15%;}
.ph .wrap{padding:72px 28px 90px;position:relative;z-index:2;}
.ph .ph-ey{text-transform:uppercase;letter-spacing:3px;font-size:12px;color:var(--sky);font-weight:700;margin-bottom:14px;}
.ph h1{font-size:44px;color:var(--white);margin-bottom:14px;max-width:720px;}
.ph .crumb{color:rgba(255,255,255,.45);font-size:14px;}
.ph .crumb a{color:var(--sky);font-weight:600;}
.ph .crumb a:hover{text-decoration:underline;}
.ph-wave{position:absolute;bottom:-1px;left:0;width:100%;z-index:3;line-height:0;}
.ph-wave svg{display:block;width:100%;height:50px;}

/* ============================================================
   CONTENT BLOCK
============================================================ */
.cb{max-width:840px;margin:0 auto;}
.cb h2{font-size:30px;margin-bottom:18px;}
.cb h3{font-size:21px;margin:30px 0 12px;}
.cb p{color:var(--slate);font-size:15.5px;margin-bottom:16px;}
.cb ul{list-style:none;margin:14px 0 22px;}
.cb ul li{font-size:15px;color:var(--slate);padding:5px 0 5px 22px;position:relative;}
.cb ul li::before{content:'▸';position:absolute;left:0;color:var(--sky);}

/* ============================================================
   TEAM
============================================================ */
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;}
.team-card{text-align:center;border:1px solid var(--line);border-radius:var(--rL);padding:34px 18px;background:var(--white);transition:box-shadow var(--ease),transform var(--ease);}
.team-card:hover{box-shadow:var(--sh-md);transform:translateY(-5px);}
.t-ava-lg{width:88px;height:88px;border-radius:50%;margin:0 auto 18px;background:linear-gradient(135deg,var(--sky),var(--orange));display:flex;align-items:center;justify-content:center;color:var(--white);font-family:'Playfair Display',serif;font-weight:700;font-size:30px;}
.team-card h4{font-size:17px;margin-bottom:4px;}
.t-role{color:var(--orange);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px;}
.team-card p{color:var(--slate);font-size:13.5px;}

/* ============================================================
   CAREERS / JOBS
============================================================ */
.jobs-list{border:1px solid var(--line);border-radius:var(--rL);overflow:hidden;}
.job-item{border-bottom:1px solid var(--line);}
.job-item:last-child{border-bottom:none;}
.job-hdr{display:flex;justify-content:space-between;align-items:center;padding:22px 28px;cursor:pointer;transition:background var(--ease);gap:16px;flex-wrap:wrap;}
.job-hdr:hover,.job-item.open .job-hdr{background:var(--sky-p);}
.jh-l h3{font-size:18px;margin-bottom:8px;}
.jmeta{display:flex;gap:8px;flex-wrap:wrap;}
.jmeta span{background:var(--white);border:1px solid var(--line);padding:3px 12px;border-radius:20px;font-size:12.5px;color:var(--slate);font-weight:600;}
.j-tog{width:32px;height:32px;border-radius:50%;border:2px solid var(--sky);color:var(--sky);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;transition:all var(--ease);flex-shrink:0;}
.job-item.open .j-tog{background:var(--sky);color:var(--white);}
.job-body{max-height:0;overflow:hidden;transition:max-height .38s ease,padding .25s ease;padding:0 28px;}
.job-item.open .job-body{max-height:900px;padding:0 28px 28px;}
.job-body-inner{border-top:1px solid var(--line);padding-top:24px;display:grid;grid-template-columns:1.4fr 1fr;gap:32px;}
.job-body h4{font-size:15px;margin-bottom:10px;}
.job-body ul{list-style:none;padding:0;margin:0 0 20px;}
.job-body ul li{display:flex;gap:10px;font-size:14.5px;color:var(--slate);margin-bottom:9px;}
.job-body ul li::before{content:'';flex-shrink:0;width:6px;height:6px;border-radius:50%;background:var(--sky);margin-top:8px;}
.job-body .j-sum{font-size:14.5px;color:var(--slate);margin-bottom:18px;line-height:1.75;}
.job-sb{background:var(--paper);border-radius:var(--r);padding:22px;}
.job-sb .jr{margin-bottom:14px;}
.job-sb .jr label{display:block;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--slate);margin-bottom:3px;}
.job-sb .jr span{font-size:14.5px;color:var(--navy);font-weight:600;}
.perks-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.perk-card{text-align:center;padding:32px 20px;border:1px solid var(--line);border-radius:var(--rL);background:var(--white);transition:box-shadow var(--ease),transform var(--ease);}
.perk-card:hover{box-shadow:var(--sh-md);transform:translateY(-3px);}
.pk-ico{width:52px;height:52px;border-radius:50%;margin:0 auto 16px;background:var(--sky-p);display:flex;align-items:center;justify-content:center;}
.perk-card:nth-child(3n+2) .pk-ico{background:var(--orange-p);}
.perk-card h4{font-size:16px;margin-bottom:8px;}
.perk-card p{font-size:13.5px;color:var(--slate);}

/* ============================================================
   MODAL / APPLY
============================================================ */
.modal-overlay{position:fixed;inset:0;background:rgba(8,24,38,.65);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .2s;}
.modal-overlay.active{opacity:1;pointer-events:all;}
.modal{background:var(--white);border-radius:var(--rL);width:100%;max-width:620px;max-height:90vh;overflow-y:auto;transform:translateY(24px);transition:transform .25s ease;box-shadow:var(--sh-lg);}
.modal-overlay.active .modal{transform:none;}
.modal-hd{background:linear-gradient(135deg,var(--navy),var(--navy-deep));color:var(--white);padding:26px 32px;display:flex;justify-content:space-between;align-items:flex-start;border-radius:var(--rL) var(--rL) 0 0;}
.modal-hd h2{font-size:22px;color:var(--white);margin-bottom:4px;}
.modal-hd .m-role{color:var(--sky);font-size:14px;font-weight:600;}
.m-close{background:none;border:none;cursor:pointer;color:rgba(255,255,255,.5);font-size:26px;line-height:1;padding:0;margin-left:16px;}
.m-close:hover{color:var(--white);}
.modal-bd{padding:28px 32px;}
.modal-ft{padding:0 32px 28px;display:flex;justify-content:flex-end;gap:12px;}
.btn-cancel{background:none;border:2px solid var(--line);color:var(--slate);padding:11px 24px;border-radius:var(--r);font-weight:700;font-size:14px;cursor:pointer;transition:all var(--ease);}
.btn-cancel:hover{border-color:var(--slate);color:var(--navy);}
.btn-submit{background:var(--orange);color:var(--white);border:none;padding:11px 28px;border-radius:var(--r);font-weight:700;font-size:14px;cursor:pointer;transition:background var(--ease);}
.btn-submit:hover{background:var(--orange-d);}
.btn-submit:disabled{opacity:.6;cursor:not-allowed;}
.spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:sp .6s linear infinite;margin-right:8px;vertical-align:middle;}
@keyframes sp{to{transform:rotate(360deg);}}
.suc-screen{display:none;text-align:center;padding:52px 32px;}
.suc-screen.on{display:block;}
.mfw.hide{display:none;}
.suc-ico{width:74px;height:74px;border-radius:50%;background:linear-gradient(135deg,var(--sky),var(--sky-d));display:flex;align-items:center;justify-content:center;margin:0 auto 22px;font-size:36px;color:#fff;}
.suc-screen h3{font-size:23px;margin-bottom:10px;}
.suc-screen p{color:var(--slate);font-size:15px;margin-bottom:26px;}
.file-zone{border:2px dashed var(--line);border-radius:var(--r);padding:22px;text-align:center;cursor:pointer;position:relative;transition:all var(--ease);}
.file-zone:hover,.file-zone.over{border-color:var(--sky);background:var(--sky-p);}
.file-zone input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;}
.file-zone p{font-size:13.5px;color:var(--slate);margin:4px 0 0;}
.file-nm{font-weight:700;color:var(--navy);margin-top:6px;font-size:13px;}
.f-err{font-size:12px;color:#c0392b;margin-top:2px;display:none;}
.fg.err input,.fg.err textarea,.fg.err select{border-color:#c0392b;}
.fg.err .f-err{display:block;}
.form-row{display:flex;gap:16px;margin-bottom:16px;flex-wrap:wrap;}
.fg{flex:1;min-width:200px;display:flex;flex-direction:column;gap:5px;}
.fg label{font-size:12px;font-weight:700;color:var(--navy);text-transform:uppercase;letter-spacing:.5px;}
.fg input,.fg textarea,.fg select{border:1px solid var(--line);border-radius:4px;padding:11px 14px;font-size:14.5px;font-family:inherit;color:var(--navy);background:var(--white);transition:border-color var(--ease);}
.fg input:focus,.fg textarea:focus,.fg select:focus{outline:none;border-color:var(--sky);box-shadow:0 0 0 3px rgba(41,171,226,.1);}

/* ============================================================
   CONTACT
============================================================ */
.contact-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:48px;}
.cinfo-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--rL);padding:36px;}
.cinfo-card h3{font-size:22px;margin-bottom:24px;}
.c-row{display:flex;gap:16px;margin-bottom:24px;align-items:flex-start;}
.c-ico{flex-shrink:0;width:42px;height:42px;border-radius:10px;background:var(--sky-p);display:flex;align-items:center;justify-content:center;}
.c-lbl{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--slate);margin-bottom:3px;}
.c-val{font-size:15px;color:var(--navy);font-weight:600;}
.form-card{background:var(--white);border:1px solid var(--line);border-radius:var(--rL);padding:36px;}
.form-card h3{font-size:22px;margin-bottom:22px;}
.map-box{border:1px solid var(--line);border-radius:var(--rL);height:240px;background:var(--paper);display:flex;align-items:center;justify-content:center;color:var(--slate);font-size:14px;margin-top:24px;}

/* ============================================================
   FOOTER
============================================================ */
footer{background:var(--navy-deep);color:#6e8899;font-size:14px;}
.ft-top{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.2fr;gap:48px;padding:72px 0 48px;}
.ft-logo{font-family:'Playfair Display',serif;font-size:27px;font-weight:800;margin-bottom:16px;display:inline-block;}
.ft-logo .lm{color:var(--sky);}
.ft-logo .lq{color:var(--orange);}
.ft-about{font-size:13.5px;color:#4d6778;line-height:1.8;margin-bottom:22px;}
.ft-social{display:flex;gap:10px;}
.soc-btn{width:38px;height:38px;border-radius:8px;border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;color:#6e8899;font-size:14px;font-weight:700;transition:all var(--ease);}
.soc-btn:hover{background:var(--sky);border-color:var(--sky);color:var(--white);}
.ft-top h5{color:var(--white);font-size:15px;font-family:'Playfair Display',serif;margin-bottom:20px;}
.ft-top ul{list-style:none;}
.ft-top ul li{margin-bottom:11px;}
.ft-top ul a{color:#4d6778;font-size:13.5px;transition:color var(--ease);}
.ft-top ul a:hover{color:var(--sky);}
.ft-ci{display:flex;gap:10px;margin-bottom:14px;font-size:13.5px;color:#4d6778;align-items:flex-start;}
.ft-ci svg{flex-shrink:0;margin-top:2px;}
.ft-hr{border:none;border-top:1px solid rgba(255,255,255,.06);}
.ft-bottom{display:flex;justify-content:space-between;align-items:center;padding:22px 0;flex-wrap:wrap;gap:10px;font-size:13px;color:#3d5566;}
.ft-links{display:flex;gap:20px;}
.ft-links a{color:#3d5566;transition:color var(--ease);}
.ft-links a:hover{color:var(--sky);}

/* ============================================================
   RESPONSIVE
============================================================ */
@media(max-width:1060px){
  .h1{font-size:40px;}
  .ft-top{grid-template-columns:1fr 1fr;}
  .proc-grid{grid-template-columns:repeat(2,1fr);gap:40px;}
  .proc-grid::before{display:none;}
  .clients-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:880px){
  .slide-inner{flex-direction:column;text-align:center;padding:60px 0 100px;}
  .hero-lead{margin:0 auto 34px;}
  .btn-row{justify-content:center;}
  .h-stats{justify-content:center;}
  .about-wrap{flex-direction:column;}
  .svc-grid{grid-template-columns:repeat(2,1fr);}
  .tech-grid{grid-template-columns:repeat(2,1fr);}
  .why-grid{grid-template-columns:1fr;}
  .testi-grid{grid-template-columns:1fr;}
  .team-grid{grid-template-columns:repeat(2,1fr);}
  .contact-grid{grid-template-columns:1fr;}
  .perks-grid{grid-template-columns:1fr 1fr;}
  .td-block{flex-direction:column;}
  .job-body-inner{grid-template-columns:1fr;}
}
@media(max-width:640px){
  nav ul li:not(:last-child){display:none;}
  .topbar .tb-l span:first-child{display:none;}
  .h1,.ph h1{font-size:28px;}
  .svc-grid,.tech-grid{grid-template-columns:1fr;}
  .stats-strip .wrap{flex-direction:column;}
  .ft-top{grid-template-columns:1fr;}
  .team-grid,.perks-grid,.testi-grid{grid-template-columns:1fr;}
  .proc-grid{grid-template-columns:1fr;}
  .clients-grid{grid-template-columns:1fr;}
  .h-arr{display:none;}
  .modal-hd,.modal-bd,.modal-ft{padding-left:18px;padding-right:18px;}
}
