/* ─── ROOT VARS ─── */
:root {
  --navy:      #06091e;
  --navy-mid:  #0d1535;
  --navy-card: #111a3e;
  --blue:      #2563eb;
  --cyan:      #06b6d4;
  --cyan-glow: rgba(6,182,212,0.14);
  --muted:     #94a3b8;
  --border:    rgba(255,255,255,0.08);
  --white:     #ffffff;
  --radius:    12px;
  --ease:      0.3s cubic-bezier(.4,0,.2,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Inter',sans-serif;background:var(--navy);color:var(--white);line-height:1.6;overflow-x:hidden;}
h1,h2,h3,h4{font-family:'Space Grotesk',sans-serif;line-height:1.15;}
a{text-decoration:none;color:inherit;}
img{max-width:100%;}

/* ─── NAV ─── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 5%;height:70px;
  background:rgba(6,9,30,0.88);
  backdrop-filter:blur(18px);
  border-bottom:1px solid var(--border);
  transition:background var(--ease);
}
.logo{font-family:'Space Grotesk',sans-serif;font-size:1.3rem;font-weight:700;display:flex;align-items:center;gap:10px;}
.logo-icon{width:36px;height:36px;border-radius:8px;background:linear-gradient(135deg,var(--blue),var(--cyan));display:flex;align-items:center;justify-content:center;font-size:1.1rem;}
.logo em{color:var(--cyan);font-style:normal;}
.nav-links{display:flex;align-items:center;gap:2rem;}
.nav-links a{font-size:0.88rem;font-weight:500;color:var(--muted);transition:color var(--ease);position:relative;padding-bottom:4px;}
.nav-links a::after{content:'';position:absolute;bottom:0;left:0;right:100%;height:2px;background:var(--cyan);transition:right var(--ease);}
.nav-links a:hover,.nav-links a.active{color:var(--white);}
.nav-links a:hover::after,.nav-links a.active::after{right:0;}
.nav-cta{background:linear-gradient(135deg,var(--blue),var(--cyan)) !important;color:#fff !important;padding:.5rem 1.2rem;border-radius:6px;font-weight:600 !important;}
.nav-cta::after{display:none !important;}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;}
.hamburger span{width:22px;height:2px;background:#fff;border-radius:2px;transition:var(--ease);}
.mobile-menu{display:none;position:fixed;top:70px;left:0;right:0;z-index:99;background:var(--navy-mid);padding:1.5rem 5%;border-bottom:1px solid var(--border);flex-direction:column;gap:1.25rem;}
.mobile-menu.open{display:flex;}
.mobile-menu a{font-size:1rem;font-weight:500;color:var(--muted);}
.mobile-menu a:hover,.mobile-menu a.active{color:var(--white);}

/* ─── BUTTONS ─── */
.btn-primary{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,var(--blue),var(--cyan));color:#fff;padding:.85rem 1.75rem;border-radius:8px;font-weight:600;font-size:.95rem;cursor:pointer;border:none;box-shadow:0 0 28px rgba(6,182,212,.28);transition:transform var(--ease),box-shadow var(--ease);font-family:'Inter',sans-serif;}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 0 42px rgba(6,182,212,.45);}
.btn-ghost{display:inline-flex;align-items:center;gap:8px;background:transparent;color:#fff;padding:.85rem 1.75rem;border-radius:8px;font-weight:600;font-size:.95rem;cursor:pointer;border:1px solid var(--border);transition:border-color var(--ease),background var(--ease);font-family:'Inter',sans-serif;}
.btn-ghost:hover{border-color:var(--cyan);background:var(--cyan-glow);}

/* ─── LAYOUT ─── */
section{padding:90px 5%;}
.section-label{display:inline-block;font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan);margin-bottom:.75rem;}
.section-title{font-size:clamp(1.8rem,3vw,2.6rem);font-weight:700;margin-bottom:1rem;}
.section-sub{color:var(--muted);max-width:580px;line-height:1.75;}
.section-head{margin-bottom:3.5rem;}
.center{text-align:center;}
.center .section-sub{margin:0 auto;}
.grad{background:linear-gradient(135deg,#60a5fa,var(--cyan));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
hr.divider{border:none;border-top:1px solid var(--border);}

/* ─── PAGE HERO ─── */
.page-hero{padding:140px 5% 80px;text-align:center;position:relative;overflow:hidden;}
.page-hero::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(6,182,212,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(6,182,212,.05) 1px,transparent 1px);background-size:60px 60px;}
.page-hero .inner{position:relative;z-index:2;}
.page-hero h1{font-size:clamp(2rem,4vw,3.2rem);margin-bottom:1rem;}
.page-hero p{color:var(--muted);max-width:550px;margin:0 auto;line-height:1.75;}

/* ─── HERO (home) ─── */
.hero{min-height:100vh;display:flex;align-items:center;padding:130px 5% 80px;position:relative;overflow:hidden;}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(6,182,212,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(6,182,212,.07) 1px,transparent 1px);background-size:60px 60px;animation:gridPulse 8s ease-in-out infinite;}
@keyframes gridPulse{0%,100%{opacity:.6;}50%{opacity:1;}}
.hero-glow{position:absolute;top:20%;left:50%;transform:translateX(-50%);width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(37,99,235,.18) 0%,transparent 70%);pointer-events:none;}
.hero-content{position:relative;z-index:2;max-width:720px;}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:var(--cyan-glow);border:1px solid rgba(6,182,212,.3);padding:.4rem 1rem;border-radius:100px;margin-bottom:1.75rem;font-size:.82rem;font-weight:600;color:var(--cyan);letter-spacing:.05em;}
.hero-badge::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--cyan);animation:blink 2s infinite;}
@keyframes blink{0%,100%{opacity:1;}50%{opacity:.3;}}
.hero h1{font-size:clamp(2.4rem,5vw,4.2rem);font-weight:700;letter-spacing:-.02em;margin-bottom:1.5rem;}
.hero-sub{font-size:1.1rem;color:var(--muted);max-width:580px;margin-bottom:2.5rem;line-height:1.75;}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:3.5rem;}
.hero-stats{display:flex;gap:2.5rem;flex-wrap:wrap;}
.stat-num{font-family:'Space Grotesk',sans-serif;font-size:1.8rem;font-weight:700;}
.stat-num span{color:var(--cyan);}
.stat-label{font-size:.82rem;color:var(--muted);margin-top:2px;}

