
    :root{
      --brand-green: #08764a;
      --brand-blue: #0b8899;
      --muted: #6b6b6b;
      --surface: #ffffff;
      --radius: 12px;
      --max-width: 1200px;
    }
    *{box-sizing:border-box}
    html,body{height:100%;margin:0;font-family:'Poppins',sans-serif;color:#222;background:#f6f8f7}
    a{color:inherit}

    /* NAV */
    /* --- NAV VARIABLES --- */
:root{
  --brand-green: #08764a;
  --brand-blue:  #0b8899;
  --nav-white:   #ffffff;
  --nav-dark:    #033a2d;
  --nav-transition: 260ms;
}

.active{
  color: #000;
}

/* --- topbar --- */
.topbar {
  background: linear-gradient(90deg, var(--brand-green), var(--brand-blue));
  color: #eaf9f0;
  font-size: 14px;
}

.topbar .container {
  padding-top: 6px;
  padding-bottom: 6px;
}

/* Left section */
.topbar .top-left span {
  margin-right: 10px;
  display: inline-block;
}

.topbar .sep {
  opacity: 0.3;
  margin: 0 8px;
}

/* Optional: make icons align neatly with text */
.topbar i {
  color: #fff;
  font-size: 13px;
}

/* On smaller screens (below md), hide the entire topbar — handled by Bootstrap */
@media (max-width: 980px) {
  .topbar {
    display: none !important;
  }
}


/* --- nav row base --- */
.nav-row {
  transition: background-color var(--nav-transition) ease, box-shadow var(--nav-transition), color var(--nav-transition);
  /* DEFAULT state (user requested: default should have a color) */
  background: linear-gradient(90deg, var(--brand-green), var(--brand-blue));
  color: #fff;
  position: sticky;
  top: 0;
  z-index: 1100;
}

/* container inside nav */
.nav-inner { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:14px 20px; max-width:1200px; margin:0 auto; }

/* brand */
.brand { display:flex; gap:12px; align-items:center; }
.brand-logo { width:48px; height:48px; object-fit:cover; border-radius:8px; }
.brand-title { margin:0; font-size:18px; font-weight:700; color:inherit; }

/* links */
.nav-links { display:flex; gap:18px; align-items:center; }
.nav-links a { text-decoration:none; font-weight:600; padding:8px 10px; border-radius:8px; color:inherit; transition: background .18s, color .18s; }
.nav-links a:hover { background: rgba(255,255,255,0.08); }

/* book row (right below nav) */
.book-row { background:var(--nav-white); border-bottom: 1px solid rgba(0,0,0,0.04); }
.book-inner { display:flex; align-items:center; justify-content:space-between; max-width:1200px; margin:0 auto; padding:10px 20px; gap:12px; }
.book-btn { background:var(--brand-green); color:#fff; padding:9px 14px; border-radius:8px; border:none; font-weight:700; text-decoration:none; display:inline-flex; align-items:center; gap:10px; cursor:pointer; box-shadow:0 8px 22px rgba(8,118,74,0.12); transition: transform .12s; }
.book-btn:hover { transform: translateY(-3px); }
.book-btn.phone { background: var(--brand-blue); }

/* Modal (appointment) */
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,0.5);display:none;align-items:center;justify-content:center;padding:20px;z-index:1200}
.modal{background:#fff;border-radius:12px;max-width:640px;width:100%;padding:22px;box-shadow:0 30px 60px rgba(2,10,8,0.25);position:relative}
.modal h3{margin:0 0 10px;color:var(--brand-green)}
.close-x{position:absolute;right:14px;top:12px;border:none;background:transparent;font-size:18px;cursor:pointer;color:#444}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.form-row.full{grid-template-columns:1fr}
.form-row label{font-size:13px;color:#444;margin-bottom:6px;display:block}
.form-row input,.form-row select,.form-row textarea{width:100%;padding:10px;border-radius:8px;border:1px solid #eaeaea;font-size:14px}
.modal .submit{background:var(--brand-green);color:#fff;padding:10px 12px;border-radius:8px;border:none;font-weight:700;cursor:pointer}

/* ---------------------
   SCROLL/STATE CLASSES
   --------------------- */
/* When user scrolls a little while still on hero: show very clear navigation */
.nav-row.nav--scrolled {
  /* make the nav very clear (white surface) so menus are visible over any background */
  background: rgba(5, 69, 167, 0.98);
  color: var(--brand-green);
  box-shadow: 0 8px 30px rgba(3,58,45,0.06);
}

/* make the link color follow the nav color variable */
.nav-row.nav--scrolled .nav-links a { color: var(--brand-green); }
.nav-row.nav--scrolled .brand-title { color: var(--brand-green); }
.book-row.scrolled { background: #fff; border-bottom-color: rgba(0,0,0,0.06); }

/* After user scrolls past the hero section: ensure a clean solid nav background */
.nav-row.nav--after-hero {
  background: #fff;
  color: var(--brand-green);
  box-shadow: 0 12px 40px rgba(3,58,45,0.08);
}
.nav-row.nav--after-hero .nav-links a { color: var(--brand-green); }
.nav-row.nav--after-hero .nav-links a:hover { background: rgba(8,118,74,0.06); }
.nav-row.nav--after-hero .brand-title { color: var(--brand-green); }

/* subtle inverse state if you ever want white-on-dark - not used here but available */
.nav-row.nav--dark {
  background: linear-gradient(90deg,var(--brand-green),var(--brand-blue));
  color: #fff;
}
.nav-row.nav--dark .nav-links a { color: #fff; }

/* --- mobile toggle --- */
.nav-toggle { display:none; background:transparent; border:0; width:44px; height:44px; align-items:center; justify-content:center; cursor:pointer; border-radius:8px; }
.nav-toggle .hamburger { width:22px; height:2px; background:#fff; position:relative; display:block; }
.nav-toggle .hamburger::before, .nav-toggle .hamburger::after { content:""; position:absolute; left:0; width:22px; height:2px; background:#fff; display:block; transition:transform .18s; }
.nav-toggle .hamburger::before { top:-7px; }
.nav-toggle .hamburger::after { top:7px; } 

/* --- mobile menu open (small screens) --- */
.nav-links.open { display:block; position:absolute; right:20px; top:72px; background: rgba(255,255,255,0.98); padding:12px; border-radius:10px; box-shadow:0 18px 40px rgba(0,0,0,0.12); z-index:1150; width: min(84%, 320px); }
.nav-links.open a { display:block; padding:10px 12px; border-radius:8px; color:var(--brand-green); }

/* --- simple responsive rules (desktop / tablet / mobile) --- */
@media (max-width: 980px) {
  .nav-inner { padding:8px 10px; }
  .nav-links { gap:8px; }
  .book-inner { padding:10px 16px; }
  .topbar .container { padding:6px 16px; }
  .nav-toggle { display:flex; }
}

@media (max-width: 640px) {
  .brand-title { font-size:16px; }
  .nav-links { display:none; } /* hidden by default on mobile; toggled with .open */
  .book-left { display:none; } /* hide extra text to save space */
  .book-actions { gap:8px; }
  .nav-row.nav--scrolled .nav-toggle .hamburger,
  .nav-row.nav--after-hero .nav-toggle .hamburger { background: var(--brand-green); }
}

/* when nav-toggle is open, change hamburger appearance (handled by JS with [aria-expanded]) */
.nav-toggle[aria-expanded="true"] .hamburger { background: transparent; }
.nav-toggle[aria-expanded="true"] .hamburger::before { transform: translateY(7px) rotate(45deg); background: var(--brand-green); }
.nav-toggle[aria-expanded="true"] .hamburger::after { transform: translateY(-7px) rotate(-45deg); background: var(--brand-green); }

    /* Hero (Swiper) */
    .hero-wrap{position:relative}
    .swiper{height:75vh}
    .swiper-slide{
      display:flex;
      align-items:center;
      justify-content:flex-start;
      padding:40px 20px;
      background-size:cover;
      background-position:center;
    }
    .hero-content{
      max-width:720px;
      background:linear-gradient(180deg,rgba(0,0,0,0.25),rgba(0,0,0,0.35));
      color:#fff;padding:28px;border-radius:12px;backdrop-filter: blur(4px);
      transform:translateY(20px);
      opacity:0;
      transition:transform .6s ease,opacity .6s ease;
    }
    .hero-content.visible{transform:translateY(0);opacity:1}
    .hero-content h2{font-size:34px;margin:0 0 12px;line-height:1.05}
    .hero-content p{margin:0 0 18px;color:#f1f6f5}
    .hero-ctas{display:flex;gap:12px;flex-wrap:wrap}
    .btn-primary{background:#fff;color:var(--brand-green);padding:10px 16px;border-radius:8px;font-weight:700;text-decoration:none}
    .btn-outline{border:2px solid #fff;color:#fff;padding:9px 14px;border-radius:8px;text-decoration:none;font-weight:600;background:transparent}

    /* Services (one row) */
    .section{padding:56px 0}
    .section h3{text-align:center;color:var(--brand-green);font-size:22px;margin-bottom:22px}
    .services-row{display:flex;gap:18px;justify-content:space-between;align-items:stretch;flex-wrap:nowrap}
    .service-card{background:var(--surface);padding:20px;border-radius:12px;box-shadow:0 6px 20px rgba(2,10,8,0.06);flex:1 1 0;min-width:12;text-align:center;transition:transform .18s}
    .service-card:hover{transform:translateY(-6px)}
    .service-card i{font-size:36px;color:var(--brand-blue);margin-bottom:12px}
    .service-card h4{color:var(--brand-green);margin-bottom:8px}
    .service-card p{color:var(--muted);font-size:14px;line-height:1.5}

    /* Popular wellness picks (Swiper 3 slides) */
    .products-wrap{padding:20px 0}
    .product-card{background:var(--surface);border-radius:12px;padding:14px;text-align:center;box-shadow:0 8px 30px rgba(2,10,8,0.06);height:100%;display:flex;flex-direction:column;justify-content:flex-start}
    .product-card img{width:100%;height:140px;object-fit:cover;border-radius:10px;margin-bottom:12px}
    .product-card h5{color:var(--brand-green);margin:6px 0}
    .product-card p{color:var(--muted);font-size:13px;margin-bottom:12px}
    .product-card a{margin-top:auto;display:inline-block;padding:8px 12px;border-radius:8px;background:var(--brand-blue);color:#fff;text-decoration:none;font-weight:700}

    /* Map + contact */
    .map-contact{display:grid;grid-template-columns:1fr 420px;gap:20px;align-items:start}
    .map-frame{width:100%;height:320px;border-radius:10px;border:0}
    .contact-panel{background:var(--surface);padding:18px;border-radius:12px;box-shadow:0 8px 26px rgba(2,10,8,0.06)}
    .contact-panel h4{margin:0 0 8px;color:var(--brand-green)}
    .contact-panel p{color:var(--muted);font-size:14px;margin:6px 0}

    /* Footer */
    footer{margin-top:40px;background:#033a2d;color:#fff;padding:32px 0}
    .footer-grid{display:flex;gap:20px;max-width:var(--max-width);margin:0 auto;padding:0 20px;flex-wrap:wrap}
    .footer-col{flex:1 1 250px}
    .small{font-size:13px;color:#d6efe5}

    /* Modal (appointment) */
    .modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,0.5);display:none;align-items:center;justify-content:center;padding:20px;z-index:1200}
    .modal{background:#fff;border-radius:12px;max-width:640px;width:100%;padding:22px;box-shadow:0 30px 60px rgba(2,10,8,0.25);position:relative}
    .modal h3{margin:0 0 10px;color:var(--brand-green)}
    .close-x{position:absolute;right:14px;top:12px;border:none;background:transparent;font-size:18px;cursor:pointer;color:#444}
    .form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
    .form-row.full{grid-template-columns:1fr}
    .form-row label{font-size:13px;color:#444;margin-bottom:6px;display:block}
    .form-row input,.form-row select,.form-row textarea{width:100%;padding:10px;border-radius:8px;border:1px solid #eaeaea;font-size:14px}
    .modal .submit{background:var(--brand-green);color:#fff;padding:10px 12px;border-radius:8px;border:none;font-weight:700;cursor:pointer}

    /* responsive */
    @media (max-width: 980px){
      .services-row{flex-wrap:wrap}
      .map-contact{grid-template-columns:1fr}
      .swiper{height:60vh}
    }
    @media (max-width:640px){
      .nav-links{display:none}
      .brand h1{font-size:18px}
      .hero-content h2{font-size:22px}
      .form-row{grid-template-columns:1fr}
    }


    

    .topbar{background:linear-gradient(90deg,var(--brand-green),var(--brand-blue));color:#fff;}
