/* =============================================
   KANGAROO MIGRATION CONSULTANTS
   WordPress Theme — Main Stylesheet
   Color: Royal Blue #1877D4 (from logo)
============================================= */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&family=Playfair+Display:wght@400;600;700;800&display=swap');

:root {
  --blue: #1877D4;
  --blue-dark: #0F5BAE;
  --blue-darker: #0A3F7F;
  --blue-light: #3A91E8;
  --black: #0A0A0A;
  --dark: #1a1a2e;
  --white: #ffffff;
  --light: #F0F6FF;
  --light-grey: #f4f4f8;
  --text: #1a1a2e;
  --text-light: #6b7280;
  --border: #dce8f8;
  --success: #10b981;
  --shadow: 0 4px 24px rgba(24,119,212,0.12);
  --shadow-lg: 0 12px 48px rgba(24,119,212,0.18);
  --radius: 12px;
  --transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
}

*,*::before,*::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; }
body { font-family:'Poppins',sans-serif; color:var(--text); background:var(--white); overflow-x:hidden; line-height:1.6; }

h1,h2,h3,h4,h5 { font-family:'Playfair Display',serif; line-height:1.25; color:var(--dark); }
h1 { font-size:clamp(2rem,5vw,3.6rem); }
h2 { font-size:clamp(1.7rem,3.5vw,2.6rem); }
h3 { font-size:clamp(1.2rem,2.5vw,1.6rem); }
p  { color:var(--text-light); line-height:1.75; }
a  { text-decoration:none; color:inherit; transition:var(--transition); }
img { max-width:100%; display:block; }
ul { list-style:none; }

.container { max-width:1200px; margin:0 auto; padding:0 24px; }
.section-pad { padding:90px 0; }
.text-center { text-align:center; }
.text-center .section-subtitle { margin-left:auto; margin-right:auto; }

/* Labels & titles */
.section-label {
  display:inline-block;
  background:rgba(24,119,212,0.08);
  border:1px solid rgba(24,119,212,0.25);
  color:var(--blue-dark);
  font-size:0.75rem; font-weight:700;
  letter-spacing:2px; text-transform:uppercase;
  padding:6px 18px; border-radius:50px; margin-bottom:16px;
}
.section-title { margin-bottom:16px; }
.section-title span { color:var(--blue); }
.section-subtitle { font-size:1.02rem; max-width:600px; margin-bottom:50px; }