/* ─── CARDS ─── */
.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;}
.grid-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;}
.card{background:var(--navy-card);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;transition:border-color var(--ease),transform var(--ease);position:relative;overflow:hidden;}
.card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--cyan-glow),transparent);opacity:0;transition:opacity var(--ease);}
.card:hover{border-color:rgba(6,182,212,.4);transform:translateY(-4px);}
.card:hover::before{opacity:1;}
.card-icon{width:50px;height:50px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:1.25rem;background:linear-gradient(135deg,rgba(37,99,235,.2),rgba(6,182,212,.2));border:1px solid rgba(6,182,212,.2);}
.card h3{font-size:1.02rem;font-weight:600;margin-bottom:.6rem;}
.card p{font-size:.87rem;color:var(--muted);line-height:1.7;}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:1rem;}
.tag{font-size:.72rem;padding:3px 10px;border-radius:100px;background:rgba(255,255,255,.06);border:1px solid var(--border);color:var(--muted);}

/* ─── WHY CARDS ─── */
.why-card{background:var(--navy-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.75rem;transition:border-color var(--ease);}
.why-card:hover{border-color:rgba(6,182,212,.35);}
.why-num{font-family:'Space Grotesk',sans-serif;font-size:2.2rem;font-weight:700;color:rgba(6,182,212,.18);margin-bottom:.75rem;line-height:1;}
.why-card h3{font-size:.98rem;font-weight:600;margin-bottom:.5rem;}
.why-card p{font-size:.86rem;color:var(--muted);line-height:1.7;}

/* ─── PROCESS ─── */
.process-wrap{background:var(--navy-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;}
.process-steps{display:grid;grid-template-columns:repeat(4,1fr);}
.step{padding:2rem;border-right:1px solid var(--border);}
.step:last-child{border-right:none;}
.step-num{font-family:'Space Grotesk',sans-serif;font-size:3rem;font-weight:700;color:rgba(6,182,212,.12);line-height:1;margin-bottom:.75rem;}
.step h3{font-size:1rem;font-weight:600;margin-bottom:.5rem;}
.step p{font-size:.84rem;color:var(--muted);line-height:1.7;}

/* ─── CTA BANNER ─── */
.cta-banner{margin:0 5% 90px;background:linear-gradient(135deg,rgba(37,99,235,.15),rgba(6,182,212,.1));border:1px solid rgba(6,182,212,.25);border-radius:20px;padding:3.5rem;text-align:center;position:relative;overflow:hidden;}
.cta-banner::before{content:'';position:absolute;top:-80px;right:-80px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(6,182,212,.12),transparent 70%);}
.cta-banner h2{font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:.75rem;}
.cta-banner p{color:var(--muted);margin-bottom:2rem;}
.cta-banner .hero-actions{justify-content:center;}

/* ─── TECH PILLS ─── */
.tech-row{margin-bottom:2.5rem;}
.tech-row h3{font-size:.82rem;font-weight:600;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:1rem;}
.tech-pills{display:flex;flex-wrap:wrap;gap:10px;}
.pill{display:flex;align-items:center;gap:8px;background:var(--navy-card);border:1px solid var(--border);padding:.5rem 1rem;border-radius:8px;font-size:.88rem;font-weight:500;transition:border-color var(--ease),color var(--ease);}
.pill:hover{border-color:var(--cyan);color:var(--cyan);}

/* ─── ABOUT ─── */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start;}
.about-visual{background:var(--navy-card);border:1px solid var(--border);border-radius:16px;padding:2.5rem;}
.mv-box{background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:10px;padding:1.25rem;margin-bottom:1.25rem;}
.mv-box h4{font-size:.82rem;font-weight:600;color:var(--cyan);margin-bottom:.5rem;letter-spacing:.06em;text-transform:uppercase;}
.mv-box p{font-size:.87rem;color:var(--muted);line-height:1.7;}
.values-list{list-style:none;display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem;}
.values-list li{display:flex;align-items:flex-start;gap:10px;font-size:.9rem;color:var(--muted);line-height:1.6;}
.values-list li::before{content:'✦';color:var(--cyan);font-size:.75rem;margin-top:3px;flex-shrink:0;}

