* {
    scroll-behavior: smooth;
}

html {
    scroll-padding-top: 6rem;
}

.site-nav-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    height: 5rem;
    color: inherit;
    border-bottom: 2px solid transparent;
    transition: color .2s ease, border-color .2s ease;
}

.site-nav-link:hover,
.site-nav-link.is-active {
    color: #08783e;
    border-bottom-color: #08783e;
}

body {
    font-family: 'Ador', sans-serif;
    background: #f8faf9;
    color: #17251f;
    line-height: 1.75;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    line-height: 1.45 !important;
}

p,
li,
label {
    line-height: 1.8 !important;
}

.english {
    font-family: 'Inter', sans-serif;
}

.hero-bg {
    background:
        radial-gradient(circle at 70% 20%, rgba(27, 132, 77, .12), transparent 30%),
        radial-gradient(circle at 10% 20%, rgba(76, 175, 80, .08), transparent 25%),
        linear-gradient(to bottom, #ffffff, #f7faf8);
}

.glass {
    background: rgba(255, 255, 255, .82);
    backdrop-filter: blur(12px);
}

.shadow-soft {
    box-shadow: 0 15px 45px rgba(18, 58, 36, .08);
}

.card-hover {
    transition: .25s ease;
}

.card-hover:hover {
    transform: translateY(-5px);
}

.video-thumb {
    position: relative;
    overflow: hidden;
}

.video-thumb::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top,
            rgba(0, 0, 0, .6),
            transparent 60%);
}

.play-button {
    position: absolute;
    z-index: 5;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

#hero-video-open {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

#hero-video-open:hover {
    transform: translate(-50%, -50%) scale(1.04);
    box-shadow: 0 20px 40px rgba(8, 120, 62, 0.25);
}

#hero-video-modal.is-open {
    display: flex;
}

#book-package-modal.is-open {
    display: flex;
}

#consultation-modal.is-open {
    display: flex;
}

.packages-swiper {
    width: 100%;
    padding-bottom: 0.5rem;
}

.packages-swiper .swiper-slide {
    height: auto;
    box-sizing: border-box;
}

.packages-swiper .swiper-pagination-bullet-active {
    background: #08783e;
}

.cta-primary,
.package-book-btn {
    color: #fff !important;
    background-color: #08783e;
    background-image: linear-gradient(145deg, #3ee087 0%, #12a85a 42%, #066634 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .22);
    transition: background-image 0.2s ease, filter 0.2s ease, box-shadow 0.2s ease;
}

.cta-primary:hover,
.package-book-btn:hover {
    background-color: #055a2c;
    background-image: linear-gradient(145deg, #2bc56f 0%, #0b8f4b 42%, #044d26 100%);
}

#hero-video-modal iframe,
#hero-video-modal video {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

.floating-form {
    box-shadow: 0 20px 60px rgba(10, 83, 44, .15);
}

.customers-swiper {
    width: 100%;
    overflow: hidden;
}

.customers-swiper .swiper-wrapper {
    transition-timing-function: linear !important;
}

.customers-swiper .swiper-slide {
    width: 210px;
    height: auto;
}

@media (min-width: 640px) {
    .customers-swiper .swiper-slide {
        width: 260px;
    }
}

@media (min-width: 1024px) {
    .customers-swiper .swiper-slide {
        width: 310px;
    }
}

#image-lightbox-modal.is-open {
    display: flex;
}

.clients-swiper .swiper-slide {
    display: flex;
    align-items: center;
    justify-content: center;
    height: auto;
}

.solutions-swiper {
    width: 100%;
}

.solutions-swiper .swiper-slide {
    height: auto;
}

.testimonials-swiper {
    width: 100%;
}

.testimonials-swiper .swiper-slide {
    height: auto;
}

.review-video-card .video-thumb::after {
    background: linear-gradient(to top,
            rgba(8, 24, 18, .92) 0%,
            rgba(8, 24, 18, .4) 42%,
            transparent 72%);
}

.ba-section {
    background-color: #f1f7f3;
    background-image: radial-gradient(#c9ddd2 1.15px, transparent 1.15px);
    background-size: 16px 16px;
}

.ba-card {
    position: relative;
    border-radius: 1.75rem;
    box-shadow: 0 16px 44px rgba(18, 58, 36, .08);
    overflow: hidden;
}

.ba-card>* {
    position: relative;
    z-index: 1;
}

.ba-card-before {
    background: #fff;
}

.ba-card-before::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(180deg, rgba(255, 118, 84, .28) 0%, rgba(255, 236, 220, .45) 22%, rgba(255, 255, 255, 0) 48%);
}

.ba-card-before::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 5px;
    pointer-events: none;
    background: linear-gradient(90deg, #f97316 0%, #fb7185 42%, transparent 78%);
}

.ba-card-after {
    background: linear-gradient(165deg, #dff7ea 0%, #eefaf3 38%, #f7fcf9 100%);
}

.ba-card-after::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(ellipse at 88% -10%, rgba(16, 185, 129, .22), transparent 48%);
}
.ba-card-after::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 5px;
    pointer-events: none;
    background: linear-gradient(90deg, #08783e 0%, #08783e 42%, transparent 78%);
}

.ba-list {
    display: flex;
    flex-direction: column;
}

.ba-list li {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 3.4rem;
    padding: 12px 0;
    border-bottom: 1px solid rgba(15, 48, 32, .08);
}

.ba-card-after .ba-list li {
    border-bottom-color: rgba(8, 120, 62, .12);
}

.ba-list li:last-child {
    border-bottom: none;
    padding-bottom: 2px;
}

.ba-icon {
    width: 40px;
    height: 40px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.ba-card-before .ba-icon {
    background: #fff1e6;
    color: #f97316;
}

.ba-card-after .ba-icon {
    background: rgba(8, 120, 62, .1);
    color: #08783e;
}

.ba-icon-img {
    width: 22px;
    height: 22px;
    object-fit: contain;
}

.ba-text {
    flex: 1;
    min-width: 0;
    color: #334155;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.45 !important;
}

.ba-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.ba-status-no {
    color: #f87171;
}

.ba-status-yes {
    width: 22px;
    height: 22px;
    border-radius: 999px;
    background: #16a34a;
    color: #fff;
    box-shadow: 0 2px 6px rgba(22, 163, 74, .28);
}

.ba-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 5.5rem;
    height: 5.5rem;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(8, 120, 62, .16) 0%, rgba(8, 120, 62, .08) 52%, transparent 72%);
}

