/* ==========================================================================
   Fredify Technologies — Design System
   ========================================================================== */
:root{
  --navy-deep:#0B1B3F;
  --navy-900:#111827;
  --navy-800:#1F2937;
  --gold:#D4AF37;
  --gold-light:#F4C542;
  --blue:#2563EB;
  --bg-light:#F8FAFC;
  --text-dark:#1F2937;
  --text-light:#FFFFFF;
  --gold-grad: linear-gradient(135deg, var(--gold-light) 0%, var(--gold) 55%, #B8860B 100%);
  --navy-grad: linear-gradient(135deg, #16264F 0%, var(--navy-deep) 60%, #060D22 100%);
  --font-display: 'Poppins', sans-serif;
  --font-body: 'Manrope', sans-serif;
  --radius-lg: 22px;
  --radius-md: 14px;
  --shadow-soft: 0 20px 50px -20px rgba(11,27,63,0.25);
  --shadow-gold: 0 12px 30px -10px rgba(212,175,55,0.45);
  --ease: cubic-bezier(.16,.84,.44,1);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--text-dark);
  background:var(--bg-light);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;margin:0;padding:0;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}
h1,h2,h3,h4{font-family:var(--font-display);margin:0 0 .5em;line-height:1.15;color:var(--navy-900);}
p{line-height:1.7;color:#68614b;margin:0 0 1em;}
.container{width:min(1240px,92%);margin:0 auto;}
.text-gold{color:var(--gold);}
.center{text-align:center;margin-left:auto;margin-right:auto;}
.light{color:#fff;}

/* ---------------- Preloader ---------------- */
#preloader{
  position:fixed;inset:0;background:var(--navy-grad);z-index:9999;
  display:flex;align-items:center;justify-content:center;
  transition:opacity .6s var(--ease), visibility .6s var(--ease);
}
#preloader.hide{opacity:0;visibility:hidden;}
.loader-mark{
  width:64px;height:64px;border-radius:50%;
  border:3px solid rgba(212,175,55,0.25);
  border-top-color:var(--gold-light);
  animation:spin 0.9s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg);}}