/* ─── CONTACT ─── */
.contact-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:4rem;}
.contact-detail{display:flex;align-items:flex-start;gap:14px;margin-bottom:1.25rem;}
.c-icon{width:42px;height:42px;border-radius:10px;flex-shrink:0;background:linear-gradient(135deg,rgba(37,99,235,.2),rgba(6,182,212,.2));border:1px solid rgba(6,182,212,.2);display:flex;align-items:center;justify-content:center;font-size:1.1rem;}
.c-label{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;}
.c-val{font-size:.95rem;font-weight:500;margin-top:2px;}
.c-val a{color:var(--white);}
.c-val a:hover{color:var(--cyan);}
.contact-form-box{background:var(--navy-card);border:1px solid var(--border);border-radius:16px;padding:2.5rem;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.form-group{margin-bottom:1.25rem;}
.form-group label{display:block;font-size:.82rem;font-weight:500;color:var(--muted);margin-bottom:.4rem;}
.form-group input,.form-group select,.form-group textarea{width:100%;background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:8px;padding:.75rem 1rem;color:var(--white);font-family:'Inter',sans-serif;font-size:.9rem;transition:border-color var(--ease);-webkit-appearance:none;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--cyan);}
.form-group textarea{resize:vertical;min-height:120px;}
.form-group select option{background:var(--navy-mid);}
.form-msg{margin-top:1rem;font-size:.88rem;text-align:center;padding:.75rem;border-radius:8px;}
.form-msg.success{background:rgba(74,222,128,.1);border:1px solid rgba(74,222,128,.3);color:#4ade80;}
.form-msg.error{background:rgba(248,113,113,.1);border:1px solid rgba(248,113,113,.3);color:#f87171;}
.remote-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(6,182,212,.1);border:1px solid rgba(6,182,212,.25);padding:.35rem .85rem;border-radius:100px;font-size:.78rem;font-weight:600;color:var(--cyan);}

/* ─── FOOTER ─── */
footer{background:var(--navy-mid);border-top:1px solid var(--border);padding:4rem 5% 2rem;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem;}
.footer-brand p{font-size:.87rem;color:var(--muted);line-height:1.75;margin-top:1rem;max-width:300px;}
.footer-col h4{font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem;}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:.6rem;}
.footer-col ul li a{font-size:.87rem;color:rgba(255,255,255,.5);transition:color var(--ease);}
.footer-col ul li a:hover{color:var(--white);}
.footer-bottom{padding-top:2rem;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;}
.footer-bottom p{font-size:.82rem;color:var(--muted);}

/* ─── RESPONSIVE ─── */
@media(max-width:1024px){
  .about-grid,.contact-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .process-steps{grid-template-columns:1fr 1fr;}
  .step:nth-child(2){border-right:none;}
  .step{border-bottom:1px solid var(--border);}
  .step:nth-last-child(-n+2){border-bottom:none;}
}
@media(max-width:768px){
  .nav-links{display:none;}
  .hamburger{display:flex;}
  .hero{padding:120px 5% 60px;}
  .hero h1{font-size:2.2rem;}
  .form-row{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;gap:2rem;}
  .cta-banner{padding:2.5rem 1.5rem;margin:0 4% 60px;}
  .process-steps{grid-template-columns:1fr;}
  .step{border-right:none;border-bottom:1px solid var(--border);}
  .step:last-child{border-bottom:none;}
  section{padding:60px 5%;}
}
