:root {
    --color-primary: #2E7D45;
    --color-primary-dark: #1F5E33;
    --color-primary-light: #4CAF67;
    --color-secondary: #0E9B47;
    --color-secondary-light: #2EBE59;
    --color-secondary-dark: #087A38;
    --color-accent: #C5A880;
    --color-accent-light: #D4AF37;
    --color-leaf: #6DBE45;
    --bg-warm-1: #FAF8F5;
    --bg-warm: #FBF8F1;
    --bg-mint: #F4F7F5;
    --bg-white: #FFFFFF;
    --font-heading: 'Marcellus', serif;
    --font-body: "Noto Sans", sans-serif;
    --transition-smooth: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
    --transition-fast: all 0.25s ease;
    --shadow-soft: 0 10px 30px rgba(31, 94, 51, 0.05);
    --shadow-medium: 0 15px 40px rgba(31, 94, 51, 0.08);
    --shadow-luxury: 0 20px 50px rgba(0, 0, 0, 0.15);
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: var(--font-body);
    background-color: var(--bg-warm);
    color: #2D3A30;
    overflow-x: hidden;
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
    width: 100%;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    color: var(--color-primary-dark);
    font-weight: normal;
    letter-spacing: 0.03em;
}

p {
    font-size: 1.05rem;
    font-weight: 450;
}

a {
    color: var(--color-primary);
    text-decoration: none;
    transition: var(--transition-fast);
}

a:hover {
    color: var(--color-primary-dark);
}

::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: var(--bg-warm);
}

::-webkit-scrollbar-thumb {
    background: var(--color-primary-light);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--color-primary);
}

::selection {
    background-color: #4CAF50;
    color: #fff;
}

.section-padding {
    padding: 55px 0;
}

.bg-warm-cream {
    background-color: var(--bg-warm);
}

.bg-mint-tint {
    background-color: var(--bg-mint);
}

.bg-deep-forest {
    background-color: var(--color-primary-dark);
    color: var(--bg-warm);
}

.text-justify {
    text-align: justify;
}

.section-subtitle {
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.25px;
    color: var(--color-primary);
    display: inline-block;
    margin-bottom: 6px;
}

.section-title {
    font-size: 2.75rem;
    margin-bottom: 4px;
    position: relative;
}

.title-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 0px;
    margin-bottom: 10px;
}

.title-divider::before, .title-divider::after {
    content: '';
    height: 1px;
    width: 50px;
    background-color: var(--color-primary-light);
    display: inline-block;
}

.title-divider i {
    color: var(--color-primary);
    margin: 0 15px;
    font-size: 1.1rem;
}

.left-align-divider {
    justify-content: flex-start;
}

.left-align-divider::before {
    display: none;
}

.left-align-divider::after {
    width: 80px;
}

.left-align-divider i {
    margin-left: 0;
    margin-right: 15px;
}

.samudra-topbar {
    color: #ffffff;
    font-size: 0.85rem;
    /* padding: 4px 0 6px 0; */
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    top: 0;
    left: 0;
    right: 0;
    height: 53px;
    z-index: 1001;
    transition: var(--transition-smooth);
    background: hsl(75 29% 97% / 1);
}

.samudra-topbar a, .samudra-topbar .text {
    color: rgb(54 101 55);
    transition: var(--transition-fast);
    font-size: 15px;
    font-weight: 500;
}

.samudra-topbar a:hover {
    color: #212121;
}

.samudra-topbar-info {
    display: flex;
    align-items: center;
    gap: 20px;
}

.samudra-topbar-info .br {
    height: 20px;
    background: #4CAF50;
    width: 1px;
}

.samudra-topbar-info i {
    margin-right: 6px;
    display: inline-block;
    font-size: 18px;
    vertical-align: top;
}

.samudra-topbar-info i.fa6-solid--phone {
    font-size: 16px;
    vertical-align: text-top;
}

.samudra-topbar-social {
    display: flex;
    align-items: center;
    gap: 9px;
}

.samudra-topbar-social a {
    font-size: 15px;
    width: 41px;
    height: 41px;
    background-color: #ffffff;
    border-radius: 35px;
    color: var(--color-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #cfcfcf;
    transition: var(--transition-smooth);
}

.samudra-topbar-social a:hover {
    background-color: var(--color-leaf);
    color: #fff;
    border-color: var(--color-leaf);
    transform: translateY(-3px);
}

.samudra-navbar {
    padding: 7px 0;
    transition: var(--transition-smooth);
    -webkit-backdrop-filter: blur(12px);
    z-index: 1000;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
    width: 100%;
    top: 0;
    background-color: #fff;
}

.samudra-navbar.navbar-scrolled {
    padding: 8px 0;
}

.navbar-brand img {
    max-width: 360px;
    transition: var(--transition-smooth);
    width: 100%;
}

.samudra-navbar.navbar-scrolled .navbar-brand img {
    max-width: 250px;
}

.nav-link {
    font-family: var(--font-body);
    font-size: 15.6px;
    font-weight: 500;
    color: #111111 !important;
    margin: 0 7px;
    position: relative;
    padding: 12px 14px !important;
    transition: var(--transition-fast);
    white-space: nowrap;
    /* text-transform: uppercase; */
    letter-spacing: 0.01em;
    border-radius: 25px;
    line-height: 1;
}

.nav-link0::before {
    content: '';
    position: absolute;
    background-color: hsl(90 33% 95% / 1);
    inset: 0px;
    border-radius: 25px;
    /* transform: translateY(-10px); */
    z-index: -1;
    opacity: 0;
    transition: all 180ms ease-in-out;
}

.nav-link0::after, .nav-link0::before {
    content: none;
    position: absolute;
    width: 0;
    height: 2px;
    background-color: var(--color-primary);
    transition: var(--transition-smooth);
    width: 100%;
    opacity: 0;
}

.nav-link0::before {
    top: 0;
    left: 0;
    transform: translateY(-10px);
}

.nav-link0::after {
    bottom: 0;
    left: 0;
    transform: translateY(10px);
}

.nav-link0:hover::after, .nav-link0.active::after {
    width: 100%;
    opacity: 1;
    transform: translateY(0px);
}

.nav-link0:hover::before, .nav-link0.active::before {
    width: 100%;
    opacity: 1;
    transform: translateY(0px);
}

.nav-link:hover, .nav-link.active {
    color: var(--color-primary) !important;
    /* background-color: hsl(90 33% 95% / 1); */
}

.nav-link0:hover:before, .nav-link0.active:before {
    transform: translateY(0px);
    opacity: 1;
}

.nav-link.active {
    font-weight: 700;
}

.navbar-toggler {
    border: none;
    padding: 10px 13px;
    background-color: #edf4ea;
}

.navbar-toggler:focus {
    box-shadow: none;
}

.toggler-icon {
    display: block;
    width: 31px;
    height: 3px;
    background-color: var(--color-primary-dark);
    margin: 5px 0;
    transition: var(--transition-fast);
}

.scroll-progress-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    z-index: 1001;
    background: transparent;
}

.scroll-progress-bar {
    height: 100%;
    width: 0%;
    background: linear-gradient(to right, var(--color-primary-light), var(--color-primary));
    transition: width 0.1s ease-out;
}

.scroll-reveal {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 1s cubic-bezier(0.16, 1, 0.3, 1), transform 1s cubic-bezier(0.16, 1, 0.3, 1);
}

.scroll-reveal.reveal-left {
    transform: translateX(-50px);
}

.scroll-reveal.reveal-right {
    transform: translateX(50px);
}

.scroll-reveal.reveal-scale {
    transform: scale(0.9);
}

.scroll-reveal.active {
    opacity: 1;
    transform: translate(0) scale(1);
}

.samudra-footer {
    background-color: #222c25;
    color: rgba(250, 248, 245, 0.8);
    padding-top: 80px;
    padding-bottom: 30px;
    border-top: 4px solid var(--color-primary-light);
}

.samudra-footer h3 {
    color: #FFFFFF !important;
    font-size: 1.3rem;
    margin-bottom: 24px;
    position: relative;
    padding-bottom: 10px;
}

.samudra-footer h3::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 40px;
    height: 2px;
    background-color: var(--color-leaf);
}

.footer-logo img {
    height: 55px;
    margin-bottom: 20px;
}

.footer-links-list {
    list-style: none;
    padding-left: 0;
}

.footer-links-list li {
    margin-bottom: 12px;
}

.footer-links-list a {
    color: rgba(250, 248, 245, 0.7);
    transition: var(--transition-fast);
}

.footer-links-list a:hover {
    color: var(--color-leaf);
    padding-left: 5px;
}

.footer-contact-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 15px;
}

.footer-contact-item i {
    color: var(--color-leaf);
    margin-right: 12px;
    margin-top: 5px;
    font-size: 1.1rem;
}

.footer-social-links {
    display: flex;
    margin-top: 20px;
}

.footer-social-link {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: rgba(250, 248, 245, 0.1);
    color: #FFFFFF !important;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 12px;
    transition: var(--transition-fast);
}

.footer-social-link:hover {
    background-color: var(--color-leaf);
    transform: translateY(-3px);
}

.newsletter-form {
    position: relative;
    margin-top: 15px;
}

.newsletter-input {
    background-color: rgba(250, 248, 245, 0.1);
    border: 1px solid rgba(250, 248, 245, 0.2);
    border-radius: 30px;
    padding: 12px 60px 12px 20px;
    color: #FFFFFF;
    width: 100%;
    transition: var(--transition-fast);
}

.newsletter-input:focus {
    outline: none;
    border-color: var(--color-leaf);
    background-color: rgba(250, 248, 245, 0.15);
}

.newsletter-btn {
    position: absolute;
    right: 5px;
    top: 5px;
    bottom: 5px;
    width: 45px;
    border-radius: 50%;
    background-color: var(--color-primary);
    color: #FFFFFF;
    border: none;
    transition: var(--transition-fast);
}