.ba-arrow-btn {
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 999px;
    background: #08783e;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 22px rgba(8, 120, 62, .28);
}

.ba-arrow-btn svg {
    transform: rotate(90deg);
}

@media (min-width: 768px) {
    .ba-arrow-btn svg {
        transform: none;
    }
}

@media (min-width: 1536px) {
    .max-w-7xl.mx-auto {
        max-width: 90rem;
    }

    .max-w-6xl.mx-auto {
        max-width: 82rem;
    }

    .max-w-\[1240px\].mx-auto {
        max-width: 90rem;
    }
}

@media (min-width: 1920px) {
    .max-w-7xl.mx-auto {
        max-width: 100rem;
    }

    .max-w-6xl.mx-auto {
        max-width: 90rem;
    }

    .max-w-\[1240px\].mx-auto {
        max-width: 100rem;
    }
}

.thank-you-page {
    min-height: calc(100vh - 5rem);
    background:
        radial-gradient(circle at 80% 10%, rgba(27, 132, 77, .14), transparent 32%),
        radial-gradient(circle at 8% 85%, rgba(76, 175, 80, .12), transparent 28%),
        linear-gradient(180deg, #f3faf6 0%, #eef6f1 55%, #f8faf9 100%);
}

.thank-you-orb {
    position: absolute;
    border-radius: 999px;
    filter: blur(2px);
    pointer-events: none;
}

.thank-you-orb-1 {
    width: 220px;
    height: 220px;
    background: rgba(8, 120, 62, .12);
    top: 4rem;
    right: -3rem;
}

.thank-you-orb-2 {
    width: 160px;
    height: 160px;
    background: rgba(62, 224, 135, .16);
    bottom: 6rem;
    left: -2rem;
}

.thank-you-orb-3 {
    width: 90px;
    height: 90px;
    background: rgba(12, 36, 24, .08);
    top: 40%;
    right: 12%;
}

.thank-you-check {
    width: 5.5rem;
    height: 5.5rem;
    border-radius: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, #3ee087 0%, #12a85a 42%, #066634 100%);
    box-shadow: 0 18px 40px rgba(8, 120, 62, .28);
    animation: thank-you-pop .55s ease-out;
}

.thank-you-check-ring,
.thank-you-check-mark {
    fill: none;
    stroke: #fff;
    stroke-width: 3.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.thank-you-check-ring {
    stroke-dasharray: 176;
    stroke-dashoffset: 176;
    animation: thank-you-draw .7s .15s ease forwards;
}

.thank-you-check-mark {
    stroke-dasharray: 40;
    stroke-dashoffset: 40;
    animation: thank-you-draw .45s .55s ease forwards;
}

@keyframes thank-you-pop {
    0% {
        transform: scale(.6);
        opacity: 0;
    }

    70% {
        transform: scale(1.08);
    }

    100% {
        transform: scale(1);
        opacity: 1;
    }
}

@keyframes thank-you-draw {
    to {
        stroke-dashoffset: 0;
    }
}