/* Optimized main styles */
:root {
  --accent: #8A9A5B;
  --deep: #3E4C3A;
  --gold: #C8A951;
  --champagne: #EAE0C8;
  --ivory: #F5F0E6;
  --taupe: #C1B6A8;
  --text: #353839;
  --light: #FFF;
  --danger: #dc3545;
}

/* Base styles */
html, body {
  height: 100%;
  min-height: 100%;
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
  color: var(--text);
  text-align: left;
  background-color: var(--ivory);
}

/* reCAPTCHA Badge Positioning */
.grecaptcha-badge {
  z-index: 999999 !important;
  position: fixed !important;
  bottom: 10px !important;
  right: -186px !important; /* Show about 70px of the badge (256px - 186px) */
  width: 256px !important;
  overflow: hidden !important;
  transition: all 0.3s ease !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 2px !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
  opacity: 0.8 !important;
}

.grecaptcha-badge:hover {
  right: 0 !important;
  opacity: 1 !important;
}

/* Mobile adjustments */
@media (max-width: 767px) {
  .grecaptcha-badge {
    right: -186px !important; /* Keep consistent with desktop */
    transform: scale(0.7) !important;
    transform-origin: right bottom !important;
    bottom: 10px !important;
  }
  
  .grecaptcha-badge:hover {
    right: 0 !important;
  }
}

/* Layout */
.container {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 576px) { .container { max-width: 540px; } }
@media (min-width: 768px) { .container { max-width: 720px; } }
@media (min-width: 992px) { .container { max-width: 960px; } }
@media (min-width: 1200px) { .container { max-width: 1140px; } }

.row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}

.col-12 {
  flex: 0 0 100%;
  max-width: 100%;
  padding-right: 15px;
  padding-left: 15px;
}

/* Hero section */
.hero-section {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}

.hero-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.hero-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.hero-overlay {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  text-align: center;
  color: var(--light);
  width: 90%;
  max-width: 800px;
  padding: 1rem;
}

.hero-overlay h1 {
  font-size: calc(2.5rem + 2vw);
  margin-bottom: .75rem;
  font-weight: 700;
  text-shadow: 1px 1px 3px rgba(0,0,0,.4);
  line-height: 1.2;
}

.hero-overlay h1 span {
  background: rgba(62,76,58,.7);
  padding: .1em .3em;
  border-radius: 4px;
  display: inline-block;
  line-height: 1.3;
}

.hero-overlay .lead {
  font-size: calc(1rem + .5vw);
  margin-bottom: 2rem;
  font-weight: 300;
  text-shadow: 1px 1px 2px rgba(0,0,0,.3);
  line-height: 1.4;
}

/* Buttons */
.btn {
  display: inline-block;
  font-weight: 400;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  user-select: none;
  border: 1px solid transparent;
  padding: .375rem .75rem;
  font-size: 1rem;
  line-height: 1.5;
  border-radius: .25rem;
  transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.btn-lg {
  padding: .5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
  border-radius: .3rem;
}

.btn-gold {
  color: var(--deep);
  background-color: var(--gold);
  border-color: var(--gold);
}

.btn-gold:hover {
  color: var(--light);
  background-color: #b3923f;
  border-color: #b3923f;
}

/* Swiper */
.swiper.hero-swiper {
  height: 75vh;
  min-height: 450px;
  position: relative;
  overflow: hidden;
  background-color: var(--deep);
}

.swiper-slide {
  opacity: 0;
  filter: blur(3px);
  transition: opacity 1.5s ease-in-out, filter 1.5s ease-in-out;
  position: relative;
}

.swiper-slide::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0,0,0,.35);
  z-index: 1;
}

.swiper-slide-active {
  opacity: 1;
  filter: blur(0);
}

.swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  position: relative;
}

/* Features section */
.features-section {
  background-color: var(--light);
  padding: 4rem 0;
}

.feature-card {
  background-color: var(--champagne);
  transition: transform .3s ease, box-shadow .3s ease, border .3s ease;
  text-align: center;
  padding: 2rem 1.5rem;
  height: 100%;
}

.feature-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 8px 25px rgba(0,0,0,.1);
  border: 1px solid var(--taupe);
}