/* ---------------- Buttons ---------------- */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:14px 28px;border-radius:999px;font-weight:700;font-size:.95rem;
  font-family:var(--font-body);transition:transform .35s var(--ease), box-shadow .35s var(--ease), background .35s var(--ease);
  white-space:nowrap;
}
.btn i{width:17px;height:17px;}
.btn-gold{background:var(--gold-grad);color:var(--navy-deep);box-shadow:var(--shadow-gold);}
.btn-gold:hover{transform:translateY(-3px);box-shadow:0 18px 40px -10px rgba(212,175,55,0.6);background:linear-gradient(135deg,var(--gold-light),var(--navy-deep));color:#fff;}
.btn-outline{border:1.5px solid rgba(255,255,255,0.4);color:#fff;background:rgba(255,255,255,0.03);backdrop-filter:blur(6px);}
.btn-outline:hover{background:#fff;color:var(--navy-deep);transform:translateY(-3px);}
.btn-navy{background:var(--navy-grad);color:#fff;box-shadow:var(--shadow-soft);}
.btn-navy:hover{transform:translateY(-3px);box-shadow:0 18px 40px -10px rgba(11,27,63,0.5);}
.btn-ghost{border:1.5px solid rgba(212,175,55,0.55);color:var(--gold-light);}
.btn-ghost:hover{background:rgba(212,175,55,0.12);transform:translateY(-3px);}
.btn-sm{padding:10px 20px;font-size:.85rem;}
.btn-lg{padding:17px 34px;font-size:1rem;}

/* ---------------- Navbar ---------------- */
.navbar{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  padding:18px 0;transition:all .4s var(--ease);
}
.navbar.scrolled{
  padding:10px 0;background:rgba(11,27,63,0.72);backdrop-filter:blur(16px) saturate(160%);
  box-shadow:0 10px 30px -15px rgba(0,0,0,0.4);
}
.nav-inner{
  width:min(1280px,94%);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;
}
.brand{display:flex;align-items:center;gap:12px;}
.brand-logo{height:44px;width:auto;filter:drop-shadow(0 4px 10px rgba(0,0,0,0.35));transition:transform .4s var(--ease);}
.brand:hover .brand-logo{transform:rotate(-6deg) scale(1.05);}
.brand-text{display:flex;flex-direction:column;line-height:1.1;}
.brand-name{font-family:var(--font-display);font-weight:700;font-size:1.15rem;color:#fff;letter-spacing:.2px;}
.brand-name em{font-style:normal;color:var(--gold-light);}
.brand-name.light{color:var(--navy-900);}
.brand-tagline{font-size:.62rem;letter-spacing:2.2px;color:var(--gold-light);font-weight:600;margin-top:3px;}
.nav-links{display:flex;gap:30px;}
.nav-links a{color:#EAEEF6;font-weight:600;font-size:.92rem;position:relative;padding:6px 0;}
.nav-links a::after{
  content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--gold-grad);
  transition:width .35s var(--ease);
}
.nav-links a:hover::after{width:100%;}
.nav-links a:hover{color:var(--gold-light);}
.nav-toggle{display:none;flex-direction:column;gap:5px;width:26px;}
.nav-toggle span{height:2px;background:#fff;border-radius:2px;transition:.3s;}

/* ---------------- Hero ---------------- */
.hero{
  position:relative;min-height:100vh;display:flex;align-items:center;
  background:var(--navy-grad);overflow:hidden;padding-top:100px;
}
#networkCanvas{position:absolute;inset:0;width:100%;height:100%;opacity:.55;}
.hero-glow{
  position:absolute;top:-20%;right:-10%;width:60%;height:80%;
  background:radial-gradient(circle,rgba(212,175,55,0.18),transparent 65%);
  pointer-events:none;
}
.hero-inner{
  position:relative;z-index:2;display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center;
}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;color:var(--gold-light);font-weight:700;font-size:.8rem;
  letter-spacing:1.4px;text-transform:uppercase;margin-bottom:18px;
}
.eyebrow i{width:15px;height:15px;}
.eyebrow.center{display:flex;justify-content:center;}
.hero-copy h1{color:#fff;font-size:clamp(2.2rem,4.2vw,3.4rem);font-weight:700;margin-bottom:22px;}
.hero-copy p{color:#C9D2E3;font-size:1.05rem;max-width:520px;margin-bottom:32px;}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:38px;}
.hero-trust{display:flex;gap:26px;flex-wrap:wrap;}
.hero-trust div{display:flex;align-items:center;gap:8px;color:#9FB0CC;font-size:.85rem;font-weight:600;}
.hero-trust i{width:16px;height:16px;color:var(--gold-light);}

.hero-visual{position:relative;}
.hero-svg{width:100%;height:auto;filter:drop-shadow(0 25px 50px rgba(0,0,0,0.4));}
.pulse-dot{animation:pulse 1.8s ease-in-out infinite;}
.pulse-dot.delay1{animation-delay:.4s;}
.pulse-dot.delay2{animation-delay:.8s;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.2;}}
.floating-chip{
  position:absolute;background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.15);
  backdrop-filter:blur(12px);color:#fff;padding:10px 16px;border-radius:999px;font-size:.78rem;font-weight:700;
  display:flex;align-items:center;gap:8px;animation:float 4.5s ease-in-out infinite;
}
.floating-chip i{width:15px;height:15px;color:var(--gold-light);}
.chip1{top:8%;left:-4%;}
.chip2{bottom:10%;right:-2%;animation-delay:1.4s;}
@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-12px);}}

.hero-scroll{
  position:absolute;bottom:26px;left:50%;transform:translateX(-50%);
  color:#9FB0CC;font-size:.75rem;font-weight:600;display:flex;flex-direction:column;align-items:center;gap:8px;
  letter-spacing:.5px;
}
.hero-scroll span{width:1px;height:34px;background:linear-gradient(var(--gold-light),transparent);animation:scrollLine 2s infinite;}
@keyframes scrollLine{0%{opacity:0;transform:scaleY(.3);}50%{opacity:1;}100%{opacity:0;transform:scaleY(1);}}

/* ---------------- Stats ---------------- */
.stats-section{
  background:var(--navy-900);padding:60px 0;position:relative;
  margin-top:-2px;
}
.stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;}
.stat-card{text-align:center;padding:10px;}
.stat-number{
  font-family:var(--font-display);font-weight:800;font-size:2.6rem;color:var(--gold-light);display:inline-block;
}
.stat-plus{font-family:var(--font-display);font-weight:800;font-size:2.6rem;color:var(--gold-light);}
.stat-label{color:#C9D2E3;font-weight:600;font-size:.85rem;margin-top:6px;letter-spacing:.3px;}

/* ---------------- About ---------------- */
.about-section{padding:120px 0;background:var(--bg-light);}
.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center;}
.about-frame{
    background: var(--navy-grad);
    border-radius: var(--radius-lg);
    overflow: hidden;
    position: relative;
    box-shadow: var(--shadow-soft);

    width: 100%;
    height: 100%;
    min-height: 500px; /* Adjust as needed */
}

.about-frame img{
    width: 100%;
    height: 100%;
    object-fit: cover; /* Fills the container without distortion */
    display: block;
}
.about-frame::before{
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(
        circle at 30% 20%,
        rgba(212,175,55,.25),
        transparent 55%
    );
    z-index:1;
}

.about-frame img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.about-mark{width:60%;position:relative;filter:drop-shadow(0 10px 25px rgba(0,0,0,0.5));}
.about-visual{position:relative;}
.about-badge{
  position:absolute;bottom:-24px;right:-10px;background:#fff;border-radius:var(--radius-md);
  box-shadow:var(--shadow-soft);padding:16px 20px;display:flex;align-items:center;gap:12px;
}
.about-badge i{width:26px;height:26px;color:var(--gold);}
.about-badge strong{display:block;font-family:var(--font-display);color:var(--navy-900);font-size:1rem;}
.about-badge span{font-size:.78rem;color:#6B7280;}
.about-copy h2{font-size:clamp(1.8rem,3vw,2.5rem);}
.about-list{margin:22px 0 30px;display:flex;flex-direction:column;gap:14px;}
.about-list li{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--navy-800);}
.about-list i{width:19px;height:19px;color:var(--gold);flex-shrink:0;}

/* ---------------- Section head ---------------- */
.section-head{margin-bottom:60px;}
.section-head h2{font-size:clamp(1.9rem,3.2vw,2.6rem);}
.sub{max-width:600px;font-size:1.02rem;}

/* ---------------- Services Banners ---------------- */
.services-section{padding:120px 0 100px;background:var(--bg-light);}
.banners{display:flex;flex-direction:column;gap:36px;width:min(1320px,94%);margin:0 auto;}
.service-banner{
  display:grid;grid-template-columns:1fr 1fr;align-items:stretch;
  background:#fff;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-soft);
  transition:transform .5s var(--ease), box-shadow .5s var(--ease);
  border:1px solid rgba(31,41,55,0.06);
}
.service-banner:hover{transform:translateY(-8px);box-shadow:0 30px 60px -20px rgba(11,27,63,0.35);}
.service-banner.reverse{direction:rtl;}
.service-banner.reverse > *{direction:ltr;}
.service-media{
  position:relative;min-height:280px;display:flex;align-items:center;justify-content:center;
  background:var(--navy-grad);overflow:hidden;
}
.service-media::after{
  content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(212,175,55,0.16),transparent 60%);
}
.service-media svg{width:62%;height:auto;position:relative;z-index:1;transition:transform .6s var(--ease);}
.service-banner:hover .service-media svg{transform:scale(1.08) rotate(-1deg);}
.service-content{padding:48px 50px;display:flex;flex-direction:column;justify-content:center;}
.service-icon{
  width:56px;height:56px;border-radius:16px;background:var(--gold-grad);
  display:flex;align-items:center;justify-content:center;margin-bottom:20px;box-shadow:var(--shadow-gold);
}
.service-icon i{width:26px;height:26px;color:var(--navy-deep);}
.service-content h3{font-size:1.5rem;margin-bottom:12px;}
.service-content p{margin-bottom:22px;}
.service-link{
  display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--navy-deep);
  padding-bottom:2px;border-bottom:2px solid var(--gold);width:fit-content;transition:.3s;
}
.service-link i{width:16px;height:16px;color:var(--gold);transition:transform .3s var(--ease);}
.service-link:hover i{transform:translateX(4px);}
.service-link:hover{color:var(--gold);}

