body { height: 100vh; background-color: #fff; overflow-x: hidden; }
body.home { background-color: #000; }
.wrapper { display: flex; flex-direction: column; height: 100%; }
.header { background-color: #000; }
.navbar-light .navbar-toggler:hover,
.navbar-dark .navbar-toggler:hover { --bs-navbar-toggler-icon-bg: url("data: image/svg+xml,%3Csvg xmlns='http: //www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='%23c79f4a' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); }
.navbar,
.nav-link,
.navbar-brand { font-family: 'Aboreto', cursive; font-weight: 400; }
.navbar-toggler { background-color: #e8c062; }
.navbar-nav { align-items: flex-start; position: relative; z-index: 999; }
.navbar-nav .nav-item { list-style: none; width: 100%; position: relative; }
.navbar-nav .nav-link { padding: 12px 10px; border-bottom: 1px solid #333; color: #fff !important; }
.navbar-nav .nav-item ul { width: 100%; min-width: 300px; display: none; padding: 0; background-color: #000; }
.navbar-nav .nav-item:hover ul { opacity: 1; visibility: visible; transform: translateY(0); }
.navbar-nav .nav-item:has(ul) > .nav-link { padding-right: 20px; text-transform: capitalize; }
.navbar-nav .nav-item:has(ul) .fa { position: absolute; top: 24px; right: 0; z-index: 1; transform: translate(0, -50%); padding: 14px; font-size: 20px; color: #fff; }
.navbar-nav .nav-item:nth-last-child(-n + 2) ul { right: 0; left: auto; }
.navbar-nav .nav-link.paypal-text { font-size: 0.75rem; display: none; text-align: center; background-color: #ad8f47; padding: 5px; border-radius: 10px; position: relative; top: -10px; text-transform: lowercase !important; }
.navbar-nav .nav-item.nav-sub-item .nav-link { padding-right: 20px; padding-left: 20px; }
.navbar-nav .nav-item.nav-sub-item .nav-link:hover { background-color: #222; }
@media (min-width: 992px) {
  .navbar-nav .nav-item { width: auto; }
  .navbar-nav > .nav-item { margin-left: 10px; }
  .navbar-nav .nav-link { border-bottom: none; }
  .navbar-nav .nav-item ul { opacity: 0; visibility: hidden; display: block; position: absolute; top: 100%; left: 0; right: auto; transform: translateY(10px); border-top: 4px solid #fff; transition: all 0.4s ease-in-out; }
  .navbar-nav .nav-item:has(ul) .fa { padding: 0; font-size: 10px; }
  .navbar-nav .nav-link.paypal-text { display: block; }
}

.content-wrap { flex-grow: 1; }
.hero-section { flex-shrink: 0; height: 740px; overflow: hidden; position: relative; }
.text-hero { font-family: 'Gideon Roman', serif; font-weight: 400; margin-bottom: 200px; color: #e8c062; font-size: 98px; position: relative; left: 0px; line-height: 1.5; }
.hero-img { max-width: 490px; width: 100%; margin-left: 270px; height: auto; }
.signature-img { position: absolute; bottom: -20px; left: -80px; width: 550px; z-index: 5; }
.testimonal-section { flex-shrink: 0; font-family: 'Gideon Roman', serif; font-weight: 400; }
.card-img-top { border-radius: 10px; }
.test-card-overlay { background: linear-gradient(to top, rgba(16,13,96,0.9) 0%, rgba(16, 13, 96, 0) 100%); color: white; font-size: 2rem; padding: 1rem; height: 200px; border-radius: 10px; }
.test-hover-card { overflow: hidden; }
.test-hover-card .hover-overlay { position: absolute; inset: 0; background: rgba(16,13,96,0.75); color: #fff; font-size: 2rem; text-align: center; opacity: 0; transition: opacity 0.3s ease; z-index: 2; }
.test-hover-card:hover .test-card-overlay { opacity: 0; }
.test-hover-card:hover .hover-overlay { opacity: 1; }
.test-card-overlay { transition: opacity 0.3s ease; }
.hover-text { text-align: center; }
.hover-text span { display: block; opacity: 0; transform: translateY(10px); }
.test-hover-card:hover .hover-text span: nth-child(1) { animation: fadeUp 0.4s ease forwards; }
.test-hover-card:hover .hover-text span: nth-child(2) { animation: fadeUp 0.4s ease forwards; animation-delay: 0.3s; }
.test-hover-card:hover .hover-text span: nth-child(3) { animation: fadeUp 0.4s ease forwards; animation-delay: 0.6s; }
.responsive-text { font-family: 'Lato', sans-serif; font-weight: 400; font-size: 1.1rem; line-height: 1.6; padding-right: 2rem; margin: 0 auto; }
.btn { font-family: 'Aboreto', cursive; background-color: #100d60; font-size: 16px; color: #fff; padding: 10px 20px; border-radius: 15px; display: inline-block; text-decoration: none; border: 1px solid #fff; transition: background 0.3s ease, transform 0.2s ease, box-shadow 0.2s ease; box-shadow: 0 5px 10px rgba(0,0,0,0.3); }
.btn:hover { background-color: #1a1680; border: 1px solid #fff; color: #fff; }
.schedule-btn { font-family: 'Aboreto', cursive; background-color: #100d60; border-radius: 15px; color: white; border-radius: 10px; font-size: 18px !important; color: #fff; padding: 15px 20px 15px 20px !important; border-radius: 15px !important; display: inline-block; text-decoration: none; border: 1px solid #fff; transition: background 0.3s ease, transform 0.2s ease, box-shadow 0.2s ease; box-shadow: 0 5px 10px rgba(0,0,0,0.3); }
.schedule-btn:hover { background-color: #1a1680; border: 1px solid #fff; color: #fff; }
.services-section { width: 100%; background-size: cover; background-position: center; background-repeat: no-repeat; padding: 50px 0; }
.services-left-img { min-height: 100%; object-fit: cover; }
.services-title { font-family: 'Aboreto', cursive; font-size: 48px; color: #100d60; margin-bottom: 40px; }
.services-subtitle { font-family: 'Gideon Roman', serif; font-size: 35px; color: #100d60; margin-bottom: 20px; }
.services-ul { list-style: none; padding: 0; margin: 0; font-family: 'Lato', sans-serif; color: #100d60; }
.services-li { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 14px; font-size: 20px; }
.services-li img { width: 18px; margin-top: 4px; }
.services-header { background: #000; height: 200px; display: flex; align-items: center; justify-content: center; }
.services-header h2 { color: #ad8f47; font-size: 48px; font-weight: 700; font-family: 'Aboreto', cursive; margin: 0; }
.services-content { background-color: white; padding: 30px 50px 30px 20px; }
.services-content li { font-family: 'Open Sans', sans-serif; }
.section-title { font-family: 'Aboreto', cursive; color: #100d60; font-weight: 700; margin-top: 40px; margin-bottom: 15px; font-size: 28px; }
.services-content p { font-family: 'Open Sans', sans-serif; color: black; font-size: 18px; line-height: 1.7; margin-bottom: 20px; }
.newsletter-section { background-color: #fff; padding: 60px 50px; }
.newsletter-title { font-family: 'Aboreto', cursive; font-weight: 400; font-size: 48px; }
.newsletter-text { font-family: 'Lato', sans-serif; font-size: 16px; max-width: 650px; margin: 10px auto 0; }
.newsletter-form { display: flex; justify-content: center; align-items: center; gap: 12px; flex-wrap: wrap; }
.custom-border { width: 200px; border: 1px solid #100d60 !important; border-radius: 12px; }
.custom-border: : placeholder { font-family: 'Lato', sans-serif; font-style: italic; font-size: 15px; opacity: 1; }
.custom-email { width: 300px; }
.custom-border:focus { border-color: #100d60 !important; box-shadow: 0 0 0 0.2rem rgba(16,13,96,0.25); }
.signup-btn { font-family: 'Lato', sans-serif; background-color: #100d60; border: 1px solid #100d60 !important; color: #fff; padding: 8px 20px; border-radius: 12px; white-space: nowrap; }
.new-testimonial { background-size: cover; background-position: center; background-repeat: no-repeat; padding: 50px 0; }
.testimonial-new-heading { font-family: 'Lato', sans-serif; color: #ad8f47; font-size: 20px; }
.testimonial-new-sub_heading { font-family: 'Aboreto', cursive; color: #000; }
.testimonial-card-left { background: #fff; border: 3px solid #100460; border-radius: 30px; width: 50%; padding: 26px 18px; position: relative; }
.testimonial-card-left.mx-auto { display: block; }
.testimonial-content { display: flex; align-items: flex-start; gap: 30px; }
.testimonial-img img { width: 140px; height: 140px; border-radius: 50%; border: 5px solid #c9a24d; object-fit: cover; margin-left: 48px; }
.testimonial-text { flex: 1; }
.testimonial-text p { font-size: 18px; font-style: italic; line-height: 1.6; color: #000; margin-bottom: 20px; }
.client-name { text-align: right; font-weight: 600; color: #000; margin-right: 20px; }
.quote { position: absolute; font-size: 120px; color: #e6e6e6; font-family: serif; line-height: 1; }
.quote-left { top: -35px; left: 189px; }
.quote-left img { width: 72px; }
.quote-right { bottom: 45px; left: 495px; }
.quote-right img { width: 72px; }
.footer-section { background-color: black; color: #ffffff; font-family: 'Helvetica Neue', sans-serif; }
.footer-logo { max-width: 160px; }
.footer-phone { font-size: 16px; font-family: 'Helvetica Neue', sans-serif; }
.footer-copy { font-family: 'Helvetica Neue', sans-serif; font-size: 14px; opacity: 0.9; }
.social-circle { width: 36px; height: 36px; background-color: #ffffff; color: black; border-radius: 50%; display: flex; align-items: center; justify-content: center; text-decoration: none; font-size: 16px; transition: all 0.3s ease; }
.social-circle:hover { background-color: #e5e5e5; color: #100d60; }
.footer-links a { color: #ffffff; font-size: 14px; text-decoration: none; }
.footer-links a:hover { text-decoration: underline; }
[type=button]: not(: disabled), [type=reset]: not(: disabled), [type=submit]: not(: disabled), button: not(: disabled) { border: #fff 1px solid; }
.consultlink { color: #fff; text-decoration: none; }

@media (max-width: 991.98px) {
.navbar>.container-fluid { position: relative; }
.navbar-collapse { position: absolute; top: 100%; left: 0; right: 0; z-index: 1000; background-color: black; padding: 1rem; border-bottom: 1px solid #e8c062; }
.navbar-nav { width: 100%; }
 }

@media (min-width: 1200px) and (max-width: 1350px) {
.hero-section { height: 770px; }
.hero-img { max-width: 510px; margin-left: 100px; }
.text-hero { font-size: 85px; left: -10px; }
.signature-img { position: absolute; bottom: -17px; left: -182px; width: 550px; z-index: 5; }
 }

@media (max-width: 992px) {
.hero-section { height: auto; padding: 1rem 1rem; }
.text-hero { font-size: clamp(32px,5vw,50px); text-align: center; margin-bottom: 2rem; left: 0; }
.hero-img { max-width: 320px; height: auto; margin-left: 0; }
.col-md-6.position-relative { display: flex; justify-content: center; align-items: flex-end; min-height: 350px; }
.signature-img { position: absolute; bottom: -30px; left: 50%; transform: translateX(-50%); width: 350px; }
 }

@media (max-width: 768px) {
.hero-section { padding: 1rem 1rem; }
.text-hero { font-size: clamp(28px,6vw,40px); margin-bottom: 1rem; }
.hero-img { max-width: 260px; }
.col-md-6.position-relative { min-height: auto; }
.signature-img { width: 250px; bottom: -20px; left: 50%; transform: translateX(-50%); }
 }

@keyframes fadeUp {
from { opacity: 0; transform: translateY(10px); }
to { opacity: 1; transform: translateY(0); }
 }

@media (max-width: 768px) {
.responsive-text { font-size: 1rem; line-height: 1.5; max-width: 100%; padding-left: 1rem; padding-right: 1rem; }
 }

@media (max-width: 576px) {
.responsive-text { font-size: 0.95rem; line-height: 1.4; padding-left: 0.8rem; padding-right: 0.8rem; }
 }

@media (max-width: 768px) {
.schedule-btn { font-size: 16px; padding: 10px 24px; }
 }

@media (max-width: 480px) {
.schedule-btn { font-size: 14px; padding: 8px 20px; }
 }

@media (max-width: 768px) {
.services-header { height: 140px; }
.services-header h2 { font-size: 32px; }
.section-title { font-size: 22px; }
.services-content { padding: 40px 15px; }
 }

@media (max-width: 480px) {
.services-header h2 { font-size: 26px; }
.services-content p { font-size: 15px; }
 }

@media (max-width: 768px) {
.services-title { font-size: 34px; margin-top: 15px; margin-bottom: 30px; }
.services-subtitle { font-size: 24px; margin-bottom: 15px; }
.services-ul { max-width: 320px; margin: 0 auto 20px; padding-left: 0; }
.services-li { font-size: 16px; justify-content: flex-start; }
 }

@media (max-width: 700px) {
.newsletter-title { font-size: 38px; }
.custom-border { width: 48%; }
 }

@media (max-width: 500px) {
.newsletter-section { padding: 40px 20px; }
.newsletter-title { font-size: 32px; }
.newsletter-text { font-size: 14px; }
.custom-border, .signup-btn { width: 100%; }
 }

@media (max-width: 300px) {
.newsletter-title { font-size: 26px; }
.newsletter-text { font-size: 13px; }
.signup-btn { padding: 10px; font-size: 14px; }
 }

@media (max-width: 992px) {
.testimonial-card-left { width: 70%; }
 }

@media (max-width: 576px) {
.testimonial-card-left { width: 90%; }
.testimonial-content { flex-direction: column; align-items: center; gap: 20px; }
.testimonial-img img { margin-left: 0; margin-bottom: 15px; }
.client-name { text-align: center; margin-right: 0; }
.quote-left { left: 4%; top: 126px; }
.quote-right { left: 72%; bottom: 44px; }
 }