.newsletter-btn:hover {
    background-color: var(--color-leaf);
}

.footer-bottom {
    margin-top: 60px;
    padding-top: 30px;
    border-top: 1px solid rgba(250, 248, 245, 0.1);
    font-size: 0.9rem;
}

.floating-contact-actions {
    position: fixed;
    bottom: 30px;
    right: 30px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: flex-end;
    z-index: 999;
}

.floating-action-btn {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 24px;
    border-radius: 50px;
    font-family: var(--font-body);
    font-weight: 700;
    font-size: 1rem;
    text-decoration: none !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(31, 94, 51, 0.15);
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.3s ease, background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
    overflow: hidden;
    position: relative;
}

.floating-action-btn::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 50%;
    height: 100%;
    background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.3) 50%, rgba(255,255,255,0) 100%);
    transform: skewX(-25deg);
    transition: none;
}

.floating-action-btn:hover::after {
    left: 150%;
    transition: left 0.8s ease-in-out;
}

.floating-action-btn i {
    font-size: 1.4rem;
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), color 0.3s ease;
}

.floating-action-btn:hover i {
    transform: scale(1.15) rotate(10deg);
}

.floating-btn-whatsapp {
    background-color: #25D366 !important;
    color: #ffffff !important;
    border-color: #20BA56 !important;
    box-shadow: 0 8px 24px rgba(37, 211, 102, 0.25) !important;
}

.floating-btn-whatsapp i {
    color: #ffffff !important;
}

.floating-btn-whatsapp:hover {
    background-color: #1ebe57 !important;
    box-shadow: 0 14px 32px rgba(37, 211, 102, 0.45), 0 0 0 4px rgba(37, 211, 102, 0.2) !important;
    transform: translateY(-6px) scale(1.03);
}

.floating-action-btn:not(.floating-btn-whatsapp) {
    background-color: #ffffff;
    color: var(--color-primary-dark) !important;
    border-color: rgba(46, 125, 69, 0.15);
}

.floating-action-btn:not(.floating-btn-whatsapp) i {
    color: var(--color-primary) !important;
}

.floating-action-btn:not(.floating-btn-whatsapp):hover {
    background-color: var(--color-primary) !important;
    color: #ffffff !important;
    border-color: var(--color-primary) !important;
    box-shadow: 0 14px 32px rgba(46, 125, 69, 0.25), 0 0 0 4px rgba(46, 125, 69, 0.15) !important;
    transform: translateY(-6px) scale(1.03);
}

.floating-action-btn:not(.floating-btn-whatsapp):hover i {
    color: #ffffff !important;
}

.floating-whatsapp {
    display: none !important;
}

.sticky-consultation-cta {
    position: fixed;
    bottom: 30px;
    left: 30px;
    z-index: 999;
    box-shadow: var(--shadow-luxury);
    transition: var(--transition-smooth);
    opacity: 0;
    transform: translateY(100px);
}

.sticky-consultation-cta.visible {
    opacity: 1;
    transform: translateY(0);
}

@keyframes scaleIn {
    0% {
        transform: scale(0);
    }

    100% {
        transform: scale(1);
    }
}

@keyframes shake {
    0%, 100% {
        transform: translateX(0);
    }

    20%, 60% {
        transform: translateX(-6px);
    }

    40%, 80% {
        transform: translateX(6px);
    }
}

.shake {
    animation: shake 0.4s ease;
}

.lightbox {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(14, 45, 23, 0.95);
    backdrop-filter: blur(10px);
    z-index: 1200;
    opacity: 0;
    visibility: hidden;
    transition: var(--transition-smooth);
    display: flex;
    align-items: center;
    justify-content: center;
}

.lightbox.open {
    opacity: 1;
    visibility: visible;
}

.lightbox-content {
    max-width: 90%;
    max-height: 80vh;
    position: relative;
}

.lightbox-content img {
    max-width: 100%;
    max-height: 80vh;
    border-radius: 12px;
    box-shadow: var(--shadow-luxury);
}

.lightbox-close {
    position: absolute;
    top: -45px;
    right: 0;
    color: #FFFFFF;
    font-size: 1.8rem;
    cursor: pointer;
}

.lightbox-caption {
    color: var(--bg-warm);
    text-align: center;
    margin-top: 15px;
    font-family: var(--font-heading);
    font-size: 1.25rem;
}

.filter-btn-container {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 40px;
}

.filter-btn {
    font-family: var(--font-body);
    font-size: 0.85rem;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 0.1em;
    padding: 10px 24px;
    border-radius: 30px;
    border: 1px solid rgba(76, 175, 103, 0.2);
    background-color: var(--bg-white);
    color: var(--color-primary-dark);
    margin: 6px;
    cursor: pointer;
    transition: var(--transition-fast);
}

.filter-btn:hover, .filter-btn.active {
    background-color: var(--color-primary);
    color: var(--bg-white);
    border-color: var(--color-primary);
}

.filter-item {
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.6s ease;
}

.filter-item.hidden {
    opacity: 0;
    transform: scale(0.8);
    position: absolute;
    pointer-events: none;
    width: 0;
    height: 0;
    overflow: hidden;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
}

.blog-card {
    background-color: var(--bg-white);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: var(--shadow-soft);
    border: 1px solid rgba(76, 175, 103, 0.05);
    transition: var(--transition-smooth);
    height: 100%;
    display: flex;
    flex-direction: column;
}

.blog-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-medium);
}

.blog-card-img-wrapper {
    position: relative;
    overflow: hidden;
    height: 220px;
}

.blog-card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--transition-smooth);
}

.blog-card:hover .blog-card-img {
    transform: scale(1.06);
}

.blog-card-category {
    position: absolute;
    top: 20px;
    left: 20px;
    background-color: var(--color-primary);
    color: var(--bg-white);
    padding: 5px 14px;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.blog-card-body {
    padding: 30px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.blog-card-meta {
    font-size: 0.8rem;
    color: #7C8A80;
    margin-bottom: 12px;
    display: flex;
    gap: 15px;
}

.blog-card-title {
    font-size: 1.3rem;
    margin-bottom: 15px;
    font-weight: 500;
}

.blog-card-excerpt {
    color: #556257;
    font-size: 0.95rem;
    margin-bottom: 20px;
    flex-grow: 1;
}

.blog-card-link {
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--color-primary);
}

.blog-sidebar {
    background-color: var(--bg-white);
    border-radius: 16px;
    padding: 30px;
    box-shadow: var(--shadow-soft);
    border: 1px solid rgba(76, 175, 103, 0.05);
    margin-bottom: 30px;
}

.sidebar-widget-title {
    font-size: 1.25rem;
    margin-bottom: 20px;
    position: relative;
    padding-bottom: 10px;
}

.sidebar-widget-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 30px;
    height: 2px;
    background-color: var(--color-primary);
}

.search-group {
    position: relative;
}

.search-input {
    width: 100%;
    padding: 12px 50px 12px 16px;
    border-radius: 8px;
    border: 1px solid rgba(76, 175, 103, 0.2);
    font-family: var(--font-body);
}

.search-input:focus {
    outline: none;
    border-color: var(--color-primary);
}

.search-btn {
    position: absolute;
    right: 5px;
    top: 5px;
    bottom: 5px;
    width: 40px;
    border-radius: 6px;
    background-color: var(--color-primary);
    color: #FFFFFF;
    border: none;
}

.sidebar-categories {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
}

.sidebar-categories li {
    padding: 8px 0;
    border-bottom: 1px solid rgba(76, 175, 103, 0.08);
    display: flex;
    justify-content: space-between;
}

.sidebar-categories li:last-child {
    border-bottom: none;
}

.sidebar-categories a {
    color: var(--color-primary-dark);
}

.sidebar-categories a:hover {
    color: var(--color-primary);
}

.category-count {
    background-color: var(--bg-mint);
    color: var(--color-primary);
    font-size: 0.8rem;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 12px;
}

.contact-info-card {
    background-color: var(--bg-white);
    border-radius: 16px;
    padding: 30px;
    box-shadow: var(--shadow-soft);
    border: 1px solid rgba(76, 175, 103, 0.05);
    height: 100%;
    display: flex;
    align-items: flex-start;
    transition: var(--transition-smooth);
}

.contact-info-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-medium);
}

.contact-icon-wrapper {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: var(--bg-mint);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
    margin-right: 20px;
    flex-shrink: 0;
}

.contact-info-content h6 {
    font-size: 1.1rem;
    font-weight: 600;
    margin-bottom: 8px;
}

.contact-info-content p {
    font-size: 0.95rem;
    color: #556257;
    margin-bottom: 0;
}

.map-container {
    border-radius: 20px;
    overflow: hidden;
    box-shadow: var(--shadow-soft);
    height: 450px;
    border: 1px solid rgba(76, 175, 103, 0.08);
}

.map-container iframe {
    width: 100%;
    height: 100%;
    border: none;
}

.decor-leaf-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    overflow: hidden;
    z-index: 1;
}

.decor-leaf-svg {
    position: absolute;
    width: 200px;
    height: 200px;
    opacity: 0.08;
    pointer-events: none;
    color: var(--color-primary);
}

.decor-leaf-svg.top-left {
    top: -25px;
    left: -25px;
}

.decor-leaf-svg.bottom-right {
    bottom: -25px;
    right: -25px;
    transform: rotate(180deg);
}

.svg, .svg-brands, .svgbrands {
    display: inline-block;
    width: var(--fs, 1.2em);
    height: var(--fs, 1.2em);
    background-color: currentColor;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
    -webkit-mask-image: var(--svg);
    mask-image: var(--svg);
    vertical-align: middle;
}