/* ---- BUTTONS ---- */
.btn {
  display:inline-flex; align-items:center; gap:10px;
  padding:14px 32px; border-radius:8px;
  font-weight:600; font-size:0.92rem; cursor:pointer;
  border:2px solid transparent; transition:var(--transition);
  font-family:'Poppins',sans-serif; white-space:nowrap;
}
.btn-primary {
  background:var(--blue);
  color:var(--white);
  box-shadow:0 4px 20px rgba(24,119,212,0.4);
}
.btn-primary:hover {
  background:var(--blue-dark);
  transform:translateY(-2px);
  box-shadow:0 8px 30px rgba(24,119,212,0.5);
  color:var(--white);
}
.btn-outline {
  border-color:var(--white); color:var(--white); background:transparent;
}
.btn-outline:hover { background:var(--white); color:var(--blue); }
.btn-outline-blue {
  border-color:var(--blue); color:var(--blue); background:transparent;
}
.btn-outline-blue:hover { background:var(--blue); color:var(--white); }
.btn-dark { background:var(--dark); color:var(--white); box-shadow:0 4px 20px rgba(0,0,0,0.25); }
.btn-dark:hover { background:#000; transform:translateY(-2px); color:var(--white); }

/* ============================================
   HEADER / NAV
============================================= */
.site-header {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  transition:var(--transition);
}
.site-header.scrolled {
  background:var(--white);
  box-shadow:0 2px 30px rgba(24,119,212,0.12);
}
.site-header.scrolled .nav-logo .logo-text { color:var(--dark); }
.site-header.scrolled .nav-logo .logo-sub  { color:var(--blue); }
.site-header.scrolled .nav-link { color:var(--text); }
.site-header.scrolled .nav-link:hover { color:var(--blue); }
.site-header.scrolled .nav-cta { color:var(--white) !important; }
.site-header.scrolled .hamburger span { background:var(--dark); }

.nav-wrapper {
  display:flex; align-items:center; justify-content:space-between;
  padding:0 24px; max-width:1280px; margin:0 auto; height:80px;
}

/* Logo */
.nav-logo { display:flex; align-items:center; gap:12px; text-decoration:none; }
.logo-img  { height:52px; width:auto; border-radius:10px; }
.logo-text-wrap { display:flex; flex-direction:column; }
.logo-text {
  font-family:'Playfair Display',serif; font-size:1.05rem; font-weight:800;
  color:var(--white); line-height:1.1;
}
.logo-sub {
  font-size:0.65rem; letter-spacing:1.5px; text-transform:uppercase;
  color:rgba(255,255,255,0.8); font-weight:500;
}

/* Nav links */
.nav-menu { display:flex; align-items:center; gap:4px; }
.nav-item  { position:relative; }
.nav-link {
  display:flex; align-items:center; gap:5px;
  padding:8px 14px; color:rgba(255,255,255,0.92);
  font-size:0.86rem; font-weight:500; border-radius:6px; cursor:pointer;
}
.nav-link:hover { color:rgba(255,255,255,0.7); background:rgba(255,255,255,0.08); }
.nav-link .chevron { font-size:0.65rem; transition:transform 0.2s; }
.nav-item:hover .chevron { transform:rotate(180deg); }

/* Dropdown */
.dropdown {
  position:absolute; top:calc(100% + 10px); left:50%;
  transform:translateX(-50%) translateY(10px);
  background:var(--white); border-radius:var(--radius);
  box-shadow:var(--shadow-lg); min-width:230px; padding:8px;
  opacity:0; visibility:hidden; transition:var(--transition);
  border:1px solid var(--border);
}
.nav-item:hover .dropdown {
  opacity:1; visibility:visible; transform:translateX(-50%) translateY(0);
}
.dropdown::before {
  content:''; position:absolute; top:-6px; left:50%; transform:translateX(-50%);
  border-left:6px solid transparent; border-right:6px solid transparent;
  border-bottom:6px solid var(--white);
}
.dropdown-item {
  display:flex; align-items:center; gap:12px;
  padding:10px 14px; border-radius:8px;
  color:var(--text); font-size:0.85rem; font-weight:500; transition:var(--transition);
}
.dropdown-item:hover { background:var(--light); color:var(--blue); transform:translateX(4px); }
.dropdown-item .di-icon {
  width:30px; height:30px;
  background:rgba(24,119,212,0.08); border-radius:6px;
  display:flex; align-items:center; justify-content:center;
  color:var(--blue); font-size:0.78rem; flex-shrink:0;
}

.nav-cta {
  padding:10px 22px !important;
  background:var(--white) !important;
  color:var(--blue) !important;
  border-radius:8px !important; font-weight:700 !important;
  box-shadow:0 2px 12px rgba(255,255,255,0.3);
}
.nav-cta:hover {
  background:var(--blue-dark) !important; color:var(--white) !important;
  transform:translateY(-1px);
}

/* Hamburger */
.hamburger {
  display:none; flex-direction:column; gap:5px;
  background:none; border:none; cursor:pointer; padding:4px;
}
.hamburger span {
  display:block; width:24px; height:2px;
  background:var(--white); border-radius:2px; transition:var(--transition);
}
.hamburger.active span:nth-child(1) { transform:rotate(45deg) translate(5px,5px); }
.hamburger.active span:nth-child(2) { opacity:0; }
.hamburger.active span:nth-child(3) { transform:rotate(-45deg) translate(5px,-5px); }

/* ============================================
   HERO
============================================= */
.hero {
  position:relative; min-height:100vh;
  display:flex; align-items:center; overflow:hidden;
  background:var(--blue-darker);
}
.hero-bg {
  position:absolute; inset:0;
  background-image:url('https://images.unsplash.com/photo-1523482580672-768316369f51?auto=format&fit=crop&w=1600&q=80');
  background-size:cover; background-position:center;
  animation:slowZoom 20s ease-in-out infinite alternate;
}
@keyframes slowZoom {
  from { transform:scale(1.02); }
  to   { transform:scale(1.1); }
}
.hero-overlay {
  position:absolute; inset:0;
  background:linear-gradient(135deg, rgba(10,63,127,0.92) 0%, rgba(24,119,212,0.78) 60%, rgba(10,63,127,0.88) 100%);
}
.particles { position:absolute; inset:0; overflow:hidden; pointer-events:none; }
.particle {
  position:absolute; width:3px; height:3px;
  background:rgba(255,255,255,0.5); border-radius:50%;
  animation:floatUp linear infinite;
}
@keyframes floatUp {
  0%   { transform:translateY(100vh); opacity:0; }
  10%  { opacity:1; }
  90%  { opacity:0.7; }
  100% { transform:translateY(-120px) rotate(360deg); opacity:0; }
}
.hero-content {
  position:relative; z-index:2;
  padding:130px 0 90px; width:100%;
}
.hero-badge {
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(255,255,255,0.12); border:1px solid rgba(255,255,255,0.3);
  padding:8px 20px; border-radius:50px;
  color:rgba(255,255,255,0.92); font-size:0.8rem; font-weight:600;
  letter-spacing:1px; margin-bottom:24px;
  animation:fadeInDown 0.8s ease both;
}
.hero-title {
  color:var(--white); margin-bottom:22px;
  animation:fadeInUp 0.8s ease 0.2s both;
}
.hero-title .highlight {
  color:#7EC8FD; display:block; font-style:italic;
}
.hero-desc {
  color:rgba(255,255,255,0.85); font-size:1.08rem;
  max-width:560px; margin-bottom:38px;
  animation:fadeInUp 0.8s ease 0.35s both;
}
.hero-buttons {
  display:flex; flex-wrap:wrap; gap:14px; margin-bottom:56px;
  animation:fadeInUp 0.8s ease 0.5s both;
}
.hero-trust {
  display:flex; align-items:center; flex-wrap:wrap; gap:24px;
  animation:fadeInUp 0.8s ease 0.65s both;
}
.trust-item {
  display:flex; align-items:center; gap:8px;
  color:rgba(255,255,255,0.8); font-size:0.83rem;
}
.trust-item i { color:#7EC8FD; }

/* Stats bar */
.stats-bar { position:relative; z-index:2; background:var(--white); }
.stats-inner {
  display:grid; grid-template-columns:repeat(4,1fr);
  border-radius:var(--radius) var(--radius) 0 0;
  overflow:hidden; box-shadow:0 -6px 32px rgba(24,119,212,0.1);
}
.stat-card {
  padding:30px 20px; text-align:center;
  border-right:1px solid var(--border); transition:var(--transition);
}
.stat-card:last-child { border-right:none; }
.stat-card:hover { background:var(--light); }
.stat-number {
  font-family:'Playfair Display',serif; font-size:2.2rem;
  font-weight:800; color:var(--blue); line-height:1; margin-bottom:6px;
}
.stat-label { font-size:0.78rem; color:var(--text-light); text-transform:uppercase; letter-spacing:0.5px; }

/* ============================================
   SERVICES
============================================= */
.services-section { background:var(--light); }
.services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.service-card {
  background:var(--white); border-radius:var(--radius);
  padding:34px 26px; border:1px solid var(--border);
  transition:var(--transition); position:relative; overflow:hidden;
  cursor:pointer; display:block; text-decoration:none;
}
.service-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:4px;
  background:linear-gradient(90deg,var(--blue-dark),var(--blue-light));
  transform:scaleX(0); transition:transform 0.3s ease;
}
.service-card:hover::before { transform:scaleX(1); }
.service-card:hover { box-shadow:var(--shadow-lg); transform:translateY(-6px); border-color:transparent; }
.service-icon {
  width:62px; height:62px; background:rgba(24,119,212,0.08);
  border-radius:14px; display:flex; align-items:center; justify-content:center;
  font-size:1.5rem; color:var(--blue); margin-bottom:18px; transition:var(--transition);
}
.service-card:hover .service-icon { background:var(--blue); color:var(--white); transform:scale(1.08); }
.service-card h3 { font-size:1.1rem; margin-bottom:10px; font-family:'Poppins',sans-serif; font-weight:700; color:var(--dark); }
.service-card p { font-size:0.86rem; margin-bottom:18px; }
.service-link {
  display:inline-flex; align-items:center; gap:6px;
  color:var(--blue); font-size:0.83rem; font-weight:600;
}
.service-card:hover .service-link { gap:10px; }

/* ============================================
   ABOUT
============================================= */
.about-section { background:var(--white); }
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.about-img-main {
  width:100%; height:460px; object-fit:cover;
  border-radius:20px; box-shadow:var(--shadow-lg);
}
.about-badge {
  position:absolute; top:28px; right:-20px;
  background:var(--blue); color:var(--white);
  padding:16px 20px; border-radius:14px; text-align:center;
  box-shadow:0 8px 30px rgba(24,119,212,0.4); font-weight:700;
}
.about-badge .big { font-size:1.9rem; line-height:1; display:block; font-family:'Playfair Display',serif; }
.about-badge .small { font-size:0.68rem; text-transform:uppercase; letter-spacing:1px; }
.about-image-wrap { position:relative; }
.about-features { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:28px 0; }
.feature-item { display:flex; align-items:flex-start; gap:12px; }
.feature-item i {
  width:36px; height:36px; background:var(--blue); color:var(--white);
  border-radius:8px; display:flex; align-items:center; justify-content:center;
  font-size:0.82rem; flex-shrink:0; margin-top:2px;
}
.feature-item h4 { font-size:0.86rem; margin-bottom:2px; color:var(--dark); font-family:'Poppins',sans-serif; }
.feature-item p  { font-size:0.78rem; }

/* ============================================
   WHY CHOOSE US
============================================= */
.why-section {
  background:linear-gradient(135deg,var(--blue-darker),var(--blue-dark));
  position:relative; overflow:hidden;
}
.why-section::before {
  content:''; position:absolute; top:-80px; right:-80px;
  width:350px; height:350px;
  background:radial-gradient(circle,rgba(255,255,255,0.06) 0%,transparent 70%);
  border-radius:50%;
}
.why-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; position:relative; z-index:1; }
.why-card {
  background:rgba(255,255,255,0.07); border:1px solid rgba(255,255,255,0.12);
  border-radius:var(--radius); padding:34px 22px; text-align:center;
  transition:var(--transition); backdrop-filter:blur(10px);
}
.why-card:hover { background:rgba(255,255,255,0.12); border-color:rgba(255,255,255,0.3); transform:translateY(-5px); }
.why-icon {
  width:66px; height:66px; background:rgba(255,255,255,0.15);
  border-radius:16px; display:flex; align-items:center; justify-content:center;
  font-size:1.5rem; color:var(--white); margin:0 auto 18px;
}
.why-card h3 { color:var(--white); font-family:'Poppins',sans-serif; font-size:0.95rem; font-weight:600; margin-bottom:10px; }
.why-card p  { color:rgba(255,255,255,0.7); font-size:0.83rem; }

