/* Global Styles */
    :root{
      --primary: #297d42;
      --secondary: #154e8d;
      --brand-dark: #0d0d0d;
      --muted: #6b6b6b;
      --muted-white: #ffffff;
    }
    html,body{height:100%;}
    body{
      font-family: 'Poppins', system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
      color:var(--brand-dark);
      background: #fff;
      -webkit-font-smoothing:antialiased;
      -moz-osx-font-smoothing:grayscale;
    }

    /* Typography */
    p{font-size:16px; 
      line-height:1.6; 
      color:inherit
    }
    span{font-size:14px}
    h1{font-size:8px}
    h2{font-size:36px}
    h3{font-size:28px}
    h4{font-size:22px}
    h5{font-size:18px}
    h6{font-size:16px}

    /* Nav */
    .navbar{padding:1rem 1rem; position:fixed; top:0; left:0; right:0; z-index:1040; background:#fff; border-bottom:1px solid rgba(13,13,13,0.04)}
    .navbar-brand{font-weight:800; letter-spacing: -0.5px; color:var(--brand-dark);}
    .nav-link{color:var(--brand-dark); font-weight:600; transition: color .12s ease}
    .nav-link:hover, .nav-link:focus{color:var(--primary)}
    .nav-link.active, .nav-link[aria-current="page"]{color:var(--primary); font-weight:700}

    .navbar-brand img{
      height:60px;
    }

    /* Hero */
    .hero{
      background: linear-gradient(180deg, rgba(41,125,66,0.08), rgba(41,125,66,0.03));
      border-bottom: 1px solid rgba(13,13,13,0.04);
      padding:5rem 0;
    }
    .hero-title{font-size:2.5rem; font-weight:800; color:var(--brand-dark); line-height:1.02}
    .hero-sub{color:var(--muted); font-size:1.05rem}
    @media(min-width:992px){
      .hero{padding:6rem 0}
      .hero-title{font-size:3.5rem}
    }

    .cta-btn{
      background:var(--primary); border:0; color:#fff; font-weight:700; padding:0.9rem 1.35rem; border-radius:10px; box-shadow:0 8px 24px rgba(41,125,66,0.14); transition: transform .15s ease, box-shadow .15s ease, outline .15s ease;
    }
    .cta-btn:hover, .cta-btn:focus{
      transform: translateY(-3px);
      box-shadow:0 12px 34px rgba(41,125,66,0.18);
      outline: 2px solid var(--primary);
      outline-offset: 2px;
      color:var(--secondary);
    }

    .booking-btn{
      background:var(--secondary); border:0; color:#fff; font-weight:700; padding:0.9rem 1.35rem; border-radius:10px; box-shadow:0 8px 24px rgba(41,125,66,0.14); transition: transform .15s ease, box-shadow .15s ease, outline .15s ease;
    }

    .booking-btn:hover, .booking-btn:focus{
      transform: translateY(-3px);
      box-shadow:0 12px 34px rgba(41,125,66,0.18);
      outline: 2px solid var(--secondary);
      outline-offset: 2px;
      color:var(--secondary);
    }

    .btn-outline-primary{
      border:2px solid var(--primary);
      color:var(--primary);
      background:transparent;
      padding:0.75rem 1rem;
      border-radius:10px;
      font-weight:700;
    }
    .btn-outline-primary:hover, .btn-outline-primary:focus{
      background:var(--primary);
      color:var(--secondary);
      border-color:var(--primary);
    }

    /* Features */
    .feature-card{border:0; background:transparent}
    .feature-icon{width:60px;height:60px;border-radius:10px;background:linear-gradient(135deg,var(--primary),#2b67b6);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700}

    /* Services */
    #services{
      background: linear-gradient(90deg, rgba(41, 125, 66, 0.03), rgb(41 125 66 / 21%));
    }
    #services .container{position:relative; z-index:1}
    .service{border-radius:12px;padding:1.25rem;border:1px solid rgba(13,13,13,0.06);transition:transform .18s ease, box-shadow .18s ease}
    .service:hover{transform:translateY(-6px); box-shadow:0 10px 26px rgb(13 13 13 / 38%)}

    /* Testimonials */
    .testimonial{background:#fff;border-radius:12px;padding:1.25rem;border:1px solid rgba(13,13,13,0.06)}

    /* Booking */
    #booking{background: linear-gradient(135deg,var(--primary),#2b67b6); color:#fff}
    #booking .container{position:relative; z-index:1}
    #booking #booking-form{border:1px solid #fff; padding:1rem; border-radius:10px; background: rgba(255,255,255,0.02)}

    /* Contact */
    .contact-section{
      background:linear-gradient(90deg, rgba(41, 125, 66, 0.03), rgb(41 125 66 / 21%)); 
      padding:3rem;border-radius:12px
    }

    /* Contact (page) */
    .contact-page{padding-top:4rem}
    .map-embed{height:320px; border-radius:10px; overflow:hidden}
    .map-embed iframe{width:100%; height:100%; display:block; border:0}
    .contact-card{background:transparent; border-radius:8px}
    .contact-card .small-muted{color:rgba(255,255,255,0.95); font-weight:600}
    #contact-success{color:var(--primary); font-weight:700}

    /* Form inside contact page to stand out */
    .contact-page .form-control{background:rgba(255,255,255,0.98)}
    .contact-page .contact-card a{color:var(--primary); text-decoration:none}
    .contact-page .contact-card a:hover{color:var(--secondary)}

    /* Footer */
    footer{
      padding:3rem 0 0; 
      background:#154e8d; 
      color:#fff; 
      margin-top:4rem
    }
    .site-footer{padding-top:1.5rem}
    .site-footer .footer-logo svg{width:44px;height:44px}
    .site-footer .footer-menu a{color:var(--brand-dark); text-decoration:none}
    .site-footer .footer-menu a:hover{color:var(--primary)}
    .site-footer .footer-social a{color:var(--muted); display:inline-flex; align-items:center}
    .site-footer .footer-social a:hover{color:var(--primary)}
    .footer-bottom{border-top:1px solid rgba(13,13,13,0.04); padding-top:1rem; padding-bottom:1rem}

    /* Minor polish */
    .small-muted{color:var(--muted);font-weight:600}

    .small-muted-white{
      color:var(--muted-white);
      font-weight:600
    }

    /* Floating CTA on mobile */
    .floating-cta{position:fixed;right:16px;bottom:16px;z-index:1030;border-radius:999px;box-shadow:0 12px 36px rgba(13,13,13,0.12)}
    /* Soft shadow utility and box-outline helper */
    .shadow-soft{box-shadow:0 10px 30px rgba(41,125,66,0.08) !important}
    .box-outline{border:1px solid rgba(41,125,66,0.08);border-radius:8px}
    /* Testimonials slider */
    .testimonial-slider{position:relative}
    .testimonial-slider .slider-viewport{overflow:hidden}
    .testimonial-slider .slider-track{display:flex;gap:1rem;transition:transform .45s cubic-bezier(.22,.9,.33,1)}
    .testimonial-slider .testimonial{min-width:100%;flex:0 0 100%}
    @media(min-width:768px){
      .testimonial-slider .testimonial{min-width:50%;flex:0 0 50%}
    }
    @media(min-width:992px){
      .testimonial-slider .testimonial{min-width:33.3333%;flex:0 0 33.3333%}
    }
    .slider-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:10}
    .slider-prev{left:-0.5rem}
    .slider-next{right:-0.5rem}