.material-symbols--call {
    --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M19.95 21q-3.125 0-6.175-1.362t-5.55-3.863t-3.862-5.55T3 4.05q0-.45.3-.75t.75-.3H8.1q.35 0 .625.238t.325.562l.65 3.5q.05.4-.025.675T9.4 8.45L6.975 10.9q.5.925 1.187 1.787t1.513 1.663q.775.775 1.625 1.438T13.1 17l2.35-2.35q.225-.225.588-.337t.712-.063l3.45.7q.35.1.575.363T21 15.9v4.05q0 .45-.3.75t-.75.3'/%3E%3C/svg%3E");
}

.material-symbols--mail {
    --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 20q-.825 0-1.412-.587T2 18V6q0-.825.588-1.412T4 4h16q.825 0 1.413.588T22 6v12q0 .825-.587 1.413T20 20zm8-7l8-5V6l-8 5l-8-5v2z'/%3E%3C/svg%3E");
}

.sbtn {
    font-family: var(--font-body);
    font-weight: 600;
    font-size: .95rem;
    padding: .85rem 2.2rem;
    border-radius: 100px;
    border: 1px solid transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .6rem;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    transition: transform .3s cubic-bezier(.16, 1, .3, 1), box-shadow .3s cubic-bezier(.16, 1, .3, 1), background-color .3s, color .3s, border-color .3s;
    white-space: nowrap;
}

:root {
    --color-primary: #2E7D45;
    --color-primary-dark: #1F5E33;
    --color-primary-light: #4CAF67;
    --color-secondary: #0E9B47;
    --color-secondary-light: #2EBE59;
    --color-secondary-dark: #087A38;
    --color-accent: #C5A880;
    --color-accent-light: #D4AF37;
    --color-leaf: #6DBE45;
    --bg-light-primary: rgb(243 248 238);
    --bg-warm-1: #FAF8F5;
    --bg-warm: #FBF8F1;
    --bg-mint: #F4F7F5;
    --bg-white: #FFFFFF;
    --font-heading: 'Marcellus', serif;
    --font-body: "Noto Sans", sans-serif;
    --transition-smooth: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
    --transition-fast: all 0.25s ease;
    --shadow-soft: 0 10px 30px rgba(31, 94, 51, 0.05);
    --shadow-medium: 0 15px 40px rgba(31, 94, 51, 0.08);
    --shadow-luxury: 0 20px 50px rgba(0, 0, 0, 0.15);
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: var(--font-body);
    background-color: var(--bg-warm);
    color: #2D3A30;
    overflow-x: hidden;
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
    width: 100%;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    color: var(--color-primary-dark);
    font-weight: normal;
    letter-spacing: 0.03em;
}

p {
    font-size: 1.05rem;
    font-weight: 450;
}

a {
    color: var(--color-primary);
    text-decoration: none;
    transition: var(--transition-fast);
}

a:hover {
    color: var(--color-primary-dark);
}

::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: var(--bg-warm);
}

::-webkit-scrollbar-thumb {
    background: var(--color-primary-light);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--color-primary);
}

::selection {
    background-color: #4CAF50;
    color: #fff;
}

.section-padding {
    padding: 65px 0;
}

.bg-warm-cream {
    background-color: var(--bg-warm);
}

.bg-mint-tint {
    background-color: var(--bg-mint);
}

.text-justify {
    text-align: justify;
}

.section-subtitle {
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.25px;
    color: var(--color-primary);
    display: inline-block;
    margin-bottom: 6px;
}

.section-title {
    font-size: 2.75rem;
    margin-bottom: 4px;
    position: relative;
    color: #1a6951;
    font-weight: 700;
}

.title-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 0px;
    margin-bottom: 10px;
}

.title-divider::before, .title-divider::after {
    content: '';
    height: 1px;
    width: 50px;
    background-color: var(--color-primary-light);
    display: inline-block;
}

.title-divider i {
    color: var(--color-primary);
    margin: 0 15px;
    font-size: 1.45rem;
}

.left-align-divider {
    justify-content: flex-start;
}

.left-align-divider::before {
    display: none;
}

.left-align-divider::after {
    width: 80px;
}

.left-align-divider i {
    margin-left: 0;
    margin-right: 15px;
}

.section-desc {
    font-size: 1.05rem;
    font-weight: 500;
}

.samudra-topbar {
    color: #ffffff;
    font-size: 0.85rem;
    /* padding: 4px 0 6px 0; */
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    top: 0;
    left: 0;
    right: 0;
    height: 53px;
    z-index: 1001;
    transition: var(--transition-smooth);
    background: hsl(75 29% 97% / 1);
}

.samudra-topbar a, .samudra-topbar .text {
    color: rgb(54 101 55);
    transition: var(--transition-fast);
    font-size: 15px;
    font-weight: 500;
}

.samudra-topbar a:hover {
    color: #212121;
}

.samudra-topbar-info {
    display: flex;
    align-items: center;
    gap: 20px;
}

.samudra-topbar-info .br {
    height: 20px;
    background: #4CAF50;
    width: 1px;
}

.samudra-topbar-info i {
    margin-right: 6px;
    display: inline-block;
    font-size: 18px;
    vertical-align: top;
}

.samudra-topbar-info i.fa6-solid--phone {
    font-size: 16px;
    vertical-align: text-top;
}

.samudra-topbar-social {
    display: flex;
    align-items: center;
    gap: 9px;
}

.samudra-topbar-social a {
    font-size: 15px;
    width: 41px;
    height: 41px;
    background-color: #ffffff;
    border-radius: 35px;
    color: var(--color-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #cfcfcf;
    transition: var(--transition-smooth);
}

.samudra-topbar-social a:hover {
    background-color: var(--color-leaf);
    color: #fff;
    border-color: var(--color-leaf);
    transform: translateY(-3px);
}

.samudra-navbar {
    padding: 7px 0;
    transition: var(--transition-smooth);
    -webkit-backdrop-filter: blur(12px);
    z-index: 1000;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
    width: 100%;
    top: 0;
    background-color: #fff;
}

.samudra-navbar.navbar-scrolled {
    padding: 8px 0;
}

.navbar-brand img {
    max-width: 360px;
    transition: var(--transition-smooth);
    width: 100%;
}

.samudra-navbar.navbar-scrolled .navbar-brand img {
    max-width: 250px;
}

.nav-link {
    font-family: var(--font-body);
    font-size: 15.6px;
    font-weight: 500;
    color: #111111 !important;
    margin: 0 7px;
    position: relative;
    padding: 12px 14px !important;
    transition: var(--transition-fast);
    white-space: nowrap;
    /* text-transform: uppercase; */
    letter-spacing: 0.01em;
    border-radius: 25px;
    line-height: 1;
}

.menunav-toggle:after {
    content: none;
}

.nav-link::before {
    content: '';
    position: absolute;
    background-color: hsl(90 33% 95% / 1);
    background-color: hsl(90deg 100% 88.09% / 62%);
    inset: 0px;
    border-radius: 25px;
    /* transform: translateY(-10px); */
    z-index: -1;
    opacity: 0;
    transition: all 280ms ease-in-out;
    transform: scale(0);
}

@keyframes menuhover {
    0% {
        opacity: 0;
        transform: scale(0);
    }

    20% {
        opacity: 1;
        transform: scale(1.15);
    }

    100% {
        opacity: 1;
        transform: scale(1);
    }
}

.nav-link0::after, .nav-link0::before {
    content: none;
    position: absolute;
    width: 0;
    height: 2px;
    background-color: var(--color-primary);
    transition: var(--transition-smooth);
    width: 100%;
    opacity: 0;
}

.nav-link0::before {
    top: 0;
    left: 0;
    transform: translateY(-10px);
}

.nav-link0::after {
    bottom: 0;
    left: 0;
    transform: translateY(10px);
}

.nav-link0:hover::after, .nav-link0.active::after {
    width: 100%;
    opacity: 1;
    transform: translateY(0px);
}

.nav-link0:hover::before, .nav-link0.active::before {
    width: 100%;
    opacity: 1;
    transform: translateY(0px);
}

.nav-link:hover, .nav-link.active {
    color: var(--color-primary) !important;
    /* background-color: hsl(90 33% 95% / 1); */
}

.nav-link:hover:before, .nav-link.active:before {
    /* transform: translateY(0px); */
    /* opacity: 1; */
    /* transform: scale(1); */
    animation: menuhover 400ms ease forwards;
}

.nav-link.active {
    font-weight: 700;
}

.navbar-toggler {
    border: none;
    padding: 10px 13px;
    background-color: #edf4ea;
}

.navbar-toggler:focus {
    box-shadow: none;
}

.toggler-icon {
    display: block;
    width: 31px;
    height: 3px;
    background-color: var(--color-primary-dark);
    margin: 5px 0;
    transition: var(--transition-fast);
}

.scroll-progress-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    z-index: 1001;
    background: transparent;
}

.scroll-progress-bar {
    height: 100%;
    width: 0%;
    background: linear-gradient(to right, var(--color-primary-light), var(--color-primary));
    transition: width 0.1s ease-out;
}

.scroll-reveal {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 1s cubic-bezier(0.16, 1, 0.3, 1), transform 1s cubic-bezier(0.16, 1, 0.3, 1);
}

.scroll-reveal.reveal-left {
    transform: translateX(-50px);
}

.scroll-reveal.reveal-right {
    transform: translateX(50px);
}

.scroll-reveal.reveal-scale {
    transform: scale(0.9);
}

.scroll-reveal.active {
    opacity: 1;
    transform: translate(0) scale(1);
}

.samudra-footer {
    background-color: #222c25;
    color: rgba(250, 248, 245, 0.8);
    padding-top: 80px;
    padding-bottom: 30px;
    border-top: 4px solid var(--color-primary-light);
}

.footer-logo img {
    height: 55px;
    margin-bottom: 20px;
}

.footer-social-links {
    display: flex;
    margin-top: 20px;
}

