/* ===== Brand Variables ===== */
:root{
  --navy:#0b2545;
  --navy-dark:#081b34;
  --gold:#c8973a;
  --gold-light:#e0b969;
}

body{ font-family:'Inter', sans-serif; }
h1,h2,h3,h4,h5,h6{ font-family:'Poppins', sans-serif; }
html{ scroll-behavior:smooth; }

.text-navy{ color:var(--navy) !important; }
.text-gold{ color:var(--gold) !important; }
.text-gold-light{ color:var(--gold-light) !important; }
.text-light-70{ color:#c9d3e0 !important; }
.bg-navy{ background-color:var(--navy) !important; }
.bg-navy-dark{ background-color:var(--navy-dark) !important; }
.border-gold{ border-color:rgba(200,151,58,0.4) !important; }

/* ===== Buttons ===== */
.btn{ border-radius:50px; font-weight:600; }
.btn-primary{
  --bs-btn-bg:var(--gold); --bs-btn-border-color:var(--gold);
  --bs-btn-hover-bg:var(--gold-light); --bs-btn-hover-border-color:var(--gold-light);
  --bs-btn-active-bg:var(--gold-light); --bs-btn-active-border-color:var(--gold-light);
  --bs-btn-color:#fff; --bs-btn-hover-color:#fff; --bs-btn-active-color:#fff;
  box-shadow:0 8px 20px rgba(200,151,58,0.3);
}
.btn-outline-navy{
  --bs-btn-color:var(--navy); --bs-btn-border-color:var(--navy);
  --bs-btn-hover-bg:var(--navy); --bs-btn-hover-border-color:var(--navy); --bs-btn-hover-color:#fff;
  --bs-btn-active-bg:var(--navy); --bs-btn-active-border-color:var(--navy);
}
.btn-whatsapp{ background:#25D366; border-color:#25D366; color:#fff; }
.btn-whatsapp:hover{ background:#1ebe5b; border-color:#1ebe5b; color:#fff; }
.icon-btn{ width:44px; height:44px; display:inline-flex; align-items:center; justify-content:center; padding:0; }

/* ===== Navbar ===== */
.navbar-nav .nav-link{ font-weight:500; color:#1a2233; }
.navbar-nav .nav-link.active, .navbar-nav .nav-link:hover{ color:var(--gold); }
.topbar-item{ display:flex; align-items:center; gap:6px; }

/* ===== Hero ===== */
.hero-section{
  background:linear-gradient(135deg, var(--navy) 0%, var(--navy-dark) 100%);
  position:relative; overflow:hidden;
}
.hero-section::before{
  content:''; position:absolute; inset:0; pointer-events:none;
  background-image:radial-gradient(circle at 85% 20%, rgba(200,151,58,0.25), transparent 45%),
                    radial-gradient(circle at 10% 90%, rgba(200,151,58,0.15), transparent 40%);
}
.hero-section-sm{
  background:linear-gradient(135deg, var(--navy) 0%, var(--navy-dark) 100%);
}
.breadcrumb-item a{ color:var(--gold-light); text-decoration:none; font-weight:600; }
.breadcrumb-item + .breadcrumb-item::before{ color:#c9d3e0; }

/* ===== Hero Rotator (typewriter) ===== */
.hero-rotator::after{
  content:''; display:inline-block; width:3px; height:1em; background:var(--gold-light);
  margin-left:4px; vertical-align:-0.15em; animation:hero-rotator-blink 0.8s steps(1) infinite;
}
@keyframes hero-rotator-blink{ 50%{ opacity:0; } }

/* ===== Services Dropdown ===== */
.dropdown-menu{ max-height:70vh; overflow-y:auto; border:none; box-shadow:0 20px 45px rgba(11,37,69,0.14); border-radius:12px; padding:10px; }
.dropdown-item{ border-radius:8px; padding:8px 12px; font-size:0.9rem; }
.dropdown-item:hover, .dropdown-item:focus{ background-color:rgba(200,151,58,0.1); color:var(--navy); }
.dropdown-toggle::after{ vertical-align:0.15em; }

/* ===== Icon Circle ===== */
.icon-circle{
  width:56px; height:56px; border-radius:14px; flex-shrink:0;
  background:linear-gradient(135deg, var(--navy), var(--navy-dark));
  display:flex; align-items:center; justify-content:center;
}
.icon-circle i{ color:var(--gold-light); font-size:1.3rem; }

/* ===== Service Cards ===== */
.service-card{ transition:0.25s ease; }
.service-card:hover{ transform:translateY(-6px); box-shadow:0 20px 45px rgba(11,37,69,0.14) !important; }

/* ===== Process Steps ===== */
.process-num{
  width:64px; height:64px; border-radius:50%; background:#fff; border:2px solid var(--gold);
  color:var(--gold); font-family:'Poppins',sans-serif; font-weight:800; font-size:1.25rem;
  display:flex; align-items:center; justify-content:center; margin:0 auto 1rem;
  box-shadow:0 10px 30px rgba(11,37,69,0.08);
}

/* ===== About Image ===== */
.about-image-box{
  aspect-ratio:1/1; background:linear-gradient(135deg, var(--navy), var(--navy-dark));
  display:flex; align-items:center; justify-content:center;
}
.about-image-box i{ font-size:5rem; color:var(--gold-light); opacity:0.85; }

/* ===== CTA Banner ===== */
.cta-banner{ background:linear-gradient(135deg, var(--navy) 0%, var(--navy-dark) 100%); }

/* ===== Accordion (FAQ) ===== */
.accordion-button:not(.collapsed){ color:var(--navy); background-color:rgba(200,151,58,0.08); }
.accordion-button:focus{ box-shadow:0 0 0 0.2rem rgba(200,151,58,0.25); border-color:var(--gold); }

/* ===== Footer ===== */
.footer-links li{ margin-bottom:10px; }
.footer-links a{ color:#a9b6cc; text-decoration:none; font-size:0.9rem; }
.footer-links a:hover{ color:var(--gold-light); }

/* ===== Floating Buttons ===== */
.float-btn{
  position:fixed; right:26px; width:54px; height:54px; border-radius:50%; display:flex; align-items:center;
  justify-content:center; color:#fff; font-size:1.4rem; box-shadow:0 20px 45px rgba(11,37,69,0.2); z-index:1030;
  transition:0.25s ease;
}
.float-whatsapp{ bottom:26px; background:#25D366; }
.float-whatsapp:hover{ transform:scale(1.08); color:#fff; }
.float-call{ bottom:92px; background:var(--navy); font-size:1.2rem; }
.float-call:hover{ transform:scale(1.08); color:#fff; }
.float-top{
  bottom:158px; background:var(--gold); font-size:1.1rem; opacity:0; pointer-events:none; transform:translateY(10px); border:none;
}
.float-top.show{ opacity:1; pointer-events:auto; transform:translateY(0); }

@media (max-width:480px){
  .float-btn{ width:48px; height:48px; font-size:1.2rem; right:18px; }
  .float-whatsapp{ bottom:18px; }
  .float-call{ bottom:76px; }
  .float-top{ bottom:134px; }
}