.feature-card .icon {
  font-size: 2.5rem;
  color: var(--accent);
  width: 70px;
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1.5rem;
  background-color: rgba(138,154,91,.1);
  border-radius: 50%;
}

/* Contact section */
#contact {
  background: var(--ivory);
  padding: 4rem 0;
}

#contact .card {
  background: var(--light);
  box-shadow: 0 6px 20px rgba(0,0,0,.08);
}

#contact .form-control {
  border-radius: 5px;
  border: 1px solid var(--taupe);
  padding: .75rem 1rem;
}

#contact .form-control:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 .25rem rgba(138,154,91,.25);
}

/* Footer */
footer {
  background: var(--deep);
  color: var(--taupe);
  text-align: center;
  padding: 1.5rem 0;
  margin-top: 0;
  border-top: 1px solid var(--taupe);
  font-size: .9rem;
}

/* Responsive adjustments */
@media (max-width: 767px) {
  .feature-card {
    padding: 1.5rem 1rem;
  }
  
  .feature-card .icon {
    width: 50px;
    height: 50px;
    font-size: 2rem;
    margin-bottom: 1rem;
  }
  
  .feature-card h5 {
    font-size: 1.1rem;
  }
  
  .testimonial-card-main .position-relative {
    height: 450px;
  }
  
  .testimonial-card-main .card-body {
    padding: 1.5rem;
  }
  
  .testimonial-card-main .blockquote {
    max-width: 90%;
  }
  
  .testimonial-card-main .blockquote p {
    font-size: 1rem;
  }
  
  .testimonial-card-main .overlay-content {
    bottom: 1.5rem;
    right: 1.5rem;
  }
  
  .testimonial-card-main .overlay-content h5 {
    font-size: 1.1rem;
    letter-spacing: 0.8px;
  }
  
  .testimonial-card-main .overlay-content p {
    font-size: 0.85rem;
  }
  
  .testimonial-card-main .overlay-content h5::before,
  .testimonial-card-main .overlay-content h5::after {
    width: 20px;
  }
  
  .testimonial-card-main .overlay-content h5::before {
    left: -20px;
  }
  
  .testimonial-card-main .overlay-content h5::after {
    right: -20px;
  }
}