.floating-contact-actions {
    position: fixed;
    bottom: 30px;
    right: 30px;
    display: flex;
    flex-direction: column;
    gap: 22px 12px;
    align-items: flex-end;
    z-index: 999;
}

.floating-whatsapp {
    display: none !important;
}

.sticky-consultation-cta {
    position: fixed;
    bottom: 30px;
    left: 30px;
    z-index: 999;
    box-shadow: var(--shadow-luxury);
    transition: var(--transition-smooth);
    opacity: 0;
    transform: translateY(100px);
}

.sticky-consultation-cta.visible {
    opacity: 1;
    transform: translateY(0);
}

@keyframes scaleIn {
    0% {
        transform: scale(0);
    }

    100% {
        transform: scale(1);
    }
}

@keyframes shake {
    0%, 100% {
        transform: translateX(0);
    }

    20%, 60% {
        transform: translateX(-6px);
    }

    40%, 80% {
        transform: translateX(6px);
    }
}

.shake {
    animation: shake 0.4s ease;
}

.lightbox {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(14, 45, 23, 0.95);
    backdrop-filter: blur(10px);
    z-index: 1200;
    opacity: 0;
    visibility: hidden;
    transition: var(--transition-smooth);
    display: flex;
    align-items: center;
    justify-content: center;
}

.lightbox.open {
    opacity: 1;
    visibility: visible;
}

.lightbox-content {
    max-width: 90%;
    max-height: 80vh;
    position: relative;
}

.lightbox-content img {
    max-width: 100%;
    max-height: 80vh;
    border-radius: 12px;
    box-shadow: var(--shadow-luxury);
}

.lightbox-close {
    position: absolute;
    top: -45px;
    right: 0;
    color: #FFFFFF;
    font-size: 1.8rem;
    cursor: pointer;
}

.lightbox-caption {
    color: var(--bg-warm);
    text-align: center;
    margin-top: 15px;
    font-family: var(--font-heading);
    font-size: 1.25rem;
}

.filter-btn-container {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 40px;
}

.filter-btn {
    font-family: var(--font-body);
    font-size: 0.85rem;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 0.1em;
    padding: 10px 24px;
    border-radius: 30px;
    border: 1px solid rgba(76, 175, 103, 0.2);
    background-color: var(--bg-white);
    color: var(--color-primary-dark);
    margin: 6px;
    cursor: pointer;
    transition: var(--transition-fast);
}

.filter-btn:hover, .filter-btn.active {
    background-color: var(--color-primary);
    color: var(--bg-white);
    border-color: var(--color-primary);
}

.filter-item {
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.6s ease;
}

.filter-item.hidden {
    opacity: 0;
    transform: scale(0.8);
    position: absolute;
    pointer-events: none;
    width: 0;
    height: 0;
    overflow: hidden;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
}

.blog-card {
    background-color: var(--bg-white);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: var(--shadow-soft);
    border: 1px solid rgba(76, 175, 103, 0.05);
    transition: var(--transition-smooth);
    height: 100%;
    display: flex;
    flex-direction: column;
}

.blog-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-medium);
}

.blog-card-img-wrapper {
    position: relative;
    overflow: hidden;
    height: 220px;
}

.blog-card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--transition-smooth);
}

.blog-card:hover .blog-card-img {
    transform: scale(1.06);
}

.blog-card-category {
    position: absolute;
    top: 20px;
    left: 20px;
    background-color: var(--color-primary);
    color: var(--bg-white);
    padding: 5px 14px;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.blog-card-body {
    padding: 30px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.blog-card-meta {
    font-size: 0.8rem;
    color: #7C8A80;
    margin-bottom: 12px;
    display: flex;
    gap: 15px;
}

.blog-card-title {
    font-size: 1.3rem;
    margin-bottom: 15px;
    font-weight: 500;
}

.blog-card-excerpt {
    color: #556257;
    font-size: 0.95rem;
    margin-bottom: 20px;
    flex-grow: 1;
}

.blog-card-link {
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--color-primary);
}

.blog-sidebar {
    background-color: var(--bg-white);
    border-radius: 16px;
    padding: 30px;
    box-shadow: var(--shadow-soft);
    border: 1px solid rgba(76, 175, 103, 0.05);
    margin-bottom: 30px;
}

.sidebar-widget-title {
    font-size: 1.25rem;
    margin-bottom: 20px;
    position: relative;
    padding-bottom: 10px;
}

.sidebar-widget-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 30px;
    height: 2px;
    background-color: var(--color-primary);
}

.search-group {
    position: relative;
}

.search-input {
    width: 100%;
    padding: 12px 50px 12px 16px;
    border-radius: 8px;
    border: 1px solid rgba(76, 175, 103, 0.2);
    font-family: var(--font-body);
}

.search-input:focus {
    outline: none;
    border-color: var(--color-primary);
}

.search-btn {
    position: absolute;
    right: 5px;
    top: 5px;
    bottom: 5px;
    width: 40px;
    border-radius: 6px;
    background-color: var(--color-primary);
    color: #FFFFFF;
    border: none;
}

.sidebar-categories {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
}

.sidebar-categories li {
    padding: 8px 0;
    border-bottom: 1px solid rgba(76, 175, 103, 0.08);
    display: flex;
    justify-content: space-between;
}

.sidebar-categories li:last-child {
    border-bottom: none;
}

.sidebar-categories a {
    color: var(--color-primary-dark);
}

.sidebar-categories a:hover {
    color: var(--color-primary);
}

.category-count {
    background-color: var(--bg-mint);
    color: var(--color-primary);
    font-size: 0.8rem;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 12px;
}

.contact-info-card {
    background-color: var(--bg-white);
    border-radius: 16px;
    padding: 30px;
    box-shadow: var(--shadow-soft);
    border: 1px solid rgba(76, 175, 103, 0.05);
    height: 100%;
    display: flex;
    align-items: flex-start;
    transition: var(--transition-smooth);
}

.contact-info-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-medium);
}

.contact-icon-wrapper {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: var(--bg-mint);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
    margin-right: 20px;
    flex-shrink: 0;
}

.contact-info-content h6 {
    font-size: 1.1rem;
    font-weight: 600;
    margin-bottom: 8px;
}

.contact-info-content p {
    font-size: 0.95rem;
    color: #556257;
    margin-bottom: 0;
}

.map-container {
    border-radius: 20px;
    overflow: hidden;
    box-shadow: var(--shadow-soft);
    height: 450px;
    border: 1px solid rgba(76, 175, 103, 0.08);
}

.map-container iframe {
    width: 100%;
    height: 100%;
    border: none;
}

.decor-leaf-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    overflow: hidden;
    z-index: 1;
}

.decor-leaf-svg {
    position: absolute;
    width: 200px;
    height: 200px;
    opacity: 0.08;
    pointer-events: none;
    color: var(--color-primary);
}

.decor-leaf-svg.top-right {
    top: -25px;
    right: -25px;
    transform: scale(-1);
}

.decor-leaf-svg.top-left {
    top: -25px;
    left: -25px;
}

.decor-leaf-svg.about {
    top: 5px;
    width: 140px;
    opacity: 5%;
    left: 8px;
}

.decor-leaf-svg.bottom-right {
    bottom: -25px;
    right: -25px;
    transform: rotate(180deg);
}

.svg, .svg-brands, .svgbrands {
    display: inline-block;
    width: var(--fs, 1.2em);
    height: var(--fs, 1.2em);
    background-color: currentColor;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
    -webkit-mask-image: var(--svg);
    mask-image: var(--svg);
    vertical-align: middle;
}

.material-symbols--call {
    --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M19.95 21q-3.125 0-6.175-1.362t-5.55-3.863t-3.862-5.55T3 4.05q0-.45.3-.75t.75-.3H8.1q.35 0 .625.238t.325.562l.65 3.5q.05.4-.025.675T9.4 8.45L6.975 10.9q.5.925 1.187 1.787t1.513 1.663q.775.775 1.625 1.438T13.1 17l2.35-2.35q.225-.225.588-.337t.712-.063l3.45.7q.35.1.575.363T21 15.9v4.05q0 .45-.3.75t-.75.3'/%3E%3C/svg%3E");
}

.material-symbols--mail {
    --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 20q-.825 0-1.412-.587T2 18V6q0-.825.588-1.412T4 4h16q.825 0 1.413.588T22 6v12q0 .825-.587 1.413T20 20zm8-7l8-5V6l-8 5l-8-5v2z'/%3E%3C/svg%3E");
}

.sbtn {
    font-family: var(--font-body);
    font-weight: 600;
    font-size: .95rem;
    padding: .85rem 2.2rem;
    border-radius: 100px;
    border: 1px solid transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .6rem;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    transition: transform .3s cubic-bezier(.16, 1, .3, 1), box-shadow .3s cubic-bezier(.16, 1, .3, 1), background-color .3s, color .3s, border-color .3s;
    white-space: nowrap;
    overflow: hidden;
}

.sbtn:after {
    content: '';
    display: inline-block;
    font-size: 25px;
    width: 1em;
    height: 1em;
    /* --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m18 8l4 4m0 0l-4 4m4-4H2'/%3E%3C/svg%3E"); */
    --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M17 8C8 10 5.9 16.17 3.82 21.34l1.89.66l.95-2.3c.48.17.98.3 1.34.3C19 20 22 3 22 3c-1 2-8 2.25-13 3.25S2 11.5 2 13.5s1.75 3.75 1.75 3.75C7 8 17 8 17 8'/%3E%3C/svg%3E");
    background-color: currentColor;
    -webkit-mask-image: var(--svg);
    mask-image: var(--svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
}

.sbtn-primary {
    background-color: var(--color-primary);
    color: var(--bg-white) !important;
    box-shadow: 0 8px 20px rgba(46, 125, 69, 0.18);
}

.sbtn-primary:hover {
    background-color: var(--color-primary-dark);
    color: #fff !important;
    transform: translateY(-3px);
    box-shadow: 0 12px 28px rgba(46, 125, 69, 0.28);
}

.sbtn-white {
    background-color: #fff;
    color: var(--color-primary) !important;
    border-color: rgba(46, 125, 69, 0.12);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.04);
}

