:root{
  --primary:#1f6f78;
  --secondary:#2f9fa9;
  --dark:#1f2933;
  --muted:#4b5563;
  --overlay-dark: rgba(2,6,23,.78);
  --overlay-light: rgba(2,6,23,.45);
}

/* BASE */
body{
  font-family:Inter,system-ui,sans-serif;
  background:#f8fafc;
  color:var(--dark);
  padding-top:80px;
}

h1,h2,h3{
  font-family:Poppins,sans-serif;
  letter-spacing:-0.02em;
}

p{
  color:var(--muted);
  line-height:1.7;
}

/* NAVBAR */
.navbar{
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(14px);
  border-bottom:1px solid #e5e7eb;
}

.navbar-brand img{
  height:44px;
}

/* HERO */
.hero-banner{
  min-height:calc(100vh - 80px);
  display:flex;
  align-items:center;
  color:#fff;
  background:
    linear-gradient(
      to right,
      var(--overlay-dark),
      var(--overlay-dark),
      var(--overlay-light)
    ),
    url("images/hero-banner.png") center/cover no-repeat;
}

.hero-content{
  background:rgba(15,23,42,.58);
  backdrop-filter:blur(9px);
  border-radius:22px;
  padding:44px;
  box-shadow:0 30px 65px rgba(0,0,0,.35);
  max-width:700px;
}

.hero-banner h1,
.hero-banner p{
  text-shadow:0 4px 14px rgba(0,0,0,.7);
}

.hero-banner h1 span{
  color:#8be3e9;
}

/* BUTTONS */
.btn-main{
  background:linear-gradient(135deg,var(--secondary),var(--primary));
  color:#fff;
  border-radius:14px;
  padding:14px 36px;
  font-weight:600;
  box-shadow:0 12px 28px rgba(47,159,169,.35);
}

.btn-main:hover{
  opacity:.96;
  color:#fff;
  transform:translateY(-2px);
}

/* CARDS */
.card-glass{
  background:#fff;
  border-radius:22px;
  padding:36px;
  box-shadow:0 20px 40px rgba(2,6,23,.08);
  transition:.35s ease;
  height:100%;
}

.card-glass:hover{
  transform:translateY(-10px);
  box-shadow:0 40px 70px rgba(2,6,23,.18);
}

/* SECTION */
.section-soft{
  background:linear-gradient(180deg,#f8fafc,#eef6f7);
}

/* FOOTER */
/* ================= USER FRIENDLY FOOTER ================= */

.footer-simple {
  background: #0f172a;
  color: #cbd5f5;
  padding: 48px 0 24px;
}

.footer-logo {
  height: 38px;
}

.footer-title {
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 12px;
}

.footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-links li {
  margin-bottom: 8px;
}

.footer-links a {
  color: #cbd5f5;
  text-decoration: none;
  font-size: 14px;
}

.footer-links a:hover {
  color: #8be3e9;
  text-decoration: underline;
}

.footer-simple a {
  color: #cbd5f5;
}

.footer-simple a:hover {
  color: #8be3e9;
}

.footer-bottom {
  border-top: 1px solid rgba(203,213,245,.15);
  padding-top: 14px;
  color: #94a3b8;
}

/* MOBILE */
@media (max-width: 768px) {
  .footer-simple {
    text-align: center;
  }

  .footer-simple .btn {
    width: 100%;
  }
}


/* MOBILE */
@media(max-width:768px){
  .hero-banner{
    text-align:center;
    background:
      linear-gradient(rgba(2,6,23,.88),rgba(2,6,23,.88)),
      url("images/hero-banner.png") center/cover no-repeat;
  }
  .hero-content{
    padding:30px;
    margin-inline:auto;
  }
}

/* ================= PRODUCT STYLE NAVBAR ================= */

.navbar-product{
  background:#ffffff;
  border-bottom:1px solid #e5e7eb;
  padding:14px 0;
}

.navbar-product .navbar-brand img{
  transition: transform .3s ease;
}

.navbar-product .navbar-brand:hover img{
  transform: translateY(-1px);
}

/* NAV LINKS */
.nav-underline{
  position:relative;
  font-weight:500;
  color:#0f172a !important;
  padding:6px 2px;
}

.nav-underline::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-6px;
  width:0;
  height:2px;
  background:#2f9fa9;
  transition:width .25s ease;
}

