/* Nova Immigration — site styles. Fonts are loaded via <link> in index.html. */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{font-family:'Plus Jakarta Sans',sans-serif;background:#fff;color:#0f172a;overflow-x:hidden}
  ::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:#eef2ff}::-webkit-scrollbar-thumb{background:#4f46e5;border-radius:4px}

  /* ANIMATIONS */
  @keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
  @keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}
  @keyframes drift1{0%,100%{transform:translate(0,0)}33%{transform:translate(40px,-30px)}66%{transform:translate(-20px,20px)}}
  @keyframes drift2{0%,100%{transform:translate(0,0)}50%{transform:translate(-50px,30px)}}
  @keyframes drift3{0%,100%{transform:translate(0,0)}50%{transform:translate(30px,-20px)}}
  @keyframes fadeUp{from{opacity:0;transform:translateY(36px)}to{opacity:1;transform:translateY(0)}}
  @keyframes scaleIn{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}
  @keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
  @keyframes spin{to{transform:rotate(360deg)}}
  @keyframes slideDown{from{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}
  @keyframes fadeIn{from{opacity:0}to{opacity:1}}

  .fu{animation:fadeUp .8s both}
  .fu1{animation:fadeUp .8s .13s both}
  .fu2{animation:fadeUp .8s .26s both}
  .fu3{animation:fadeUp .8s .39s both}
  .fu4{animation:fadeUp .8s .52s both}
  .si{animation:scaleIn .9s .2s both}
  .blob1{animation:drift1 14s ease-in-out infinite}
  .blob2{animation:drift2 18s ease-in-out infinite}
  .blob3{animation:drift3 11s ease-in-out infinite}

  /* SCROLL REVEAL */
  .reveal{opacity:0;transform:translateY(36px);transition:opacity .75s ease,transform .75s ease}
  .reveal.visible{opacity:1;transform:none}
  .reveal-l{opacity:0;transform:translateX(-36px);transition:opacity .75s ease,transform .75s ease}
  .reveal-l.visible{opacity:1;transform:none}
  .reveal-r{opacity:0;transform:translateX(36px);transition:opacity .75s ease,transform .75s ease}
  .reveal-r.visible{opacity:1;transform:none}
  .delay-1{transition-delay:.1s!important}
  .delay-2{transition-delay:.2s!important}
  .delay-3{transition-delay:.3s!important}
  .delay-4{transition-delay:.4s!important}
  .delay-5{transition-delay:.5s!important}

  /* PROGRESS BAR */
  .progress-bar{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,#4f46e5,#84cc16);z-index:9999;transition:width .1s linear;border-radius:0 2px 2px 0}

  /* NAV */
  .nav{position:fixed;top:3px;left:0;right:0;z-index:900;transition:all .35s}
  .nav-filled{background:rgba(255,255,255,.97);border-bottom:1px solid #e8eef8;backdrop-filter:blur(20px);box-shadow:0 4px 32px rgba(10,22,40,.06)}
  .mobile-menu{animation:slideDown .25s ease}

  /* BUTTONS */
  .btn-blue{display:inline-flex;align-items:center;gap:9px;background:linear-gradient(135deg,#4f46e5,#4338ca);color:#fff;padding:14px 30px;border-radius:12px;font-weight:700;font-size:15px;border:none;cursor:pointer;font-family:inherit;transition:all .3s;box-shadow:0 8px 28px rgba(79,70,229,.32)}
  .btn-blue:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(79,70,229,.44)}
  .btn-white{display:inline-flex;align-items:center;gap:9px;background:#fff;color:#0f172a;padding:14px 30px;border-radius:12px;font-weight:700;font-size:15px;border:none;cursor:pointer;font-family:inherit;transition:all .3s;box-shadow:0 4px 20px rgba(10,22,40,.14)}
  .btn-white:hover{transform:translateY(-3px);box-shadow:0 12px 36px rgba(10,22,40,.2)}
  .btn-ghost{display:inline-flex;align-items:center;gap:9px;background:transparent;color:#fff;padding:13px 28px;border-radius:12px;font-weight:600;font-size:15px;border:2px solid rgba(255,255,255,.32);cursor:pointer;font-family:inherit;transition:all .3s;text-decoration:none}
  .btn-ghost:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.6)}
  .btn-outline{display:inline-flex;align-items:center;gap:9px;background:#fff;color:#4f46e5;padding:13px 28px;border-radius:12px;font-weight:700;font-size:15px;border:2px solid #c7d2fe;cursor:pointer;font-family:inherit;transition:all .3s;text-decoration:none}
  .btn-outline:hover{transform:translateY(-3px);border-color:#4f46e5;box-shadow:0 10px 28px rgba(79,70,229,.18)}

  /* CARDS */
  .card-lift{transition:all .35s cubic-bezier(.4,0,.2,1)}
  .card-lift:hover{transform:translateY(-8px);box-shadow:0 32px 72px rgba(10,22,40,.13)!important}
  .srv-item{border-bottom:1px solid #e8ecf6;transition:all .3s;cursor:default}
  .srv-item:hover{background:#fbfbfd;border-radius:18px;border-color:transparent;padding-left:14px!important}

  /* FORM */
  .finput{width:100%;border:1.5px solid #c7d2fe;border-radius:12px;padding:13px 15px;font-size:14px;font-family:inherit;color:#0f172a;background:#fff;outline:none;transition:all .25s;appearance:none}
  .finput:focus{border-color:#4f46e5;box-shadow:0 0 0 4px rgba(79,70,229,.1)}

  /* FAQ */
  .faq-btn{width:100%;display:flex;align-items:center;justify-content:space-between;padding:20px 0;background:none;border:none;cursor:pointer;text-align:left;gap:20px;font-family:inherit;border-bottom:1px solid #e8ecf6}
  .faq-icon{width:30px;height:30px;border-radius:50%;background:#eef2ff;border:none;display:flex;align-items:center;justify-content:center;font-size:18px;color:#4f46e5;flex-shrink:0;transition:all .3s;cursor:pointer;font-family:inherit}
  .faq-icon.open{background:#4f46e5;color:#fff;transform:rotate(45deg)}

  /* VISA TABS */
  .vtab{padding:9px 20px;border-radius:100px;border:2px solid #c7d2fe;background:#fff;color:#566070;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .25s}
  .vtab.on{background:linear-gradient(135deg,#4f46e5,#4338ca);color:#fff;border-color:transparent;box-shadow:0 4px 16px rgba(79,70,229,.3)}
  .vtab:hover:not(.on){border-color:#4f46e5;color:#4f46e5}

  /* NEWS */
  .news-card{background:#fff;border:2px solid #e8ecf6;border-radius:22px;overflow:hidden;cursor:default;box-shadow:0 4px 24px rgba(10,22,40,.05);transition:all .35s cubic-bezier(.4,0,.2,1)}
  .news-card:hover{transform:translateY(-8px);box-shadow:0 32px 72px rgba(10,22,40,.13)}
  .spinner{width:36px;height:36px;border:3px solid #e8ecf6;border-top-color:#4f46e5;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto}

  /* BACK TO TOP */
  .btt{position:fixed;bottom:96px;left:24px;z-index:500;width:44px;height:44px;border-radius:50%;background:#fff;border:2px solid #e8ecf6;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;box-shadow:0 4px 20px rgba(10,22,40,.12);transition:all .3s;font-family:inherit}
  .btt:hover{background:#4f46e5;border-color:#4f46e5;color:#fff;transform:translateY(-3px)}

  /* WHY SIRAT card hover */
  .why-card{transition:all .3s cubic-bezier(.4,0,.2,1);cursor:default}
  .why-card:hover{transform:translateY(-6px);box-shadow:0 24px 56px rgba(10,22,40,.1)!important;border-color:rgba(79,70,229,.25)!important}

  @media(max-width:960px){
    .hero-grid,.two-col{grid-template-columns:1fr!important}
    .three-col{grid-template-columns:1fr 1fr!important}
    .four-col{grid-template-columns:1fr 1fr!important}
    .nav-links-d,.hero-r{display:none!important}
    .howline{display:none!important}
    .cl-main-grid{grid-template-columns:1fr!important}
    .cl-sidebar{display:none!important}
  }
  @media(max-width:600px){
    .three-col{grid-template-columns:1fr!important}
    .four-col{grid-template-columns:1fr!important}
    .btt{display:none}
    .sec-inner{padding:0 20px!important}
    .hero-quote{padding:18px 18px!important;font-size:14px!important}
    .footer-grid{grid-template-columns:1fr!important}
  }