.sbtn-white:hover {
    background-color: var(--color-primary);
    color: #fff !important;
    border-color: var(--color-primary);
    transform: translateY(-3px);
    box-shadow: 0 12px 28px rgba(46, 125, 69, 0.18);
}

.sbtn-outline-light {
    background: transparent;
    border: 2px solid rgba(255, 255, 255, 0.7);
    color: #fff !important;
}

.sbtn-outline-light:hover {
    background: #ffffff;
    border-color: #ffffff;
    color: var(--color-primary) !important;
    transform: translateY(-3px);
    box-shadow: 0 12px 28px rgba(255, 255, 255, 0.25);
}

.material-symbols-light--spa-outline {
    --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12.346 20.962q-1.56-.186-3.098-.814q-1.538-.629-2.787-1.832q-1.25-1.204-2.076-3.052t-.962-4.456L3.385 10l.769.039q1.044.057 2.48.527q1.437.468 2.439 1.195q.127-1.88.93-3.96T12 4.269q1.194 1.452 1.997 3.551t.93 3.98q.944-.67 2.342-1.186t2.539-.576l.807-.038l-.038.846q-.077 2.07-.644 3.716t-1.605 2.888t-2.527 2.11t-3.455 1.402m-.012-1.012q-.275-4.15-2.462-6.275T4.434 11.05q.275 4.275 2.538 6.375t5.362 2.525M12 14.908q.337-.627.865-1.311q.527-.684 1.085-1.147q-.011-1.54-.524-3.215T12 6.027q-.913 1.533-1.426 3.208t-.524 3.215q.558.464 1.079 1.147q.521.684.871 1.31m1.335 4.709q1.174-.397 2.251-1.049q1.078-.651 1.93-1.668q.853-1.016 1.399-2.453q.545-1.436.65-3.396q-2.427.35-4.317 1.707t-2.725 3.328q.3.8.493 1.615t.319 1.916m-.989 1.346'/%3E%3C/svg%3E");
}

.mynaui--arrow-long-right {
    --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m18 8l4 4m0 0l-4 4m4-4H2'/%3E%3C/svg%3E");
}

.mdi--leaf {
    --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M17 8C8 10 5.9 16.17 3.82 21.34l1.89.66l.95-2.3c.48.17.98.3 1.34.3C19 20 22 3 22 3c-1 2-8 2.25-13 3.25S2 11.5 2 13.5s1.75 3.75 1.75 3.75C7 8 17 8 17 8'/%3E%3C/svg%3E");
}

.hugeicons--doctor-01 {
    --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.5'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M20 22v-3c0-2.828 0-4.243-.879-5.121C18.243 13 16.828 13 14 13l-2 2l-2-2c-2.828 0-4.243 0-5.121.879C4 14.757 4 16.172 4 19v3m12-9v5.5'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M8.5 13v4m0 0a2 2 0 0 1 2 2v1m-2-3a2 2 0 0 0-2 2v1m9-13.5v-1a3.5 3.5 0 1 0-7 0v1a3.5 3.5 0 1 0 7 0'/%3E%3Cpath d='M16.75 19.25a.75.75 0 1 1-1.5 0a.75.75 0 0 1 1.5 0Z'/%3E%3C/g%3E%3C/svg%3E");
}

.mdi--user-tie {
    --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3c2.21 0 4 1.79 4 4s-1.79 4-4 4s-4-1.79-4-4s1.79-4 4-4m4 10.54c0 1.06-.28 3.53-2.19 6.29L13 15l.94-1.88c-.62-.07-1.27-.12-1.94-.12s-1.32.05-1.94.12L11 15l-.81 4.83C8.28 17.07 8 14.6 8 13.54c-2.39.7-4 1.96-4 3.46v4h16v-4c0-1.5-1.6-2.76-4-3.46'/%3E%3C/svg%3E");
}

.hugeicons--doctor-01 {
    --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.5'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M20 22v-3c0-2.828 0-4.243-.879-5.121C18.243 13 16.828 13 14 13l-2 2l-2-2c-2.828 0-4.243 0-5.121.879C4 14.757 4 16.172 4 19v3m12-9v5.5'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M8.5 13v4m0 0a2 2 0 0 1 2 2v1m-2-3a2 2 0 0 0-2 2v1m9-13.5v-1a3.5 3.5 0 1 0-7 0v1a3.5 3.5 0 1 0 7 0'/%3E%3Cpath d='M16.75 19.25a.75.75 0 1 1-1.5 0a.75.75 0 0 1 1.5 0Z'/%3E%3C/g%3E%3C/svg%3E");
}

.lucide--leafy-green {
    --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 22c1.25-.987 2.27-1.975 3.9-2.2a5.56 5.56 0 0 1 3.8 1.5a4 4 0 0 0 6.187-2.353a3.5 3.5 0 0 0 3.69-5.116A3.5 3.5 0 0 0 20.95 8A3.5 3.5 0 1 0 16 3.05a3.5 3.5 0 0 0-5.831 1.373a3.5 3.5 0 0 0-5.116 3.69a4 4 0 0 0-2.348 6.155C3.499 15.42 4.409 16.712 4.2 18.1C3.926 19.743 3.014 20.732 2 22m0 0L17 7'/%3E%3C/svg%3E");
}

.icomoon-free--quotes-left {
    --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M3.516 7a3.5 3.5 0 1 1-3.5 3.5L0 10a7 7 0 0 1 7-7v2a4.97 4.97 0 0 0-3.536 1.464a5 5 0 0 0-.497.578q.269-.043.548-.043zm9 0a3.5 3.5 0 1 1-3.5 3.5L9 10a7 7 0 0 1 7-7v2a4.97 4.97 0 0 0-3.536 1.464a5 5 0 0 0-.497.578q.269-.043.549-.043z'/%3E%3C/svg%3E");
}

.fa7-regular--compass {
    --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath fill='black' d='M528 320c0-114.9-93.1-208-208-208s-208 93.1-208 208s93.1 208 208 208s208-93.1 208-208m-464 0C64 178.6 178.6 64 320 64s256 114.6 256 256s-114.6 256-256 256S64 461.4 64 320m306.7 69.1l-144.3 55.5c-19.4 7.5-38.5-11.6-31-31l55.5-144.3c3.3-8.5 9.9-15.1 18.4-18.4l144.3-55.5c19.4-7.5 38.5 11.6 31 31l-55.5 144.3c-3.3 8.5-9.9 15.1-18.4 18.4M352 320c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32'/%3E%3C/svg%3E");
}

.fa7-regular--eye {
    --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath fill='black' d='M320 144c-65.2 0-118.8 29.6-159.9 67.7C121.6 247.5 95 290 81.4 320c13.6 30 40.2 72.5 78.7 108.3C201.2 466.4 254.8 496 320 496s118.8-29.6 159.9-67.7C518.4 392.5 545 350 558.6 320c-13.6-30-40.2-72.5-78.7-108.3C438.8 173.6 385.2 144 320 144m-192.6 32.6C174.5 132.8 239.2 96 320 96s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C465.5 507.1 400.8 544 320 544s-145.5-36.8-192.6-80.6c-46.8-43.5-78.1-95.4-93-131.1c-3.3-7.9-3.3-16.7 0-24.6c14.9-35.7 46.2-87.7 93-131.1M320 400c44.2 0 80-35.8 80-80c0-29.6-16.1-55.5-40-69.3c-1.4 59.7-49.6 107.9-109.3 109.3c13.8 23.9 39.7 40 69.3 40m-79.6-88.4c2.5.3 5 .4 7.6.4c35.3 0 64-28.7 64-64c0-2.6-.2-5.1-.4-7.6c-37.4 3.9-67.2 33.7-71.1 71.1zm45.6-115c10.8-3 22.2-4.5 33.9-4.5c8.8 0 17.5.9 25.8 2.6c.3.1.5.1.8.2c57.9 12.2 101.4 63.7 101.4 125.2c0 70.7-57.3 128-128 128c-61.6 0-113-43.5-125.2-101.4c-1.8-8.6-2.8-17.5-2.8-26.6c0-11 1.4-21.8 4-32c.2-.7.3-1.3.5-1.9c11.9-43.4 46.1-77.6 89.5-89.5z'/%3E%3C/svg%3E");
}

.bi--shield-check {
    --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='black'%3E%3Cpath d='M5.338 1.59a61 61 0 0 0-2.837.856a.48.48 0 0 0-.328.39c-.554 4.157.726 7.19 2.253 9.188a10.7 10.7 0 0 0 2.287 2.233c.346.244.652.42.893.533q.18.085.293.118a1 1 0 0 0 .101.025a1 1 0 0 0 .1-.025q.114-.034.294-.118c.24-.113.547-.29.893-.533a10.7 10.7 0 0 0 2.287-2.233c1.527-1.997 2.807-5.031 2.253-9.188a.48.48 0 0 0-.328-.39c-.651-.213-1.75-.56-2.837-.855C9.552 1.29 8.531 1.067 8 1.067c-.53 0-1.552.223-2.662.524zM5.072.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.596 4.477-.787 7.795-2.465 9.99a11.8 11.8 0 0 1-2.517 2.453a7 7 0 0 1-1.048.625c-.28.132-.581.24-.829.24s-.548-.108-.829-.24a7 7 0 0 1-1.048-.625a11.8 11.8 0 0 1-2.517-2.453C1.928 10.487.545 7.169 1.141 2.692A1.54 1.54 0 0 1 2.185 1.43A63 63 0 0 1 5.072.56'/%3E%3Cpath d='M10.854 5.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 7.793l2.646-2.647a.5.5 0 0 1 .708 0'/%3E%3C/g%3E%3C/svg%3E");
}