.nav-underline:hover::after,
.nav-underline.active::after{
  width:100%;
}

/* CTA BUTTONS */
.btn-outline-cta{
  border:1.5px solid #2f9fa9;
  color:#2f9fa9;
  border-radius:10px;
  padding:8px 18px;
  font-weight:500;
}

.btn-outline-cta:hover{
  background:#1f9393;
  color:#fff;
}

.btn-solid-cta{
  background:#0f172a;
  color:#fff;
  border-radius:10px;
  padding:9px 20px;
  font-weight:600;
}

.btn-solid-cta:hover{
  opacity:.9;
}

/* MOBILE */
@media(max-width:991px){
  .navbar-collapse{
    background:#ffffff;
    margin-top:14px;
    padding:20px;
    border-radius:18px;
    box-shadow:0 25px 50px rgba(0,0,0,.12);
  }

  .nav-underline{
    display:block;
    padding:12px 0;
    text-align:center;
  }
}

/* ================= STICKY HEADER SYSTEM ================= */

#site-header{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  z-index:1030;
  transition:transform .35s ease;
}

/* Topbar */
#topbar{
  height:36px;
  font-size:14px;
  background-color: #1f9393;
}

/* Navbar default position */
.navbar{
  transition:all .35s ease;
}

/* Scrolled state
#site-header.scrolled #topbar{
  transform:translateY(-100%);
  opacity:0;
}
 */
/* Navbar moves to top when scrolled 
#site-header.scrolled .navbar{
  margin-top:0;
  box-shadow:0 12px 30px rgba(2,6,23,.15);
}

*/
/* Mobile */
@media(max-width:768px){
  #topbar{
    display:none;
  }
  body{
    padding-top:76px;
  }
}

.hero-slide {
  min-height: calc(100vh - 80px);
  display: flex;
  align-items: center;
  color: #fff;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
}

/* Overlay */
.hero-slide::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to right,
    rgba(2,6,23,.78),
    rgba(2,6,23,.78),
    rgba(2,6,23,.45)
  );
}

.hero-slide .container {
  position: relative;
  z-index: 2;
}

/* Different images per slide */
.slide-1 {
  background-image: url("images/hero-banner.png");
}

.slide-2 {
  background-image: url("images/hero-banner-2.png");
}


.process-card {
  background: rgba(255,255,255,.9);
  border-radius: 18px;
  padding: 45px 20px 30px;
  position: relative;
  height: 100%;
  box-shadow: 0 12px 30px rgba(0,0,0,.08);
  z-index: 1;
}

/* STEP NUMBER ICON */
.process-icon {
  width: 58px;
  height: 58px;
  background: linear-gradient(135deg, #1f6f78, #2f9fa9);
  color: #fff;
  border-radius: 50%;
  font-size: 22px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: -75px auto 18px;
  box-shadow: 0 8px 20px rgba(47,159,169,.35);
}

/* ANIMATED CONNECTING LINE */
.process-line {
  position: absolute;
  top: 55px;
  left: 12%;
  width: 76%;
  height: 3px;
  background: linear-gradient(
    90deg,
    #1f6f78 0%,
    #2f9fa9 50%,
    #1f6f78 100%
  );
  background-size: 200% 100%;
  animation: lineFlow 3s linear infinite;
  z-index: 0;
}

/* Animation */
@keyframes lineFlow {
  from { background-position: 0% 50%; }
  to { background-position: 200% 50%; }
}

/* MOBILE FIX */
@media (max-width: 991px) {
  .process-line {
    display: none;
  }
}

.who-we-are {
  background: #faf9fd;
}

/* Heading */
.who-we-are h2 {
  font-size: 2.6rem;
  color: #111827;
}

/* Paragraphs */
.who-we-are p {
  font-size: 1rem;
  line-height: 1.8;
  color: #374151;
  margin-bottom: 18px;
}

/* Brand Highlight */
.brand-highlight {
  color: #1f6f78;
  font-weight: 600;
}

/* Image Card */
.who-image {
  background: #ffffff;
  padding: 12px;
  border-radius: 24px;
  box-shadow: 0 20px 50px rgba(0,0,0,.12);
}

.who-image img {
  border-radius: 18px;
  width: 100%;
  object-fit: cover;
}

/* Mobile Optimization */
@media (max-width: 991px) {
  .who-we-are h2 {
    font-size: 2.1rem;
  }

  .who-image {
    margin-top: 20px;
  }
}

.tax-benefits {
  background: #ffffff;
}

/* Card */
.benefit-card {
  background: #f4fbfb;
  border-radius: 16px;
  padding: 28px 24px;
  height: 100%;
  border: 1px solid #e5eeee;
  transition: all .3s ease;
}

.benefit-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 15px 40px rgba(0,0,0,.08);
}