h1,h2,h3,h4,h5,h6{color:var(--deep);font-weight:600}section{padding:4rem 0}.card{border:none;border-radius:1rem!important;box-shadow:0 4px 15px rgba(0,0,0,.05)}.btn{border-radius:5px!important;padding:.75rem 1.5rem;font-weight:500;transition:all .3s ease}.swiper.hero-swiper{height:75vh;min-height:450px;position:relative;overflow:hidden;background-color:var(--deep)}.swiper-slide{opacity:0;filter:blur(3px);transition:opacity 1.5s ease-in-out,filter 1.5s ease-in-out;position:relative}.swiper-slide::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.35);z-index:1}.swiper-slide-active{opacity:1;filter:blur(0)}.swiper-slide img{width:100%;height:100%;object-fit:cover;display:block;position:relative}.hero-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;text-align:center;color:var(--light);padding:1rem;width:90%;max-width:800px;text-shadow:0 2px 4px rgba(0,0,0,.2)}.hero-overlay h1{font-size:calc(2.5rem+2vw);margin-bottom:.75rem;font-weight:700;text-shadow:1px 1px 3px rgba(0,0,0,.4);color:var(--light)}.btn-gold{background-color:var(--gold);color:var(--deep);border:none}.btn-gold:hover,.btn-gold:focus{background-color:#b3923f;color:var(--light);box-shadow:0 4px 8px rgba(0,0,0,.15);transform:translateY(-2px)}.btn-accent{background:var(--accent);color:var(--light);border:none}.btn-accent:hover,.btn-accent:focus{background:var(--deep);color:var(--light);box-shadow:0 4px 8px rgba(0,0,0,.1);transform:translateY(-2px)}.btn-light-outline{color:var(--light);border:2px solid var(--light);background-color:transparent}.btn-light-outline:hover,.btn-light-outline:focus{background:var(--light);color:var(--deep);box-shadow:0 4px 8px rgba(255,255,255,.2);transform:translateY(-2px)}.cta-section .btn-light{background-color:var(--light);color:var(--deep)}.cta-section .btn-light:hover,.cta-section .btn-light:focus{background-color:var(--champagne);color:var(--gold);box-shadow:0 4px 8px rgba(0,0,0,.1);transform:translateY(-2px)}.features-section{background-color:var(--light)}.feature-card{background-color:var(--champagne);transition:transform .3s ease,box-shadow .3s ease,border .3s ease;text-align:center;padding:2rem 1.5rem;height:100%}.feature-card:hover{transform:translateY(-8px);box-shadow:0 8px 25px rgba(0,0,0,.1);border:1px solid var(--taupe)}.feature-card .icon{font-size:2.5rem;color:var(--accent);width:70px;height:70px;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;background-color:rgba(138,154,91,.1);border-radius:50%}.feature-card h5{color:var(--deep);margin-bottom:.75rem;font-weight:600}.feature-card p{color:var(--text);font-size:.95rem}#contact{background:var(--ivory);padding:4rem 0}#contact .card{background:var(--light);box-shadow:0 6px 20px rgba(0,0,0,.08)}#contact h2{color:var(--deep);font-weight:700}#contact .form-control{border-radius:5px;border:1px solid var(--taupe);padding:.75rem 1rem}#contact .form-control:focus{border-color:var(--accent);box-shadow:0 0 0 .25rem rgba(138,154,91,.25)}#contact .form-check-input{border-color:var(--taupe)}#contact .form-check-input:checked{background-color:var(--accent);border-color:var(--accent)}#contact .form-check-label{font-size:.9rem;color:var(--text)}.alert-danger{background-color:#f8d7da;border-color:#f5c2c7;color:#842029;border-radius:5px}.testimonial-swiper-mobile{height:auto;padding-bottom:40px}.testimonial-swiper-mobile .swiper-slide{opacity:1;filter:none}.testimonial-swiper-mobile .card{max-width:90%;margin:0 auto;height:100%;box-shadow:0 4px 15px rgba(0,0,0,.08);border-radius:1rem!important;overflow:hidden}.testimonial-swiper-mobile .card img{height:200px;border-top-left-radius:1rem!important;border-top-right-radius:1rem!important}.testimonial-swiper-mobile .card .card-body{padding:1rem}.testimonial-swiper-mobile .card .overlay-content{padding:1rem .75rem .75rem}.testimonial-swiper-mobile .card .overlay-content h5{font-size:1rem}.testimonial-swiper-mobile .card .overlay-content p{font-size:.8rem}.swiper-pagination-bullet{background-color:var(--taupe);opacity:.7}.swiper-pagination-bullet-active{background-color:var(--accent);opacity:1}.methodology-section{background:var(--light)}.methodology-section h2,.methodology-section h4{color:var(--deep)}.methodology-icon{color:var(--accent);font-size:3rem;margin-bottom:1rem;display:inline-block}.methodology-section p{color:var(--text)}.methodology-section strong{color:var(--deep)}.conditions-section{background:var(--ivory)}.conditions-section h2{color:var(--deep)}.conditions-section .card{background-color:var(--champagne);padding:2rem}.condition-item{position:relative;padding-left:1.75rem;margin-bottom:.75rem;font-size:1.05rem;color:var(--text)}.condition-item:before{content:"\f272";font-family:'bootstrap-icons';position:absolute;left:0;top:5px;color:var(--accent);font-size:1rem}.services-section{background:var(--light)}.services-section h2{color:var(--deep)}.service-card{background-color:var(--light);transition:transform .3s ease,box-shadow .3s ease,border .3s ease;padding:2rem 1.5rem;height:100%;text-align:center}.service-card:hover{transform:translateY(-8px);box-shadow:0 8px 25px rgba(0,0,0,.1);border:1px solid var(--taupe)}.service-card .icon{font-size:3rem;color:var(--accent);margin-bottom:1.5rem;display:inline-block}.service-card h4{color:var(--deep);margin-bottom:1rem;font-weight:600}.service-card p{color:var(--text);font-size:.95rem}.text-accent{color:var(--accent)!important}.cta-section{background:var(--accent);color:var(--light);padding:4rem 0;margin-top:2rem;text-align:center}.cta-section h2{color:var(--light);font-weight:700;margin-bottom:1rem}.cta-section p{color:var(--ivory);font-size:1.1rem;max-width:700px;margin-left:auto;margin-right:auto}.full-site-cta{background:var(--deep);color:var(--light);padding:4rem 0;text-align:center}.full-site-cta h2{color:var(--light);font-weight:700;margin-bottom:1rem}.full-site-cta p{color:var(--ivory);font-size:1.1rem;margin-bottom:2rem}.social-icons a{color:var(--gold)!important;transition:color .3s ease,transform .3s ease;font-size:1.8rem;margin:0 .75rem;display:inline-block}.social-icons a:hover{color:var(--accent)!important;transform:scale(1.1)}footer{background:var(--deep);color:var(--taupe);text-align:center;padding:1.5rem 0;margin-top:0;border-top:1px solid var(--taupe);font-size:.9rem}.text-gold-emphasis{color:var(--gold);font-weight:600}@media(max-width:767px){.feature-card{padding:1.5rem 1rem}.feature-card .icon{width:50px;height:50px;font-size:2rem;margin-bottom:1rem}.feature-card h5{font-size:1.1rem}} .additional-testimonials {
    padding: 2rem 0;
}