.bi--arrow-right {
    --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' fill-rule='evenodd' d='M1 8a.5.5 0 0 1 .5-.5h11.793l-3.147-3.146a.5.5 0 0 1 .708-.708l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 0 1-.708-.708L13.293 8.5H1.5A.5.5 0 0 1 1 8'/%3E%3C/svg%3E");
}

.bi--eye {
    --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='black'%3E%3Cpath d='M16 8s-3-5.5-8-5.5S0 8 0 8s3 5.5 8 5.5S16 8 16 8M1.173 8a13 13 0 0 1 1.66-2.043C4.12 4.668 5.88 3.5 8 3.5s3.879 1.168 5.168 2.457A13 13 0 0 1 14.828 8q-.086.13-.195.288c-.335.48-.83 1.12-1.465 1.755C11.879 11.332 10.119 12.5 8 12.5s-3.879-1.168-5.168-2.457A13 13 0 0 1 1.172 8z'/%3E%3Cpath d='M8 5.5a2.5 2.5 0 1 0 0 5a2.5 2.5 0 0 0 0-5M4.5 8a3.5 3.5 0 1 1 7 0a3.5 3.5 0 0 1-7 0'/%3E%3C/g%3E%3C/svg%3E");
}

.bi--star-fill {
    --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M3.612 15.443c-.386.198-.824-.149-.746-.592l.83-4.73L.173 6.765c-.329-.314-.158-.888.283-.95l4.898-.696L7.538.792c.197-.39.73-.39.927 0l2.184 4.327l4.898.696c.441.062.612.636.282.95l-3.522 3.356l.83 4.73c.078.443-.36.79-.746.592L8 13.187l-4.389 2.256z'/%3E%3C/svg%3E");
}

.bi--geo-alt {
    --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='black'%3E%3Cpath d='M12.166 8.94c-.524 1.062-1.234 2.12-1.96 3.07A32 32 0 0 1 8 14.58a32 32 0 0 1-2.206-2.57c-.726-.95-1.436-2.008-1.96-3.07C3.304 7.867 3 6.862 3 6a5 5 0 0 1 10 0c0 .862-.305 1.867-.834 2.94M8 16s6-5.686 6-10A6 6 0 0 0 2 6c0 4.314 6 10 6 10'/%3E%3Cpath d='M8 8a2 2 0 1 1 0-4a2 2 0 0 1 0 4m0 1a3 3 0 1 0 0-6a3 3 0 0 0 0 6'/%3E%3C/g%3E%3C/svg%3E");
}

.bi--telephone {
    --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M3.654 1.328a.678.678 0 0 0-1.015-.063L1.605 2.3c-.483.484-.661 1.169-.45 1.77a17.6 17.6 0 0 0 4.168 6.608a17.6 17.6 0 0 0 6.608 4.168c.601.211 1.286.033 1.77-.45l1.034-1.034a.678.678 0 0 0-.063-1.015l-2.307-1.794a.68.68 0 0 0-.58-.122l-2.19.547a1.75 1.75 0 0 1-1.657-.459L5.482 8.062a1.75 1.75 0 0 1-.46-1.657l.548-2.19a.68.68 0 0 0-.122-.58zM1.884.511a1.745 1.745 0 0 1 2.612.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.68.68 0 0 0 .178.643l2.457 2.457a.68.68 0 0 0 .644.178l2.189-.547a1.75 1.75 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.6 18.6 0 0 1-7.01-4.42a18.6 18.6 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877z'/%3E%3C/svg%3E");
}

.bi--facebook {
    --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M16 8.049c0-4.446-3.582-8.05-8-8.05C3.58 0-.002 3.603-.002 8.05c0 4.017 2.926 7.347 6.75 7.951v-5.625h-2.03V8.05H6.75V6.275c0-2.017 1.195-3.131 3.022-3.131c.876 0 1.791.157 1.791.157v1.98h-1.009c-.993 0-1.303.621-1.303 1.258v1.51h2.218l-.354 2.326H9.25V16c3.824-.604 6.75-3.934 6.75-7.951'/%3E%3C/svg%3E");
}

.bi--instagram {
    --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M8 0C5.829 0 5.556.01 4.703.048C3.85.088 3.269.222 2.76.42a3.9 3.9 0 0 0-1.417.923A3.9 3.9 0 0 0 .42 2.76C.222 3.268.087 3.85.048 4.7C.01 5.555 0 5.827 0 8.001c0 2.172.01 2.444.048 3.297c.04.852.174 1.433.372 1.942c.205.526.478.972.923 1.417c.444.445.89.719 1.416.923c.51.198 1.09.333 1.942.372C5.555 15.99 5.827 16 8 16s2.444-.01 3.298-.048c.851-.04 1.434-.174 1.943-.372a3.9 3.9 0 0 0 1.416-.923c.445-.445.718-.891.923-1.417c.197-.509.332-1.09.372-1.942C15.99 10.445 16 10.173 16 8s-.01-2.445-.048-3.299c-.04-.851-.175-1.433-.372-1.941a3.9 3.9 0 0 0-.923-1.417A3.9 3.9 0 0 0 13.24.42c-.51-.198-1.092-.333-1.943-.372C10.443.01 10.172 0 7.998 0zm-.717 1.442h.718c2.136 0 2.389.007 3.232.046c.78.035 1.204.166 1.486.275c.373.145.64.319.92.599s.453.546.598.92c.11.281.24.705.275 1.485c.039.843.047 1.096.047 3.231s-.008 2.389-.047 3.232c-.035.78-.166 1.203-.275 1.485a2.5 2.5 0 0 1-.599.919c-.28.28-.546.453-.92.598c-.28.11-.704.24-1.485.276c-.843.038-1.096.047-3.232.047s-2.39-.009-3.233-.047c-.78-.036-1.203-.166-1.485-.276a2.5 2.5 0 0 1-.92-.598a2.5 2.5 0 0 1-.6-.92c-.109-.281-.24-.705-.275-1.485c-.038-.843-.046-1.096-.046-3.233s.008-2.388.046-3.231c.036-.78.166-1.204.276-1.486c.145-.373.319-.64.599-.92s.546-.453.92-.598c.282-.11.705-.24 1.485-.276c.738-.034 1.024-.044 2.515-.045zm4.988 1.328a.96.96 0 1 0 0 1.92a.96.96 0 0 0 0-1.92m-4.27 1.122a4.109 4.109 0 1 0 0 8.217a4.109 4.109 0 0 0 0-8.217m0 1.441a2.667 2.667 0 1 1 0 5.334a2.667 2.667 0 0 1 0-5.334'/%3E%3C/svg%3E");
}

.bi--x-lg {
    --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8z'/%3E%3C/svg%3E");
}

.bi--tree {
    --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M8.416.223a.5.5 0 0 0-.832 0l-3 4.5A.5.5 0 0 0 5 5.5h.098L3.076 8.735A.5.5 0 0 0 3.5 9.5h.191l-1.638 3.276a.5.5 0 0 0 .447.724H7V16h2v-2.5h4.5a.5.5 0 0 0 .447-.724L12.31 9.5h.191a.5.5 0 0 0 .424-.765L10.902 5.5H11a.5.5 0 0 0 .416-.777zM6.437 4.758A.5.5 0 0 0 6 4.5h-.066L8 1.401L10.066 4.5H10a.5.5 0 0 0-.424.765L11.598 8.5H11.5a.5.5 0 0 0-.447.724L12.69 12.5H3.309l1.638-3.276A.5.5 0 0 0 4.5 8.5h-.098l2.022-3.235a.5.5 0 0 0 .013-.507'/%3E%3C/svg%3E");
}

.bi--calendar3 {
    --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='black'%3E%3Cpath d='M14 0H2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2M1 3.857C1 3.384 1.448 3 2 3h12c.552 0 1 .384 1 .857v10.286c0 .473-.448.857-1 .857H2c-.552 0-1-.384-1-.857z'/%3E%3Cpath d='M6.5 7a1 1 0 1 0 0-2a1 1 0 0 0 0 2m3 0a1 1 0 1 0 0-2a1 1 0 0 0 0 2m3 0a1 1 0 1 0 0-2a1 1 0 0 0 0 2m-9 3a1 1 0 1 0 0-2a1 1 0 0 0 0 2m3 0a1 1 0 1 0 0-2a1 1 0 0 0 0 2m3 0a1 1 0 1 0 0-2a1 1 0 0 0 0 2m3 0a1 1 0 1 0 0-2a1 1 0 0 0 0 2m-9 3a1 1 0 1 0 0-2a1 1 0 0 0 0 2m3 0a1 1 0 1 0 0-2a1 1 0 0 0 0 2m3 0a1 1 0 1 0 0-2a1 1 0 0 0 0 2'/%3E%3C/g%3E%3C/svg%3E");
}

.bi--heart-pulse {
    --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='black'%3E%3Cpath d='m8 2.748l-.717-.737C5.6.281 2.514.878 1.4 3.053C.918 3.995.78 5.323 1.508 7H.43c-2.128-5.697 4.165-8.83 7.394-5.857q.09.083.176.171a3 3 0 0 1 .176-.17c3.23-2.974 9.522.159 7.394 5.856h-1.078c.728-1.677.59-3.005.108-3.947C13.486.878 10.4.28 8.717 2.01zM2.212 10h1.315C4.593 11.183 6.05 12.458 8 13.795c1.949-1.337 3.407-2.612 4.473-3.795h1.315c-1.265 1.566-3.14 3.25-5.788 5c-2.648-1.75-4.523-3.434-5.788-5'/%3E%3Cpath d='M10.464 3.314a.5.5 0 0 0-.945.049L7.921 8.956L6.464 5.314a.5.5 0 0 0-.88-.091L3.732 8H.5a.5.5 0 0 0 0 1H4a.5.5 0 0 0 .416-.223l1.473-2.209l1.647 4.118a.5.5 0 0 0 .945-.049l1.598-5.593l1.457 3.642A.5.5 0 0 0 12 9h3.5a.5.5 0 0 0 0-1h-3.162z'/%3E%3C/g%3E%3C/svg%3E");
}