/* Icon */
.benefit-icon {
  width: 34px;
  height: 34px;
  background: #1f9c9c;
  color: #fff;
  font-weight: 700;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
  font-size: 16px;
}

/* Title */
.benefit-card h5 {
  font-size: 1.05rem;
  font-weight: 600;
  margin-bottom: 8px;
  color: #111827;
}

/* Description */
.benefit-card p {
  font-size: .95rem;
  color: #374151;
  margin-bottom: 0;
  line-height: 1.6;
}

.our-services {
  background: #ffffff;
}

/* Card */
.service-card {
  background: #f4fbfb;
  border-radius: 16px;
  padding: 28px 26px 26px;
  height: 100%;
  border: 1px solid #e6f1f1;
  transition: all .3s ease;
}

.service-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 45px rgba(0,0,0,.1);
}

/* Icon */
.service-icon {
  width: 42px;
  height: 42px;
  background: #e6f4f4;
  color: #1f9c9c;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  margin-bottom: 14px;
}

/* Title */
.service-card h5 {
  font-size: 1.05rem;
  font-weight: 600;
  margin-bottom: 10px;
  color: #111827;
}

/* Text */
.service-card p {
  font-size: .95rem;
  line-height: 1.6;
  color: #374151;
  margin-bottom: 14px;
}

/* Link */
.service-link {
  color: #1f9c9c;
  font-weight: 500;
  text-decoration: none;
}

.service-link:hover {
  text-decoration: underline;
}

.testimonials-section {
  background: #ffffff;
  position: relative;
}

/* Card */
.testimonial-card {
  background: #ffffff;
  border-radius: 16px;
  padding: 30px 26px 24px;
  border: 2px solid #1f9c9c;
  position: relative;
  height: 100%;
  box-shadow: 0 15px 40px rgba(0,0,0,.08);
}

/* Quote Circle */
.quote-icon {
  position: absolute;
  top: -22px;
  left: 24px;
  width: 48px;
  height: 48px;
  background: #1f9c9c;
  color: #ffffff;
  border-radius: 50%;
  font-size: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Stars */
.stars {
  color: #ff7a59;
  font-size: 18px;
  margin-bottom: 12px;
}

/* Text */
.testimonial-text {
  font-size: .95rem;
  line-height: 1.7;
  color: #374151;
  margin-bottom: 20px;
}

/* Footer */
.testimonial-footer {
  display: flex;
  align-items: center;
  gap: 12px;
  border-top: 1px solid #e5e7eb;
  padding-top: 16px;
}

.testimonial-footer img {
  width: 42px;
  height: 42px;
  border-radius: 50%;
}

.testimonial-footer h6 {
  margin: 0;
  font-size: .95rem;
  font-weight: 600;
}

.testimonial-footer span {
  font-size: .85rem;
  color: #6b7280;
}

/* Dots */
.testimonial-dots {
  display: flex;
  justify-content: center;
  gap: 14px;
}

.dot {
  width: 14px;
  height: 14px;
  background: #e5eeee;
  border-radius: 50%;
}

.dot.active {
  background: #1f9c9c;
}

/* REMOVE BOOTSTRAP DEFAULT CARET */
.navbar .dropdown-toggle::after {
  display: none;
}

/* SERVICES LINK */
.services-link {
  display: flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
}

/* CARET ICON */
.caret-icon {
  font-size: 12px;
  transition: transform 0.25s ease;
}

/* ROTATE CARET WHEN OPEN */
.nav-item.dropdown.show .caret-icon {
  transform: rotate(180deg);
}

/* DROPDOWN MENU */
.services-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 6px;
  min-width: 360px;
  padding: 12px 0;
  border-radius: 14px;
  border: 1px solid #e5eeee;
  box-shadow: 0 20px 45px rgba(0,0,0,.15);
}