/* ============================================
   PROCESS
============================================= */
.process-section { background:var(--light); }
.process-steps {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:0; position:relative;
}
.process-steps::before {
  content:''; position:absolute; top:44px; left:12.5%; width:75%; height:2px;
  background:linear-gradient(90deg,var(--blue),var(--blue-light)); z-index:0;
}
.process-step { text-align:center; position:relative; z-index:1; padding:0 16px; }
.step-num {
  width:88px; height:88px; background:var(--white);
  border:3px solid var(--border); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-family:'Playfair Display',serif; font-size:1.5rem; font-weight:800;
  color:var(--text-light); margin:0 auto 22px; transition:var(--transition);
}
.process-step:hover .step-num {
  background:var(--blue); color:var(--white);
  border-color:var(--blue); transform:scale(1.1);
}
.process-step h4 { margin-bottom:8px; color:var(--dark); font-family:'Poppins',sans-serif; }
.process-step p  { font-size:0.83rem; }

/* ============================================
   CONSULTATION FORM
============================================= */
.form-section { background:var(--white); position:relative; overflow:hidden; }
.form-grid {
  display:grid; grid-template-columns:1fr 1fr;
  border-radius:20px; overflow:hidden; box-shadow:var(--shadow-lg);
}
.form-left {
  background:linear-gradient(160deg,var(--blue-darker),var(--blue));
  padding:56px 44px; color:var(--white); position:relative; overflow:hidden;
}
.form-left::after {
  content:'🦘'; position:absolute; bottom:-20px; right:-20px;
  font-size:7rem; opacity:0.06; transform:scaleX(-1);
}
.form-left h2 { color:var(--white); margin-bottom:14px; }
.form-left p  { color:rgba(255,255,255,0.75); margin-bottom:32px; }
.contact-info-list { display:flex; flex-direction:column; gap:18px; }
.contact-info-list li {
  display:flex; align-items:center; gap:14px;
  color:rgba(255,255,255,0.85); font-size:0.88rem;
}
.contact-info-list li i {
  width:38px; height:38px; background:rgba(255,255,255,0.12);
  border:1px solid rgba(255,255,255,0.2); border-radius:10px;
  display:flex; align-items:center; justify-content:center;
  color:var(--white); font-size:0.83rem; flex-shrink:0;
}