.bi--chevron-right {
    --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' fill-rule='evenodd' d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8L4.646 2.354a.5.5 0 0 1 0-.708'/%3E%3C/svg%3E");
}

.bi--chevron-down {
    --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3E%3C/svg%3E");
}

/* icn */
.drbr {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    width: 100%;
    color: var(--color-leaf);
}

.drbr::before, .drbr::after {
    content: "";
    flex: 1;
    height: 1px;
    background: rgba(46, 125, 69, 0.08);
    /* Border color */
}

.drbr span {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
}

.text-muted {
    color: rgb(26 28 31 / 75%) !important;
}

.animated-button {
    --btn-border-color: var(--color-leaf);
    --btn-text-color: var(--color-primary);
    --btn-icon-color: var(--color-leaf);
    --btn-bg-color: transparent;
    --btn-box-color: #fff;
    --btn-h-border-color: var(--color-leaf);
    --btn-h-text-color: #fff;
    --btn-h-icon-color: #fff;
    --btn-h-bg-color: var(--color-primary-dark);
    --btn-h-box-color: greenyellow;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 13px 36px;
    border: 2px solid var(--btn-border-color);
    border-radius: 100px;
    background: var(--btn-bg-color);
    color: var(--btn-text-color);
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
    cursor: pointer;
    overflow: hidden;
    user-select: none;
    box-shadow: 0 0 0 2px var(--btn-box-color);
    transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}

/* Theme */
.button-primary {
    --btn-border-color: #276535;
    --btn-text-color: #fff;
    --btn-icon-color: #fff;
    --btn-bg-color: #276535;
    --btn-box-color: var(--color-leaf);
    --btn-h-border-color: #adff2f;
    --btn-h-text-color: #fff;
    --btn-h-icon-color: #fff;
    --btn-h-bg-color: var(--color-secondary-dark);
    --btn-h-box-color: #adff2f;
}

.button-white {
    --btn-border-color: var(--color-primary-dark);
    --btn-text-color: var(--color-primary-dark);
    --btn-icon-color: #fff;
    --btn-bg-color: #fff;
    --btn-box-color: #ffffff80;
    --btn-h-border-color: #adff2f;
    --btn-h-text-color: #fff;
    --btn-h-icon-color: #fff;
    --btn-h-bg-color: var(--color-primary-dark);
    --btn-h-box-color: #adff2f;
}

.button-outline--white {
    --btn-border-color: #fff;
    --btn-text-color: #fff;
    --btn-icon-color: #fff;
    --btn-bg-color: transparent;
    --btn-box-color: #ffffff80;
    --btn-h-border-color: #adff2f;
    --btn-h-text-color: var(--color-primary-dark);
    --btn-h-icon-color: var(--color-primary-dark);
    --btn-h-bg-color: #fff;
    --btn-h-box-color: #adff2f;
}

/* Text */
.animated-button .text {
    position: relative;
    z-index: 2;
    transform: translateX(-12px);
    transition: all 0.8s cubic-bezier(0.23, 1, 0.32, 1);
}

/* Circle */
.animated-button .circle {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    opacity: 0;
    z-index: 1;
    background: var(--btn-h-bg-color);
    transition: all 0.8s cubic-bezier(0.23, 1, 0.32, 1);
}

.animated-button::before, .animated-button::after {
    /* --svg-icon: var(--svg, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M16.1716 10.9999L10.8076 5.63589L12.2218 4.22168L20 11.9999L12.2218 19.778L10.8076 18.3638L16.1716 12.9999H4V10.9999H16.1716Z'/%3E%3C/svg%3E")); */
    content: "";
    position: absolute;
    width: 24px;
    height: 24px;
    z-index: 3;
    background-color: var(--btn-icon-color);
    transition: all 0.8s cubic-bezier(0.23, 1, 0.32, 1);
    -webkit-mask: var(--svg-icon) center/contain no-repeat;
    mask: var(--svg-icon) center/contain no-repeat;
}

.animated-button::after {
    --svg-icon: var(--svg, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M16.1716 10.9999L10.8076 5.63589L12.2218 4.22168L20 11.9999L12.2218 19.778L10.8076 18.3638L16.1716 12.9999H4V10.9999H16.1716Z'/%3E%3C/svg%3E"));
}

.animated-button::before {
    --svg-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M16.1716 10.9999L10.8076 5.63589L12.2218 4.22168L20 11.9999L12.2218 19.778L10.8076 18.3638L16.1716 12.9999H4V10.9999H16.1716Z'/%3E%3C/svg%3E");
}

/* Right Arrow */
.animated-button::after {
    right: 16px;
}

/* Left Arrow */
.animated-button::before {
    left: -25%;
}

/* Hover */
.trigger-btn:hover .animated-button, .animated-button:hover {
    box-shadow: 0 0 0 12px transparent;
    border-radius: 12px;
    border-color: var(--btn-h-border-color);
}

.trigger-btn:hover .animated-button::after, .animated-button:hover::after {
    right: -25%;
}

.trigger-btn:hover .animated-button::before, .animated-button:hover::before {
    left: 16px;
}

.trigger-btn:hover .animated-button .text, .animated-button:hover .text {
    transform: translateX(12px);
    color: var(--btn-h-text-color);
}

.trigger-btn:hover .animated-button::before, .trigger-btn:hover .animated-button::after, .animated-button:hover::before, .animated-button:hover::after {
    background-color: var(--btn-h-icon-color);
}

.animated-button:hover .circle {
    width: 270px;
    height: 270px;
    opacity: 1;
}

.animated-button:active {
    transform: scale(0.95);
    box-shadow: 0 0 0 4px var(--btn-h-box-color);
}

.inner-banner {
    background-image: linear-gradient(rgba(31, 94, 51, 0.85), rgba(31, 94, 51, 0.95)), url('../images/bg/inner-bg.webp');
    background-size: cover;
    background-position: center;
    min-height: 300px;
    padding-top: 90px;
    padding-bottom: 100px;
    /* border-bottom-left-radius: 30% 50px;
    border-bottom-right-radius: 30% 50px; */
    position: relative
}

.inner-banner:after {
    /* content:""; */
    position: absolute;
    left: -5%;
    bottom: -70px;
    width: 110%;
    height: 150px;
    background: #fff;
    border-radius: 50%;
}

.curve {
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 100%;
    height: 160px;
    display: block;
}

.lazyimg {
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
}

.lazyimg.completed {
    opacity: 1;
}

.lazybg {
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
}

.lazybg.completed {
    opacity: 1;
}

/* zz */
@media (min-width: 1400px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 1380px;
    }
}

@media (max-width: 768px) {
    .decor-leaf-svg {
        width: 120px;
        height: 120px;
    }

    .section-padding {
        padding: 60px 0;
    }

    .samudra-navbar {
        /* top: 40px; */
    }

    .samudra-navbar.navbar-scrolled {
        top: 0;
    }

    .section-title {
        font-size: 2.1rem;
    }
}

@media (max-width: 568px) {
    .samudra-navbar {
        padding: 6px 0;
    }

    .navbar-brand img {
        max-width: 281px;
    }

    .samudra-navbar.navbar-scrolled .navbar-brand img {
        max-width: 310px;
    }
}

@media (max-width: 576px) {
    .sticky-consultation-cta {
        display: none;
    }

    .floating-contact-actions {
        bottom: 20px;
        right: 20px;
        gap: 8px;
    }

    .floating-action-btn {
        padding: 8px 16px;
        font-size: 0.85rem;
        gap: 8px;
    }

    .floating-action-btn i {
        font-size: 1.15rem;
    }
}

@media (max-width: 375px) {
    .navbar-brand img {
        max-width: 210px;
    }
}

.sbtn-primary {
    background-color: var(--color-primary);
    color: var(--bg-white) !important;
    box-shadow: 0 8px 20px rgba(46, 125, 69, 0.18);
    background: linear-gradient(#389953, #2e7d45);
    color: #fff;
    box-shadow: 0 10px 25px rgba(46, 125, 69, .25);
}

.sbtn-primary:hover {
    background-color: var(--color-primary-dark);
    color: #fff !important;
    transform: translateY(-3px);
    box-shadow: 0 12px 28px rgba(46, 125, 69, 0.28);
}

.sbtn-primary:hover:before {
    left: 160%;
}

.sbtn-primary:before {
    content: "";
    position: absolute;
    top: -40%;
    left: -130%;
    width: 60%;
    height: 200%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .45), transparent);
    transform: rotate(20deg);
    transition: .8s;
}

.sbtn-white {
    background-color: #fff;
    color: var(--color-primary) !important;
    border-color: rgba(46, 125, 69, 0.12);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.04);
}

.sbtn-white:hover {
    background-color: var(--color-primary);
    color: #fff !important;
    border-color: var(--color-primary);
    transform: translateY(-3px);
    box-shadow: 0 12px 28px rgba(46, 125, 69, 0.18);
}

.sbtn-outline-light {
    background: transparent;
    border: 2px solid rgba(255, 255, 255, 0.7);
    color: #fff !important;
}

.sbtn-outline-light:hover {
    background: #ffffff;
    border-color: #ffffff;
    color: var(--color-primary) !important;
    transform: translateY(-3px);
    box-shadow: 0 12px 28px rgba(255, 255, 255, 0.25);
}