/* DROPDOWN ITEMS */
.services-dropdown .dropdown-item {
  padding: 10px 20px;
  font-size: 0.95rem;
  color: #111827;
  display: flex;
  align-items: center;
  gap: 10px;
}

/* LEFT ARROW */
.services-dropdown .dropdown-item::before {
  content: "»";
  color: #1f9c9c;
  font-weight: 700;
}

/* HOVER EFFECT */
.services-dropdown .dropdown-item:hover {
  background: #f4fbfb;
  color: #1f9c9c;
}

/* DESKTOP HOVER SUPPORT */
@media (min-width: 992px) {
  .navbar .dropdown:hover .dropdown-menu {
    display: block;
  }
}
/* ===============================
   HERO SECTION
================================= */
.business-tax-hero {
  background: linear-gradient(135deg, #e9f7f6, #f4fbfb);
  border-bottom: 1px solid #e6f1f1;
}

.business-tax-hero h1 {
  font-size: 2.4rem;
  color: #0f172a;
}

.business-tax-hero .lead {
  color: #374151;
  max-width: 680px;
  margin: 0 auto;
  font-size: 1.05rem;
}

/* ===============================
   OVERVIEW BOX
================================= */
.business-tax-overview {
  background: #f8fbfb;
}

.overview-box {
  background: #ffffff;
  border-left: 4px solid #1f9c9c;
  border-radius: 14px;
  padding: 22px 26px;
  box-shadow: 0 10px 25px rgba(0,0,0,.06);
}

.overview-box p {
  margin-bottom: 0;
  font-size: 0.95rem;
  line-height: 1.7;
  color: #374151;
}

/* ===============================
   SERVICE DETAILS
================================= */
.business-tax-details {
  background: #eef9f9;
}

.service-box {
  background: #ffffff;
  border-radius: 18px;
  padding: 30px 32px;
  box-shadow: 0 15px 35px rgba(0,0,0,.08);
}

.service-box h2 {
  font-size: 1.6rem;
  color: #0f172a;
}

.service-box p {
  font-size: 0.95rem;
  line-height: 1.7;
  color: #374151;
}

.service-box h5 {
  color: #1f9c9c;
}

/* LIST STYLE */
.service-box ul {
  padding-left: 18px;
  margin-top: 10px;
}

.service-box ul li {
  font-size: 0.95rem;
  margin-bottom: 8px;
  color: #374151;
  position: relative;
}

/* Custom bullet */
.service-box ul li::marker {
  color: #1f9c9c;
}

/* ===============================
   RESPONSIVE TWEAKS
================================= */
@media (max-width: 768px) {
  .business-tax-hero h1 {
    font-size: 2rem;
  }

  .service-box {
    padding: 24px 22px;
  }
}

/* ===============================
   PAGE HERO SECTION
================================= */
.page-hero {
  background: linear-gradient(
    90deg,
    #e8f7f5 0%,
    #f6fdfc 50%,
    #e8f7f5 100%
  );
  padding: 80px 0 70px;
  border-bottom: 1px solid #e5eeee;
}

/* Title */
.page-title {
  font-size: 2.6rem;
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 10px;
}

/* Underline Accent */
.title-underline {
  width: 80px;
  height: 4px;
  background: #1f9c9c;
  border-radius: 10px;
  margin: 0 auto 18px;
}

/* Subtitle */
.page-subtitle {
  font-size: 1.05rem;
  color: #374151;
  max-width: 720px;
  margin: 0 auto;
  line-height: 1.6;
}

/* ===============================
   RESPONSIVE
================================= */
@media (max-width: 768px) {
  .page-hero {
    padding: 60px 0 55px;
  }

  .page-title {
    font-size: 2rem;
  }

  .page-subtitle {
    font-size: 1rem;
  }
}