/* ---------------- Why Choose ---------------- */
.why-section{padding:110px 0;background:var(--navy-900);position:relative;overflow:hidden;}
.why-section::before{
  content:"";position:absolute;top:-30%;left:50%;transform:translateX(-50%);width:900px;height:900px;
  background:radial-gradient(circle,rgba(212,175,55,0.08),transparent 60%);
}
.why-section .eyebrow, .why-section h2{color:#fff;}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;position:relative;}
.why-card{
  background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.09);backdrop-filter:blur(10px);
  border-radius:var(--radius-md);padding:32px 26px;transition:transform .4s var(--ease), border-color .4s;
}
.why-card:hover{transform:translateY(-8px);border-color:rgba(212,175,55,0.5);background:rgba(255,255,255,0.06);}
.why-card i{color: aliceblue; width:30px;height:30px;;margin-bottom:16px;}
.why-card h4{color:#fff;font-size:1.05rem;margin-bottom:8px;}
.why-card p{color:#9FB0CC;font-size:.88rem;margin:0;}

/* ---------------- Industries ---------------- */
.industries-section{padding:110px 0;background:var(--bg-light);}
.industries-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.industry-card{
  background:#fff;border-radius:var(--radius-md);padding:28px 22px;text-align:center;
  box-shadow:0 10px 30px -18px rgba(11,27,63,0.25);border:1px solid rgba(31,41,55,0.05);
  transition:transform .4s var(--ease), box-shadow .4s var(--ease);
}
.industry-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-soft);}
.industry-card .ind-icon{
  width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,#f9ffee,#F8FAFC);
  display:flex;align-items:center;justify-content:center;margin:0 auto 14px;
}
.industry-card .ind-icon i{width:24px;height:24px;color:var(--blue);}
.industry-card h4{font-size:.95rem;margin:0;}