.additional-testimonials .testimonial-card {
    position: relative !important;
    padding: 2rem !important;
    background-color: var(--champagne) !important;
    border-radius: 1rem !important;
    min-height: 300px !important;
    transition: transform .3s ease, box-shadow .3s ease !important;
    margin: 0.5rem !important;
    overflow: visible !important;
    display: flex !important;
    flex-direction: column !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08) !important;
}

.additional-testimonials .card-inner {
    position: relative !important;
    z-index: 2 !important;
    overflow: visible !important;
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
}

.additional-testimonials .quote-text {
    font-size: 1.25rem !important;
    line-height: 1.6 !important;
    color: var(--deep) !important;
    font-style: italic !important;
    margin: 0 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) !important;
    position: relative !important;
    z-index: 2 !important;
    padding-left: 2.5rem !important;
    overflow: visible !important;
    margin-bottom: 1.25rem !important;
    flex: 1 !important;
}

.additional-testimonials .quote-icon {
    position: absolute !important;
    top: -0.25rem !important;
    left: 0 !important;
    width: 2rem !important;
    height: 2rem !important;
    color: var(--accent) !important;
    opacity: 0.15 !important;
    pointer-events: none !important;
    transform: rotate(2deg) !important;
    z-index: 1 !important;
}

.additional-testimonials .author-info {
    text-align: center !important;
    margin-top: 1.5rem !important;
    padding-top: 1rem !important;
    border-top: 1px solid rgba(62, 76, 58, 0.1) !important;
}

.additional-testimonials .author-name {
    color: var(--gold) !important;
    font-size: 1.1rem !important;
    margin-bottom: 0.5rem !important;
    font-weight: 600 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    font-family: 'Playfair Display', serif !important;
    position: relative !important;
    display: inline-block !important;
    padding: 0 1rem !important;
}

.additional-testimonials .author-name::before,
.additional-testimonials .author-name::after {
    content: '' !important;
    position: absolute !important;
    top: 50% !important;
    width: 20px !important;
    height: 1px !important;
    background: var(--gold) !important;
    opacity: 0.5 !important;
}

.additional-testimonials .author-name::before {
    left: -15px !important;
}

.additional-testimonials .author-name::after {
    right: -15px !important;
}

.additional-testimonials .author-title {
    color: var(--deep) !important;
    font-size: 0.9rem !important;
    margin: 0 !important;
    font-style: italic !important;
    letter-spacing: 0.5px !important;
    font-family: 'Playfair Display', serif !important;
    text-align: center !important;
}

/* Add responsive adjustments */
@media (max-width: 767px) {
    .additional-testimonials .testimonial-card {
        padding: 1.5rem !important;
        margin: 0.25rem !important;
    }
    
    .additional-testimonials .quote-text {
        font-size: 1.1rem !important;
        padding-left: 2rem !important;
    }
    
    .additional-testimonials .quote-icon {
        width: 1.5rem !important;
        height: 1.5rem !important;
    }
    
    .additional-testimonials .author-name {
        font-size: 1rem !important;
    }
    
    .additional-testimonials .author-title {
        font-size: 0.85rem !important;
    }
}

