
  :root{
    --navy: #0f2044;
    --navy-deep: #0a1730;
    --gold: #d3a13a;
    --gold-dark: #b8862a;
    --teal: #0e6d63;
    --red: #c0392b;
    --whatsapp: #25b24a;
    --text-muted: #6b7280;
    --border-light: #e9ecf2;
  }

  *{box-sizing:border-box;}

  /* Fluid, responsive images everywhere by default */
  img{ max-width:100%; height:auto; }

  body{
    font-family:'Manrope', sans-serif;
    color:#1c2536;
    background:#f6f7fb;
  }

  h1,h2,h3,h4,.font-display{
    font-family:'Poppins', sans-serif;
  }

  a{text-decoration:none;}

  .eyebrow{
    letter-spacing:2px;
    font-size:.78rem;
    font-weight:600;
  }

  /* ===== NAVBAR ===== */
  .navbar-fevfs{
    padding: .9rem 0;
    background:#fff;
    box-shadow: 0 2px 14px rgba(15,32,68,.06);
  }
  .navbar-fevfs .navbar-brand{
    display:flex;
    align-items:center;
    gap:.6rem;
  }
  .navbar-fevfs .navbar-brand .brand-title{
    font-family:'Poppins',sans-serif;
    font-weight:800;
    font-size:1.4rem;
    color:var(--navy);
    line-height:1.1;
  }
  .navbar-fevfs .navbar-brand .brand-sub{
    font-size:.6rem;
    letter-spacing:1px;
    color:var(--gold-dark);
    font-weight:700;
    display:block;
  }
  .shield-icon{
    width:42px;height:42px;
    color:var(--navy);
  }
  .navbar-fevfs .nav-link{
    font-weight:600;
    font-size:.92rem;
    color:#2a3348;
    padding:.5rem .9rem !important;
  }
  .navbar-fevfs .nav-link.active{
    color:var(--gold-dark);
    border-bottom:2px solid var(--gold-dark);
  }
  .navbar-fevfs .nav-link:hover{ color:var(--gold-dark); }

  /* ===== COUNTRIES MEGA-MENU ===== */
  .dropdown-countries .dropdown-menu.mega-menu{
    padding:1.1rem 1rem;
    border:none;
    border-radius:10px;
    box-shadow:0 20px 45px rgba(15,32,68,.16);
    flex-wrap:wrap;
    gap:0;
    min-width:640px;
    max-width:92vw;
  }
  
  .dropdown-countries .dropdown-menu.mega-menu.show{
   display:flex;
  }
  
  .mega-menu .mega-col{
    flex:1 1 25%;
    min-width:150px;
    padding:0 1rem;
    border-right:1px solid var(--border-light);
  }
  .mega-menu .mega-col:last-child{ border-right:none; }
  .mega-menu .mega-col-title{
    display:flex;
    align-items:center;
    gap:.4rem;
    font-weight:800;
    font-size:.92rem;
    color:var(--navy);
    padding-bottom:.6rem;
    margin-bottom:.5rem;
    border-bottom:2px solid var(--border-light);
  }
  .mega-menu .mega-col-title .flag{ font-size:1.05rem; }
  .mega-menu .mega-col-title:hover,
  .mega-menu .mega-col-title.active{ color:var(--gold-dark); }
  .mega-menu .mega-col ul{
    list-style:none;
    padding:0;
    margin:0;
  }
  .mega-menu .mega-col ul li{ margin-bottom:.15rem; }
  .mega-menu .mega-col .dropdown-item{
    font-size:.82rem;
    padding:.4rem .5rem;
    border-radius:6px;
    color:#3c465c;
    white-space:normal;
  }
  .mega-menu .mega-col .dropdown-item:hover,
  .mega-menu .mega-col .dropdown-item:focus{
    background:#fbf1de;
    color:var(--gold-dark);
  }

  .phone-block{
    display:flex; align-items:center; gap:.55rem;
  }
  .phone-block i{
    width:38px;height:38px;
    display:flex;align-items:center;justify-content:center;
    background:#fbf1de;
    color:var(--gold-dark);
    border-radius:50%;
    font-size:1.05rem;
  }
  .phone-block .num{
    font-weight:700;
    color:var(--navy);
    font-size:.95rem;
    line-height:1.1;
    display:block;
  }
  .phone-block .hrs{
    font-size:.72rem;
    color:var(--text-muted);
  }
  .btn-gold{
    background:var(--gold);
    border:none;
    color:#fff;
    font-weight:700;
    letter-spacing:.5px;
    font-size:.85rem;
    padding:.65rem 1.4rem;
    border-radius:6px;
    transition:.2s;
  }
  .btn-gold:hover{ background:var(--gold-dark); color:#fff; }

  /* ===== HERO ===== */
  .hero{
    position:relative;
    background:
      linear-gradient(100deg, rgba(9,18,42,.88) 15%, rgba(9,18,42,.55) 55%, rgba(9,18,42,.25) 100%),
      url('../images/hero-bg.png') center/cover no-repeat;
    padding: 4.5rem 0 6.5rem;
    color:#fff;
  }
  .hero .badge-line{
    display:inline-flex;
    align-items:center;
    gap:.6rem;
    color:var(--gold);
    margin-bottom:1.1rem;
  }
  .hero .badge-line .rule{
    width:36px;height:2px;
    background:var(--gold);
    display:inline-block;
  }
  .hero h1{
    font-weight:800;
    font-size:clamp(1.7rem, 4.6vw, 3.1rem);
    line-height:1.15;
    margin-bottom:.2rem;
  }
  .hero h1 .thin{
    display:block;
    font-size:clamp(1.3rem, 3.4vw, 2.3rem);
  }
  .hero .countries{
    color:var(--gold);
    font-weight:700;
    letter-spacing:.5px;
    margin:1.1rem 0 1.6rem;
    font-size:1.05rem;
  }
  .hero-icons{
    display:flex;
    flex-wrap:wrap;
    gap:1.8rem;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.15);
    border-radius:10px;
    padding:1rem 1.4rem;
    margin-bottom:1.6rem;
    backdrop-filter:blur(2px);
  }
  .hero-icons .item{
    display:flex;align-items:center;gap:.55rem;
    font-size:.88rem;
    font-weight:600;
  }
  .hero-icons .item i{
    color:var(--gold);
    font-size:1.15rem;
  }
  .btn-outline-light-custom{
    border:1.5px solid #fff;
    color:#fff;
    font-weight:700;
    font-size:.85rem;
    letter-spacing:.5px;
    padding:.65rem 1.4rem;
    border-radius:6px;
    transition:.2s;
  }
  .btn-outline-light-custom:hover{
    background:#fff;
    color:var(--navy);
  }

  /* Eligibility card */
  .elig-card{
    background:#fff;
    border-radius:14px;
    padding:1.8rem 1.7rem;
    box-shadow: 0 25px 50px rgba(0,0,0,.35);
    color:#1c2536;
  }
  .elig-card h3{
    color:var(--navy);
    font-weight:800;
    font-size:1.15rem;
    margin-bottom:.15rem;
  }
  .elig-card .sub{
    color:var(--gold-dark);
    font-size:.82rem;
    font-weight:600;
    margin-bottom:1.2rem;
  }
  .elig-card .form-select,
  .elig-card .form-control{
    font-size:.85rem;
    padding:.65rem .8rem;
    border-color:var(--border-light);
    color:#4a5468;
  }
  .elig-card .input-icon{
    position:relative;
  }
  .elig-card .input-icon i{
    position:absolute;
    left:.9rem; top:50%;
    transform:translateY(-50%);
    color:var(--gold-dark);
    z-index:3;
    font-size:.9rem;
  }
  .elig-card .form-select,
  .elig-card .form-control{
    padding-left:2.3rem;
  }
  .elig-card .form-control:focus,
  .elig-card .form-select:focus{
    border-color:var(--gold);
    box-shadow:0 0 0 .2rem rgba(211,161,58,.18);
  }
  .btn-navy{
    background:var(--navy);
    color:#fff;
    font-weight:700;
    font-size:.88rem;
    letter-spacing:.4px;
    padding:.75rem 1rem;
    border-radius:7px;
    border:none;
    width:100%;
  }
  .btn-navy:hover{ background:var(--navy-deep); color:#fff; }
  .elig-card .secure-note{
    font-size:.72rem;
    color:var(--text-muted);
    text-align:center;
    margin-top:.8rem;
  }

  /* Floating side buttons */
  .float-actions{
    position:fixed;
    right:0.1rem;
    top:44%;
    display:flex;
    flex-direction:column;
    gap:.6rem;
    z-index:5;
  }
  .float-actions a{
    display:flex;
    align-items:center;
    gap:.5rem;
    color:#fff;
    font-weight:700;
    font-size:.78rem;
    padding:.55rem 1rem;
    border-radius:30px;
    box-shadow:0 8px 18px rgba(0,0,0,.25);
    white-space:nowrap;
  }
  .float-actions .fa-whatsapp-btn{ background:var(--whatsapp); }
  .float-actions .fa-book-btn{ background:var(--gold); }
  .float-actions .fa-call-btn{ background:var(--gold); }

  /* ===== FEATURES STRIP ===== */
  .features-strip{
    background:#fff;
    border-radius:14px;
    box-shadow:0 20px 45px rgba(15,32,68,.12);
    margin-top:-3.4rem;
    position:relative;
    z-index:6;
    padding:1.6rem 1rem;
  }
  .feature-item{
    display:flex;
    align-items:flex-start;
    gap:.8rem;
    padding:.4rem .6rem;
  }
  .feature-item .icon-circle{
    width:50px;height:50px;
    min-width:50px;
    border-radius:50%;
    border:1.5px solid var(--navy);
    display:flex;align-items:center;justify-content:center;
    color:var(--navy);
    font-size:1.25rem;
  }
  .feature-item h6{
    font-weight:700;
    font-size:.82rem;
    letter-spacing:.3px;
    color:var(--navy);
    margin-bottom:.2rem;
    text-transform:uppercase;
  }
  .feature-item p{
    font-size:.8rem;
    color:var(--text-muted);
    margin:0;
  }

  /* ===== COUNTRY CARDS ===== */
  .country-section{
    padding:3.5rem 0 2.5rem;
  }
  .country-card{
    background:#fff;
    border-radius:12px;
    overflow:hidden;
    display:flex;
    height:100%;
    border:2px solid transparent;
    box-shadow:0 8px 24px rgba(15,32,68,.08);
    transition:.25s;
  }
  .country-card:hover{ transform:translateY(-4px); box-shadow:0 16px 32px rgba(15,32,68,.14); }
  .country-card.highlight{ border-color:var(--red); }
  .country-card .img-side{
    width:42%;
    position:relative;
    background-size:cover;
    background-position:left;
    min-height:100%;
  }
  .country-card .flag-badge{
    position:absolute;
    bottom:0px; left:50%;
    transform:translateX(-50%);
    width:44px;height:44px;
    border-radius:50%;
    background:#fff;
    display:flex;align-items:center;justify-content:center;
    font-size:1.3rem;
    box-shadow:0 4px 10px rgba(0,0,0,.2);
    border:2px solid #fff;
    overflow:hidden;
  }
  .country-card .content-side{
    width:58%;
    padding:1.3rem 1.2rem 1.2rem;
    display:flex;
    flex-direction:column;
  }
  .country-card .eyebrow-country{
    font-size:.68rem;
    font-weight:700;
    letter-spacing:1.5px;
    color:var(--gold-dark);
  }
  .country-card h4{
    font-weight:800;
    color:var(--navy);
    font-size:1.35rem;
    margin-bottom:.6rem;
  }
  .country-card ul{
    list-style:none;
    padding:0;
    margin:0 0 1rem;
    font-size:.82rem;
    color:#3c465c;
  }
  .country-card ul li{
    position:relative;
    padding-left:1.1rem;
    margin-bottom:.35rem;
  }
  .country-card ul li::before{
    content:"";
    position:absolute;
    left:0; top:.45rem;
    width:6px;height:6px;
    background:var(--gold);
    border-radius:1px;
    transform:rotate(45deg);
  }
  .btn-explore{
    margin-top:auto;
    border:none;
    color:#fff;
    font-weight:700;
    font-size:.78rem;
    letter-spacing:.4px;
    padding:.6rem 1.1rem;
    border-radius:6px;
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    width:fit-content;
  }
  .btn-explore.navy-btn{ background:var(--navy); }
  .btn-explore.navy-btn:hover{ background:var(--navy-deep); color:#fff; }
  .btn-explore.teal-btn{ background:var(--teal); }
  .btn-explore.teal-btn:hover{ background:#095349; color:#fff; }

  /* ===== 4 COL INFO SECTION ===== */
  .info-section{
    padding:1rem 0 3.5rem;
  }
  .info-card{
    background:#fff;
    border-radius:12px;
    border:1px solid var(--border-light);
    padding:1.4rem 1.3rem;
    height:100%;
  }
  .info-card h6{
    display:flex;
    align-items:center;
    gap:.55rem;
    font-weight:800;
    color:var(--navy);
    font-size:.82rem;
    letter-spacing:.4px;
    text-transform:uppercase;
    margin-bottom:1.1rem;
  }
  .info-card h6 i{
    color:var(--gold-dark);
    font-size:1.1rem;
  }
  .check-list{
    list-style:none;
    padding:0;
    margin:0 0 1.1rem;
  }
  .check-list li{
    font-size:.83rem;
    color:#3c465c;
    margin-bottom:.65rem;
    display:flex;
    align-items:center;
    gap:.5rem;
  }
  .check-list li i{
    color:var(--gold-dark);
    font-size:.9rem;
  }
  .btn-view-all{
    border:1.5px solid var(--navy);
    color:var(--navy);
    font-weight:700;
    font-size:.75rem;
    letter-spacing:.3px;
    padding:.5rem 1rem;
    border-radius:6px;
    display:inline-flex;
    align-items:center;
    gap:.4rem;
    width:100%;
    justify-content:center;
  }
  .btn-view-all:hover{ background:var(--navy); color:#fff; }

  /* process */
  .process-flow{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    margin-bottom:1.1rem;
  }
  .process-step{
    text-align:center;
    flex:1;
    font-size:.66rem;
    font-weight:700;
    color:#3c465c;
  }
  .process-step .circle{
    width:42px;height:42px;
    border-radius:50%;
    background:#eef1f8;
    color:var(--navy);
    display:flex;align-items:center;justify-content:center;
    margin:0 auto .4rem;
    font-size:1.05rem;
  }
  .process-step.active .circle{
    background:var(--navy);
    color:#fff;
  }
  .process-arrow{
    color:#c7cede;
    font-size:.9rem;
    margin-top:14px;
  }
  .btn-know-more{
    background:var(--navy);
    color:#fff;
    font-weight:700;
    font-size:.75rem;
    letter-spacing:.3px;
    padding:.5rem 1rem;
    border-radius:6px;
    border:none;
    display:inline-flex;
    align-items:center;
    gap:.4rem;
    width:100%;
    justify-content:center;
  }
  .btn-know-more:hover{ background:var(--navy-deep); color:#fff; }

  /* success story */
  .quote-mark{
    font-family:Georgia, serif;
    font-size:2.2rem;
    color:var(--gold);
    line-height:1;
    font-weight:700;
  }
  .story-text{
    font-size:.83rem;
    color:#3c465c;
    font-style:italic;
    margin-bottom:1rem;
  }
  .story-person{
    display:flex;
    align-items:center;
    gap:.7rem;
  }
  .story-person img{
    width:48px;height:48px;
    border-radius:50%;
    object-fit:cover;
  }
  .story-person .name{
    font-weight:700;
    font-size:.82rem;
    color:var(--navy);
  }
  .story-person .role{
    font-size:.72rem;
    color:var(--text-muted);
  }
  .dots{
    display:flex;
    gap:.35rem;
    margin-top:1rem;
  }
  .dots span{
    width:6px;height:6px;
    border-radius:50%;
    background:#d8dce8;
    display:inline-block;
  }
  .dots span.active{ background:var(--gold-dark); width:16px; border-radius:4px; }

  /* news */
  .news-list{
    list-style:none;
    padding:0;
    margin:0 0 1.1rem;
  }
  .news-list li{
    display:flex;
    gap:.7rem;
    padding-bottom:.8rem;
    margin-bottom:.8rem;
    border-bottom:1px dashed var(--border-light);
  }
  .news-list li:last-child{ border-bottom:none; margin-bottom:0; padding-bottom:0; }
  .news-list .ico{
    width:26px;height:26px;
    min-width:26px;
    border-radius:6px;
    background:#fbf1de;
    color:var(--gold-dark);
    display:flex;align-items:center;justify-content:center;
    font-size:.75rem;
  }
  .news-list .title{
    font-size:.8rem;
    font-weight:600;
    color:#1c2536;
    line-height:1.3;
  }
  .news-list .date{
    font-size:.68rem;
    color:var(--text-muted);
  }

  /* ===== CTA BANNER ===== */
  .cta-banner{
    background:var(--navy);
    color:#fff;
    padding:1.8rem 0;
  }
  .cta-banner h4{
    font-weight:800;
    font-size:1.35rem;
    margin-bottom:.2rem;
  }
  .cta-banner p{
    font-size:.85rem;
    color:#c6ccdc;
    margin:0;
  }
  .btn-outline-cta{
    border:1.5px solid #fff;
    color:#fff;
    font-weight:700;
    font-size:.8rem;
    padding:.65rem 1.2rem;
    border-radius:6px;
  }
  .btn-outline-cta:hover{ background:#fff; color:var(--navy); }

  /* ===== FOOTER ===== */
  .footer{
    background:var(--navy-deep);
    color:#c6ccdc;
    padding:3.5rem 0 1.5rem;
  }
  .footer .brand-title{ color:#fff; }
  .footer p.tagline{
    font-size:.82rem;
    color:#98a2ba;
    margin-top:.6rem;
    max-width:320px;
  }
  .footer h6{
    color:#fff;
    font-weight:700;
    font-size:.85rem;
    letter-spacing:.5px;
    margin-bottom:1.1rem;
    text-transform:uppercase;
  }
  .footer ul{
    list-style:none;
    padding:0;
    margin:0;
  }
  .footer ul li{
    margin-bottom:.65rem;
  }
  .footer ul li a{
    color:#a9b0c3;
    font-size:.85rem;
  }
  .footer ul li a:hover{ color:var(--gold); }
  .footer .contact-item{
    display:flex;
    gap:.6rem;
    font-size:.85rem;
    margin-bottom:.8rem;
    color:#a9b0c3;
  }
  .footer .contact-item i{ color:var(--gold); margin-top:.2rem; }
  .social-icons{
    display:flex;
    gap:.6rem;
  }
  .social-icons a{
    width:36px;height:36px;
    border-radius:50%;
    border:1px solid #2c3a5c;
    display:flex;align-items:center;justify-content:center;
    color:#fff;
    font-size:.9rem;
  }
  .social-icons a:hover{ background:var(--gold); border-color:var(--gold); }
  .footer hr{ border-color:#20304f; margin:2rem 0 1.2rem; }
  .footer .bottom-line{
    font-size:.78rem;
    color:#8994ac;
  }

  @media (max-width: 991.98px){
    /* ---- Navbar / mega-menu: collapsed navbar becomes a scrollable
       vertical panel, so the mega-menu must drop its absolute
       positioning and multi-column layout and become a simple
       stacked accordion-style list ---- */
    .navbar-collapse{
      max-height: calc(100vh - 80px);
      overflow-y:auto;
      padding-top:.5rem;
    }
    .navbar-fevfs .nav-link{ padding:.6rem .4rem !important; }
    .dropdown-countries .dropdown-menu.mega-menu{
      position:static !important;
      display:none;
      flex-direction:column;
      min-width:0;
      max-width:100%;
      width:100%;
      box-shadow:none;
      border:1px solid var(--border-light);
      margin:.4rem 0 .6rem;
      padding:.4rem .2rem;
    }
    .dropdown-countries.show .dropdown-menu.mega-menu,
    .dropdown-countries .dropdown-menu.mega-menu.show{
      display:flex;
    }
    .mega-menu .mega-col{
      flex:1 1 100%;
      width:100%;
      padding:.6rem .8rem;
      border-right:none;
      border-bottom:1px solid var(--border-light);
    }
    .mega-menu .mega-col:last-child{ border-bottom:none; }

    .phone-block{ display:none !important; }
    .navbar-fevfs .navbar-brand .brand-sub{ font-size:.55rem; }

    .hero{ padding:3.5rem 0 5.5rem; }
    .hero h1{ text-align:left; }
    .float-actions{ display:none; }

    .country-card{ flex-direction:column; }
    .country-card .img-side, .country-card .content-side{ width:100%; }
    .country-card .img-side{ min-height:180px; }

    .about-img-wrap{ margin-bottom:1.8rem; }
  }

/* =====================================================================
   ADDITIONAL STYLES
   (country card background images + footer brand-sub color that were
   previously set via inline style="" attributes, plus new components
   for the Apply Now modal, About Us page and Contact Us page)
   ===================================================================== */

/* ---- Country card background images (were inline style attrs) ---- */
.img-side.img-germany{
  background-image:url('../images/country-germany.png');
}
.img-side.img-spain{
  background-image:url('../images/country-spain.png');
}
.img-side.img-cyprus{
  background-image:url('../images/country-cyprus.png');
}
.img-side.img-turkey{
  background-image:url('../images/country-turkey.png');
}

/* ---- Footer brand sub-title colour (was inline style attr) ---- */
.footer .brand-sub{ color:#98a2ba; }

/* ===== APPLY NOW / ENQUIRY MODAL ===== */
.modal-fevfs .modal-content{
  border:none;
  border-radius:14px;
  overflow:hidden;
}
.modal-fevfs .modal-header{
  background:var(--navy);
  color:#fff;
  border-bottom:none;
  padding:1.3rem 1.6rem;
}
.modal-fevfs .modal-header .modal-title{
  font-family:'Poppins', sans-serif;
  font-weight:800;
  font-size:1.15rem;
}
.modal-fevfs .modal-header .modal-title small{
  display:block;
  font-family:'Manrope', sans-serif;
  font-weight:600;
  font-size:.75rem;
  color:var(--gold);
  letter-spacing:.5px;
  margin-top:.15rem;
}
.modal-fevfs .btn-close{ filter:invert(1) grayscale(100%) brightness(200%); }
.modal-fevfs .modal-body{ padding:1.6rem; }
.modal-fevfs label{
  font-size:.8rem;
  font-weight:700;
  color:var(--navy);
  margin-bottom:.35rem;
}
.modal-fevfs .form-control,
.modal-fevfs .form-select{
  font-size:.88rem;
  padding:.6rem .8rem;
  border-color:var(--border-light);
  border-radius:7px;
}
.modal-fevfs .form-control:focus,
.modal-fevfs .form-select:focus{
  border-color:var(--gold);
  box-shadow:0 0 0 .2rem rgba(211,161,58,.18);
}
.modal-fevfs .form-note{
  font-size:.72rem;
  color:var(--text-muted);
}
.form-status-msg{
  font-size:.85rem;
  font-weight:600;
  padding:.7rem 1rem;
  border-radius:7px;
  margin-bottom:1rem;
  display:none;
}
.form-status-msg.success{
  display:block;
  background:#e8f6ee;
  color:#1c7a45;
  border:1px solid #bfe6cf;
}
.form-status-msg.error{
  display:block;
  background:#fceceb;
  color:var(--red);
  border:1px solid #f3c6c1;
}
/* honeypot field - hidden from real users, catches bots */
.hp-field{ position:absolute; left:-9999px; top:-9999px; opacity:0; height:0; width:0; overflow:hidden; }

/* ===== INNER PAGE HEADER (used by about / contact / other inner pages) ===== */
.page-hero{
  background:
    linear-gradient(100deg, rgba(9,18,42,.92) 20%, rgba(9,18,42,.65) 100%),
    url('../images/page-hero-bg.jpg') center/cover no-repeat;
  padding:3.4rem 0;
  color:#fff;
}
.page-hero .eyebrow{ color:var(--gold); }
.page-hero h1{
  font-weight:800;
  font-size:clamp(1.5rem, 3.6vw, 2.2rem);
  margin:.4rem 0 .5rem;
}
.page-hero .breadcrumb-fevfs{
  font-size:.82rem;
  color:#c6ccdc;
}
.page-hero .breadcrumb-fevfs a{ color:#fff; font-weight:600; }
.page-hero .breadcrumb-fevfs a:hover{ color:var(--gold); }

/* ===== ABOUT US PAGE ===== */
.about-section{ padding:3.5rem 0; }
.about-section .section-tag{
  color:var(--gold-dark);
  font-weight:700;
  font-size:.78rem;
  letter-spacing:2px;
  text-transform:uppercase;
  margin-bottom:.5rem;
  display:block;
}
.about-section h2{
  font-weight:800;
  color:var(--navy);
  font-size:clamp(1.5rem, 3vw, 1.9rem);
  margin-bottom:1rem;
}
.about-section p.lead-text{
  color:#3c465c;
  font-size:.95rem;
  line-height:1.75;
}
.about-stats{
  display:flex;
  flex-wrap:wrap;
  gap:1.6rem;
  margin-top:1.6rem;
}
.about-stats .stat-item{
  min-width:110px;
}
.about-stats .stat-item .num{
  font-family:'Poppins', sans-serif;
  font-weight:800;
  font-size:1.8rem;
  color:var(--navy);
  display:block;
}
.about-stats .stat-item .lbl{
  font-size:.75rem;
  color:var(--text-muted);
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.4px;
}
.about-img-wrap{
  position:relative;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 20px 45px rgba(15,32,68,.16);
}
.about-img-wrap img{ width:100%; height:100%; object-fit:cover; display:block; }

/* Programs / destination menu accordion-style cards */
.programs-section{
  background:#fff;
  padding:3.5rem 0;
}
.programs-section .section-head{ text-align:center; margin-bottom:2.4rem; }
.programs-section .section-head span.section-tag{
  color:var(--gold-dark);
  font-weight:700;
  font-size:.78rem;
  letter-spacing:2px;
  text-transform:uppercase;
}
.programs-section .section-head h2{
  font-weight:800;
  color:var(--navy);
  font-size:clamp(1.5rem, 3vw, 1.9rem);
  margin-top:.4rem;
}
.destination-card{
  background:#f8f9fc;
  border:1px solid var(--border-light);
  border-radius:12px;
  padding:1.6rem 1.5rem;
  height:100%;
}
.destination-card .dest-head{
  display:flex;
  align-items:center;
  gap:.7rem;
  margin-bottom:1.1rem;
  padding-bottom:1rem;
  border-bottom:1px solid var(--border-light);
}
.destination-card .dest-head .flag{ font-size:1.8rem; }
.destination-card .dest-head h4{
  font-weight:800;
  color:var(--navy);
  font-size:1.15rem;
  margin:0;
}
.destination-card ul.dest-list{
  list-style:none;
  padding:0;
  margin:0;
}
.destination-card ul.dest-list > li{
  font-size:.86rem;
  font-weight:700;
  color:#2a3348;
  padding:.55rem 0;
  border-bottom:1px dashed var(--border-light);
  display:flex;
  align-items:center;
  gap:.5rem;
}
.destination-card ul.dest-list > li:last-child{ border-bottom:none; }
.destination-card ul.dest-list > li i{ color:var(--gold-dark); }
.destination-card ul.sub-list{
  list-style:none;
  margin:.5rem 0 .3rem 1.5rem;
  padding:0;
}
.destination-card ul.sub-list li{
  font-size:.8rem;
  font-weight:600;
  color:var(--text-muted);
  padding:.25rem 0;
  display:flex;
  align-items:center;
  gap:.45rem;
}
.destination-card ul.sub-list li::before{
  content:"";
  width:5px;height:5px;
  background:var(--gold);
  border-radius:50%;
  display:inline-block;
}

/* ===== CONTACT US PAGE ===== */
.contact-section{ padding:3.5rem 0; }
.contact-info-card{
  background:#fff;
  border:1px solid var(--border-light);
  border-radius:12px;
  padding:1.4rem 1.3rem;
  display:flex;
  gap:1rem;
  align-items:flex-start;
  height:100%;
}
.contact-info-card .icon-circle{
  width:46px;height:46px;
  min-width:46px;
  border-radius:50%;
  background:#fbf1de;
  color:var(--gold-dark);
  display:flex;align-items:center;justify-content:center;
  font-size:1.2rem;
}
.contact-info-card h6{
  font-weight:800;
  color:var(--navy);
  font-size:.88rem;
  margin-bottom:.3rem;
  text-transform:uppercase;
  letter-spacing:.3px;
}
.contact-info-card p{
  font-size:.83rem;
  color:#3c465c;
  margin:0;
}
.contact-form-card{
  background:#fff;
  border-radius:14px;
  box-shadow:0 20px 45px rgba(15,32,68,.1);
  padding:2rem 1.9rem;
}
.contact-form-card h3{
  color:var(--navy);
  font-weight:800;
  font-size:1.3rem;
  margin-bottom:.3rem;
}
.contact-form-card .sub{
  color:var(--gold-dark);
  font-size:.85rem;
  font-weight:600;
  margin-bottom:1.4rem;
}
.contact-form-card label{
  font-size:.8rem;
  font-weight:700;
  color:var(--navy);
  margin-bottom:.35rem;
}
.contact-form-card .form-control,
.contact-form-card .form-select{
  font-size:.88rem;
  padding:.65rem .85rem;
  border-color:var(--border-light);
  border-radius:7px;
}
.contact-form-card .form-control:focus,
.contact-form-card .form-select:focus{
  border-color:var(--gold);
  box-shadow:0 0 0 .2rem rgba(211,161,58,.18);
}
.map-wrap{
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 20px 45px rgba(15,32,68,.1);
  height:100%;
  min-height:320px;
}
.map-wrap iframe{
  width:100%;
  height:100%;
  min-height:320px;
  border:0;
  display:block;
}
.contact-social-inline{
  display:flex;
  gap:.6rem;
  margin-top:1.4rem;
}
.contact-social-inline a{
  width:38px;height:38px;
  border-radius:50%;
  border:1px solid var(--border-light);
  display:flex;align-items:center;justify-content:center;
  color:var(--navy);
  font-size:.95rem;
}
.contact-social-inline a:hover{ background:var(--gold); border-color:var(--gold); color:#fff; }

/* ===== GENERIC PLACEHOLDER PAGE ===== */
.placeholder-section{
  padding:5rem 0;
  text-align:center;
}
.placeholder-section i{
  font-size:2.6rem;
  color:var(--gold-dark);
  margin-bottom:1rem;
  display:inline-block;
}
.placeholder-section h2{
  color:var(--navy);
  font-weight:800;
  margin-bottom:.6rem;
}
.placeholder-section p{
  color:var(--text-muted);
  max-width:520px;
  margin:0 auto 1.5rem;
}

@media (max-width: 767.98px){
  .navbar-fevfs{ padding:.6rem 0; }
  .navbar-fevfs .brand-title{ font-size:1.2rem; }
  .shield-icon{ width:34px; height:34px; }

  .hero{ padding:2.6rem 0 4.5rem; }
  .hero .badge-line{ margin-bottom:.8rem; }
  .hero-icons{ gap:1rem 1.4rem; padding:.85rem 1rem; }
  .hero .d-flex.flex-wrap.gap-3 > a{ width:100%; justify-content:center; }

  .elig-card{ padding:1.4rem 1.2rem; }

  .features-strip{ margin-top:-2.2rem; padding:1.2rem .8rem; }
  .feature-item{ padding:.3rem; }

  .country-section{ padding:2.6rem 0 1.6rem; }

  .cta-banner .row > div:last-child{ justify-content:flex-start !important; }
  .cta-banner a{ width:100%; justify-content:center; }

  .footer{ text-align:center; padding:2.6rem 0 1.2rem; }
  .footer .tagline{ margin-left:auto; margin-right:auto; }
  .footer .navbar-brand{ justify-content:center; }
  .footer .contact-item{ text-align:left; }
  .social-icons{ justify-content:center; }

  .map-wrap{ margin-top:1.6rem; min-height:260px; }
  .map-wrap iframe{ min-height:260px; }

  .modal-fevfs .modal-header{ padding:1.1rem 1.2rem; }
  .modal-fevfs .modal-body{ padding:1.2rem; }

  .contact-form-card{ padding:1.6rem 1.3rem; }

  .placeholder-section{ padding:3.2rem 0; }
}

/* ---- Small phones ---- */
@media (max-width: 575.98px){
  .navbar-fevfs .navbar-brand .brand-sub{ display:none; }
  .navbar-fevfs .navbar-brand .brand-title{ font-size:1.1rem; }

  .hero .countries{ font-size:.92rem; }
  .hero-icons{ flex-direction:column; align-items:flex-start; gap:.7rem; }

  .btn-gold, .btn-navy, .btn-outline-light-custom, .btn-outline-cta{
    width:100%;
    justify-content:center;
    text-align:center;
  }

  .about-stats{ gap:1rem 1.4rem; }
  .about-stats .stat-item{ min-width:44%; }

  .destination-card{ padding:1.3rem 1.1rem; }
  .contact-info-card{ flex-direction:column; text-align:center; }
  .contact-info-card .icon-circle{ margin:0 auto; }
}

/* ---- Large desktop / wide-screen refinement ---- */
@media (min-width: 1400px){
  .hero .col-lg-7{ max-width:56%; }
  .dropdown-countries .dropdown-menu.mega-menu{ min-width:720px; }
}

/* =====================================================================
   INNER-PAGE CONTENT COMPONENTS
   (Services, Germany / Spain / Cyprus / Turkey, News - added when those
   pages were built out from placeholders)
   ===================================================================== */

/* ---- Generic centered section head (used by Services + country pages) ---- */
.content-section{ padding:3.5rem 0; }
.content-section.bg-white{ background:#fff; }
.section-head{ text-align:center; margin-bottom:2.4rem; }
.section-head .section-tag{
  color:var(--gold-dark);
  font-weight:700;
  font-size:.78rem;
  letter-spacing:2px;
  text-transform:uppercase;
}
.section-head h2{
  font-weight:800;
  color:var(--navy);
  font-size:clamp(1.5rem, 3vw, 1.9rem);
  margin-top:.4rem;
}
.section-head p.section-desc{
  color:var(--text-muted);
  max-width:640px;
  margin:.8rem auto 0;
  font-size:.92rem;
}

/* ---- Services grid (services.php) ---- */
.service-card{
  background:#fff;
  border:1px solid var(--border-light);
  border-radius:12px;
  padding:1.8rem 1.6rem;
  height:100%;
  transition:.25s;
}
.service-card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 32px rgba(15,32,68,.1);
  border-color:transparent;
}
.service-card .icon-circle{
  width:54px;
  height:54px;
  border-radius:50%;
  border:1.5px solid var(--navy);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--navy);
  font-size:1.4rem;
  margin-bottom:1.1rem;
}
.service-card h4{
  font-weight:800;
  color:var(--navy);
  font-size:1.05rem;
  margin-bottom:.6rem;
}
.service-card p{
  font-size:.85rem;
  color:var(--text-muted);
  margin:0;
  line-height:1.6;
}
.service-card ul.service-sublist{
  list-style:none;
  padding:0;
  margin:.9rem 0 0;
}
.service-card ul.service-sublist li{
  font-size:.83rem;
  color:#3c465c;
  padding:.3rem 0;
  display:flex;
  align-items:center;
  gap:.55rem;
}
.service-card ul.service-sublist li::before{
  content:"";
  width:5px;
  height:5px;
  min-width:5px;
  background:var(--gold);
  border-radius:50%;
  display:inline-block;
}

/* ---- Country page intro (germany / spain / cyprus / turkey) ---- */
.country-intro{ padding:3.5rem 0 1rem; }
.country-intro .flag-emoji{
  font-size:2.8rem;
  margin-bottom:1rem;
  display:block;
}
.country-intro h2{
  font-weight:800;
  color:var(--navy);
  font-size:clamp(1.6rem, 3vw, 2.1rem);
  margin-bottom:1rem;
}
.country-intro p{
  color:var(--text-muted);
  font-size:.95rem;
  line-height:1.75;
  max-width:840px;
}
.country-intro p + p{ margin-top:1rem; }

/* ---- Benefits / "Why choose" grid (country pages) ---- */
.benefits-section{ padding:1rem 0 3.5rem; }
.benefit-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:1.2rem;
}
.benefit-item{
  background:#fff;
  border:1px solid var(--border-light);
  border-radius:10px;
  padding:1.4rem 1rem;
  text-align:center;
  transition:.2s;
}
.benefit-item:hover{ border-color:var(--gold); transform:translateY(-3px); }
.benefit-item i{
  font-size:1.6rem;
  color:var(--gold-dark);
  margin-bottom:.6rem;
  display:block;
}
.benefit-item span{
  font-size:.85rem;
  font-weight:700;
  color:var(--navy);
}

/* ---- News page (news.php) ---- */
.category-pills{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
  justify-content:center;
  margin-bottom:2.6rem;
}
.category-pills span{
  background:#fff;
  border:1px solid var(--border-light);
  color:#3c465c;
  font-size:.76rem;
  font-weight:600;
  padding:.45rem .9rem;
  border-radius:20px;
}
.news-card{
  background:#fff;
  border:1px solid var(--border-light);
  border-radius:12px;
  padding:1.5rem 1.4rem;
  height:100%;
  display:flex;
  flex-direction:column;
  transition:.25s;
}
.news-card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 32px rgba(15,32,68,.1);
}
.news-card .cat-badge{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  background:#fbf1de;
  color:var(--gold-dark);
  font-size:.66rem;
  font-weight:700;
  letter-spacing:.4px;
  text-transform:uppercase;
  padding:.32rem .75rem;
  border-radius:20px;
  margin-bottom:1rem;
  width:fit-content;
}
.news-card h4{
  font-size:1rem;
  font-weight:700;
  color:var(--navy);
  line-height:1.45;
  margin-bottom:.9rem;
}
.news-card .meta{
  margin-top:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:.75rem;
  color:var(--text-muted);
  padding-top:.9rem;
  border-top:1px dashed var(--border-light);
}
.news-card .meta a{ color:var(--navy); font-weight:700; }
.news-card .meta a:hover{ color:var(--gold-dark); }

/* ---- Program detail sections (Germany / Spain / Cyprus / Turkey deep-dive
   content, anchored from the Countries mega-menu — Opportunity Card,
   Ausbildung, Vocational Job Seeker Visa, Language Course, etc.) ---- */
.program-detail-section{
  padding:3.5rem 0;
  scroll-margin-top:110px; /* keeps content clear of the sticky navbar on anchor jump */
}
.program-detail-section:nth-of-type(even){ background:#fff; }
.program-detail-section > .container > .row > div > p{
  color:var(--text-muted);
  font-size:.95rem;
  line-height:1.75;
  margin-bottom:1rem;
}
.program-detail-section > .container > .row > div > p strong{ color:var(--navy); }

/* Accordion */
.program-detail-section .accordion-item{
  border:1px solid var(--border-light);
  border-radius:10px !important;
  overflow:hidden;
  margin-bottom:.9rem;
}
.program-detail-section .accordion-item:last-child{ margin-bottom:0; }
.program-detail-section .accordion-button{
  font-family:'Poppins', sans-serif;
  font-weight:700;
  font-size:.95rem;
  color:var(--navy);
  background:#fff;
  padding:1rem 1.3rem;
  box-shadow:none !important;
}
.program-detail-section .accordion-button i{ color:var(--gold-dark); }
.program-detail-section .accordion-button:not(.collapsed){
  background:#fbf1de;
  color:var(--navy);
}
.program-detail-section .accordion-button:focus{ box-shadow:none; }
.program-detail-section .accordion-button::after{
  background-size:1rem;
  width:1rem; height:1rem;
}
.program-detail-section .accordion-body{
  padding:1.2rem 1.3rem 1.4rem;
  font-size:.88rem;
  color:#3c465c;
  line-height:1.7;
}
.program-detail-section .accordion-body p{
  margin-bottom:.7rem;
}
.program-detail-section .accordion-body p:last-child{ margin-bottom:0; }

/* Detail bullet lists inside accordion bodies */
.program-detail-section ul.detail-list{
  list-style:none;
  padding:0;
  margin:0 0 .9rem;
}
.program-detail-section ul.detail-list:last-child{ margin-bottom:0; }
.program-detail-section ul.detail-list li{
  display:flex;
  align-items:flex-start;
  gap:.4rem;
  padding:.28rem 0;
  font-size:.88rem;
  color:#3c465c;
}
.program-detail-section ul.detail-list li i{
  color:var(--gold-dark);
  font-size:1.1rem;
  line-height:1;
  margin-top:.05rem;
}

@media (max-width: 767.98px){
  .program-detail-section{ padding:2.6rem 0; scroll-margin-top:90px; }
  .program-detail-section .accordion-button{ font-size:.88rem; padding:.85rem 1.05rem; }
  .program-detail-section .accordion-body{ padding:1rem 1.05rem 1.2rem; }
}
@media (max-width: 991.98px){
  .benefit-grid{ grid-template-columns:repeat(2, 1fr); }
}
@media (max-width: 767.98px){
  .content-section{ padding:2.6rem 0; }
  .country-intro{ padding:2.6rem 0 .6rem; }
  .service-card{ padding:1.5rem 1.3rem; }
}
@media (max-width: 575.98px){
  .benefit-grid{ grid-template-columns:1fr; }
  .category-pills{ justify-content:flex-start; }
}