/* ---------------- Projects ---------------- */
.projects-section{padding:110px 0;background:var(--bg-light);}
.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.project-card{
  border-radius:var(--radius-lg);overflow:hidden;background:#fff;box-shadow:var(--shadow-soft);
  transition:transform .45s var(--ease);
}
.project-card:hover{transform:translateY(-8px);}
.project-media{height:200px;position:relative;background:var(--navy-grad);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.project-media svg{width:56%;transition:transform .6s var(--ease);}
.project-card:hover .project-media svg{transform:scale(1.1);}
.project-tag{
  position:absolute;top:14px;left:14px;background:var(--gold-grad);color:var(--navy-deep);
  font-size:.68rem;font-weight:800;padding:5px 12px;border-radius:999px;letter-spacing:.5px;text-transform:uppercase;
}
.project-body{padding:26px;}
.project-body h4{font-size:1.15rem;margin-bottom:8px;}
.project-stack{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
.project-stack span{
  font-size:.72rem;font-weight:700;color:var(--navy-800);background:#F1F5F9;padding:5px 10px;border-radius:999px;
}

/* ---------------- Testimonials ---------------- */
.testimonials-section{padding:110px 0;background:var(--navy-grad);position:relative;overflow:hidden;}
.testimonial-carousel{display:flex;align-items:center;gap:20px;}
.testimonial-track{flex:1;overflow:hidden;position:relative;min-height:260px;}
.testimonial-card{
  position:absolute;inset:0;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.14);
  backdrop-filter:blur(16px);border-radius:var(--radius-lg);padding:44px 50px;
  opacity:0;transform:translateX(30px);transition:opacity .6s var(--ease), transform .6s var(--ease);
  display:flex;flex-direction:column;justify-content:center;
}
.testimonial-card.active{opacity:1;transform:translateX(0);position:relative;}
.testimonial-card p{color:#E7ECF6;font-size:1.08rem;font-style:italic;margin-bottom:24px;}
.testimonial-profile{display:flex;align-items:center;gap:14px;}
.testimonial-avatar{
  width:52px;height:52px;border-radius:50%;background:var(--gold-grad);display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-weight:800;color:var(--navy-deep);
}
.testimonial-profile strong{color:#fff;display:block;font-size:.95rem;}
.testimonial-profile span{color:var(--gold-light);font-size:.8rem;}
.carousel-btn{
  width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.18);
  color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:.3s;
}
.carousel-btn:hover{background:var(--gold-grad);color:var(--navy-deep);}
.carousel-dots{display:flex;justify-content:center;gap:8px;margin-top:30px;}
.carousel-dots span{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,0.25);cursor:pointer;transition:.3s;}
.carousel-dots span.active{background:var(--gold-light);width:24px;border-radius:4px;}

/* ---------------- Partners ---------------- */
.partners-section{padding:90px 0;background:var(--bg-light);}
.partners-strip{
  display:flex;flex-wrap:wrap;justify-content:center;gap:18px;
}
.partners-section {
    overflow: hidden;
    position: relative;
}


.partners-strip {
    overflow: hidden;
    width: 100%;
    padding: 30px 0;
}


.partners-track {
    display: flex;
    gap: 40px;
    width: max-content;

    animation: partnerScroll 25s linear infinite;
}


/* Pause when mouse enters */
.partners-track:hover {
    animation-play-state: paused;
}


.partner-card {
    width: 220px;
    height: 120px;

    flex-shrink: 0;

    background: #ffffff;
    border-radius: 18px;

    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;

    gap: 12px;

    border: 1px solid rgba(31,41,55,.08);

    box-shadow:
    0 10px 25px rgba(11,27,63,.08);

    transition: .3s ease;
}


.partner-card img {
    width: 100px;
    height: 45px;
    object-fit: contain;
}


.partner-card span {
    font-family: var(--font-display);
    font-weight: 700;
    color: var(--navy-800);
}


/* Card hover */
.partner-card:hover {
    transform: translateY(-8px);
    box-shadow:
    0 20px 40px rgba(11,27,63,.15);
}


@keyframes partnerScroll {

    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }

}
/* ---------------- CTA ---------------- */
.cta-section{
  background:var(--navy-900);padding:110px 0;position:relative;overflow:hidden;
  background-image:radial-gradient(circle at 15% 30%,rgba(212,175,55,0.12),transparent 45%),radial-gradient(circle at 85% 70%,rgba(37,99,235,0.18),transparent 45%);
}
.cta-inner{text-align:center;max-width:760px;margin:0 auto;}
.cta-inner h2{color:#fff;font-size:clamp(1.9rem,3.4vw,2.7rem);}
.cta-inner p{color:#C9D2E3;font-size:1.05rem;margin-bottom:36px;}
.cta-actions{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;}

/* ---------------- Careers ---------------- */
.careers-section{padding:100px 0;background:var(--bg-light);}
.careers-inner{
  background:#fff;border-radius:var(--radius-lg);padding:60px;box-shadow:var(--shadow-soft);
  max-width:760px;margin:0 auto;text-align:center;
}
.careers-inner h2{font-size:clamp(1.7rem,3vw,2.2rem);}

/* ---------------- Contact ---------------- */
.contact-section{padding:110px 0;background:var(--bg-light);}
.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;}
.contact-form{
  background:#fff;border-radius:var(--radius-lg);padding:44px;box-shadow:var(--shadow-soft);position:relative;
}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.form-group{margin-bottom:20px;display:flex;flex-direction:column;gap:8px;}
.form-group label{font-weight:700;font-size:.85rem;color:var(--navy-800);}
.form-group input, .form-group select, .form-group textarea{
  padding:13px 16px;border-radius:10px;border:1.5px solid #E2E8F0;font-family:inherit;font-size:.92rem;
  transition:border-color .3s;background:#F8FAFC;
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus{
  outline:none;border-color:var(--gold);background:#fff;
}
.form-success{
  margin-top:16px;display:none;align-items:center;gap:8px;color:#15803D;font-weight:700;font-size:.9rem;
}
.form-success.show{display:flex;}
.form-success i{width:18px;height:18px;}

.contact-side{display:flex;flex-direction:column;gap:24px;}
.contact-info-card{
  background:var(--navy-grad);border-radius:var(--radius-lg);padding:36px;display:flex;flex-direction:column;gap:22px;
  box-shadow:var(--shadow-soft);
}
.contact-info-item{display:flex;align-items:center;gap:16px;}
.contact-info-item i{width:22px;height:22px;color:var(--gold-light);flex-shrink:0;}
.contact-info-item strong{display:block;color:#fff;font-size:.92rem;}
.contact-info-item span{color:#B9C4DA;font-size:.85rem;}
.map-frame{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-soft);flex:1;min-height:220px;}

/* ---------------- Footer ---------------- */
.site-footer{background:var(--navy-deep);padding:80px 0 0;}
.brand-name.light{color:#fff;}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:50px;}
.footer-col h4{color:#fff;font-size:1rem;margin-bottom:18px;}
.footer-col a{display:block;color:#9FB0CC;font-size:.88rem;margin-bottom:12px;transition:.25s;}
.footer-col a:hover{color:var(--gold-light);}
.footer-col p{color:#8B98B4;font-size:.85rem;}
.footer-logo{display:flex;align-items:center;gap:12px;margin-bottom:18px;}
.footer-logo img{height:42px;}
.footer-logo div{display:flex;flex-direction:column;}
.social-icons{display:flex;gap:12px;margin-top:18px;}
.social-icons a{
  width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,0.06);display:flex;align-items:center;justify-content:center;
  transition:.3s;
}
.social-icons a:hover{background:var(--gold-grad);}
.social-icons i{width:16px;height:16px;color:#fff;}
.social-icons a:hover i{color:var(--navy-deep);}
.newsletter-form{display:flex;margin-top:14px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.14);}
.newsletter-form input{
  flex:1;background:transparent;border:none;padding:12px 16px;color:#fff;font-size:.85rem;
}
.newsletter-form input::placeholder{color:#8B98B4;}
.newsletter-form input:focus{outline:none;}
.newsletter-form button{
  background:var(--gold-grad);color:var(--navy-deep);width:42px;display:flex;align-items:center;justify-content:center;
}
.newsletter-form button i{width:16px;height:16px;}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,0.08);padding:22px 0;display:flex;justify-content:space-between;
  color:#8B98B4;font-size:.8rem;flex-wrap:wrap;gap:10px;
}
.footer-legal a{color:#8B98B4;}
.footer-legal a:hover{color:var(--gold-light);}

/* ---------------- Back to top ---------------- */
.back-to-top{
  position:fixed;bottom:28px;right:28px;width:48px;height:48px;border-radius:50%;background:var(--gold-grad);
  display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-gold);z-index:900;
  opacity:0;pointer-events:none;transform:translateY(10px);transition:.4s var(--ease);
}
.back-to-top.show{opacity:1;pointer-events:auto;transform:translateY(0);}
.back-to-top i{width:20px;height:20px;color:var(--navy-deep);}

/* ----------------whatsapp---------- */

.whatsapp-float {
    position: fixed;

    width: 60px;
    height: 60px;

    right: 25px;
    bottom: 100px;;

    background: #25D366;
    color: white;

    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;

    z-index: 9999;

    box-shadow:
    0 10px 30px rgba(0,0,0,.25);

    transition: .3s ease;

    animation: whatsappPulse 2s infinite;
}


.whatsapp-float svg {
    width:30px;
    height:30px;
}


.whatsapp-float:hover {

    transform:
    translateY(-8px)
    scale(1.1);

    background:#20bd5a;
}


/* Floating animation */
@keyframes whatsappPulse {

    0% {
        box-shadow:
        0 0 0 0 rgba(37,211,102,.5);
    }

    70% {
        box-shadow:
        0 0 0 18px rgba(37,211,102,0);
    }

    100% {
        box-shadow:
        0 0 0 0 rgba(37,211,102,0);
    }

}

/* ---------------- Reveal Animation ---------------- */
[data-aos]{opacity:0;transform:translateY(30px);transition:opacity .8s var(--ease), transform .8s var(--ease);}
[data-aos].in-view{opacity:1;transform:translateY(0);}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width:1100px){
  .why-grid{grid-template-columns:repeat(2,1fr);}
  .industries-grid{grid-template-columns:repeat(3,1fr);}
  .projects-grid{grid-template-columns:repeat(2,1fr);}
  .stats-grid{grid-template-columns:repeat(3,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:960px){
  .nav-links, .nav-cta{display:none;}
  .nav-toggle{display:flex;}
  .hero-inner{grid-template-columns:1fr;text-align:left;}
  .hero-visual{order:-1;max-width:420px;}
  .about-grid{grid-template-columns:1fr;}
  .contact-grid{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
}
@media (max-width:680px){
  .service-banner, .service-banner.reverse{grid-template-columns:1fr;direction:ltr;}
  .service-content{padding:34px 28px;}
  .why-grid{grid-template-columns:1fr;}
  .industries-grid{grid-template-columns:repeat(2,1fr);}
  .projects-grid{grid-template-columns:1fr;}
  .stats-grid{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr;}
  .careers-inner{padding:36px 24px;}
  .contact-form{padding:28px;}
}

/* Mobile nav open state */
.nav-links.open{
  display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;
  background:rgba(11,27,63,0.97);backdrop-filter:blur(14px);padding:24px;gap:18px;
}