.form-right { background:var(--white); padding:56px 44px; }
.form-right h3 {
  font-size:1.35rem; margin-bottom:6px; color:var(--dark);
  font-family:'Poppins',sans-serif; font-weight:700;
}
.form-right p  { font-size:0.86rem; margin-bottom:26px; }
.consult-form, .contact-form, .popup-form { display:flex; flex-direction:column; gap:14px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.form-group { display:flex; flex-direction:column; gap:5px; }
.form-group label { font-size:0.8rem; font-weight:600; color:var(--text); }
.form-group input,
.form-group select,
.form-group textarea {
  padding:11px 15px; border:1.5px solid var(--border); border-radius:8px;
  font-size:0.86rem; color:var(--text); font-family:'Poppins',sans-serif;
  transition:var(--transition); background:var(--white); outline:none;
  -webkit-appearance:none; appearance:none;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  border-color:var(--blue); box-shadow:0 0 0 3px rgba(24,119,212,0.1);
}
.form-group textarea { resize:vertical; min-height:88px; }
.form-submit .btn { width:100%; justify-content:center; padding:14px; }
.form-note { font-size:0.73rem; color:var(--text-light); text-align:center; }

/* ============================================
   TESTIMONIALS
============================================= */
.testimonials-section { background:var(--light); }
.testimonials-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.testimonial-card {
  background:var(--white); border-radius:var(--radius);
  padding:34px 26px; border:1px solid var(--border); transition:var(--transition);
}
.testimonial-card:hover { box-shadow:var(--shadow); transform:translateY(-4px); }
.quote-icon { font-size:2.8rem; color:var(--blue); opacity:0.25; line-height:1; margin-bottom:14px; font-family:Georgia,serif; }
.stars { color:#f59e0b; font-size:0.88rem; margin-bottom:12px; }
.testimonial-text { font-size:0.88rem; color:var(--text); line-height:1.8; margin-bottom:22px; font-style:italic; }
.testimonial-author { display:flex; align-items:center; gap:12px; }
.author-avatar { width:46px; height:46px; border-radius:50%; object-fit:cover; border:2px solid var(--blue); }
.author-name  { font-weight:700; font-size:0.86rem; color:var(--dark); display:block; }
.author-visa  { font-size:0.76rem; color:var(--blue); font-weight:500; }

/* ============================================
   BLOG
============================================= */
.blog-section { background:var(--white); }
.blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.blog-card {
  border-radius:var(--radius); overflow:hidden;
  border:1px solid var(--border); transition:var(--transition);
  background:var(--white); display:block; text-decoration:none;
}
.blog-card:hover { box-shadow:var(--shadow); transform:translateY(-4px); border-color:transparent; }
.blog-img-wrap { overflow:hidden; }
.blog-img { width:100%; height:196px; object-fit:cover; transition:transform 0.5s ease; }
.blog-card:hover .blog-img { transform:scale(1.05); }
.blog-body { padding:22px 22px 26px; }
.blog-tag {
  display:inline-block; background:rgba(24,119,212,0.08);
  color:var(--blue); padding:3px 11px; border-radius:50px;
  font-size:0.7rem; font-weight:600; letter-spacing:0.5px;
  margin-bottom:10px; text-transform:uppercase;
}
.blog-card h3 {
  font-size:0.96rem; font-family:'Poppins',sans-serif; font-weight:700;
  margin-bottom:9px; color:var(--dark); line-height:1.4; transition:var(--transition);
}
.blog-card:hover h3 { color:var(--blue); }
.blog-card p   { font-size:0.82rem; margin-bottom:14px; }
.blog-meta { display:flex; align-items:center; gap:14px; font-size:0.76rem; color:var(--text-light); }
.blog-meta i { color:var(--blue); }

/* ============================================
   CTA BANNER
============================================= */
.cta-section {
  background:linear-gradient(135deg,var(--blue-dark),var(--blue));
  padding:80px 0; text-align:center; position:relative; overflow:hidden;
}
.cta-section::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='none'%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/g%3E%3C/svg%3E");
}
.cta-section h2 { color:var(--white); position:relative; }
.cta-section p  { color:rgba(255,255,255,0.8); max-width:540px; margin:14px auto 34px; position:relative; font-size:1.02rem; }
.cta-buttons { display:flex; justify-content:center; gap:14px; flex-wrap:wrap; position:relative; }

/* ============================================
   FOOTER
============================================= */
.site-footer { background:#050e1f; color:rgba(255,255,255,0.7); }
.footer-top {
  padding:68px 0 48px;
  display:grid; grid-template-columns:1.5fr 1fr 1fr 1.2fr; gap:44px;
}
.footer-brand p { font-size:0.83rem; line-height:1.8; margin:18px 0 22px; color:rgba(255,255,255,0.55); }
.footer-logo-img { height:56px; width:auto; border-radius:10px; }
.footer-logo-text {
  font-family:'Playfair Display',serif; font-size:1.05rem; font-weight:800;
  color:var(--white); line-height:1.1;
}
.footer-logo-sub { font-size:0.63rem; letter-spacing:1.5px; text-transform:uppercase; color:rgba(255,255,255,0.55); }
.social-links { display:flex; gap:9px; }
.social-link {
  width:36px; height:36px; background:rgba(255,255,255,0.07);
  border-radius:8px; display:flex; align-items:center; justify-content:center;
  color:rgba(255,255,255,0.6); font-size:0.88rem; transition:var(--transition);
}
.social-link:hover { background:var(--blue); color:var(--white); transform:translateY(-2px); }
.footer-col h4 {
  color:var(--white); font-family:'Poppins',sans-serif;
  font-size:0.88rem; font-weight:700; margin-bottom:18px;
  position:relative; padding-bottom:10px;
}
.footer-col h4::after {
  content:''; position:absolute; bottom:0; left:0;
  width:28px; height:2px; background:var(--blue);
}
.footer-links { display:flex; flex-direction:column; gap:9px; }
.footer-links a {
  color:rgba(255,255,255,0.55); font-size:0.83rem; transition:var(--transition);
  display:flex; align-items:center; gap:6px;
}
.footer-links a:hover { color:var(--blue-light); transform:translateX(4px); }
.footer-links a i { font-size:0.62rem; color:var(--blue); }
.footer-contact-list { display:flex; flex-direction:column; gap:13px; }
.footer-contact-list li {
  display:flex; align-items:flex-start; gap:11px;
  font-size:0.81rem; color:rgba(255,255,255,0.55);
}
.footer-contact-list li i { color:var(--blue); margin-top:2px; flex-shrink:0; }
.footer-bottom {
  border-top:1px solid rgba(255,255,255,0.07); padding:20px 0;
  display:flex; justify-content:space-between; align-items:center;
  flex-wrap:wrap; gap:10px; font-size:0.78rem; color:rgba(255,255,255,0.38);
}
.footer-bottom a { color:var(--blue-light); }

/* ============================================
   POPUP
============================================= */
.popup-overlay {
  position:fixed; inset:0; background:rgba(5,14,31,0.75);
  backdrop-filter:blur(4px); z-index:9999;
  display:flex; align-items:center; justify-content:center; padding:20px;
  opacity:0; visibility:hidden; transition:var(--transition);
}
.popup-overlay.active { opacity:1; visibility:visible; }
.popup-box {
  background:var(--white); border-radius:20px; overflow:hidden;
  width:100%; max-width:760px; display:grid; grid-template-columns:1fr 1fr;
  transform:scale(0.9) translateY(20px); transition:var(--transition);
  box-shadow:0 30px 80px rgba(0,0,0,0.35);
}
.popup-overlay.active .popup-box { transform:scale(1) translateY(0); }
.popup-left {
  background:linear-gradient(160deg,var(--blue-darker),var(--blue));
  padding:38px 30px; color:var(--white);
  display:flex; flex-direction:column; justify-content:center;
  position:relative; overflow:hidden;
}
.popup-left::after {
  content:'🦘'; position:absolute; bottom:-20px; right:-20px;
  font-size:6rem; opacity:0.07;
}
.popup-tag {
  display:inline-block; background:rgba(255,255,255,0.15);
  border:1px solid rgba(255,255,255,0.25);
  color:rgba(255,255,255,0.9); padding:5px 14px; border-radius:50px;
  font-size:0.72rem; font-weight:600; letter-spacing:1px; margin-bottom:18px;
}
.popup-left h2 { color:var(--white); font-size:1.5rem; margin-bottom:12px; }
.popup-left p  { color:rgba(255,255,255,0.7); font-size:0.83rem; margin-bottom:22px; }
.popup-benefits { display:flex; flex-direction:column; gap:9px; }
.popup-benefits li { display:flex; align-items:center; gap:9px; font-size:0.82rem; color:rgba(255,255,255,0.85); }
.popup-benefits li i { color:#7EC8FD; }
.popup-right { padding:34px 30px; position:relative; }
.popup-close {
  position:absolute; top:14px; right:14px;
  width:30px; height:30px; background:var(--light); border:none;
  border-radius:50%; cursor:pointer; display:flex; align-items:center;
  justify-content:center; font-size:0.83rem; color:var(--text-light);
  transition:var(--transition);
}
.popup-close:hover { background:var(--blue); color:var(--white); }
.popup-right h3 { font-size:1.15rem; margin-bottom:4px; font-family:'Poppins',sans-serif; font-weight:700; color:var(--dark); }
.popup-right p  { font-size:0.8rem; margin-bottom:18px; }

/* ============================================
   PAGE HERO (inner pages)
============================================= */
.page-hero {
  background:linear-gradient(135deg,var(--blue-darker),var(--blue));
  padding:140px 0 68px; text-align:center; position:relative; overflow:hidden;
}
.page-hero::before {
  content:''; position:absolute; inset:0;
  background-image:url('https://images.unsplash.com/photo-1523482580672-768316369f51?auto=format&fit=crop&w=1400&q=50');
  background-size:cover; background-position:center; opacity:0.07;
}
.page-hero h1 { color:var(--white); position:relative; }
.page-hero p   { color:rgba(255,255,255,0.75); max-width:600px; margin:14px auto 0; position:relative; }
.breadcrumb {
  display:flex; align-items:center; justify-content:center; gap:8px;
  margin-bottom:18px; font-size:0.8rem; color:rgba(255,255,255,0.6); position:relative;
}
.breadcrumb a { color:#7EC8FD; }
.breadcrumb i { font-size:0.58rem; }

/* ============================================
   VISA DETAIL PAGES
============================================= */
.visa-grid { display:grid; grid-template-columns:2fr 1fr; gap:44px; align-items:start; }
.visa-sidebar { position:sticky; top:100px; }
.sidebar-card {
  background:var(--light); border-radius:var(--radius);
  padding:28px 24px; border:1px solid var(--border); margin-bottom:20px;
}
.sidebar-card h4 {
  color:var(--dark); margin-bottom:18px; padding-bottom:10px;
  border-bottom:2px solid var(--blue); font-size:0.96rem; font-family:'Poppins',sans-serif;
}
.sidebar-links { display:flex; flex-direction:column; gap:6px; }
.sidebar-links a {
  display:flex; align-items:center; gap:10px;
  padding:9px 13px; border-radius:8px; color:var(--text);
  font-size:0.84rem; transition:var(--transition); border:1px solid transparent;
}
.sidebar-links a:hover, .sidebar-links a.active {
  background:var(--white); border-color:var(--border); color:var(--blue); box-shadow:var(--shadow);
}
.sidebar-links a i { color:var(--blue); }
.quick-apply {
  background:linear-gradient(135deg,var(--blue-darker),var(--blue));
  border-radius:var(--radius); padding:28px 24px; text-align:center;
}
.quick-apply h4 { color:var(--white); margin-bottom:10px; font-size:1rem; }
.quick-apply p  { color:rgba(255,255,255,0.72); font-size:0.83rem; margin-bottom:18px; }
.quick-apply .btn { width:100%; justify-content:center; }

.visa-main h2 { margin:28px 0 14px; font-size:1.45rem; }
.visa-main h2:first-child { margin-top:0; }
.requirements-list { display:flex; flex-direction:column; gap:10px; margin:14px 0 22px; }
.requirements-list li {
  display:flex; align-items:flex-start; gap:12px;
  padding:12px 15px; background:var(--light); border-radius:8px;
  font-size:0.86rem; color:var(--text);
}
.requirements-list li i { color:var(--blue); margin-top:1px; flex-shrink:0; }
.info-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin:20px 0; }
.info-card {
  background:var(--light); border-radius:var(--radius);
  padding:18px; text-align:center; border:1px solid var(--border);
}
.info-card .label { font-size:0.72rem; color:var(--text-light); text-transform:uppercase; letter-spacing:0.5px; margin-bottom:5px; }
.info-card .value { font-size:1.05rem; font-weight:700; color:var(--blue); }
.tip-box {
  background:rgba(24,119,212,0.05); border:1px solid var(--border);
  border-left:4px solid var(--blue); border-radius:var(--radius);
  padding:22px 26px; margin:20px 0;
}
.tip-box h4 { color:var(--dark); margin-bottom:8px; font-family:'Poppins',sans-serif; }
.tip-box p  { font-size:0.86rem; margin:0; }

/* ============================================
   ABOUT PAGE
============================================= */
.team-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.team-card {
  background:var(--white); border-radius:var(--radius); overflow:hidden;
  border:1px solid var(--border); transition:var(--transition); text-align:center;
}
.team-card:hover { box-shadow:var(--shadow); transform:translateY(-4px); }
.team-img { width:100%; height:210px; object-fit:cover; }
.team-body { padding:18px; }
.team-name { font-size:0.96rem; font-weight:700; color:var(--dark); margin-bottom:3px; font-family:'Poppins',sans-serif; }
.team-role { font-size:0.78rem; color:var(--blue); font-weight:500; margin-bottom:10px; }
.team-socials { display:flex; justify-content:center; gap:7px; }
.team-socials a {
  width:28px; height:28px; background:var(--light); border-radius:6px;
  display:flex; align-items:center; justify-content:center;
  color:var(--text-light); font-size:0.72rem; transition:var(--transition);
}
.team-socials a:hover { background:var(--blue); color:var(--white); }

/* ============================================
   BLOG PAGE
============================================= */
.blog-archive-grid { display:grid; grid-template-columns:2fr 1fr; gap:48px; align-items:start; }
.blog-posts-grid   { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.blog-sidebar      { position:sticky; top:100px; }
.blog-sidebar .sidebar-card h4 { font-family:'Poppins',sans-serif; }
.recent-post { display:flex; gap:12px; margin-bottom:16px; padding-bottom:16px; border-bottom:1px solid var(--border); }
.recent-post:last-child { margin-bottom:0; padding-bottom:0; border-bottom:none; }
.recent-post img { width:64px; height:64px; object-fit:cover; border-radius:8px; flex-shrink:0; }
.recent-post h5 { font-size:0.82rem; font-family:'Poppins',sans-serif; font-weight:600; color:var(--dark); line-height:1.35; margin-bottom:4px; }
.recent-post span { font-size:0.73rem; color:var(--text-light); }

/* ============================================
   CONTACT PAGE
============================================= */
.map-placeholder {
  width:100%; height:380px;
  background:linear-gradient(135deg,var(--light),#e8f0fb);
  border-radius:var(--radius); display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  border:2px dashed var(--border); color:var(--text-light); gap:10px;
}
.map-placeholder i { font-size:2.8rem; color:var(--blue); }
.map-placeholder p { font-size:0.88rem; }

/* ============================================
   WP CORE OVERRIDES
============================================= */
.wp-block-image img { border-radius:8px; }
.aligncenter { margin:0 auto; }
.entry-content h2,
.entry-content h3 { margin:28px 0 14px; }
.entry-content p  { margin-bottom:16px; }
.entry-content ul,
.entry-content ol { margin:16px 0 16px 24px; }
.entry-content ul li,
.entry-content ol li { margin-bottom:6px; font-size:0.92rem; color:var(--text-light); }
.wp-pagenavi,
.navigation { text-align:center; margin:40px 0; }
.wp-pagenavi a,
.wp-pagenavi span,
.nav-links a {
  display:inline-block; padding:8px 16px; border-radius:8px;
  background:var(--light); color:var(--text); font-size:0.85rem;
  margin:0 4px; border:1px solid var(--border); transition:var(--transition);
}
.wp-pagenavi a:hover, .nav-links a:hover,
.wp-pagenavi span.current { background:var(--blue); color:var(--white); border-color:var(--blue); }

/* ============================================
   ANIMATIONS
============================================= */
@keyframes fadeInDown { from { opacity:0; transform:translateY(-20px); } to { opacity:1; transform:translateY(0); } }
@keyframes fadeInUp   { from { opacity:0; transform:translateY(30px);  } to { opacity:1; transform:translateY(0); } }

[data-aos] { opacity:0; transition:opacity 0.6s ease, transform 0.6s ease; }
[data-aos="fade-up"]    { transform:translateY(30px); }
[data-aos="fade-right"] { transform:translateX(-30px); }
[data-aos="fade-left"]  { transform:translateX(30px); }
[data-aos="zoom-in"]    { transform:scale(0.9); }
[data-aos].aos-animate  { opacity:1 !important; transform:none !important; }

/* ============================================
   RESPONSIVE
============================================= */
@media (max-width:1024px) {
  .services-grid { grid-template-columns:repeat(2,1fr); }
  .why-grid { grid-template-columns:repeat(2,1fr); }
  .footer-top { grid-template-columns:1fr 1fr; gap:30px; }
  .about-grid { gap:36px; }
  .team-grid { grid-template-columns:repeat(2,1fr); }
  .blog-archive-grid { grid-template-columns:1fr; }
  .blog-sidebar { position:static; }
  .blog-posts-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:900px) {
  .nav-menu { display:none; }
  .hamburger { display:flex; }
  .nav-menu.mobile-open {
    display:flex; flex-direction:column;
    position:fixed; top:80px; left:0; right:0; bottom:0;
    background:var(--blue-darker); padding:24px;
    gap:4px; overflow-y:auto; z-index:999;
  }
  .nav-menu.mobile-open .nav-link { color:var(--white); padding:13px 16px; border-radius:8px; width:100%; font-size:0.95rem; }
  .nav-menu.mobile-open .dropdown {
    position:static; transform:none; visibility:visible; opacity:1;
    background:rgba(255,255,255,0.06); box-shadow:none;
    border-color:rgba(255,255,255,0.1); min-width:auto;
    margin:6px 0 6px 16px;
  }
  .nav-menu.mobile-open .dropdown::before { display:none; }
  .nav-menu.mobile-open .dropdown-item { color:rgba(255,255,255,0.8); font-size:0.88rem; }
  .nav-menu.mobile-open .nav-cta { margin-top:10px; justify-content:center; background:var(--blue) !important; color:var(--white) !important; }
  .stats-inner { grid-template-columns:repeat(2,1fr); }
  .about-grid  { grid-template-columns:1fr; }
  .about-img-main { height:300px; }
  .about-badge { right:16px; }
  .form-grid  { grid-template-columns:1fr; }
  .popup-box  { grid-template-columns:1fr; max-width:460px; }
  .popup-left { display:none; }
  .process-steps { grid-template-columns:repeat(2,1fr); }
  .process-steps::before { display:none; }
  .testimonials-grid { grid-template-columns:1fr 1fr; }
  .visa-grid  { grid-template-columns:1fr; }
  .visa-sidebar { position:static; }
}
@media (max-width:600px) {
  .section-pad { padding:60px 0; }
  .services-grid { grid-template-columns:1fr; }
  .why-grid { grid-template-columns:1fr; }
  .testimonials-grid { grid-template-columns:1fr; }
  .blog-grid { grid-template-columns:1fr; }
  .blog-posts-grid { grid-template-columns:1fr; }
  .form-row { grid-template-columns:1fr; }
  .footer-top { grid-template-columns:1fr; }
  .stats-inner { grid-template-columns:1fr 1fr; }
  .team-grid { grid-template-columns:1fr 1fr; }
  .process-steps { grid-template-columns:1fr 1fr; }
  .footer-bottom { flex-direction:column; text-align:center; }
  .hero-buttons { flex-direction:column; align-items:flex-start; }
  .info-cards { grid-template-columns:1fr 1fr; }
  .about-features { grid-template-columns:1fr; }
}