.fa6-brands--facebook-f {
    --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath fill='black' d='M80 299.3V512h116V299.3h86.5l18-97.8H196v-34.6c0-51.7 20.3-71.5 72.7-71.5c16.3 0 29.4.4 37 1.2V7.9C291.4 4 256.4 0 236.2 0C129.3 0 80 50.5 80 159.4v42.1H14v97.8z'/%3E%3C/svg%3E");
}

.fa6-brands--instagram {
    --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='black' d='M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9S287.7 141 224.1 141m0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7s74.7 33.5 74.7 74.7s-33.6 74.7-74.7 74.7m146.4-194.3c0 14.9-12 26.8-26.8 26.8c-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8s26.8 12 26.8 26.8m76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9c-26.2-26.2-58-34.4-93.9-36.2c-37-2.1-147.9-2.1-184.9 0c-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9c1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0c35.9-1.7 67.7-9.9 93.9-36.2c26.2-26.2 34.4-58 36.2-93.9c2.1-37 2.1-147.8 0-184.8M398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6c-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6c-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6c29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6c11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1'/%3E%3C/svg%3E");
}

.fa-x-twitter {
    --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M389.2 48h70.6L305.6 224.2L487 464H345L233.7 318.6L106.5 464H35.8l164.9-188.5L26.8 48h145.6l100.5 132.9zm-24.8 373.8h39.1L151.1 88h-42z'/%3E%3C/svg%3E")
}

.fa6-brands--youtube {
    --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='black' d='M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597c-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821c11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305m-317.51 213.508V175.185l142.739 81.205z'/%3E%3C/svg%3E");
}

.fa6-brands--whatsapp {
    --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='black' d='M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222c0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222c0-59.3-25.2-115-67.1-157m-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4l-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2c0-101.7 82.8-184.5 184.6-184.5c49.3 0 95.6 19.2 130.4 54.1s56.2 81.2 56.1 130.5c0 101.8-84.9 184.6-186.6 184.6m101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18c-5.1-1.9-8.8-2.8-12.5 2.8s-14.3 18-17.6 21.8c-3.2 3.7-6.5 4.2-12 1.4c-32.6-16.3-54-29.1-75.5-66c-5.7-9.8 5.7-9.1 16.3-30.3c1.8-3.7.9-6.9-.5-9.7s-12.5-30.1-17.1-41.2c-4.5-10.8-9.1-9.3-12.5-9.5c-3.2-.2-6.9-.2-10.6-.2s-9.7 1.4-14.8 6.9c-5.1 5.6-19.4 19-19.4 46.3s19.9 53.7 22.6 57.4c2.8 3.7 39.1 59.7 94.8 83.8c35.2 15.2 49 16.5 66.6 13.9c10.7-1.6 32.8-13.4 37.4-26.4s4.6-24.1 3.2-26.4c-1.3-2.5-5-3.9-10.5-6.6'/%3E%3C/svg%3E");
}

.fa6-regular--envelope {
    --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M64 112c-8.8 0-16 7.2-16 16v22.1l172.5 141.6c20.7 17 50.4 17 71.1 0L464 150.1V128c0-8.8-7.2-16-16-16zM48 212.2V384c0 8.8 7.2 16 16 16h384c8.8 0 16-7.2 16-16V212.2L322 328.8c-38.4 31.5-93.7 31.5-132 0zM0 128c0-35.3 28.7-64 64-64h384c35.3 0 64 28.7 64 64v256c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64z'/%3E%3C/svg%3E");
}

.fa6-solid--phone {
    --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M164.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C12.1 30.2 0 46 0 64c0 247.4 200.6 448 448 448c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L304.7 368c-70.4-33.3-127.4-90.3-160.7-160.7l49.3-40.3c13.7-11.2 18.4-30 11.6-46.3l-40-96z'/%3E%3C/svg%3E");
}

.fa6-regular--clock {
    --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M464 256a208 208 0 1 1-416 0a208 208 0 1 1 416 0M0 256a256 256 0 1 0 512 0a256 256 0 1 0-512 0m232-136v136c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2V120c0-13.3-10.7-24-24-24s-24 10.7-24 24'/%3E%3C/svg%3E");
}

.ci--phone {
    --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9.502 4.257A2 2 0 0 0 7.646 3H4.895A1.895 1.895 0 0 0 3 4.895C3 13.789 10.21 21 19.106 21A1.895 1.895 0 0 0 21 19.105v-2.751a2 2 0 0 0-1.257-1.857l-2.636-1.054a2 2 0 0 0-2.023.32l-.68.568a2 2 0 0 1-2.696-.122L9.792 12.29a2 2 0 0 1-.123-2.694l.567-.68a2 2 0 0 0 .322-2.024z'/%3E%3C/svg%3E");
}

.text-muted {
    color: rgb(26 28 31 / 75%) !important;
}

.overlay {
    position: absolute;
    opacity: 0;
    transition: .35s;
}

.overlayfull {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .15);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: .35s;
}

.show-overlayfull:hover .overlayfull {
    opacity: 1;
    background: rgba(0, 0, 0, .45);
}

.round {
    border-radius: 999px;
}

.round-icon {
    border-radius: 50%;
    width: var(--icon-size, 55px);
    height: var(--icon-size, 55px);
    ; display: inline-flex;
    align-items: center;
    justify-content: center;
}

.round-md {
    --icon-size: 45px;
}

.round-sm {
    --icon-size: 35px;
}

/* zz */
@media (min-width: 1400px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 1380px;
    }
}

@media (max-width: 768px) {
    .decor-leaf-svg {
        width: 120px;
        height: 120px;
    }

    .section-padding {
        padding: 60px 0;
    }

    .samudra-navbar {
        /* top: 40px; */
    }

    .samudra-navbar.navbar-scrolled {
        top: 0;
    }

    .section-title {
        font-size: 2.1rem;
    }
}

@media (max-width: 568px) {
    .samudra-navbar {
        padding: 6px 0;
    }

    .navbar-brand img {
        max-width: 281px;
    }

    .samudra-navbar.navbar-scrolled .navbar-brand img {
        max-width: 260px;
    }
}

@media (max-width: 576px) {
    .sticky-consultation-cta {
        display: none;
    }

    .floating-contact-actions {
        bottom: 20px;
        right: 20px;
        gap: 8px;
    }

    .floating-action-btn {
        padding: 8px 16px;
        font-size: 0.85rem;
        gap: 8px;
    }

    .floating-action-btn i {
        font-size: 1.15rem;
    }
}

@media (max-width: 375px) {
    .navbar-brand img {
        max-width: 210px;
    }
    .samudra-navbar.navbar-scrolled .navbar-brand img {
        max-width: 223px;
    }
}

/* Custom Cursor Dot Follower */
.custom-cursor-dot {
    width: 8px;
    height: 8px;
    background-color: var(--color-primary);
    border-radius: 50%;
    position: fixed;
    pointer-events: none;
    z-index: 9999;
    transform: translate(-50%, -50%);
    transition: width 0.3s cubic-bezier(0.16, 1, 0.3, 1), height 0.3s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.3s, border-color 0.3s, opacity 0.2s;
    opacity: 0;
    left: -100px;
    top: -100px;
    box-shadow: 0 0 10px rgba(46, 125, 69, 0.15);
}

.custom-cursor-dot:after {
    content: '';
    width: 40px;
    position: absolute;
    height: 40px;
    border: 2px solid var(--color-primary-light);
    display: block;
    border-radius: 99px;
    left: -15px;
    top: -15px;
    opacity: 30%;
    background-color: #4caf6757;
}

.custom-cursor-dot.active:after {
    opacity: 0%;
}

.custom-cursor-dot.active {
    width: 40px;
    height: 40px;
    background-color: rgba(46, 125, 69, 0.1);
    border: none;
    /* box-shadow: 0 0 15px rgba(46, 125, 69, 0.25); */
    background: transparent;
    box-shadow: none;
}

/* Hide on mobile and touch devices */
@media (max-width: 991px) {
    .custom-cursor-dot {
        display: none !important;
    }
}

@media (max-width: 991px) {
    .inner-banner {
        min-height: 200px;
        padding-top: 40px;
        padding-bottom: 50px;
    }

    .curve {
        transform: scale(1.6);
        height: 100px;
    }
}

@media (max-width: 1200px) {
    .nav-link {
        margin-bottom: 5px;
    }
}

/* Custom Dropdown Hover and Animated Icon Styles */
@media (min-width: 1200px) {
    .dropdown-hover:hover .dropdown-menu {
        display: block;
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

    .dropdown-hover .dropdown-menu {
        display: block;
        opacity: 0;
        visibility: hidden;
        transform: translateY(10px);
        transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    }
}

/* Custom Dropdown Styling to match site */
.navbar-nav .dropdown-menu {
    background-color: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(10px);
    border-radius: 12px;
    padding: 10px 0;
    min-width: 260px;
    border: 1px solid rgba(46, 125, 69, 0.08) !important;
}

.navbar-nav .dropdown-item {
    font-family: var(--font-body);
    font-size: 0.95rem;
    font-weight: 550;
    color: var(--color-primary-dark);
    padding: 8px 20px;
    transition: all 0.25s ease;
}

.navbar-nav .dropdown-item:hover {
    background-color: rgba(46, 125, 69, 0.05);
    color: var(--color-primary);
    padding-left: 25px;
}

.dropdown-arrow-icon {
    font-size: 14px;
    vertical-align: middle;
    margin-left: 4px;
    transition: transform 0.3s ease;
}

.dropdown-hover:hover .dropdown-arrow-icon {
    transform: rotate(180deg);
}

@keyframes leafSway {
    0% {
        transform: rotate(0deg) scale(1);
    }

    50% {
        transform: rotate(12deg) scale(1.08);
    }

    100% {
        transform: rotate(-8deg) scale(1);
    }
}