/* Testimonials section */
.testimonials-section {
  background: var(--ivory);
  padding: 4rem 0;
  position: relative;
}

.testimonials-section h2 {
  color: var(--deep);
  margin-bottom: 3rem;
  font-weight: 700;
  text-align: center;
}

.testimonial-card-main {
  position: relative;
  background: var(--light);
  border-radius: 1.5rem !important;
  overflow: hidden;
  box-shadow: 0 8px 30px rgba(62, 76, 58, 0.1);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  height: 100%;
  transform: translateZ(0);
  backface-visibility: hidden;
  will-change: transform;
}

.testimonial-card-main:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 40px rgba(62, 76, 58, 0.15);
}

.testimonial-card-main .position-relative {
  height: 500px;
  overflow: hidden;
}

.testimonial-card-main picture {
  display: block;
  height: 100%;
}

.testimonial-card-main img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.testimonial-card-main:hover img {
  transform: scale(1.05);
}

.testimonial-card-main .card-body {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding-bottom: 6rem;
  background: linear-gradient(
    to top,
    rgba(62, 76, 58, 0.95) 0%,
    rgba(62, 76, 58, 0.7) 10%,
    rgba(62, 76, 58, 0.3) 20%,
    rgba(62, 76, 58, 0) 30%
  );
  z-index: 1;
}

.testimonial-card-main:hover .card-body {
  opacity: 1;
}

.testimonial-card-main .blockquote {
  position: relative;
  padding: 0;
  background: transparent;
  margin: 0 0 0 0;
  transform: translateY(0);
  max-width: 80%;
}

.testimonial-card-main:hover .blockquote {
  transform: translateY(0);
}

.testimonial-card-main .blockquote::before {
  content: '';
  position: absolute;
  left: -2rem;
  top: -1.5rem;
  width: 3.5rem;
  height: 3.5rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10,7L8,11H11V17H5V11L7,7H10M18,7L16,11H19V17H13V11L15,7H18Z' fill='%23C8A951'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  opacity: 0.9;
  transform: rotate(2deg);
  z-index: 1;
}

.testimonial-card-main .blockquote p {
  position: relative;
  z-index: 2;
  font-size: 1.1rem;
  line-height: 1.6;
  color: var(--champagne);
  font-style: italic;
  margin: 0;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

.testimonial-card-main .overlay-content {
  position: absolute;
  bottom: 2rem;
  right: 2rem;
  padding: 0;
  background: transparent;
  transform: translateY(0);
  text-align: right;
  z-index: 2;
}

.testimonial-card-main:hover .overlay-content {
  transform: translateY(0);
}

.testimonial-card-main .overlay-content h5 {
  color: var(--gold);
  font-size: 1.3rem;
  margin-bottom: 0.5rem;
  transform: translateY(0);
  opacity: 1;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  font-family: 'Playfair Display', serif;
  position: relative;
  display: inline-block;
  padding: 0 1rem;
}

.testimonial-card-main .overlay-content h5::before,
.testimonial-card-main .overlay-content h5::after {
  content: '';
  position: absolute;
  top: 50%;
  width: 30px;
  height: 1px;
  background: var(--gold);
  opacity: 0.5;
}

.testimonial-card-main .overlay-content h5::before {
  left: -25px;
}

.testimonial-card-main .overlay-content h5::after {
  right: -25px;
}

.testimonial-card-main .overlay-content p {
  color: var(--champagne);
  font-size: 0.95rem;
  margin: 0;
  transform: translateY(0);
  opacity: 1;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
  font-style: italic;
  letter-spacing: 0.5px;
  font-family: 'Playfair Display', serif;
}

.testimonial-card-main:hover .overlay-content h5,
.testimonial-card-main:hover .overlay-content p {
  transform: translateY(0);
  opacity: 1;
}

/* Import additional testimonials CSS */
@import url('testimonials.css'); 