/* Font imports for services */

/* CSS Variables for services */
:root {
  --z-base: 0;
  --space-0: 0;
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --text-lg: 1.2rem;
  --text-md: 1.1rem;
  --text-sm: 0.95rem;
  --text-xl: 1.5rem;
  --text-xs: 0.875rem;
  --z-fixed: 300;
  --z-modal: 500;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;
  --z-sticky: 200;
  --font-bold: 700;
  --radius-lg: 8px;
  --radius-md: 6px;
  --radius-sm: 4px;
  --radius-xl: 12px;
  --screen-lg: 1024px;
  --screen-md: 768px;
  --screen-sm: 640px;
  --screen-xl: 1200px;
  --shadow-lg: 0 10px 20px rgba(0, 0, 0, 0.1);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);
  --shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.1);
  --shadow-xl: 0 20px 40px rgba(0, 0, 0, 0.1);
  --shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --text-2-xl: 2rem;
  --text-3-xl: 2.5rem;
  --text-4-xl: 3rem;
  --text-5-xl: 3.5rem;
  --text-base: 1.1rem;
  --z-popover: 600;
  --z-tooltip: 700;
  --font-light: 300;
  --z-dropdown: 100;
  --color-black: #000000;
  --color-theme: #ffffff;
  --color-white: #ffffff;
  --font-medium: 500;
  --radius-2-xl: 20px;
  --radius-full: 9999px;
  --screen-2-xl: 1600px;
  --shadow-2-xl: 0 25px 50px rgba(0, 0, 0, 0.25);
  --container-lg: 1200px;
  --container-md: 800px;
  --container-sm: 600px;
  --container-xl: 1440px;
  --font-regular: 400;
  --leading-snug: 1.4;
  --color-gray-50: #fafafa;
  --color-primary: var(--color-primary-10);
  --font-semibold: 600;
  --header-height: 250px;
  --leading-tight: 1.1;
  --color-gray-100: #f4f4f5;
  --color-gray-200: #e4e4e7;
  --color-gray-300: #d4d4d8;
  --color-gray-400: #a1a1aa;
  --color-gray-500: #71717a;
  --color-gray-600: #52525b;
  --color-gray-700: #3f3f46;
  --color-gray-800: #27272a;
  --color-gray-900: #18181b;
  --color-gray-950: #09090b;
  --color-tertiary: #f97316;
  --leading-normal: 1.5;
  --section-height: 800px;
  --shadow-colored: 0 8px 20px var(--color-primary-alpha-30);
  --color-primary-1: #fff2f2;
  --color-primary-2: #e4dbdb;
  --color-primary-3: #c9c3c3;
  --color-primary-4: #aeaaaa;
  --color-primary-5: #939191;
  --color-primary-6: #787777;
  --color-primary-7: #5e5d5d;
  --color-primary-8: #434242;
  --color-primary-9: #282828;
  --color-secondary: var(--color-secondary-2);
  --leading-relaxed: 1.6;
  --transition-base: all 0.3s ease;
  --transition-fast: all 0.2s ease;
  --transition-slow: all 0.5s ease;
  --color-primary-10: #000000;
  --color-tertiary-1: #f2f8ff;
  --color-tertiary-2: #abc3e4;
  --color-tertiary-3: #7497c9;
  --color-tertiary-4: #0047ab;
  --color-tertiary-5: #2b5693;
  --color-tertiary-6: #173f78;
  --color-tertiary-7: #0a2d5e;
  --color-tertiary-8: #031d43;
  --color-tertiary-9: #001128;
  --z-modal-backdrop: 400;
  --color-secondary-1: #fff2f2;
  --color-secondary-2: #e7e7e7;
  --color-secondary-3: #c9c3c3;
  --color-secondary-4: #aeaaaa;
  --color-secondary-5: #939191;
  --color-secondary-6: #787777;
  --color-secondary-7: #5e5d5d;
  --color-secondary-8: #434242;
  --color-secondary-9: #282828;
  --color-tertiary-10: #00050d;
  --container-default: 100%;
  --scroll-spy-offset: 120px;
  --color-primary-dark: var(--color-primary-10);
  --color-secondary-10: #0d0d0d;
  --color-button-shadow: #1d8d96;
  --color-primary-brand: #000000;
  --color-theme-inverse: #1E1D25;
  --transition-material: all 300ms cubic-bezier(0.4, 0, 0.2, 1);
  --color-black-alpha-50: rgba(0, 0, 0, 0.5);
  --color-cta-background: #0047ab;
  --color-cta-foreground: #ffffff;
  --color-primary-1-text: #000000;
  --color-primary-2-text: #000000;
  --color-primary-3-text: #000000;
  --color-primary-4-text: #000000;
  --color-primary-5-text: #000000;
  --color-primary-6-text: #000000;
  --color-primary-7-text: #ffffff;
  --color-primary-8-text: #ffffff;
  --color-primary-9-text: #ffffff;
  --color-tertiary-brand: #0047ab;
  --color-faqs-background: #ffffff;
  --color-faqs-foreground: #000000;
  --color-primary-10-text: #ffffff;
  --color-secondary-brand: #e7e7e7;
  --color-tertiary-1-text: #000000;
  --color-tertiary-2-text: #000000;
  --color-tertiary-3-text: #000000;
  --color-tertiary-4-text: #ffffff;
  --color-tertiary-5-text: #ffffff;
  --color-tertiary-6-text: #ffffff;
  --color-tertiary-7-text: #ffffff;
  --color-tertiary-8-text: #ffffff;
  --color-tertiary-9-text: #ffffff;
  --header-height-stretch: 270;
  --color-about-background: #fff2f2;
  --color-about-foreground: #000000;
  --color-secondary-1-text: #000000;
  --color-secondary-2-text: #000000;
  --color-secondary-3-text: #000000;
  --color-secondary-4-text: #000000;
  --color-secondary-5-text: #000000;
  --color-secondary-6-text: #000000;
  --color-secondary-7-text: #ffffff;
  --color-secondary-8-text: #ffffff;
  --color-secondary-9-text: #ffffff;
  --color-staff-background: #ffffff;
  --color-staff-foreground: #000000;
  --color-tertiary-10-text: #ffffff;
  --color-banner-background: #fff2f2;
  --color-banner-foreground: #000000;
  --color-button-background: #25b6c1;
  --color-button-foreground: #000000;
  --color-footer-background: #000000;
  --color-footer-foreground: #ffffff;
  --color-header-background: #000000;
  --color-header-foreground: #ffffff;
  --color-secondary-10-text: #ffffff;
  --color-staff-card-border: #1E1D25;
  --color-contact-background: #F4FFF2;
  --color-contact-foreground: #000000;
  --color-gallery-background: #ffffff;
  --color-gallery-foreground: #000000;
  --color-marquee-background: #0047ab;
  --color-marquee-foreground: #ffffff;
  --color-partner-background: #fff2f2;
  --color-partner-foreground: #000000;
  --color-benefits-background: #fff2f2;
  --color-benefits-foreground: #000000;
  --color-categories-card-cta: #e7e7e7;
  --color-cta-card-background: #ffffff;
  --color-cta-card-foreground: #000000;
  --color-services-background: #fff2f2;
  --color-services-foreground: #000000;
  --color-catalogue-background: #fff2f2;
  --color-catalogue-foreground: #000000;
  --color-faqs-icon-background: #0047ab;
  --color-faqs-icon-foreground: #ffffff;
  --color-about-card-background: #ffffff;
  --color-about-card-foreground: #000000;
  --color-banner-cta-background: #0047ab;
  --color-banner-cta-foreground: #ffffff;
  --color-cta-button-background: #0047ab;
  --color-cta-button-foreground: #ffffff;
  --color-header-cta-background: #F4FFF2;
  --color-header-cta-foreground: #000000;
  --color-offer-card-background: #ffffff;
  --color-offer-card-foreground: #000000;
  --color-staff-card-background: #fff2f2;
  --color-staff-card-foreground: #000000;
  --color-banner-card-background: #ffffff;
  --color-banner-card-foreground: #000000;
  --color-faqs-navigation-arrows: #0047ab;
  --color-header-tabs-background: #000000;
  --color-header-tabs-foreground: #ffffff;
  --color-information-background: #000000;
  --color-information-foreground: #ffffff;
  --color-staff-modal-background: #fff2f2;
  --color-staff-modal-foreground: #000000;
  --color-button-background-hover: #1d8d96;
  --color-button-foreground-hover: #ffffff;
  --color-category-faq-background: #ffffff;
  --color-category-faq-foreground: #000000;
  --color-floating-cta-background: #0047ab;
  --color-floating-cta-foreground: #ffffff;
  --color-testimonials-background: #fff2f2;
  --color-testimonials-foreground: #000000;
  --color-workingHours-background: #000000;
  --color-workingHours-foreground: #ffffff;
  --color-benefits-card-background: #ffffff;
  --color-benefits-card-foreground: #000000;
  --color-footer-contact-card-ring: #09090b;
  --color-categoryBanner-background: linear-gradient(var(--color-primary-1) 0%, var(--color-primary-2) 50%, var(--color-primary-3) 100%);
  --color-categoryBanner-foreground: #1E1D25;
  --color-primary-button-background: #0047ab;
  --color-primary-button-foreground: #ffffff;
  --color-service-header-background: #000000;
  --color-service-header-foreground: #ffffff;
  --color-categories-card-background: #ffffff;
  --color-categories-card-foreground: #000000;
  --color-banner-cta-background-hover: #2b5693;
  --color-banner-cta-foreground-hover: #ffffff;
  --color-categoryServices-background: #ffffff;
  --color-categoryServices-foreground: #000000;
  --color-header-cta-background-hover: #2b5693;
  --color-header-cta-foreground-hover: #ffffff;
  --color-offer-sticky-bar-background: #e7e7e7;
  --color-offer-sticky-bar-foreground: #000000;
  --color-secondary-button-background: #e7e7e7;
  --color-secondary-button-foreground: #000000;
  --color-testimonial-star-background: var(--color-gold);
  --color-category-faq-card-background: #ffffff;
  --color-category-faq-card-foreground: #000000;
  --color-staff-card-button-background: #0047ab;
  --color-staff-card-button-foreground: #ffffff;
  --color-staff-modal-cards-background: #ffffff;
  --color-staff-modal-cards-foreground: #000000;
  --color-testimonials-card-background: #ffffff;
  --color-testimonials-card-foreground: #000000;
  --color-banner-cta-connect-background: #e7e7e7;
  --color-banner-cta-connect-foreground: #000000;
  --color-header-cta-connect-background: #e7e7e7;
  --color-header-cta-connect-foreground: #000000;
  --color-header-tabs-active-background: #0047ab;
  --color-header-tabs-active-foreground: #ffffff;
  --color-offer-card-content-background: #ffffff;
  --color-offer-card-content-foreground: #000000;
  --color-serviceBanner-card-background: #fff2f2;
  --color-serviceBanner-card-foreground: #000000;
  --color-footer-contact-card-background: #ffffff;
  --color-footer-contact-card-foreground: #000000;
  --color-footer-contact-card-input-ring: #a1a1aa;
  --color-testimonials-navigation-arrows: #0047ab;
  --color-category-link-button-background: #ffffff;
  --color-category-link-button-foreground: #1E1D25;
  --color-floating-cta-connect-background: #000000;
  --color-floating-cta-connect-foreground: #ffffff;
  --color-header-business-info-background: #282828;
  --color-header-business-info-foreground: #ffffff;
  --color-primary-button-background-hover: var(--color-tertiary-5);
  --color-primary-button-foreground-hover: #ffffff;
  --color-categoryServices-card-background: #ffffff;
  --color-categoryServices-card-foreground: #000000;
  --color-catalogue-view-all-cta-background: transparent;
  --color-catalogue-view-all-cta-foreground: #000000;
  --color-secondary-button-background-hover: var(--color-secondary-3);
  --color-secondary-button-foreground-hover: #000000;
  --color-banner-cta-connect-background-hover: #c9c3c3;
  --color-banner-cta-connect-foreground-hover: #000000;
  --color-header-cta-connect-background-hover: #c9c3c3;
  --color-header-cta-connect-foreground-hover: #000000;
  --color-footer-contact-card-input-background: #ffffff;
  --color-footer-contact-card-input-ring-focus: #18181b;
  --color-footer-contact-card-button-background: #0047ab;
  --color-footer-contact-card-button-foreground: #ffffff;
  --color-catalogue-navigation-arrows-background: #0047ab;
  --color-catalogue-navigation-arrows-foreground: #ffffff;
  --color-catalogue-view-all-cta-hover-background: #1E1D25;
  --color-catalogue-view-all-cta-hover-foreground: #ffffff;
  --color-footer-contact-card-button-background-hover: #2b5693;
  --color-footer-contact-card-button-foreground-hover: #ffffff;
}

/* Page-specific global CSS for services */
/* 
 * Merged CSS File
 * Generated from main.css and all its imports
 * Created: 2025-06-19T11:36:57.752Z
 */

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes bounce {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-10px);
    }
}

@keyframes marquee {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

/* Global Styles */
/* 
 * Merged CSS File
 * Generated from main.css and all its imports
 * Created: 2025-06-19T11:36:57.752Z
 */

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes bounce {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-10px);
    }
}

@keyframes marquee {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

/* Global Styles */

* {
    box-sizing: border-box;
    padding: 0;
    margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-head);
}

body,
button,
p,
span,
div {
    font-family: var(--font-body);
}

html,
body {
    scroll-behavior: smooth;
    max-width: 100vw;
    overflow-x: hidden;
    background-color: white;
}

a {
    color: inherit;
    text-decoration: none;
}

.zoca-app {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.page-container {
    flex: 1;
    display: flex;
    flex-direction: column;
    background-color: var(--color-services-background) !important;
    color: var(--color-services-foreground) !important;
    min-height: 100vh;
}


*:focus {
    outline: none;
}

.loading {
    position: relative;
    pointer-events: none;
    opacity: 0.6;
}

.loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    margin: -10px 0 0 -10px;
    border: 2px solid var(--color-primary);
    border-radius: 50%;
    border-top-color: transparent;
    animation: spin 0.8s linear infinite;
}

.animate-fadeIn {
    animation: fadeIn 0.5s ease-out;
}

.animate-slideUp {
    animation: slideUp 0.5s ease-out;
}

.animate-slideDown {
    animation: slideDown 0.5s ease-out;
}

.animate-bounce {
    animation: bounce 2s ease-in-out infinite;
}

.transition-fast {
    transition: var(--transition-fast);
}

.transition-base {
    transition: var(--transition-base);
}

.transition-slow {
    transition: var(--transition-slow);
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    font-size: 15px;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

@media (max-width: 768px) {
    html {
        font-size: 14px;
    }
}

body {
    line-height: var(--leading-normal);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-family:
        -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

img,
picture,
video,
canvas,
svg {
    max-width: 100%;
    height: auto;
}

input,
button,
textarea,
select {
    font: inherit;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
    overflow-wrap: break-word;
    word-wrap: break-word;
}

button {
    cursor: pointer;
    background: none;
    border: none;
    padding: 0;
    font: inherit;
}

ul,
ol {
    list-style: none;
}

.container {
    width: 100%;
    max-width: var(--container-default);
    margin: 0 auto;
    padding: 0 var(--space-4);
}

.section {
    width: 100%;
    min-height: var(--section-height);
    position: relative;
}

.section-hero {
    padding: var(--header-height) 0 0 0;
}

.section-full-height {
    height: 100vh;
    min-height: 100vh;
}

.grid {
    display: grid;
}

.grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.flex {
    display: flex;
}

.flex-col {
    flex-direction: column;
}

.items-center {
    align-items: center;
}

.justify-center {
    justify-content: center;
}

.justify-between {
    justify-content: space-between;
}

.gap-4 {
    gap: var(--space-4);
}

.gap-6 {
    gap: var(--space-6);
}

.gap-8 {
    gap: var(--space-8);
}

.relative {
    position: relative;
}

.absolute {
    position: absolute;
}

.bg-cover {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.horizontal-center {
    display: flex;
    justify-content: center;
    width: 100%;
}

.bg-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.overlay-dark {
    position: absolute;
    inset: 0;
    z-index: 1;
}

.fixed-bottom {
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 100;
    width: calc(100% - 40px);
}

.fixed-bottom-shadow {
    box-shadow: var(--shadow-colored);
}

.header-spacer {
    width: 100%;
    height: var(--header-height-stretch) !important;
    transition: height 0.3s ease;
}

@media (min-width: 769px) {
    .header-spacer {
        height: var(--header-height) !important;
    }
}



.card-layout {
    display: grid;
    gap: var(--space-8);
    align-items: stretch;
    justify-items: center;
    width: 100%;
}

.card-layout>* {
    width: 100%;
    height: 100%;
}

.card-layout-single {
    grid-template-columns: 1fr;
}

.card-layout-double {
    grid-template-columns: 1fr;
}

.section-overlay {
    position: relative;
    width: 100%;
    min-height: var(--section-height);
    overflow: hidden;
}

.section-overlay>img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
}

.section-overlay-gradient {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, transparent, var(--color-black-alpha-30));
    z-index: 2;
}

.section-overlay-content {
    position: relative;
    z-index: 3;
    min-height: var(--section-height);
    display: flex;
    align-items: center;
}

.hidden {
    display: none !important;
}

.block {
    display: block;
}

.heading-hero {
    font-size: var(--text-4-xl);
    font-weight: var(--font-bold);
    margin-bottom: var(--space-6);
    text-align: center;
}

.text-hero {
    font-size: var(--text-lg);
    line-height: var(--leading-relaxed);
    margin-bottom: var(--space-10);
    text-align: center;
    font-weight: var(--font-medium);
}

.heading-section {
    font-size: var(--text-3-xl);
    font-weight: var(--font-bold);
    margin-bottom: var(--space-4);
}

.text-section {
    font-size: var(--text-md);
    max-width: 800px;
    margin: 0 auto;
}

.heading-card {
    font-size: var(--text-xl);
    font-weight: var(--font-semibold);
    margin-bottom: var(--space-3);
}

.text-card {
    font-size: var(--text-base);
    margin-bottom: var(--space-6);
    line-height: var(--leading-normal);
}

.heading-offer {
    font-size: var(--text-3-xl);
    font-weight: var(--font-bold);
    margin-bottom: var(--space-6);
}

.text-offer {
    font-size: var(--text-lg);
    line-height: var(--leading-relaxed);
    margin-bottom: var(--space-4);
}

/* Hide image or video card when no child is available */
.offer-card-image-video:empty {
    display: none !important;
}

.text-center {
    text-align: center;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: var(--font-medium);
    text-align: center;
    border-radius: var(--radius-md);
    transition: var(--transition-base);
    cursor: pointer;
    border: none;
    outline: none;
    text-decoration: none;
    white-space: nowrap;
}

.btn-sm {
    padding: var(--space-2) var(--space-4);
    font-size: var(--text-sm);
}

.btn-md {
    padding: var(--space-3) var(--space-6);
    font-size: var(--text-base);
}

.btn-lg {
    padding: var(--space-4) var(--space-10);
    font-size: var(--text-md);
}

.btn-primary {
    background-color: var(--color-primary-button-background);
    color: var(--color-primary-button-foreground);
}

.btn-primary:hover {
    background-color: var(--color-button-background-hover);
    color: var(--color-button-foreground-hover);
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}

.btn-secondary {
    background-color: transparent;
    border: 1px solid currentColor;
}

.btn-secondary:hover {
    transform: translateY(-2px);
}

.btn-dark {
    background-color: var(--color-black);
    color: var(--color-white);
}

.btn-dark:hover {
    background-color: var(--color-gray-800);
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}

.btn-outline {
    background-color: transparent;
    border: 2px solid currentColor;
}

.btn-outline:hover {
    transform: translateY(-2px);
}

.toggle-button {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
    padding: 0.8rem;
    border: 1px solid currentColor;
    border-radius: 12px;
    font-size: 0.9rem;
    cursor: pointer;
    transition: all 0.2s ease;
    text-align: center;
}

.menu-button {
    position: relative;
    display: flex;
    height: 3rem;
    width: 2rem;
    transition: all 150ms ease;
    cursor: pointer;
    background: none;
    border: none;
    padding: 0;
    color: var(--color-header-foreground);
}

.menu-button:active {
    border-radius: var(--radius-sm);
    background-color: var(--color-white-alpha-50);
}

.menu-icon {
    position: absolute;
    top: 50%;
    transition: all 150ms ease;
}

.menu-icon svg {
    height: 2.5rem;
    width: 2.5rem;
}

.menu-icon-open {
    transform: translateY(-50%);
    opacity: 1;
}

.menu-icon-close {
    transform: translateY(-50%) rotate(-90deg);
    opacity: 0;
}

.modal-close {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.5rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

.modal-close svg {
    width: 20px;
    height: 20px;
    color: var(--color-gray-600);
}

.carousel-nav-button {
    border: none;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 var(--space-6);
    cursor: pointer;
    transition: all 0.2s;
}

.carousel-nav-button svg {
    width: 20px;
    height: 20px;
}

.btn-pill {
    border-radius: var(--radius-full);
}

.btn-tab {
    padding: var(--space-2) var(--space-5);
    background-color: var(--color-header-tabs-background) !important;
    color: var(--color-header-tabs-foreground) !important;
    border: none;
    border-radius: var(--radius-full);
    font-size: var(--text-sm);
    font-weight: var(--font-medium);
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.2s ease;
    margin-right: var(--space-3);
}

.btn-tab[data-active='true'],
.btn-tab.active {
    background-color: var(--color-header-tabs-active-background) !important;
    color: var(--color-header-tabs-active-foreground) !important;
}

@media (max-width:600px) {
    .btn-tab {
        margin-left: var(--space-3);
        margin-right: 0;
    }

}

.membership-section {
    width: 100%;
    padding: var(--space-20) var(--space-4);
    background-color: var(--color-white);
    display: flex;
    justify-content: center;
    align-items: center;
}

.membership-card {
    width: 100%;
    margin: 0 auto;
    max-width: 1100px;
    background-color: var(--color-black);
    color: var(--color-white) !important;
    border-radius: var(--radius-xl);
    padding: var(--space-12) var(--space-8);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.card-pricing {
    width: 100%;
    margin-bottom: var(--space-8);
}

.pricing-text {
    font-size: var(--text-base);
    line-height: var(--leading-relaxed);
    color: var(--color-white);
    max-width: 600px;
    margin: 0 auto;
}

.card-button-inverted {
    display: inline-block;
    padding: var(--space-3) var(--space-8);
    background-color: var(--color-white);
    color: var(--color-black);
    font-weight: var(--font-medium);
    font-size: var(--text-base);
    border-radius: var(--radius-md);
    border: none;
    cursor: pointer;
    transition: var(--transition-base);
}

.card-button-inverted:hover {
    background-color: var(--color-white-alpha-90);
    transform: translateY(-2px);
}

.form-input {
    border: none;
    border-radius: var(--radius-xl);
    padding: var(--space-4);
    font-size: var(--text-base);
    outline: none;
    width: 100%;
}

.form-input-gray {
    background-color: var(--color-gray-50);
    color: var(--color-gray-800);
}

.form-label {
    font-size: var(--text-base);
    margin: 0;
    font-weight: var(--font-medium);
}

.form-label-dark {
    color: var(--color-gray-800);
}

.phone-input-container {
    display: flex;
    border-radius: 12px;
    overflow: visible;
}

.phone-container-gray {
    background-color: var(--color-gray-50);
}

.input-with-icon {
    flex: 1;
    display: flex;
    align-items: center;
    padding: 0 1rem;
    border-radius: 12px;
}

.input-icon {
    width: 20px;
    height: 20px;
    margin-right: 0.75rem;
}

.phone-icon-gray {
    color: var(--color-gray-600);
}

.input-transparent {
    background: transparent;
    padding: 1rem 0;
    font-size: 1rem;
    border: none;
    outline: none;
    width: 100%;
}

.phone-input-dark {
    color: var(--color-gray-800);
}

.country-selector {
    position: relative;
    display: flex;
    align-items: center;
    padding: 1rem;
    border-right: 1px solid var(--color-gray-200);
    gap: 0.5rem;
    cursor: pointer;
}

.country-selector-gray {
    background-color: var(--color-gray-50);
}

.country-flag {
    width: 20px;
    height: auto;
}

.country-code {
    font-size: 1rem;
}

.country-code-dark {
    color: var(--color-gray-800);
}

.country-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    width: 200px;
    border: 1px solid var(--color-gray-200);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-md);
    z-index: 10000;
    display: none;
    margin-top: 2px;
}

.country-dropdown-white {
    background-color: var(--color-white);
}

.country-option {
    display: flex;
    align-items: center;
    padding: 12px 16px;
    cursor: pointer;
    transition: all 0.2s ease;
    gap: 12px;
}

.country-option:last-child {
    border-bottom: none;
}

.country-option-border {
    border-bottom: 1px solid var(--color-gray-100);
}

.country-option-border:hover {
    background-color: var(--color-gray-50);
}

.toggle-button-default {
    background: var(--color-gray-50);
    border-color: var(--color-gray-300);
    color: var(--color-black);
}

.toggle-button-default:hover {
    border-color: var(--color-primary);
    color: var(--color-black);
}

.toggle-button-active {
    border-color: var(--color-primary);
    color: var(--color-primary);
    background-color: var(--color-primary-alpha-10);
}

.form-fields-flex {
    flex: 1;
}

.form-fields-column {
    flex-direction: column;
}

.form-options-row {
    flex-direction: row;
    gap: var(--space-3);
}

.form-input-size {
    font-size: 16px;
}

.nav-desktop {
    display: none;
    align-items: center;
    gap: var(--space-3);
}

.nav-link {
    display: inline-block;
    font-weight: var(--font-medium);
    transition: var(--transition-fast);
    text-decoration: none;
    color: var(--color-header-foreground);
}

.nav-link:hover {
    background-color: var(--color-white-alpha-10);
}

.nav-link-desktop {
    font-size: var(--text-base);
    padding: var(--space-2) var(--space-3);
    border-radius: var(--radius-sm);
}

.nav-link-mobile {
    display: block;
    width: 100%;
    text-align: center;
    padding: var(--space-4);
    font-size: var(--text-md);
    border-radius: var(--radius-md);
    transition: all 150ms cubic-bezier(0.4, 0, 0.2, 1);
    transform: translateY(-100%);
    opacity: 0;
}

.mobile-menu {
    position: absolute;
    left: 0;
    right: 0;
    top: 80px;
    overflow: hidden;
    transition: max-height 200ms cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 40;
    max-height: 0px;
    background-color: var(--color-header-background);
}

.mobile-menu-content {
    padding: var(--space-4);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-2);
}

.header-overlay {
    position: fixed;
    inset: 0;
    top: 80px;
    z-index: 40;
    transition: opacity 200ms ease;
    pointer-events: none;
    opacity: 0;
}

.gallery-section {
    scroll-margin-top: var(--header-height) !important;
    background-color: var(--color-gallery-background);
    color: var(--color-gallery-foreground) !important;
}

.gallery-container {
    padding-top: var(--space-20);
    padding-bottom: var(--space-20);
}

.gallery-content {
    max-width: 1240px;
    margin-left: auto;
    margin-right: auto;
}

/* GallerySection.jsx - Center gallery items when fewer than expected per row */

/* Desktop: 4 columns expected */
@media (min-width: 1025px) {

    /* When there is 1 item */
    .gallery-grid:has(.gallery-item:nth-child(1):last-child) {
        grid-template-columns: 1fr;
        max-width: 25%;
        margin: 0 auto;
    }

    /* When there are 2 items */
    .gallery-grid:has(.gallery-item:nth-child(2):last-child) {
        grid-template-columns: repeat(2, 1fr);
        max-width: 50%;
        margin: 0 auto;
    }

    /* When there are 3 items */
    .gallery-grid:has(.gallery-item:nth-child(3):last-child) {
        grid-template-columns: repeat(3, 1fr);
        max-width: 75%;
        margin: 0 auto;
    }

    /* When there are 5 items (4 + 1) - center the last one */
    .gallery-grid:has(.gallery-item:nth-child(5):last-child) {
        grid-template-columns: repeat(8, 1fr);
    }

    /* First 4 items - each spans 2 columns */
    .gallery-grid:has(.gallery-item:nth-child(5):last-child) .gallery-item:nth-child(-n+4) {
        grid-column: span 2;
    }

    /* 5th item - centered, spans 2 columns */
    .gallery-grid:has(.gallery-item:nth-child(5):last-child) .gallery-item:nth-child(5) {
        grid-column: 4 / span 2;
    }

    /* When there are 6 items (4 + 2) - center the last two */
    .gallery-grid:has(.gallery-item:nth-child(6):last-child) {
        grid-template-columns: repeat(8, 1fr);
    }

    /* First 4 items - each spans 2 columns */
    .gallery-grid:has(.gallery-item:nth-child(6):last-child) .gallery-item:nth-child(-n+4) {
        grid-column: span 2;
    }

    /* Items 5 and 6 - centered, each spans 2 columns */
    .gallery-grid:has(.gallery-item:nth-child(6):last-child) .gallery-item:nth-child(5) {
        grid-column: 3 / span 2;
    }

    .gallery-grid:has(.gallery-item:nth-child(6):last-child) .gallery-item:nth-child(6) {
        grid-column: 5 / span 2;
    }

    /* When there are 7 items (4 + 3) - center the last three */
    .gallery-grid:has(.gallery-item:nth-child(7):last-child) {
        grid-template-columns: repeat(12, 1fr);
    }

    /* First row - 4 items */
    .gallery-grid:has(.gallery-item:nth-child(7):last-child) .gallery-item:nth-child(1) {
        grid-column: span 3;
    }

    .gallery-grid:has(.gallery-item:nth-child(7):last-child) .gallery-item:nth-child(2) {
        grid-column: span 3;
    }

    .gallery-grid:has(.gallery-item:nth-child(7):last-child) .gallery-item:nth-child(3) {
        grid-column: span 3;
    }

    .gallery-grid:has(.gallery-item:nth-child(7):last-child) .gallery-item:nth-child(4) {
        grid-column: span 3;
    }

    /* Second row - 3 items centered */
    .gallery-grid:has(.gallery-item:nth-child(7):last-child) .gallery-item:nth-child(5) {
        grid-column: 2 / span 3;
    }

    .gallery-grid:has(.gallery-item:nth-child(7):last-child) .gallery-item:nth-child(6) {
        grid-column: span 3;
    }

    .gallery-grid:has(.gallery-item:nth-child(7):last-child) .gallery-item:nth-child(7) {
        grid-column: span 3;
    }

    /* When there are 8 items (4 + 4) - no centering needed */

    /* When there are 9 items (4 + 4 + 1) - center the last one */
    .gallery-grid:has(.gallery-item:nth-child(9):last-child) {
        grid-template-columns: repeat(8, 1fr);
    }

    /* First 8 items - each spans 2 columns */
    .gallery-grid:has(.gallery-item:nth-child(9):last-child) .gallery-item:not(:nth-child(9)) {
        grid-column: span 2;
    }

    /* 9th item - centered, spans 2 columns starting from column 4 */
    .gallery-grid:has(.gallery-item:nth-child(9):last-child) .gallery-item:nth-child(9) {
        grid-column: 4 / span 2;
    }

    /* When there are 10 items (4 + 4 + 2) - center the last two */
    .gallery-grid:has(.gallery-item:nth-child(10):last-child) {
        grid-template-columns: repeat(8, 1fr);
    }

    /* First 8 items - each spans 2 columns */
    .gallery-grid:has(.gallery-item:nth-child(10):last-child) .gallery-item:nth-child(-n+8) {
        grid-column: span 2;
    }

    /* Items 9 and 10 - centered, each spans 2 columns */
    .gallery-grid:has(.gallery-item:nth-child(10):last-child) .gallery-item:nth-child(9) {
        grid-column: 3 / span 2;
    }

    .gallery-grid:has(.gallery-item:nth-child(10):last-child) .gallery-item:nth-child(10) {
        grid-column: 5 / span 2;
    }

    /* When there are 11 items (4 + 4 + 3) - center the last three */
    .gallery-grid:has(.gallery-item:nth-child(11):last-child) {
        grid-template-columns: repeat(12, 1fr);
    }

    /* First 8 items - each spans 3 columns */
    .gallery-grid:has(.gallery-item:nth-child(11):last-child) .gallery-item:nth-child(-n+8) {
        grid-column: span 3;
    }

    /* Last 3 items - centered, each spans 3 columns */
    .gallery-grid:has(.gallery-item:nth-child(11):last-child) .gallery-item:nth-child(9) {
        grid-column: 2 / span 3;
    }

    .gallery-grid:has(.gallery-item:nth-child(11):last-child) .gallery-item:nth-child(10) {
        grid-column: 5 / span 3;
    }

    .gallery-grid:has(.gallery-item:nth-child(11):last-child) .gallery-item:nth-child(11) {
        grid-column: 8 / span 3;
    }
}

/* Tablet: 3 columns expected */
@media (min-width: 641px) and (max-width: 1024px) {

    /* When there is 1 item */
    .gallery-grid:has(.gallery-item:nth-child(1):last-child) {
        grid-template-columns: 1fr;
        max-width: 33.333%;
        margin: 0 auto;
    }

    /* When there are 2 items */
    .gallery-grid:has(.gallery-item:nth-child(2):last-child) {
        grid-template-columns: repeat(2, 1fr);
        max-width: 66.666%;
        margin: 0 auto;
    }

    /* When there are 4 items (3 + 1) - center the last one */
    .gallery-grid:has(.gallery-item:nth-child(4):last-child) {
        grid-template-columns: repeat(6, 1fr);
    }

    /* First 3 items - each spans 2 columns */
    .gallery-grid:has(.gallery-item:nth-child(4):last-child) .gallery-item:nth-child(-n+3) {
        grid-column: span 2;
    }

    /* 4th item - centered, spans 2 columns */
    .gallery-grid:has(.gallery-item:nth-child(4):last-child) .gallery-item:nth-child(4) {
        grid-column: 3 / span 2;
    }

    /* When there are 5 items (3 + 2) - center the last two */
    .gallery-grid:has(.gallery-item:nth-child(5):last-child) {
        grid-template-columns: repeat(6, 1fr);
    }

    /* First 3 items - each spans 2 columns */
    .gallery-grid:has(.gallery-item:nth-child(5):last-child) .gallery-item:nth-child(-n+3) {
        grid-column: span 2;
    }

    /* Items 4 and 5 - centered, each spans 2 columns */
    .gallery-grid:has(.gallery-item:nth-child(5):last-child) .gallery-item:nth-child(4) {
        grid-column: 2 / span 2;
    }

    .gallery-grid:has(.gallery-item:nth-child(5):last-child) .gallery-item:nth-child(5) {
        grid-column: 4 / span 2;
    }

    /* When there are 6 items (3 + 3) - no centering needed */

    /* When there are 7 items (3 + 3 + 1) - center the last one */
    .gallery-grid:has(.gallery-item:nth-child(7):last-child) {
        grid-template-columns: repeat(6, 1fr);
    }

    /* First 6 items - each spans 2 columns */
    .gallery-grid:has(.gallery-item:nth-child(7):last-child) .gallery-item:nth-child(-n+6) {
        grid-column: span 2;
    }

    /* 7th item - centered, spans 2 columns */
    .gallery-grid:has(.gallery-item:nth-child(7):last-child) .gallery-item:nth-child(7) {
        grid-column: 3 / span 2;
    }

    /* When there are 8 items (3 + 3 + 2) - center the last two */
    .gallery-grid:has(.gallery-item:nth-child(8):last-child) {
        grid-template-columns: repeat(6, 1fr);
    }

    /* First 6 items - each spans 2 columns */
    .gallery-grid:has(.gallery-item:nth-child(8):last-child) .gallery-item:nth-child(-n+6) {
        grid-column: span 2;
    }

    /* Items 7 and 8 - centered, each spans 2 columns */
    .gallery-grid:has(.gallery-item:nth-child(8):last-child) .gallery-item:nth-child(7) {
        grid-column: 2 / span 2;
    }

    .gallery-grid:has(.gallery-item:nth-child(8):last-child) .gallery-item:nth-child(8) {
        grid-column: 4 / span 2;
    }
}

/* Mobile: 2 columns expected */
@media (max-width: 640px) {

    /* When there is 1 item - keep same size as grid items */
    .gallery-grid:has(.gallery-item:nth-child(1):last-child) {
        display: flex;
        justify-content: center;
    }

    .gallery-grid:has(.gallery-item:nth-child(1):last-child) .gallery-item {
        width: calc(50% - var(--space-2));
    }

    /* When there are 3 items (2 + 1) - center the last one */
    .gallery-grid:has(.gallery-item:nth-child(3):last-child) .gallery-item:nth-child(3) {
        grid-column: 1 / 3;
        width: 50%;
        margin: 0 auto;
    }

    /* When there are 5 items (2 + 2 + 1) - center the last one */
    .gallery-grid:has(.gallery-item:nth-child(5):last-child) .gallery-item:nth-child(5) {
        grid-column: 1 / 3;
        width: 50%;
        margin: 0 auto;
    }

    /* When there are 6 items (2 + 2 + 2) - no centering needed */

    /* When there are 7 items (2 + 2 + 2 + 1) - center the last one */
    .gallery-grid:has(.gallery-item:nth-child(7):last-child) .gallery-item:nth-child(7) {
        grid-column: 1 / 3;
        width: 50%;
        margin: 0 auto;
    }
}

.section-header {
    text-align: center;
    margin-bottom: var(--space-12);
}

.section-title {
    word-break: break-word;
    font-size: 40px;
    line-height: var(--leading-tight);
    font-weight: var(--font-bold);
    margin-bottom: var(--space-2);
}

.section-subtitle {
    word-break: break-word;
    font-size: var(--text-lg);
    line-height: var(--leading-normal);
    font-weight: var(--font-regular);
    margin-bottom: var(--space-4);
    color: var(--color-black-alpha-70);
}

.gallery-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--space-4);
    padding-bottom: var(--space-8);
}

.gallery-item {
    width: 100%;
}

.gallery-image {
    width: 100%;
    height: auto;
    aspect-ratio: 1;
    border-radius: var(--radius-lg);
    object-fit: cover;
    transition: var(--transition-material);
}

.gallery-image:hover {
    transform: scale(1.03);
}

.button-container {
    display: flex;
    justify-content: center;
    margin-top: var(--space-8);
}

.button-outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-md);
    font-weight: var(--font-medium);
    background-color: transparent;
    border: 1px solid var(--color-black);
    color: var(--color-black);
    font-size: var(--text-lg);
    padding-left: var(--space-6);
    padding-right: var(--space-6);
    padding-top: var(--space-3);
    padding-bottom: var(--space-3);
    text-align: center;
    text-decoration: none;
    transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1);
}

.button-outline:hover {
    background-color: var(--color-black-alpha-10);
}

.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 999;
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease;
    background-color: var(--color-black-alpha-50);
}

.modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    opacity: 0;
    transition: opacity 0.3s ease;
    padding: 1rem;
}

.modal-content {
    max-width: 500px;
    max-height: 90vh;
    overflow-y: auto;
    border-radius: 20px;
    overflow-x: visible;
    transform: scale(0.9);
    transition: transform 0.3s ease;
    width: 100%;
    background-color: var(--color-white);
}


.modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.5rem 2rem 1rem 2rem;
}

.modal-title {
    font-size: 1.5rem;
    font-weight: 600;
    margin: 0;
    color: var(--color-gray-800);
}

.modal-close:hover {
    background-color: var(--color-gray-100);
}

.modal-body {
    padding: 1rem 2rem 2rem 2rem;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    overflow: visible;
}

.modal-submit-button {
    width: 100%;
    margin-top: var(--space-4);
    background-color: var(--color-primary-button-background);
    color: var(--color-primary-button-foreground);
}

.modal-submit-button:hover {
    background-color: var(--color-primary-button-background-hover);
    color: var(--color-primary-button-foreground-hover);
}

.carousel-card-image-container {
    width: 100%;
    aspect-ratio: 1;
    overflow: hidden;
    flex-shrink: 0;
}

.carousel-card-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--transition-base);
}

.carousel-card-content {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.carousel-card-title {
    flex-shrink: 0;
}

.carousel-card-button {
    cursor: pointer;
    transition: var(--transition-base);
    flex-shrink: 0;
}

.carousel-card-image:hover {
    transform: scale(1.05);
}

.dot.is-selected {
    background-color: black !important;
}

/* Removed conflicting flickity-page-dots rule to allow Instagram-style dots to work */

.flickity-prev-next-button {
    transform: translate(0, 0) !important;
    background: var(--color-catalogue-navigation-arrows-background) !important;
    color: var(--color-catalogue-navigation-arrows-background) !important;
}

.image-frame {
    border-radius: var(--radius-md);
    overflow: hidden;
    box-shadow: var(--shadow-2-xl);
    background-color: var(--color-white);
}

.image-container {
    width: 100%;
    height: 445px;
    overflow: hidden;
}

.image-cover {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.image-cover:hover {
    transform: scale(1.05);
}

.text-white {
    color: var(--color-white) !important;
}

.carousel-section {
    scroll-margin-top: var(--header-height) !important;
    width: 100%;
    padding: var(--space-20) 0 var(--space-8) var(--space-4);
}

.section-container {
    max-width: var(--container-lg);
    margin: 0 auto;
    width: 100%;
}

@media (min-width: 1024px) {
    .section-container {
        padding-inline: var(--space-8);
    }
}

@media (min-width: 600px) and (max-width:1024px) {
    .section-container {
        padding-inline: var(--space-24);
    }
}

@media (max-width: 600px) {
    .section-container {
        padding-inline: var(--space-4);
    }

    .testimonials-section .section-container {
        padding-inline: 0;
    }

    .services-section .section-container {
        padding-inline: 0;
    }
}

.section-heading {
    font-size: var(--text-3-xl);
    font-weight: var(--font-bold);
    margin-bottom: var(--space-4);
}

.section-description {
    font-size: var(--text-md);
    max-width: var(--container-md);
    margin: 0 auto;
}

.faq-section {
    scroll-margin-top: var(--header-height) !important;
    width: 100%;
    padding: var(--space-20) 0;
    background-color: var(--color-faqs-background);
    color: var(--color-faqs-foreground);
}

.faq-container {
    max-width: 1000px;
}

.header-fixed {
    width: 100%;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 50;
    transition: var(--transition-material);
}

.header-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: var(--header-height-stretch);
    transition: height 0.3s ease;
}

@media (min-width: 769px) {
    .header-content {
        height: var(--header-height);
    }
}

.logo-container {
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex: 1;
}

.logo-link {
    display: flex;
    height: 90%;
    align-items: center;
    padding: var(--space-4) 0;
}

.logo-image {
    object-fit: contain;
    width: 120px;
    height: 40px;
    max-width: 100%;
}

.header {
    color: var(--color-header-foreground);
}

.header-cta-desktop {
    margin-left: var(--space-4);
    font-size: var(--text-base);
    padding: 8px 16px;
    min-width: 150px;
    background-color: var(--color-primary-button-background);
    color: var(--color-primary-button-foreground);
}

.header-cta-desktop:hover {
    background-color: var(--color-primary-button-background-hover);
    color: var(--color-primary-button-foreground-hover);
}

.header-cta-mobile {
    min-width: 10rem;
    margin-top: var(--space-2);
    margin-bottom: var(--space-4);
    transform: translateY(-100%);
    opacity: 0;
    transition: var(--transition-material);
    background-color: var(--color-primary-button-background);
    color: var(--color-primary-button-foreground);
}

.header-cta-mobile:hover {
    background-color: var(--color-primary-button-background-hover);
    color: var(--color-primary-button-foreground-hover);
}

.mobile-menu-button-container {
    display: flex;
    justify-content: flex-end;
}

.header-overlay-dark {
    background-color: var(--color-black-alpha-50);
}

.fixed-cta {
    position: fixed !important;
    bottom: 10px;
    z-index: 100;
    width: calc(100% - 20px);
    box-shadow: var(--shadow-xl);
}

.fixed-cta-button {
    background-color: var(--color-floating-cta-background);
    box-shadow: var(--color-white-alpha-50) 0px 8px 20px;
    color: var(--color-floating-cta-foreground);
}

.fixed-cta-button:hover {
    background-color: var(--color-gray-800);
}

#modal-phone-container {
    margin-top: var(--space-4);
}

#modal-visit-question-container {
    margin-top: var(--space-4);
}

.modal-success-container {
    padding: var(--space-8) var(--space-6);
    min-height: 300px;
}

.modal-success-container .successPage-icon-wrapper {
    margin-bottom: var(--space-4);
}

.modal-success-container .successPage-icon {
    width: 75px;
    height: 75px;
}

.modal-success-container .successPage-title {
    font-size: var(--text-2-xl);
    margin-bottom: var(--space-2);
}

.modal-success-container .successPage-message {
    font-size: var(--text-base);
    margin-bottom: var(--space-6);
}

.modal-success-container .successPage-review-section {
    padding-top: var(--space-6);
    max-width: 350px;
}

.modal-success-container .successPage-review-title {
    font-size: var(--text-base);
}

.modal-success-container .successPage-review-description {
    font-size: var(--text-sm);
    margin-bottom: var(--space-3);
}

.modal-success-container .successPage-google-review-button {
    padding: var(--space-2) var(--space-4);
    font-size: var(--text-sm);
}

.modal-success-container .successPage-google-icon {
    width: 18px;
    height: 18px;
}

.hero-section {
    position: relative;
    width: 100%;
    overflow: hidden;
    padding: 0;
}

.hero-background-wrapper {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--color-banner-background);
    color: var(--color-banner-foreground);
}

.hero-background-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    z-index: 0;
}

.hero-overlay {
    position: absolute;
    inset: 0;
    background-color: var(--color-black-alpha-30);
    z-index: 1;
}

.hero-content-wrapper {
    width: 100%;
    padding-block: var(--space-16);
    position: relative;
    z-index: 2;
    margin: 0 auto;
}

.hero-grid {
    display: flex;
    flex-direction: column;
    gap: var(--space-8);
    align-items: center;
    justify-content: center;
    width: 100%;
}

.hero-image-container {
    width: 85%;
    max-width: var(--container-sm);
    border-radius: var(--radius-md);
    overflow: hidden;
    box-shadow: var(--shadow-2-xl);
    aspect-ratio: 1 / 1;
}

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

.hero-content-card {
    background: var(--color-white-alpha-60);
    padding: var(--space-8) var(--space-2);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    border: 1px solid var(--color-white-alpha-30);
    border-radius: var(--radius-md);
    text-align: center;
    width: 85%;
    max-width: var(--container-sm);
    display: flex;
    flex-direction: column;
    align-items: center;
    box-shadow: var(--shadow-2-xl);
}

.hero-heading {
    font-size: 2.8rem;
    font-weight: var(--font-bold);
    margin-bottom: var(--space-6);
    color: var(--color-black);
    text-align: center;
    text-shadow: 0 2px 4px var(--color-white-alpha-30);
}

.hero-description {
    font-size: var(--text-lg);
    line-height: var(--leading-relaxed);
    color: var(--color-gray-900);
    margin-bottom: var(--space-10);
    text-align: center;
    font-weight: var(--font-medium);
    text-shadow: 0 1px 2px var(--color-white-alpha-30);
}

.hero-button-wrapper {
    display: flex;
    justify-content: center;
}

.hero-cta-button {
    display: inline-block;
    padding: var(--space-2) var(--space-6);
    background-color: var(--color-primary-button-background);
    color: var(--color-primary-button-foreground);
    font-weight: var(--font-regular);
    font-size: var(--text-md);
    border-radius: var(--radius-md);
    border: none;
    cursor: pointer;
    min-width: 150px;
    transition: var(--transition-base);
}

.hero-cta-button:hover {
    background-color: var(--color-primary-button-background-hover);
    color: var(--color-primary-button-foreground-hover);
    transform: translateY(-2px);
}

.mobile-fixed-cta {
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    z-index: var(--z-fixed);
    display: inline-block;
    padding: var(--space-4) var(--space-10);
    background-color: var(--color-black);
    color: var(--color-white);
    font-weight: var(--font-semibold);
    font-size: var(--text-md);
    border-radius: var(--radius-md);
    border: none;
    cursor: pointer;
    transition: var(--transition-base);
    box-shadow: 0 8px 20px var(--color-white-alpha-50);
    width: calc(100% - 40px);
}

.mobile-fixed-cta:hover {
    background-color: var(--color-black);
    transform: translateX(-50%) translateY(-2px);
    box-shadow: 0 12px 25px var(--color-primary-alpha-50);
}

.services-section {
    background-color: var(--color-catalogue-background);
    color: var(--color-catalogue-foreground);
}

.service-button {
    display: inline-block;
    width: fit-content;
    padding: var(--space-4);
    background-color: var(--color-primary-button-background);
    color: var(--color-primary-button-foreground);
    border: 1px solid var(--color-black);
    font-weight: var(--font-medium);
    font-size: var(--text-base);
    border-radius: var(--radius-md);
    text-align: center;
}

.service-button:hover {
    background-color: var(--color-primary-button-background-hover);
    color: var(--color-primary-button-foreground-hover);
}

.view-all-button {
    display: inline-block;
    padding: var(--space-3) var(--space-8);
    background-color: transparent;
    color: var(--color-catalogue-view-all-cta);
    font-weight: var(--font-light);
    font-size: var(--text-base);
    border: 1px solid var(--color-black);
    border-radius: var(--radius-md);
    cursor: pointer;
    transition: var(--transition-base);
}

.view-all-button:hover {
    background-color: var(--color-black);
    color: var(--color-white);
}

.accordion-container {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

.accordion-item:not(:last-child) {
    border-bottom: 1px solid var(--color-gray-200);
}

.accordion-button {
    width: 100%;
    display: flex;
    align-items: center;
    text-align: left;
    padding: var(--space-5) 0;
    background: none;
    border: none;
    cursor: auto;
    font-size: var(--text-lg);
    font-weight: var(--font-medium);
    color: var(--color-black);
    transition: var(--transition-base);
}

.accordion-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 35px;
    height: 35px;
    margin-right: var(--space-4);
    background-color: var(--color-faqs-icon-background);
    border-radius: 50%;
    color: var(--color-faqs-icon-foreground);
    transition: transform 0.3s ease;
}

.accordion-question {
    flex: 1;
    text-align: left;
}

.accordion-content {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: all 0.3s ease;
    padding: 0 2.25rem 0 2.25rem;
}

.accordion-answer {
    font-size: var(--text-base);
    line-height: var(--leading-relaxed);
    color: var(--color-gray-700);
    padding-bottom: var(--space-5);
    margin: 0;
}

.announcement-section {
    width: 100%;
    background-color: var(--color-gray-100);
    position: relative;
}

.marquee-container {
    display: block;
    width: 100%;
    overflow: hidden;
    background-color: var(--color-marquee-background);
    cursor: pointer;
    padding: var(--space-4) 0;
}

.marquee-container:focus {
    outline: 2px solid var(--color-marquee-background);
    outline-offset: 2px;
}

.marquee-track {
    display: flex;
    width: fit-content;
    animation: marquee 30s linear infinite;
}

.marquee-content {
    display: flex;
    align-items: center;
    gap: var(--space-8);
    padding-right: var(--space-8);
}

.marquee-text {
    color: var(--color-marquee-foreground);
    font-size: var(--text-xl);
    font-weight: var(--font-semibold);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    white-space: nowrap;
}

.marquee-separator {
    color: var(--color-marquee-foreground);
    font-size: var(--text-2-xl);
}

.mobile-announcement-container {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: var(--space-12) var(--space-4);
    cursor: pointer;
}

.mobile-announcement-container:focus {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.mobile-announcement-content {
    background-color: var(--color-gray-700);
    border-top-left-radius: var(--radius-2-xl);
    border-bottom-right-radius: var(--radius-2-xl);
    padding: var(--space-10) var(--space-12);
    text-align: center;
    max-width: 90%;
    transition: var(--transition-base);
}

.mobile-announcement-content:active {
    transform: scale(0.98);
}

.mobile-announcement-heading {
    color: var(--color-marquee-foreground);
    font-size: var(--text-2-xl);
    font-weight: var(--font-bold);
    margin: 0 0 var(--space-2) 0;
    letter-spacing: 0.02em;
}

.mobile-announcement-text {
    color: var(--color-marquee-foreground);
    font-size: var(--text-xl);
    font-weight: var(--font-medium);
    margin: 0;
    letter-spacing: 0.02em;
}

.feature-section {
    scroll-margin-top: var(--header-height) !important;
    padding: var(--space-20) 0;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--color-white);
}

.feature-section-dark {
    background-color: var(--color-black);
}

.feature-container {
    width: 100%;
    max-width: 1300px;
    margin: 0 auto;
}

.feature-container-medium {
    max-width: var(--container-lg);
}

.feature-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: var(--radius-2-xl);
    box-shadow: var(--shadow-xl);
}

.feature-card-rounded-lg {
    border-radius: var(--radius-xl);
}

.card-image-wrapper {
    width: 100%;
    min-height: 300px;
    background-color: var(--color-gray-700);
}

.card-image-wrapper-rounded {
    overflow: hidden;
    border-radius: var(--radius-md);
}

.card-image {
    width: 100%;
    height: 100%;
    min-height: 300px;
    object-fit: cover;
    display: block;
}

.card-content {
    background-color: var(--color-primary-light);
    padding: var(--space-10) var(--space-6);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.card-content-white {
    background-color: var(--color-white);
}

.card-content-primary {
    background-color: var(--color-primary-light);
}

.card-heading {
    font-size: 2.2rem;
    font-weight: var(--font-bold);
    color: var(--color-black);
    margin-bottom: var(--space-6);
    text-align: center;
}

.card-details {
    max-width: var(--container-sm);
    margin-bottom: var(--space-8);
}

.card-detail {
    font-size: var(--text-lg);
    color: var(--color-gray-800);
    margin-bottom: var(--space-4);
    line-height: var(--leading-relaxed);
}

.card-detail:last-child {
    margin-bottom: 0;
}

.card-text-container {
    display: flex;
    flex-direction: column;
    gap: var(--space-6);
    margin-bottom: var(--space-10);
}

.card-text {
    font-size: var(--text-base);
    line-height: var(--leading-relaxed);
    color: var(--color-gray-700);
    margin: 0;
}

.card-text-large {
    font-size: var(--text-md);
}

.card-button-container {
    display: flex;
    justify-content: center;
    margin-top: var(--space-4);
}

.card-button {
    display: inline-block;
    padding: var(--space-3) var(--space-8);
    background-color: var(--color-button-background);
    color: var(--color-button-foreground);
    font-weight: var(--font-medium);
    font-size: 1.4rem;
    border-radius: var(--radius-lg);
    border: none;
    cursor: pointer;
    transition: var(--transition-base);
}

.card-button:hover {
    background-color: var(--color-button-background-hover);
    transform: translateY(-2px);
    color: var(--color-button-foreground-hover);
}

.card-button-small {
    padding: var(--space-4) var(--space-10);
    font-size: var(--text-base);
    font-weight: var(--font-semibold);
}

.text-link {
    cursor: pointer;
    font-weight: var(--font-semibold);
}

.text-link:hover {
    text-decoration: underline;
}

.feature-card-primary {
    background-color: var(--color-primary-light);
}

.feature-card-reverse {
    flex-direction: column-reverse;
}

.about-section {
    background-color: var(--color-about-background) !important;
    color: var(--color-information-foreground) !important;
    scroll-margin-top: var(--header-height) !important;
    padding: var(--space-20) 0;
}

.about-section .feature-card {
    background-color: var(--color-about-card-background);
}

.about-section .card-content {
    padding: var(--space-10) var(--space-8);
}

.about-section .card-heading {
    text-align: center;
}

.about-section .card-text {
    color: var(--color-gray-700);
}

.contact-section {
    scroll-margin-top: var(--header-height) !important;
    background-color: var(--color-workingHours-background) !important;
    color: var(--color-workingHours-foreground) !important;
}

.background-container {
    position: relative;
    width: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-color: var(--color-primary-light);
    max-height: fit-content;
    padding: var(--space-16) 0;
}

.background-image {
    position: absolute;
    height: 100%;
    width: 100%;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    object-fit: cover;
    color: transparent;
    opacity: 0.8;
    max-height: 100%;
}

.background-overlay {
    opacity: 0.6;
    position: absolute;
    inset: 0px;
    background-color: var(--color-black);
}

.content-wrapper {
    position: relative;
    z-index: 10;
    border-radius: var(--radius-lg);
    margin: 0 auto;
    width: 100%;
    height: 100%;
}

.max-width-container {
    margin-left: auto;
    margin-right: auto;
    max-width: var(--container-xl);
}

.grid-layout {
    display: grid;
    gap: var(--space-4);
    padding-left: var(--space-4);
    padding-right: var(--space-4);
    grid-template-columns: repeat(12, minmax(1, 1fr));
}

.column-span {
    grid-column: span 12 / span 12;
    height: 100%;
}

.inner-grid {
    margin-top: var(--space-8);
    margin-bottom: var(--space-8);
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--space-8);
    padding-left: var(--space-4);
    padding-right: var(--space-4);
}

.info-section {
    grid-column: span 12 / span 12;
}

.info-section--hours {
    order: 1;
}

.info-section--contact {
    order: 2;
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

.info-box {
    display: flex;
    width: 100%;
    max-width: 28rem;
    flex-direction: column;
    justify-content: center;
    border-radius: var(--radius-lg);
    padding: var(--space-8);
    text-align: left;
    height: 100%;
    padding-left: 0;
    padding-right: 0;
    padding-top: var(--space-2);
    padding-bottom: var(--space-2);
}

.info-title {
    word-break: break-word;
    font-size: var(--text-xl);
    line-height: var(--text-2-xl);
    font-weight: var(--font-bold);
    margin-bottom: var(--space-2);
}

.hours-list {
    margin-top: var(--space-2);
}

.hours-item {
    padding-bottom: 15px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.hours-label {
    width: 50%;
}

.hours-time {
    margin-left: var(--space-1);
    width: 40%;
    flex-grow: 1;
}

.contact-info {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.contact-link {
    display: flex;
    flex-direction: row;
    gap: 0;
}

.icon-wrapper {
    display: inline-flex;
}

.contact-icon {
    margin-bottom: var(--space-1);
    margin-right: var(--space-2);
    height: var(--space-5);
    width: var(--space-5);
    flex-shrink: 0;
}

.contact-text {
    word-break: break-word;
    font-size: var(--text-base);
    text-decoration-line: underline;
}

.location-link {
    text-decoration: none;
}

.location-text {
    word-break: break-word;
    font-size: var(--text-base);
    font-style: normal;
}

.location-inner {
    display: flex;
    align-items: center;
}

.location-icon {
    margin-bottom: var(--space-1);
    margin-right: var(--space-2);
    height: var(--space-5);
    width: var(--space-5);
    flex-shrink: 0;
}


.map-iframe {
    border-radius: var(--radius-lg) !important;
}

.footerForm-section {
    scroll-margin-top: var(--header-height) !important;
    background-color: var(--color-contact-background);
    font-family:
        -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}

.footerForm-container {
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-8);
    align-items: start;
    justify-content: center;
}

.footerForm-map-container {
    border-radius: var(--radius-lg);
    position: relative;
    height: 400px;
    width: 100%;
    order: 2;
}

.footerForm-map-wrapper {
    height: 100%;
    width: 100%;
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-md);
    border: 4px solid var(--color-white);
    position: relative;
    background-color: var(--color-gray-200);
}

.footerForm-map-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.footerForm-map-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--color-white-alpha-10);
}

.footerForm-location-marker {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    filter: drop-shadow(0 2px 4px var(--color-black-alpha-30));
    animation: bounce 2s ease-in-out infinite;
}

.footerForm-marker-icon {
    display: block;
}

.footerForm-marker-path {
    fill: var(--color-red);
}

.footerForm-location-info {
    position: absolute;
    bottom: 20px;
    left: 20px;
    background: var(--color-white);
    padding: var(--space-4);
    border-radius: var(--radius-lg);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    max-width: 220px;
}

.footerForm-location-title {
    font-size: var(--text-base);
    font-weight: var(--font-semibold);
    margin: 0 0 var(--space-2) 0;
    color: var(--color-gray-900);
}

.footerForm-location-address {
    font-size: var(--text-xs);
    line-height: var(--leading-snug);
    margin: 0 0 var(--space-2) 0;
    color: var(--color-gray-600);
}

.footerForm-maps-link {
    font-size: var(--text-xs);
    color: var(--color-google-blue);
    text-decoration: none;
    cursor: pointer;
}

.footerForm-maps-link:hover {
    text-decoration: underline;
}

.footerForm-card {
    background-color: var(--color-footer-contact-card-background);
    color: var(--color-footer-contact-card-foreground);
    border-radius: var(--radius-lg);
    border: 1px solid var(--color-gray-200);
    overflow: hidden;
    height: 100%;
    order: 1;
}

.footerForm-wrapper {
    padding: var(--space-6);
}

.footerForm-title {
    font-size: var(--text-xl);
    font-weight: var(--font-semibold);
    margin: 0 0 var(--space-3) 0;
}

.footerForm-description {
    font-size: var(--text-base);
    margin: 0 0 var(--space-6) 0;
    line-height: var(--leading-normal);
}

.footerForm-fields {
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
}

.footerForm-input-container {
    position: relative;
}

.footerForm-input {
    width: 100%;
    height: 48px;
    padding: 0 var(--space-4);
    border: 1px solid var(--color-gray-900);
    border-radius: var(--radius-lg);
    font-size: var(--text-base);
    background-color: var(--color-gray-50);
    transition: var(--transition-base);
}

.footerForm-input:focus {
    outline: none;
    border-color: var(--color-gray-900);
    background-color: var(--color-white);
}

.footerForm-input::placeholder {
    font-size: var(--text-base);
}

.footerForm-phone-wrapper {
    display: flex;
    gap: var(--space-2);
}

.footerForm-country-selector {
    position: relative;
    width: 100px;
}

.footerForm-country-button {
    width: 100%;
    height: 48px;
    border: 1px solid var(--color-gray-900);
    border-radius: var(--radius-lg);
    background-color: var(--color-gray-50);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 var(--space-3);
    transition: var(--transition-base);
}

.footerForm-country-button:hover {
    background-color: var(--color-gray-100);
}

.footerForm-country-content {
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.footerForm-country-flag {
    font-size: var(--text-lg);
}


.footerForm-country-code {
    font-weight: var(--font-medium);
    font-size: var(--text-sm) !important;
}

.footerForm-dropdown-arrow {
    width: var(--space-4);
    height: var(--space-4);
}

.footerForm-country-dropdown {
    position: absolute;
    top: 95% !important;
    left: -12%;
    right: 0;
    margin-top: var(--space-2);
    width: 350px;
    height: 200px;
    scrollbar-width: none;
    background-color: var(--color-gray-50);
    border: 1px solid var(--color-gray-200);
    border-radius: var(--radius-md) !important;
    box-shadow: var(--shadow-md);
    display: none;
    z-index: 10;
    max-height: 200px;
    overflow-y: auto;
}



/* Country Search Container */
.footerForm-country-search-container {
    padding: var(--space-3) var(--space-4);
    border-bottom: 1px solid var(--color-gray-200);
    position: sticky;
    top: 0;
    background-color: var(--color-gray-50);
    z-index: 1;
}

/* Country Search Input */
.footerForm-country-search-input {
    width: 100%;
    height: 42px;
    padding: 0 var(--space-4);
    border: 1px solid var(--color-gray-300);
    border-radius: var(--radius-md);
    font-size: var(--text-base);
    background-color: var(--color-white);
    transition: var(--transition-base);
}

.footerForm-country-search-input:focus {
    outline: none;
    border-color: var(--color-gray-900);
    box-shadow: 0 0 0 2px var(--color-gray-900-alpha-20);
}

.footerForm-country-search-input::placeholder {
    color: var(--color-gray-500);
    font-size: var(--text-base);
}

/* Country No Results */
.footerForm-country-no-results {
    padding: var(--space-4);
    text-align: center;
    color: var(--color-gray-500);
    font-size: var(--text-sm);
    font-style: italic;
    border-top: 1px solid var(--color-gray-200);
}

/* Country Option */
.footerForm-country-option {
    width: 100%;
    padding: var(--space-3) var(--space-4);
    border: none;
    background: none;
    cursor: pointer;
    display: flex;
    justify-content: left;
    align-items: center;
    gap: 1rem;
    transition: var(--transition-base);
    font-size: var(--text-sm) !important;
}

.footerForm-country-option:hover {
    background-color: var(--color-gray-200);
}

.footerForm-country-option.selected {
    opacity: 0.3;
    cursor: default;
}

.footerForm-country-option:first-child {
    border-radius: 0;
}

.footerForm-country-option:last-child {
    border-radius: 0 0 var(--radius-lg) var(--radius-lg);
}

.footerForm-phone-input-container {
    flex: 1;
    position: relative;
}

.footerForm-customer-type-container {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

.footerForm-label {
    font-size: var(--text-base);
    font-weight: var(--font-medium);
}

.footerForm-radio-group {
    display: flex;
    flex-direction: row;
    gap: var(--space-3);
}

.footerForm-radio-button {
    flex: 1;
    height: 48px;
    border: 1px solid var(--color-gray-900);
    border-radius: var(--radius-lg);
    background-color: var(--color-gray-50);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--text-base);
    transition: var(--transition-base);
    font-weight: var(--font-medium);
}

.footerForm-radio-button:hover {
    border-color: var(--color-gray-900);
    background-color: var(--color-gray-50);
}

.footerForm-radio-input {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

.footerForm-service-type-container {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

.footerForm-select {
    width: 100%;
    height: 48px;
    padding: 0 var(--space-4);
    border: 1px solid var(--color-gray-900);
    border-radius: var(--radius-lg);
    font-size: var(--text-base);
    background-color: var(--color-gray-50);
    transition: var(--transition-base);
    cursor: pointer;
}

.footerForm-select:focus {
    outline: none;
    border-color: var(--color-gray-900);
    background-color: var(--color-white);
}

.footerForm-select option {
    background-color: var(--color-white);
    color: var(--color-gray-900);
    padding: var(--space-2);
}

.footerForm-submit-container {
    margin-top: var(--space-2);
}


.footerForm-submit-button {
    width: 100%;
    height: 48px;
    background-color: var(--color-footer-contact-card-button-background);
    color: var(--color-footer-contact-card-button-foreground);
    border: none;
    border-radius: var(--radius-lg);
    font-size: var(--text-lg);
    font-weight: var(--font-semibold);
    cursor: pointer;
    transition: var(--transition-base);
}

.footerForm-submit-button:hover {
    background-color: var(--color-footer-contact-card-button-background-hover);
    color: var(--color-footer-contact-card-button-foreground-hover);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px var(--color-black-alpha-30);
}

.footerForm-submit-button:focus {
    outline-offset: 2px;
}

.successPage-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: var(--space-12) var(--space-6);
    min-height: 400px;
}

.successPage-icon-wrapper {
    margin-bottom: var(--space-6);
}

.successPage-icon {
    width: 75px;
    height: 75px;
}

.successPage-title {
    font-size: var(--text-2-xl);
    font-weight: var(--font-semibold);
    margin: 0 0 var(--space-3) 0;
}

.successPage-message {
    font-size: var(--text-lg);
    margin: 0 0 var(--space-8) 0;
    line-height: var(--leading-normal);
}

.successPage-review-section {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-3);
    padding-top: var(--space-8);
    border-top: 1px solid var(--color-gray-200);
    width: 100%;
    max-width: 400px;
}

.successPage-review-title {
    font-size: var(--text-lg);
    font-weight: var(--font-semibold);
    margin: 0;
}

.successPage-review-description {
    font-size: var(--text-sm);
    margin: 0 0 var(--space-4) 0;
    line-height: var(--leading-relaxed);
}

.successPage-google-review-button {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    background-color: #4285f4;
    color: var(--color-white);
    padding: var(--space-3) var(--space-6);
    border-radius: var(--radius-lg);
    font-size: var(--text-base);
    font-weight: var(--font-medium);
    text-decoration: none;
    transition: var(--transition-base);
    box-shadow: 0 2px 4px rgba(66, 133, 244, 0.3);
}

.successPage-google-review-button:hover {
    background-color: #3367d6;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(66, 133, 244, 0.4);
}

.successPage-google-icon {
    width: 20px;
    height: 20px;
}

.footer-section {
    background-color: var(--color-footer-background);
    color: var(--color-footer-foreground);
    padding: var(--space-16) 0 var(--space-12) 0;
    width: 100%;
    margin-top: auto;
}

@media (max-width: 600px) {
    .footer-section {
        padding: var(--space-16) 0 var(--space-24) 0;
    }
}

.footer-content {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-12);
}

.footer-column {
    display: flex;
    flex-direction: column;
}

.footer-heading {
    font-size: var(--text-xl);
    font-weight: var(--font-semibold);
    margin-bottom: var(--space-6);
    margin-top: 0;
}

.footer-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.footer-list-item {
    font-size: var(--text-base);
    line-height: var(--leading-normal);
}

.footer-list-item-last {
    padding-bottom: var(--space-3);
}

.footer-link {
    text-decoration: none;
    transition: var(--transition-base);
    display: inline-block;
}

.footer-contact-link {
    text-decoration: none;
    transition: var(--transition-base);
    display: flex;
    align-items: start;
    gap: var(--space-3);
}

.footer-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    min-width: 16px;
    width: 16px;
    height: 16px;
    margin-top: 6px;
}

.footer-icon svg {
    width: 100%;
    height: 100%;
}

.list-section-card {
    border-bottom: 1px solid color-mix(in srgb, var(--color-services-foreground) 25%, transparent);
    padding-bottom: var(--space-6);
}

.list-section-card:last-child {
    border-bottom: none;
}

.list-section-card-body {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--space-4);
}

.list-section-card-details {
    flex: 1;
}

.list-section-card-title {
    font-size: var(--text-lg);
    font-weight: var(--font-semibold);
    color: var(--color-services-foreground);
    margin-bottom: var(--space-2);
}

.list-section-card-description {
    font-size: var(--text-sm);
    color: var(--color-services-foreground);
    margin-bottom: var(--space-2);
    line-height: var(--leading-relaxed);
}

.list-section-card-meta {
    font-size: var(--text-sm);
    color: var(--color-services-foreground);
    font-weight: var(--font-medium);
}

.list-section-card-actions {
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

.list-section-card-image {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: var(--radius-md);
}


/* Media Queries */

@media (min-width: 640px) {
    .container {
        max-width: var(--container-sm);
    }

    .inner-grid {
        margin-top: var(--space-8);
        margin-bottom: var(--space-8);
        gap: var(--space-12);
    }
}

@media (min-width: 768px) {
    .container {
        max-width: var(--container-md);
        padding: 0 var(--space-6);
    }

    .md\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .md\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .md\:grid-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .md\:flex-row {
        flex-direction: row;
    }

    .card-layout-double {
        grid-template-columns: 1fr 1fr;
        gap: var(--space-12);
    }

    .mobile-only {
        display: none;
    }

    .mobile-hide {
        display: block;
    }

    .desktop-only {
        display: block;
    }

    .membership-card {
        padding: var(--space-16) var(--space-12);
    }

    .pricing-text {
        font-size: var(--text-md);
    }

    .card-button-inverted {
        padding: 0.875rem var(--space-10);
        font-size: var(--text-md);
    }

    /* Removed display: none for flickity-page-dots to allow Instagram-style dots */

    .logo-container {
        height: 100px;
    }

    .cta-mobile-spacing {
        margin-bottom: 0;
    }

    .fixed-cta {
        display: none !important;
    }

    .modal-success-container {
        padding: var(--space-10) var(--space-8);
    }

    .modal-success-container .successPage-icon {
        width: 80px;
        height: 80px;
    }

    .modal-success-container .successPage-title {
        font-size: var(--text-3-xl);
    }

    .modal-success-container .successPage-message {
        font-size: var(--text-lg);
    }

    .modal-success-container .successPage-review-title {
        font-size: var(--text-lg);
    }

    .modal-success-container .successPage-review-description {
        font-size: var(--text-base);
    }

    .modal-success-container .successPage-google-review-button {
        padding: var(--space-3) var(--space-6);
        font-size: var(--text-base);
    }

    .mobile-fixed-cta {
        display: none;
    }

    .hero-grid {
        flex-direction: row;
        justify-content: space-between;
        align-items: stretch;
        gap: var(--space-16);
    }

    .hero-image-container {
        width: 40%;
        max-width: none;
    }

    .hero-content-wrapper {
        padding-block: var(--space-16);
    }

    .hero-content-card {
        width: 50%;
        max-width: none;
        padding: var(--space-12) var(--space-10);
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .accordion-button {
        font-size: var(--text-xl);
    }

    .accordion-answer {
        font-size: var(--text-lg);
    }

    .mobile-announcement-content {
        border-radius: var(--radius-full);
        padding: var(--space-12) var(--space-16);
        max-width: 600px;
    }

    .mobile-announcement-heading {
        font-size: var(--text-3-xl);
    }

    .mobile-announcement-text {
        font-size: var(--text-2-xl);
    }

    .feature-card {
        flex-direction: row;
        min-height: 700px;
    }

    .feature-card-auto-height {
        height: auto;
    }

    .card-image-wrapper {
        width: 40%;
        border-radius: var(--radius-lg);
    }

    .card-image-wrapper-rounded {
        border-radius: var(--radius-2-xl) 0 0 var(--radius-2-xl);
    }

    .card-image-rounded {
        border-radius: var(--radius-2-xl) 0 0 var(--radius-2-xl);
    }

    .card-content {
        width: 60%;
        padding: var(--space-12);
        justify-content: center;
        text-align: left;
        align-items: flex-start;
    }

    .card-content-narrow {
        width: 50%;
    }

    .card-content-wide {
        width: 61%;
    }

    .card-content-rounded {
        border-radius: 0 var(--radius-2-xl) var(--radius-2-xl) 0;
    }

    .card-heading {
        font-size: 2.8rem;
        margin-bottom: var(--space-8);
    }

    .card-heading-left {
        text-align: left;
    }

    .card-detail {
        font-size: 1.3rem;
    }

    .card-text {
        font-size: var(--text-md);
    }

    .card-text-large {
        font-size: var(--text-lg);
    }

    .card-button {
        padding: 0.875rem var(--space-10);
    }

    .card-button-container {
        margin-top: var(--space-6);
    }

    .feature-card-primary {
        background-color: var(--color-primary);
    }

    .feature-card-reverse {
        flex-direction: row;
    }

    .about-section .card-heading {
        text-align: left;
        font-size: var(--text-3-xl);
    }

    .column-span {
        grid-column: span 10 / span 10;
        grid-column-start: 2;
    }

    .inner-grid {
        padding-left: var(--space-8);
        padding-right: var(--space-8);
    }

    .info-section--hours {
        order: 2;
        grid-column: span 5 / span 5;
        grid-column-start: 8;
    }

    .info-section--contact {
        order: 1;
        grid-column: span 6 / span 6;
    }

    .info-box {
        padding-left: var(--space-2);
        padding-right: var(--space-2);
        padding-top: var(--space-8);
        padding-bottom: var(--space-8);
    }

    .footerForm-section {
        padding: var(--space-20) 0;
    }

    .footerForm-container {
        gap: var(--space-12);
        align-items: center;
    }

    .footerForm-map-container {
        order: 1;
        height: 100%;
        min-height: 500px;
    }

    .footerForm-card {
        order: 2;
    }

    .footerForm-wrapper {
        padding: var(--space-8);
    }

    .footerForm-title {
        font-size: 1.75rem;
    }

    .footerForm-description {
        font-size: var(--text-lg);
    }

    .footerForm-fields {
        gap: var(--space-6);
    }

    .footerForm-input,
    .footerForm-country-button,
    .footerForm-radio-button,
    .footerForm-select {
        height: 56px;
        font-size: var(--text-lg);
        padding: 0 var(--space-5);
        border-radius: 10px;
    }

    .footerForm-input::placeholder {
        font-size: var(--text-lg);
    }

    .footerForm-country-selector {
        width: 110px;
    }

    .footerForm-radio-button {
        font-size: 1.0625rem;
    }

    .footerForm-radio-group {
        flex-direction: row;
        gap: var(--space-4);
    }

    .footerForm-submit-button {
        height: 56px;
        font-size: var(--text-lg);
        border-radius: 10px;
    }

    .footerForm-label {
        font-size: var(--text-lg);
    }

    .successPage-container {
        padding: var(--space-16) var(--space-8);
    }

    .successPage-title {
        font-size: 2rem;
    }

    .successPage-message {
        font-size: var(--text-xl);
    }

    .successPage-review-title {
        font-size: var(--text-xl);
    }

    .successPage-review-description {
        font-size: var(--text-base);
    }

    .footer-content {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--space-8);
    }

    #contact-column {
        grid-column: span 2;
    }
}

@media (min-width: 1024px) {
    .container {
        max-width: var(--container-lg);
        padding: 0 var(--space-8);
    }

    .lg\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .lg\:grid-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .heading-hero {
        font-size: var(--text-5-xl);
    }

    .text-hero {
        font-size: var(--text-xl);
    }

    .faq-section {
        padding: var(--space-24) var(--space-8);
    }

    .hero-heading {
        font-size: 2.95rem;
    }

    .hero-description {
        font-size: 1.3rem;
    }

    .hero-cta-button {
        font-size: var(--text-lg);
    }

    .hero-content-wrapper {
        padding: var(--space-16) var(--space-8);
    }

    .hero-content-card {
        padding: var(--space-16) var(--space-24);
    }

    .marquee-container {
        display: block;
    }

    .mobile-announcement-container {
        display: none;
    }

    .marquee-text {
        font-size: var(--text-xl);
    }

    .marquee-track {
        animation-duration: 45s;
    }

    .card-content {
        padding: var(--space-16);
    }

    .card-content-padded-left {
        padding-left: var(--space-20);
    }

    .card-heading {
        font-size: 3.4rem;
    }

    .card-heading-medium {
        font-size: var(--text-4-xl);
        margin-bottom: var(--space-8);
    }

    .card-heading-large {
        font-size: 3.5rem;
        margin-bottom: var(--space-10);
    }

    .card-text {
        font-size: var(--text-lg);
    }

    .card-text-large {
        font-size: 1.3rem;
    }

    .card-button-small {
        padding: 1.125rem var(--space-12);
        font-size: var(--text-md);
    }

    .about-section .card-content {
        padding-block: var(--space-8);
        padding-inline: var(--space-20);
    }

    .about-section .card-heading {
        font-size: var(--text-4-xl);
        margin-bottom: var(--space-8);
    }

    .about-section .card-text {
        font-size: var(--text-lg);
    }

    .column-span {
        grid-column: span 10 / span 10;
        grid-column-start: 2;
    }

    .inner-grid {
        margin-top: var(--space-8);
        margin-bottom: var(--space-8);
    }

    .footerForm-container {
        grid-template-columns: 5fr 6fr;
        gap: var(--space-12);
    }

    .footerForm-wrapper {
        padding: var(--space-8) var(--space-10);
    }

    .footerForm-map-container {
        min-height: 600px;
    }

    .footerForm-title {
        font-size: var(--text-2-xl);
    }

    .footerForm-description {
        font-size: var(--text-lg);
        margin: 0 0 var(--space-8) 0;
    }

    .footerForm-fields {
        gap: var(--space-8);
    }

    .footerForm-input,
    .footerForm-country-button,
    .footerForm-radio-button,
    .footerForm-select {
        font-size: var(--text-lg);
        padding: 0 var(--space-5);
        border-radius: var(--radius-xl);
    }

    .footerForm-input::placeholder {
        font-size: var(--text-lg);
    }

    .footerForm-country-selector {
        width: 120px;
    }

    .footerForm-country-code {
        font-size: var(--text-lg);
    }

    .footerForm-country-dropdown {
        border-radius: var(--radius-xl);
    }

    .footerForm-country-option {
        padding: var(--space-3) var(--space-4);
        font-size: var(--text-lg);
    }

    .footerForm-country-option:first-child {
        border-radius: var(--radius-xl) var(--radius-xl) 0 0;
    }

    .footerForm-country-option:last-child {
        border-radius: 0 0 var(--radius-xl) var(--radius-xl);
    }

    .footerForm-radio-button {
        font-size: var(--text-lg);
    }

    .footerForm-radio-group {
        gap: var(--space-5);
    }

    .footerForm-submit-button {
        height: 72px;
        font-size: 1.375rem;
        border-radius: var(--radius-xl);
    }

    .footerForm-customer-type-container {
        gap: var(--space-5);
    }

    .footerForm-label {
        font-size: var(--text-lg);
    }

    .footerForm-submit-container {
        margin-top: var(--space-4);
    }

    .successPage-container {
        padding: var(--space-20) var(--space-12);
    }

    .successPage-icon-wrapper {
        margin-bottom: var(--space-8);
    }

    .successPage-icon {
        width: 80px;
        height: 80px;
    }

    .successPage-title {
        font-size: 2.5rem;
        margin-bottom: var(--space-4);
    }

    .successPage-message {
        font-size: 1.5rem;
        margin-bottom: var(--space-12);
    }

    .successPage-review-section {
        gap: var(--space-4);
        padding-top: var(--space-12);
    }

    .successPage-google-review-button {
        padding: var(--space-4) var(--space-8);
        font-size: var(--text-lg);
    }

    .footer-content {
        grid-template-columns: repeat(3, 1fr);
        gap: var(--space-12);
    }

    #contact-column {
        grid-column: span 1;
    }

    .footer-heading {
        font-size: 1.75rem;
    }

    .flickity-page-dots {
        display: none !important;
    }
}

@media (min-width: 1200px) {
    .container {
        max-width: var(--container-lg);
    }

    .nav-desktop {
        display: flex;
    }

    .mobile-menu-button-container {
        display: none !important;
    }

    .mobile-menu-button-hide {
        display: none;
    }
}

@media (max-width: 767px) {
    .footerForm-country-dropdown {
        width: 250px;
    }

    .section-overlay {
        height: auto;
    }

    .mobile-only {
        display: block;
    }

    .mobile-hide {
        display: none;
    }

    .desktop-only {
        display: none;
    }



    .fixed-cta {
        display: block !important;
    }

    .hero-cta-button {
        display: none;
    }

    .hero-content-wrapper {
        padding-block: var(--space-12);
    }

    .hero-grid {
        position: relative;
        flex-direction: column;
        gap: 0;
        align-items: center;
        justify-content: flex-start;
    }

    .hero-image-container {
        width: 100%;
        max-width: none;
        margin-bottom: 0;
        z-index: 1;
    }

    .hero-content-card {
        width: 100%;
        max-width: none;
        margin-top: -10px;
        z-index: 2;
        position: relative;
    }

}

@media (min-width: 768px) and (max-width: 1023px) {
    .heading-section {
        font-size: 40px;
    }

    .text-section {
        font-size: var(--text-lg);
    }

}

@media (max-width: 768px) {
    .btn-tab {
        padding: var(--space-2) var(--space-4);
        font-size: var(--text-xs);
    }

    .country-selector {
        min-width: 80px;
        padding: 0.8rem;
    }

    .country-dropdown {
        width: 180px;
        left: -10px;
    }

    .country-option {
        padding: 10px 12px;
    }

    .input-with-icon {
        padding: 0 0.8rem;
    }

    .form-fields-column {
        flex-direction: column;
    }

    .form-options-row {
        flex-direction: row;
        gap: var(--space-3);
    }

    .section-header {
        margin-bottom: var(--space-8);
    }

    .section-title {
        font-size: 36px;
    }

    .gallery-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .modal {
        padding: 0;
        align-items: flex-end;
    }

    .modal-content {
        max-width: 100%;
        max-height: 85vh;
        margin: 0;
        border-radius: 20px 20px 0 0;
        position: relative;
    }

    .modal-header {
        padding: 1.5rem 1.5rem 1rem 1.5rem;
    }

    .modal-body {
        padding: 1.5rem;
    }

    .list-section-card-body {
        gap: var(--space-3);
    }

    .list-section-card-actions {
        width: 100%;
        justify-content: space-between;
    }

    .list-section-card-title {
        font-size: var(--text-base);
    }

    .list-section-card-description {
        font-size: var(--text-xs);
    }

    .list-section-card-meta {
        font-size: var(--text-xs);
    }

    .list-section-card-image {
        width: 60px;
        height: 60px;
    }
}

@media (max-width: 900px) {
    .carousel-nav-button {
        display: none;
    }

    .carousel-nav-button:last-of-type {
        display: flex;
        margin: var(--space-3) 0;
    }
}

@media (max-width: 1024px) {
    .gallery-container {
        padding-top: 60px;
        padding-bottom: 60px;
    }

    .section-title {
        font-size: 40px;
    }

    .section-subtitle {
        font-size: var(--text-base);
    }

    .gallery-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 640px) {
    .gallery-container {
        padding-top: var(--space-10);
        padding-bottom: var(--space-10);
    }
}

@media screen and (min-width: 1024px) {
    .carousel-card {
        width: calc(33.333% - 0.7rem) !important;
    }

    .carousel-container:after {
        content: 'flickity-enabled';
        display: none;
    }
}

@media screen and (min-width: 650px) and (max-width: 1023px) {
    .carousel-card {
        width: calc(50% - 1rem) !important;
    }
}

@media screen and (max-width: 1024px) {
    .testimonials-carousel-cell {
        height: auto !important;
    }
}

@media (min-width: 1024px) {
    .flickity-prev-next-button.next {
        right: -6% !important;
    }

    .flickity-prev-next-button.previous {
        left: -6% !important;
    }

    .carousel-section {
        padding: var(--space-24);
    }
}

@media (min-width: 1600px) {
    .hero-content-wrapper {
        padding: var(--space-20) var(--space-8);
    }

    .feature-card-fixed-width {
        width: 85rem;
    }
}

@media (max-width: 600px) {
    .testimonials-container {
        padding: var(--space-6) 0 0 0;
    }

    .testimonials-heading {
        font-size: var(--text-2-xl);
    }

    .testimonial-card {
        min-width: 0;
        padding: var(--space-5);
    }
}

@media (min-width: 1440px) {
    .marquee-container {
        padding: var(--space-5) 0;
    }

    .marquee-text {
        font-size: var(--text-2-xl);
    }
}

@media (hover: hover) {
    .marquee-container:hover .marquee-track {
        animation-play-state: paused;
    }
}

/* Service Hero Section (category-) */
.category-hero-section {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-categoryBanner-background);
    color: var(--color-categoryBanner-foreground);
    position: relative;
    padding: 0 2rem;
}

.category-hero-content-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 1400px;
    gap: 3rem;
    margin: 4rem auto;
}

.category-hero-text-block {
    flex: 1 1 0%;
    max-width: 700px;
}

.category-hero-title {
    font-size: 3rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
    line-height: 1.1;
}

.category-hero-description {
    font-size: 1.25rem;
    color: #222;
    opacity: 0.9;
    margin-top: 1rem;
    max-width: 90%;
}

.category-hero-image-card {
    flex: 1 1 0%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border-radius: 1.25rem;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18);
    overflow: hidden;
    max-width: 700px;
    min-height: 420px;
}

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

@media (max-width: 1024px) {
    .category-hero-content-wrapper {
        flex-direction: column;
        gap: 2rem;
        margin: 2rem auto;
    }

    .category-hero-image-card {
        min-height: 260px;
    }

    .category-hero-title {
        font-size: 2.2rem;
    }
}

@media (max-width: 600px) {
    .category-hero-section {
        padding: 0 0.5rem;
    }

    .category-hero-title {
        font-size: 1.5rem;
    }

    .category-hero-description {
        font-size: 1rem;
    }

    .category-hero-image-card {
        max-width: 100%;
        min-width: 0;
        min-height: 160px;
        border-radius: 0.75rem;
    }
}

.category-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

/* Feature Grid Section (category-) */
.category-feature-section {
    width: 100%;
    background: var(--color-categoryFeature-background);
    color: var(--color-categoryFeature-foreground);
    padding: 0;
    min-height: 60vh;
}

.category-feature-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 3rem 1rem 4rem 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.category-feature-header {
    text-align: center;
    margin-bottom: 2.5rem;
}

.category-feature-title {
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
}

.category-feature-description {
    font-size: 1.15rem;
    margin-bottom: 2rem;
}

.category-feature-grid {
    padding: 10px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2.5rem 2rem;
    width: 100%;
    max-width: 1200px;
}

.category-feature-card {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    border: 1px solid #e5e5e5;
    padding: 2rem 2rem 1.5rem 2rem;
    display: flex;
    flex-direction: column;
    min-height: 170px;
    transition: box-shadow 0.2s;
}

.category-feature-card:hover {
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.13);
}

.category-feature-card-title {
    color: var(--color-primary);
    font-size: 1.5rem;
    font-family: BodyFont, system-ui, sans-serif;
    font-weight: 600;
    margin-bottom: 0.25rem;
}

.category-feature-card-underline {
    width: 48px;
    height: 4px;
    background: var(--color-categoryFeature-background);
    border-radius: 2px;
    margin-bottom: 1rem;
}

.category-feature-card-description {
    color: #444;
    font-size: 1.15rem;
    font-family: BodyFont, system-ui, sans-serif;
    font-weight: 400;
    line-height: 1.5;
}


.faq-content {
    color: var(--color-black)
}

/*
============================================================
           ADDED AND MODIFIED BLOCKS
============================================================
*/

/* Hide scrollbar for all browsers */
/* Chrome, Safari and Opera */
::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}

/* Firefox */
* {
    scrollbar-width: none;
    -ms-overflow-style: none;
}

/* IE and Edge */
* {
    -ms-overflow-style: none;
}

/* Additional rules to ensure scrolling still works */
html,
body {
    scrollbar-width: none;
    -ms-overflow-style: none;
}

html::-webkit-scrollbar,
body::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}

.carousel-container {
    margin-bottom: var(--space-12);
}

@media (min-width: 1400px) {
    .carousel-section {
        padding: var(--space-20) 0 var(--space-8) 0;
    }
}

@media (max-width: 480px) {
    .carousel-container {
        margin-bottom: var(--space-32) !important;
    }
}

.carousel-card {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    min-height: 615px;
    width: 90%;
    margin-right: var(--space-4);
}

@media (min-width: 1024px) and (max-width: 1200px) {
    .carousel-card {
        min-height: 540px;
    }
}

.carousel-card-text {
    flex-grow: 1;
    overflow: hidden;
    overflow-wrap: break-word;
    hyphens: auto;
}

/* Smooth transitions for all carousel viewports */
.flickity-viewport {
    transition: height 0.1s ease-in-out;
    overflow: visible !important;
}

.carousel-container {
    overflow: visible !important;
}

/* Services section carousel card styles moved to bodaland.css */

.view-all-container {
    display: flex;
    justify-content: center;
    padding-top: var(--space-6);
}

.more-text {
    font-weight: var(--font-semibold);
    font-size: var(--text-base);
    color: var(--color-black-alpha-70);
    cursor: pointer;
    user-select: none;
    transition: opacity 0.2s ease;
}

.more-text:hover {
    opacity: 0.7;
}

/* Expanded text */
.expanded-text {
    display: inline;
    opacity: 1;
    transition: opacity 0.3s ease;
}

.expanded-text.hidden {
    display: none;
}

.card-text-left {
    text-align: left;
}

@media (max-width: 767px) {
    .footerForm-country-dropdown {
        width: 250px;
    }

    .section-overlay {
        height: auto;
    }

    .mobile-only {
        display: block;
    }

    .mobile-hide {
        display: none;
    }

    .desktop-only {
        display: none;
    }

    .carousel-card {
        min-height: 450px;
        margin-right: var(--space-3);
        width: 78%;
    }

    .flickity-viewport {
        border-radius: 0px !important;
    }

    .flickity-page-dots {
        bottom: -80px !important;
        width: 50% !important
    }

    .flickity-prev-next-button {
        top: 110% !important;
    }

    .flickity-prev-next-button.next {
        right: 60px !important;
    }

    .flickity-prev-next-button.previous {
        left: 60px !important;
    }

    .fixed-cta {
        display: block !important;
    }
}

.services-section .carousel-card {
    background-color: var(--color-categories-card-background);
    border-radius: var(--space-4);
    overflow: hidden;
    box-shadow: var(--shadow-lg);
}

.services-section .carousel-card-content {
    cursor: text;
    padding: var(--space-4);
    min-height: 225px !important;
    justify-content: space-between;
}

.services-section .carousel-card-title {
    height: 55px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: var(--text-xl);
    font-weight: var(--font-semibold);
    margin-bottom: var(--space-3);
    line-height: 1.3;
}

.services-section .carousel-card-text {
    font-size: var(--text-base);
    line-height: var(--leading-normal);
    overflow: hidden;
    margin-bottom: var(--space-6);
}

@media (min-width: 768px) and (max-width: 1023px) {
    .flickity-prev-next-button {
        top: 105% !important;
    }

    .hero-cta-button {
        display: none;
    }

    .hero-content-wrapper {
        padding-block: var(--space-12);
    }

    .hero-grid {
        position: relative;
        flex-direction: column;
        gap: 0;
        align-items: center;
        justify-content: flex-start;
    }

    .hero-image-container {
        width: 100%;
        max-width: none;
        margin-bottom: 0;
        z-index: 1;
    }

    .hero-content-card {
        width: 100%;
        max-width: none;
        margin-top: -100px;
        z-index: 2;
        position: relative;
    }

    /* Services section responsive styles moved to bodaland.css */

    .service-button {
        padding: var(--space-3);
        font-size: var(--text-sm);
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .carousel-card {
        min-height: 500px;
    }

    /* Services section tablet styles moved to bodaland.css */
}

@media (min-width:640px) and (max-width: 1023px) {
    .flickity-prev-next-button.next {
        right: 120px !important;
    }

    .flickity-prev-next-button.previous {
        left: 120px !important;
    }

    .flickity-page-dots {
        bottom: -60px !important;
        width: 50% !important
    }

}

@media screen and (min-width: 650px) and (max-width: 1023px) {
    .carousel-card {
        width: calc(50% - 1rem) !important;
    }

    .carousel-container {
        margin-bottom: var(--space-24) !important;
    }
}

/* ServicesSection.jsx - Hide carousel controls and center cards based on count */

/* Desktop: Hide controls when 1-3 cards */
@media (min-width: 1024px) {

    /* Hide prev/next buttons when 1-3 cards */
    .services-section .main-carousel:has(.carousel-cell:nth-child(1)):not(:has(.carousel-cell:nth-child(4))) .flickity-prev-next-button {
        display: none !important;
    }

    /* Hide dots when 1-3 cards */
    .services-section .main-carousel:has(.carousel-cell:nth-child(1)):not(:has(.carousel-cell:nth-child(4))) .flickity-page-dots {
        display: none !important;
    }

    /* When 1 card - center using Flickity viewport */
    .services-section .main-carousel:has(.carousel-cell:nth-child(1)):not(:has(.carousel-cell:nth-child(2))) .flickity-viewport {
        width: 380px;
        margin: 0 auto;
    }

    .services-section .main-carousel:has(.carousel-cell:nth-child(1)):not(:has(.carousel-cell:nth-child(2))) .carousel-card {
        width: 100% !important;
        margin-right: 0 !important;
    }

    /* When 2 cards - center using Flickity viewport */
    .services-section .main-carousel:has(.carousel-cell:nth-child(2)):not(:has(.carousel-cell:nth-child(3))) .flickity-viewport {
        width: 800px;
        margin: 0 auto;
    }

    .services-section .main-carousel:has(.carousel-cell:nth-child(2)):not(:has(.carousel-cell:nth-child(3))) .carousel-card {
        width: 380px !important;
        margin-right: 40px !important;
    }
}

/* Tablet: Hide controls when 1-2 cards */
@media (min-width: 768px) and (max-width: 1023px) {

    /* Hide prev/next buttons when 1-2 cards */
    .services-section .main-carousel:has(.carousel-cell:nth-child(1)):not(:has(.carousel-cell:nth-child(3))) .flickity-prev-next-button {
        display: none !important;
    }

    /* Hide dots when 1-2 cards */
    .services-section .main-carousel:has(.carousel-cell:nth-child(1)):not(:has(.carousel-cell:nth-child(3))) .flickity-page-dots {
        display: none !important;
    }

    /* When 1 card - center using Flickity viewport */
    .services-section .main-carousel:has(.carousel-cell:nth-child(1)):not(:has(.carousel-cell:nth-child(2))) .flickity-viewport {
        width: 380px;
        margin: 0 auto;
    }

    .services-section .main-carousel:has(.carousel-cell:nth-child(1)):not(:has(.carousel-cell:nth-child(2))) .carousel-card {
        width: 100% !important;
        margin-right: 0 !important;
    }

    /* When 2 cards - center using Flickity viewport */
    .services-section .main-carousel:has(.carousel-cell:nth-child(2)):not(:has(.carousel-cell:nth-child(3))) .flickity-viewport {
        width: 780px;
        margin: 0 auto;
    }

    .services-section .main-carousel:has(.carousel-cell:nth-child(2)):not(:has(.carousel-cell:nth-child(3))) .carousel-card {
        width: 380px !important;
        margin-right: 20px !important;
    }
}

/* Mobile: Hide controls when 1 card and center it */
@media (max-width: 767px) {

    /* Hide prev/next buttons when only 1 card */
    .services-section .main-carousel:has(.carousel-cell:nth-child(1)):not(:has(.carousel-cell:nth-child(2))) .flickity-prev-next-button {
        display: none !important;
    }

    /* Hide dots when only 1 card */
    .services-section .main-carousel:has(.carousel-cell:nth-child(1)):not(:has(.carousel-cell:nth-child(2))) .flickity-page-dots {
        display: none !important;
    }

    /* When 1 card - center using Flickity viewport */
    .services-section .main-carousel:has(.carousel-cell:nth-child(1)):not(:has(.carousel-cell:nth-child(2))) .flickity-viewport {
        width: 90%;
        max-width: 320px;
        margin: 0 auto;
    }

    .services-section .main-carousel:has(.carousel-cell:nth-child(1)):not(:has(.carousel-cell:nth-child(2))) .carousel-card {
        width: 100% !important;
        margin-right: 0 !important;
    }
}

/* Testimonials Section - Class-based CSS for iterables */

/* Base testimonial section styles */
.testimonials-section {
    scroll-margin-top: var(--header-height) !important;
    background-color: var(--color-testimonials-background);
    color: var(--color-testimonials-foreground);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding: var(--space-24) 0 var(--space-12) 0;
    height: auto !important;
    min-height: auto !important;
}

.testimonials-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    overflow: visible !important;
    height: auto !important;
}

.testimonials-header {
    margin-bottom: var(--space-6);
    text-align: center;
}

.testimonials-heading {
    font-size: var(--text-4-xl);
    margin-bottom: var(--space-3);
    margin-top: 0;
    font-weight: 700;
    color: var(--color-gray-800);
}

.testimonials-subheading {
    font-size: var(--text-lg);
    margin: 0;
    color: var(--color-gray-600);
    max-width: 700px;
    line-height: 1.6;
}

/* Carousel styles */
.testimonials-carousel {
    width: 100%;
    max-width: var(--container-lg);
    overflow: visible !important;
    height: auto !important;
    min-height: auto !important;
}

.testimonials-carousel-cell {
    width: 100%;
    overflow: visible !important;
    height: auto !important;
    min-height: 480px;
}

.testimonial-cell-container {
    min-height: 480px;
    height: auto;
    display: flex;
    gap: var(--space-4);
    flex-wrap: wrap;
}

/* Testimonial card styles */
.testimonial-card {
    background: var(--color-testimonials-card-background);
    border-radius: var(--radius-xl);
    box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.07);
    padding: var(--space-8) 28px var(--space-6) 28px;
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 220px;
    height: auto;
    transition: all 0.3s ease-in-out;
    min-width: 300px;
}

.testimonial-card:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}

/* Rating container */
.testimonial-rating {
    display: flex;
    align-items: center;
    margin-bottom: var(--space-4);
}

/* Google icon */
.google-icon {
    margin-right: var(--space-2);
    min-width: 20px;
    height: 20px;
}

/* Stars container */
.stars-container {
    color: var(--color-gold);
    font-size: var(--text-lg);
    letter-spacing: 2px;
    display: flex;
    gap: 2px;
}

/* Star icon - reusable for all stars */
.star-icon {
    color: var(--color-gold);
    font-size: 18px;
}

/* Hide 5th star for 4-star reviews */
.star-icon[data-star-five="false"] {
    display: none;
}

/* Testimonial text */
.testimonial-text {
    font-size: var(--text-md);
    color: var(--color-black-alpha-70);
    margin: 0 0 18px 0;
    line-height: var(--leading-normal);
    overflow: visible;
    word-wrap: break-word;
    hyphens: auto;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    flex: 1;
}


/* Expanded text */
.expanded-text {
    transition: all 0.3s ease;
}

.expanded-text.hidden {
    display: none;
}

/* Author section */
.testimonial-author {
    display: flex;
    align-items: center;
    margin-top: auto;
}

/* Author avatar - base styles */
.author-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    color: var(--color-white);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: var(--font-semibold);
    font-size: var(--text-lg);
    margin-right: 14px;
}

/* Avatar color variants */
.avatar-purple {
    background: var(--color-secondary);
}

.avatar-green {
    background: var(--color-primary);
}

.avatar-red {
    background: var(--color-red);
}

.avatar-blue {
    background: var(--color-google-blue);
}

.avatar-orange {
    background: var(--color-tertiary);
}

.avatar-red-dark {
    background: var(--color-red);
}

/* Author initials */
.author-initials {
    font-size: var(--text-lg);
    font-weight: var(--font-semibold);
}

/* Author info */
.author-info {
    display: flex;
    flex-direction: column;
}

.author-name {
    font-size: var(--text-md);
    font-weight: var(--font-medium);
    margin: 0;
    color: var(--color-gray-800);
}

.review-date {
    font-size: var(--text-sm);
    color: var(--color-gray-600);
    margin: 0;
}

/* to make review card null */
/* 1️⃣ Hide the specific card completely */
#testimonial-card-2_0[data-review-display-2="false"] {
    display: none !important;
}

/* 2️⃣ For all other testimonial cards, just hide visually */
.testimonial-card[data-review-display-2="false"]:not(#testimonial-card-2_0) {
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
}

/* Hide both initials and image by default */
.author-avatar .author-initials,
.author-avatar .author-image {
    display: none;
}

/* 🖼️ Image styling — visible only when valid and flagged true */
.author-avatar .author-image[data-author-image="true"][src]:not([src=""]):not([src="none"]) {
    display: block;
    object-fit: cover;
    width: 44px;
    height: 44px;
    border-radius: 50%;
}

/* 🔤 Show initials when explicitly true */
.author-avatar .author-initials[data-author-initials="true"] {
    display: block;
}

/* ✅ When a valid image exists inside, reset parent background */
.author-avatar:has(.author-image[data-author-image="true"][src]:not([src=""]):not([src="none"])) {
    background: inherit !important;
}




/* Responsive styles */
@media (max-width: 1024px) {
    .testimonials-carousel-cell {
        height: auto !important;
        min-height: auto !important;
    }

    .testimonial-cell-container {
        height: auto !important;
    }

    .testimonials-section {
        height: auto !important;
        min-height: auto !important;
    }
}

@media (max-width: 767px) {
    .testimonial-cell-container {
        flex-direction: column;
        height: auto !important;
        min-height: auto !important;
    }

    .testimonial-card {
        height: auto !important;
        min-height: 270px !important;
    }

    .testimonials-carousel-cell {
        height: auto !important;
        min-height: auto !important;
    }
}

@media (max-width: 600px) {
    .testimonials-section {
        padding: var(--space-6) 0 var(--space-6) var(--space-4);
        height: auto !important;
        min-height: auto !important;
    }

    .testimonials-container {
        padding: var(--space-6) 0 0 0;
    }

    .testimonials-heading {
        font-size: var(--text-2-xl);
    }

    .testimonial-card {
        min-width: 0;
        padding: var(--space-5);
        height: auto !important;
        min-height: 230px !important;
        margin-right: var(--space-4);
    }
}

@media (min-width: 768px) and (max-width: 1200px) {
    .testimonial-card {
        min-height: 260px !important;
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .testimonials-heading {
        font-size: var(--text-4-xl);
    }

    .testimonials-subheading {
        font-size: var(--text-lg);
    }
}

/* Override Flickity viewport for testimonials */
.testimonials-carousel .flickity-viewport {
    transition: height 0.3s ease-in-out !important;
}

.testimonials-carousel .flickity-prev-next-button {
    background: var(--color-testimonials-navigation-arrows) !important;
}

.testimonials-carousel .carousel-cell {
    overflow: visible !important;
}

/* Staff Section Styles */

/* Staff Carousel */
.staff-carousel {
    margin-bottom: var(--space-10);
}

.staff-carousel .flickity-viewport {
    overflow: hidden;
    position: relative;
}

.staff-carousel .flickity-page-dots {
    bottom: -30px;
    display: flex;
    justify-content: center;
    list-style: none;
    padding: 0;
    margin: 0;
}

.staff-carousel .flickity-page-dots .dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: 0 var(--space-2);
    background: var(--color-tertiary-light);
    border-radius: 50%;
    opacity: 0.5;
    cursor: pointer;
    transition: opacity 0.3s ease;
}

.staff-carousel .flickity-page-dots .dot.is-selected {
    opacity: 1;
    background: var(--color-tertiary-dark);
}

.staff-carousel .flickity-prev-next-button {
    position: absolute;
    top: 50%;
    width: 44px;
    height: 44px;
    border: none;
    border-radius: 50%;
    background: white;
    background: hsla(0, 0%, 100%, 0.75);
    cursor: pointer;
    transform: translateY(-50%);
}
.staff_card_itarate img {
    min-height: 250px;
    max-height: 250px;
}


.staff-carousel .flickity-prev-next-button:hover {
    background: white;
}

.staff-carousel .flickity-prev-next-button.previous {
    left: 10px;
}

.staff-carousel .flickity-prev-next-button.next {
    right: 10px;
}

/* Staff Cards */
.staff-card {
    background-color: var(--color-staff-card-background);
    border-radius: var(--radius-lg);
    padding: var(--space-8);
    display: flex !important;
    flex-direction: column;
    align-items: center;
    text-align: center;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
    min-width: 250px;
    margin: 0 10px;
    flex-shrink: 0;
    justify-content: space-between;
    min-height: 450px;
}

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

/* Staff Images */
.staff-image-container {
    width: 230px;
    height: 230px;
    border-radius: 50%;
    overflow: hidden;
    margin-bottom: var(--space-6);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.staff-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Staff Names */
.staff-name {
    font-size: var(--text-xl);
    font-weight: var(--font-semibold);
    color: var(--color-gray-900);
    margin: 0 0 var(--space-2) 0;
    line-height: 1.2;
}

/* Staff Titles */
.staff-title {
    font-size: var(--text-base);
    color: var(--color-gray-700);
    margin: 0 0 auto 0;
    line-height: 1.5;
    padding-bottom: var(--space-6);
}

/* Book Buttons */
.staff-book-button {
    background-color: var(--color-button-background);
    color: var(--color-button-foreground);
    border: none;
    padding: 14px var(--space-8);
    border-radius: 25px;
    font-size: var(--text-base);
    font-weight: var(--font-medium);
    cursor: pointer;
    transition: all 0.3s ease;
    width: 100%;
    max-width: 200px;
    margin-top: auto;
}

.staff-book-button:hover {
    background-color: var(--color-button-background-hover);
    color: var(--color-button-foreground-hover);
    transform: scale(1.05);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.staff-book-button:focus {
    outline: 2px solid var(--color-button-outline);
    outline-offset: 2px;
}

/* Staff Section Responsive Styles */
@media screen and (min-width: 1024px) {
    .staff-carousel {
        margin: 0 auto;
    }

    .staff-carousel .carousel-cell {
        width: calc(30% - 0.70rem) !important;
    }

    /* Hide prev/next buttons when 3 or fewer cards (all visible) */
    .staff-carousel:has(.carousel-cell:nth-child(1)):not(:has(.carousel-cell:nth-child(4))) .flickity-prev-next-button {
        display: none !important;
    }
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
    .staff-card {
        min-width: 250px;
        margin: 0 6px;
    }

    .staff-carousel .carousel-cell {
        width: calc(40% - 0.5rem) !important;
    }

    /* Hide prev/next buttons when 2 or fewer cards (all visible) */
    .staff-carousel:has(.carousel-cell:nth-child(1)):not(:has(.carousel-cell:nth-child(3))) .flickity-prev-next-button {
        display: none !important;
    }

}

@media (max-width: 767px) {
    .carousel-section.staff-section {
        padding: var(--space-20) 0 var(--space-8) 0 !important;
    }

    .staff-card {
        min-height: 350px;
    }

    .staff-image-container {
        width: 200px;
        height: 200px;
    }

    .staff-name {
        font-size: var(--text-base);
    }

    .staff-title {
        font-size: var(--text-sm);
    }

    .staff-carousel .carousel-cell {
        width: 80% !important;
    }

    /* Hide prev/next buttons when only 1 card */
    .staff-carousel:has(.carousel-cell:nth-child(1)):not(:has(.carousel-cell:nth-child(2))) .flickity-prev-next-button {
        display: none !important;
    }

    .staff-carousel.flickity-enabled .flickity-page-dots {
        display: flex;
    }
}

/* Staff Modal Styles */
.staff-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--color-black-alpha-50);
    z-index: 499;
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.staff-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 500;
    padding: var(--space-4);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.staff-modal-content {
    background-color: var(--color-gray-100);
    border-radius: 20px;
    max-width: 900px;
    width: 100%;
    max-height: 90vh;
    overflow-y: auto;
    padding: var(--space-4);
    position: relative;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
    transform: scale(0.95);
    transition: transform 0.3s ease;
}

.close-icon {
    display: block;
}

.bio-card-container {
    display: flex;
    flex-direction: column;
    gap: var(--space-8);
}

.bio-profile-section {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-4);
    text-align: center;
    padding: var(--space-8);
    background-color: white;
    border-radius: 16px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.bio-profile-image-container {
    width: 200px;
    height: 200px;
    border-radius: 50%;
    overflow: hidden;
    background-color: var(--color-gray-100);
}

.bio-profile-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.bio-professional-name {
    font-size: var(--text-2-xl);
    font-weight: var(--font-bold);
    color: var(--color-gray-800);
    margin: 0;
    line-height: 1.2;
}

.bio-professional-title {
    font-size: var(--text-sm);
    color: var(--color-gray-600);
    margin: 0;
    font-weight: var(--font-normal);
}

.bio-book-button {
    background-color: var(--color-button-background);
    color: var(--color-button-foreground);
    border: none;
    padding: 14px var(--space-6);
    border-radius: 25px;
    font-size: var(--text-base);
    font-weight: var(--font-medium);
    cursor: pointer;
    transition: all 0.3s ease;
    width: 100%;
    max-width: 200px;
    margin-top: var(--space-2);
}

.bio-book-button:hover {
    background-color: var(--color-button-background-hover);
    transform: scale(1.05);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    color: var(--color-button-foreground-hover);

}

.bio-book-button:focus {
    outline: 2px solid var(--color-button-outline);
    outline-offset: 2px;
}

.bio-content-section {
    flex: 1;
    padding: var(--space-8);
    background-color: white;
    border-radius: 16px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.bio-text {
    font-size: var(--text-base);
    line-height: 1.7;
    color: var(--color-gray-700);
    margin: 0;
    text-align: left;
}

@media (min-width: 768px) {
    .staff-modal-content {
        padding: var(--space-8);
    }

    .bio-card-container {
        flex-direction: row;
        gap: var(--space-4);
    }

    .bio-profile-section {
        flex-shrink: 0;
        min-width: 250px;
    }

    .bio-content-section {
        padding: var(--space-12);
    }

    .bio-profile-image-container {
        width: 150px;
        height: 150px;
    }

    .bio-professional-name {
        font-size: var(--text-xl);
    }

    .bio-professional-title {
        font-size: var(--text-base);
    }

    .bio-text {
        font-size: var(--text-lg);
        line-height: 1.8;
    }
}

/* Mobile-specific styles for staff modal */
@media (max-width: 767px) {
    .staff-modal {
        align-items: flex-end;
        padding: 0;
    }

    .staff-modal-content {
        border-radius: 16px 16px 0 0;
        max-height: 90vh;
        overflow-y: auto;
        width: 100%;
        max-width: 100%;
        margin: 0;
    }

    .bio-profile-section {
        display: none;
    }

    .bio-book-button-mobile {
        display: block;
        margin: var(--space-6) auto 0;
        width: auto;
        min-width: 200px;
    }

    .bio-card-container {
        flex-direction: column;
        padding: 0;
    }

    .bio-content-section {
        padding: var(--space-6);
        text-align: center;
        border-radius: 0;
        box-shadow: none;
    }

    .bio-text {
        text-align: left;
        margin-bottom: var(--space-4);
        min-height: 300px;
    }

    .staff-modal-content {
        transform: none;
    }
}

/* Desktop-specific styles for staff modal */
@media (min-width: 768px) {
    .bio-book-button-mobile {
        display: none;
    }
}

@media (min-width: 1024px) {
    .staff-modal-content {
        max-width: 1000px;
    }

}

/* Flickity Carousel Instagram-style dots CSS */

/* Default Flickity dots styling */
.flickity-page-dots {
    display: block;
    white-space: nowrap;
    font-size: 0;
    position: absolute;
    width: 100%;
    bottom: -30px;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    transition: text-indent 0.2s 0.15s;
}

.flickity-page-dots .dot {
    background: transparent !important;
    margin: 0 5px !important;
    /* Increased margin for more space between dots */
    display: inline-block !important;
    width: 10px !important;
    height: 10px !important;
    position: relative !important;
    cursor: pointer !important;
    -webkit-tap-highlight-color: transparent !important;
    border: none !important;
}

/* Style the dots using ::before pseudo-element for better animation control */
.flickity-page-dots .dot::before {
    content: '' !important;
    background: #333 !important;
    border-radius: 50% !important;
    display: block !important;
    width: 10px !important;
    height: 10px !important;
    transition: transform 0.1s 0.15s, background-color 0.3s ease !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
}

/* Active dot styling */
.flickity-page-dots .dot.is-selected::before {
    background: #000 !important;
    transform: scale(1) !important;
}

/* Instagram-style overflow behavior */
.flickity-page-dots--overflow {
    left: 50% !important;
    width: 140px !important;
    /* 7 dots * 20px (10px + 10px margins) */
    margin-left: -70px !important;
    /* Half of width */
    overflow: hidden !important;
    text-align: center !important;
    /* Center the dots */
    text-indent: 0 !important;
    /* Remove text-indent to center properly */
    transition: all 0.2s 0.15s !important;
    padding: 0 20px !important;
    /* Add padding for centering */
    box-sizing: border-box !important;
}

/* Dot scaling based on position */
.flickity-page-dots--overflow .dot[data-dot="dot"]::before {
    transform: scale(1) !important;
}

.flickity-page-dots--overflow .dot[data-dot="dot--prev"]::before,
.flickity-page-dots--overflow .dot[data-dot="dot--next"]::before {
    transform: scale(0.7) !important;
}

.flickity-page-dots--overflow .dot[data-dot="dot--prev-prev"]::before,
.flickity-page-dots--overflow .dot[data-dot="dot--next-next"]::before {
    transform: scale(0.4) !important;
}

.flickity-page-dots--overflow .dot[data-dot="dot--offscreen"]::before {
    transform: scale(0.2) !important;
}

/* Responsive adjustments */
@media (max-width: 767px) {


    .flickity-page-dots .dot {
        margin: 0 3px !important;
        /* Slightly smaller margin on mobile */
    }

    .flickity-page-dots--overflow {
        width: 98px !important;
        /* 7 dots * 14px (10px + 4px margins) */
        margin-left: -49px !important;
        text-indent: 28px !important;
        /* 2 dots * 14px */
    }
}

/* Fine-tune dot appearance */
.flickity-page-dots .dot::before {
    background: rgba(0, 0, 0, 0.3);
}

.flickity-page-dots .dot.is-selected::before {
    background: rgba(0, 0, 0, 0.9);
}

/* Dark theme support */
.dark .flickity-page-dots .dot::before {
    background: rgba(255, 255, 255, 0.3);
}

.dark .flickity-page-dots .dot.is-selected::before {
    background: rgba(255, 255, 255, 0.9);
}

/* Instagram-style dots override to ensure it applies over hosted flickity.min.css */
/* Force the scaling to work by adding more specific selectors and !important */
.flickity-enabled .flickity-page-dots--overflow .dot[data-dot="dot"]::before {
    transform: scale(1) !important;
}

.flickity-enabled .flickity-page-dots--overflow .dot[data-dot="dot--prev"]::before,
.flickity-enabled .flickity-page-dots--overflow .dot[data-dot="dot--next"]::before {
    transform: scale(0.7) !important;
}

.flickity-enabled .flickity-page-dots--overflow .dot[data-dot="dot--prev-prev"]::before,
.flickity-enabled .flickity-page-dots--overflow .dot[data-dot="dot--next-next"]::before {
    transform: scale(0.4) !important;
}

.flickity-enabled .flickity-page-dots--overflow .dot[data-dot="dot--offscreen"]::before {
    transform: scale(0.2) !important;
}

/* Ensure the overflow container has the right properties */
.flickity-enabled .flickity-page-dots.flickity-page-dots--overflow {
    position: absolute !important;
    left: 50% !important;
    width: 112px !important;
    margin-left: -56px !important;
    overflow: hidden !important;
    text-align: left !important;
}


/* Testimonials Section Carousel - Center and Hide Navigation for Few Items */
/* Default carousel cell spacing to match services section */
.testimonials-section .testimonials-carousel-cell {
    margin-right: var(--space-4);
}

/* Desktop: Hide navigation buttons when 1-3 carousel cells (6 or fewer testimonials) */
@media (min-width: 1024px) {

    .testimonials-section .testimonials-carousel:has(.carousel-cell:nth-child(1)):not(:has(.carousel-cell:nth-child(4))) .flickity-prev-next-button {
        display: none !important;
    }

    /* Hide dots when 1-3 carousel cells */
    .testimonials-section .testimonials-carousel:has(.carousel-cell:nth-child(1)):not(:has(.carousel-cell:nth-child(4))) .flickity-page-dots {
        display: none !important;
    }

    /* When 1 carousel cell (2 testimonials) - center using Flickity viewport */
    .testimonials-section .testimonials-carousel:has(.carousel-cell:nth-child(1)):not(:has(.carousel-cell:nth-child(2))) .flickity-viewport {
        width: 900px;
        margin: 0 auto;
    }

    .testimonials-section .testimonials-carousel:has(.carousel-cell:nth-child(1)):not(:has(.carousel-cell:nth-child(2))) .testimonials-carousel-cell {
        width: 100% !important;
        margin-right: 0 !important;
    }

    /* When only 1 carousel cell with 2 cards - ensure they display side by side */
    .testimonials-section .testimonials-carousel:has(.carousel-cell:nth-child(1)):not(:has(.carousel-cell:nth-child(2))) .testimonial-cell-container {
        display: flex !important;
        flex-direction: row !important;
        gap: var(--space-6) !important;
        justify-content: center !important;
        min-height: auto !important;
        height: auto !important;
    }

    /* Also adjust the carousel cell height */
    .testimonials-section .testimonials-carousel:has(.carousel-cell:nth-child(1)):not(:has(.carousel-cell:nth-child(2))) .testimonials-carousel-cell {
        min-height: auto !important;
    }

    .testimonials-section .testimonials-carousel:has(.carousel-cell:nth-child(1)):not(:has(.carousel-cell:nth-child(2))) .testimonial-card {
        flex: 0 1 380px !important;
        max-width: 380px !important;
    }

    /* When 2 carousel cells (4 testimonials) - center using Flickity viewport */
    .testimonials-section .testimonials-carousel:has(.carousel-cell:nth-child(2)):not(:has(.carousel-cell:nth-child(3))) .flickity-viewport {
        width: 900px;
        margin: 0 auto;
    }

    /* Adjust card width to 50% - space-2 when there are exactly 4 cards (2 carousel cells) */
    .testimonials-section .testimonials-carousel:has(.carousel-cell:nth-child(2)):not(:has(.carousel-cell:nth-child(3))) .carousel-card {

        width: calc(50% - var(--space-2)) !important;
    }
}

/* Tablet: Hide navigation buttons when 1-2 carousel cells */
@media (min-width: 768px) and (max-width: 1023px) {
    .testimonials-section .testimonials-carousel:has(.carousel-cell:nth-child(1)):not(:has(.carousel-cell:nth-child(3))) .flickity-prev-next-button {
        display: none !important;
    }

    /* Hide dots when 1-2 carousel cells */
    .testimonials-section .testimonials-carousel:has(.carousel-cell:nth-child(1)):not(:has(.carousel-cell:nth-child(3))) .flickity-page-dots {
        display: none !important;
    }

    /* When 1 carousel cell - center using Flickity viewport */
    .testimonials-section .testimonials-carousel:has(.carousel-cell:nth-child(1)):not(:has(.carousel-cell:nth-child(2))) .flickity-viewport {
        width: 625px;
        margin: 0 auto;
    }

    .testimonials-section .testimonials-carousel:has(.carousel-cell:nth-child(1)):not(:has(.carousel-cell:nth-child(2))) .testimonials-carousel-cell {
        width: 100% !important;
        margin-right: 0 !important;
    }

    /* When only 1 carousel cell with 2 cards - ensure they display side by side */
    .testimonials-section .testimonials-carousel:has(.carousel-cell:nth-child(1)):not(:has(.carousel-cell:nth-child(2))) .testimonial-cell-container {
        display: flex !important;
        flex-direction: row !important;
        gap: var(--space-4) !important;
        justify-content: center !important;
        min-height: auto !important;
        height: auto !important;
    }

    /* Also adjust the carousel cell height */
    .testimonials-section .testimonials-carousel:has(.carousel-cell:nth-child(1)):not(:has(.carousel-cell:nth-child(2))) .testimonials-carousel-cell {
        min-height: auto !important;
    }

    .testimonials-section .testimonials-carousel:has(.carousel-cell:nth-child(1)):not(:has(.carousel-cell:nth-child(2))) .testimonial-card {
        flex: 0 1 340px !important;
        max-width: 340px !important;
    }

    /* When 2 carousel cells (4 testimonials) - center using Flickity viewport and hide controls */
    .testimonials-section .testimonials-carousel:has(.carousel-cell:nth-child(2)):not(:has(.carousel-cell:nth-child(3))) .flickity-prev-next-button {
        display: none !important;
    }

    .testimonials-section .testimonials-carousel:has(.carousel-cell:nth-child(2)):not(:has(.carousel-cell:nth-child(3))) .flickity-page-dots {
        display: none !important;
    }

    .testimonials-section .testimonials-carousel:has(.carousel-cell:nth-child(2)):not(:has(.carousel-cell:nth-child(3))) .flickity-viewport {
        width: 625px;
        margin: 0 auto;
    }

    /* Adjust card width to 50% - space-2 when there are exactly 4 cards (2 carousel cells) */
    .testimonials-section .testimonials-carousel:has(.carousel-cell:nth-child(2)):not(:has(.carousel-cell:nth-child(3))) .carousel-card {
        width: calc(50% - var(--space-2)) !important;
    }
}

/* Mobile: Hide navigation buttons when only 1 carousel cell (2 cards) */
@media (max-width: 767px) {
    .testimonials-section .testimonials-carousel:has(.carousel-cell:nth-child(1)):not(:has(.carousel-cell:nth-child(2))) .flickity-prev-next-button {
        display: none !important;
    }

    /* Hide dots when only 1 carousel cell (2 cards) */
    .testimonials-section .testimonials-carousel:has(.carousel-cell:nth-child(1)):not(:has(.carousel-cell:nth-child(2))) .flickity-page-dots {
        display: none !important;
    }

    /* When 1 carousel cell - center using Flickity viewport */
    .testimonials-section .testimonials-carousel:has(.carousel-cell:nth-child(1)):not(:has(.carousel-cell:nth-child(2))) .flickity-viewport {
        width: 90%;
        max-width: 400px;
        margin: 0 auto;
    }

    .testimonials-section .testimonials-carousel:has(.carousel-cell:nth-child(1)):not(:has(.carousel-cell:nth-child(2))) .testimonials-carousel-cell {
        width: 100% !important;
        margin-right: 0 !important;
    }
}

.lightbox-carousel .flickity-viewport {
    padding: 0;
    overflow: hidden !important;
}

/* .services-section-heading:hover {
    text-decoration: underline;
} */

/* Booking Card Action Overlay Styles */
.booking-card-actions {
    position: relative;
    display: flex;
    align-items: flex-end;
    min-width: 100px;
    justify-content: flex-end;
}

.booking-card-image-wrapper {
    position: relative;
    width: 100px;
    height: 100px;
    min-width: 100px;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
}

.booking-card-image {
    width: 100px;
    height: 100px;
    object-fit: cover;
    border-radius: var(--radius-md);
    display: block;
}

.booking-card-action-btn {
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translate(-50%, 50%);
    background: var(--color-primary-button-background) !important;
    color: var(--color-primary-button-foreground) !important;
    border-radius: var(--radius-full);
    padding: 0.5rem 1.5rem;
    font-size: var(--text-sm);
    font-weight: 500;
    border: none;
    z-index: 2;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
    transition:
        background 0.2s,
        color 0.2s,
        transform 0.2s;
    white-space: nowrap;
}

.booking-card-action-btn:hover {
    background: var(--color-primary-button-background-hover) !important;
    color: var(--color-primary-button-foreground-hover) !important;
}

.booking-card-image-wrapper::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 40%;
    /* background: linear-gradient(to top, rgba(0, 0, 0, 0.55), transparent); */
    border-radius: 0 0 var(--radius-md) var(--radius-md);
    z-index: 1;
    pointer-events: none;
}

/* Apply margin to the first one */
.services-section-margin {
    margin-top: 2rem;
}

/* Remove margin from all following siblings */
.services-section-margin~.services-section-margin {
    margin-top: 0;
}

@media (max-width: 768px) {
    .booking-card-actions {
        min-width: 100px;
    }

    .booking-card-image-wrapper {
        width: 100px;
        height: 100px;
        min-width: 80px;
    }

    .booking-card-action-btn {
        font-size: var(--text-xs);
        padding: 0.4rem 1rem;
    }
}


.category-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

/* Adds a bottom border to all card list containers except the last one */
/* This creates visual separation between stacked card list items */
.card-list-container {
    border-bottom: 1px solid;
}

.footerForm-map-embed-container {
    border-radius: 8px;
    border: 4px solid var(--color-gray-100);
}

.card-list-container.no-border-bottom {
    border-bottom: none !important;
}

.card-list {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

@media (max-width: 768px) {

    .flickity-prev-next-button.next,
    .flickity-prev-next-button.previous {
        display: none !important;
    }

    .flickity-page-dots {
        bottom: -40px !important;
    }
}

.staff-overrides {
    width: auto !important;
}

/* Business Info Hide Animation - Shrinks from center top */
#business-info {
    transition: transform 0.3s ease, opacity 0.3s ease, max-height 0.3s ease, margin 0.3s ease, padding 0.3s ease;
    transform-origin: center top;
    overflow: hidden;
}

#business-info.hide-business {
    transform: scale(0);
    opacity: 0;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none;
}

/* Reusable hide-business class for any element */
.hide-business {
    transform: scale(0);
    opacity: 0;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none;
    transition: transform 0.3s ease, opacity 0.3s ease, max-height 0.3s ease, margin 0.3s ease, padding 0.3s ease;
    transform-origin: center top;
    overflow: hidden;
}



/* search-results-header */
#services-search-results.services-section-margin {
    margin-top: 0 !important;
}

.search-results-header {
    padding: 0px 0 16px 0;
}

.search-results-count {
    font-size: 18px;
    color: #333;
    margin: 0;
}

.search-results-count strong {
    font-weight: 600;
}

.no-results-message {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin-top: 1rem;
}

.no-results-image {
    height: 30px;
    object-fit: contain;
}

.no-results-icon {
    opacity: 0.7;
}


.no-results-icon svg {
    width: 30px;
    height: 30px;
}

.no-results-title {
    font-size: 20px;
    font-weight: 600;
    color: var(--color-services-foreground);
    margin: 0;
}

.fallback-header {
    padding: 0 0 16px 0;
}

.fallback-text {
    font-size: 16px;
    color: var(--color-services-foreground);
    margin: 0;
}

.fallback-text strong {
    font-weight: 600;
}

.view-all-services-wrapper {
    text-align: center;
    padding: 24px 0;
}

.view-all-services-btn {
    padding: 12px 32px;
    background: var(--color-primary-button-background) !important;
    color: var(--color-primary-button-foreground) !important;
    border: none;
    border-radius: 24px;
    font-size: 14px;
    cursor: pointer;
}


.search-category-badge {
    padding: 4px 10px;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.3;
    border-radius: 999px;
    background: var(--color-header-tabs-background) !important;
    color: var(--color-header-tabs-foreground) !important;
    display: inline-flex;
    align-items: center;
}



/* add to cart services */
#booking-cart-container {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9;
  background-color: #000000;
  box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.15);
  transform: translateY(100%);
  transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
  opacity: 0;
  visibility: hidden;
}

#booking-cart-container.active {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
}

body:has(#booking-cart-container.active) .footer-section {
  padding-bottom: 12vh;
}

.variations-service-image:has(img:not([src])),
.variations-service-image:has(img[src=""]),
.variations-service-image:has(img[src^="data:image/svg+xml;base64"]) {
  display: none;
}


/* Checkbox Container - Main wrapper with top margin and spacing */
.ctaForm-checkbox-container,
.footerForm-checkbox-container {
    margin-top: 16px;
    margin-bottom: 12px;
    padding: 0;
}
/* Checkbox Wrapper - Flexbox for alignment */
.ctaForm-checkbox-wrapper,
.footerForm-checkbox-wrapper {
  display: grid;
  grid-template-columns: 20px 1fr;
  gap: 12px;
  cursor: pointer;
  align-items: start;
}
.ctaForm-checkbox-wrapper,
.footerForm-checkbox-wrapper  > :nth-child(3) {
  grid-column: 1 / -1; /* span full row */
}
/* Checkbox Input - Styling the actual checkbox */
.ctaForm-checkbox-input,
.footerForm-checkbox-input {
    margin: 0;
    margin-top: 3px;
    /* Align with first line of text */
    width: 18px;
    height: 18px;
    cursor: pointer;
    flex-shrink: 0;
    /* Prevent checkbox from shrinking */
}
/* Checkbox Label - Text label styling */
.ctaForm-checkbox-label,
.footerForm-checkbox-label {
    cursor: pointer;
    user-select: none;
    flex: 1;
    margin: 0;
}
/* Checkbox Label Text - The actual text */
.ctaForm-checkbox-label-text,
.footerForm-checkbox-label-text {
    font-size: 14px;
    line-height: 1.5;
    color: #333;
    display: block;
}
/* Hover effect */
.ctaForm-checkbox-wrapper:hover .ctaForm-checkbox-input,
.footerForm-checkbox-wrapper:hover .footerForm-checkbox-input {
    opacity: 0.8;
}
/* Focus state for accessibility */
.ctaForm-checkbox-input:focus,
.footerForm-checkbox-input:focus {
    outline: 2px solid #4A90E2;
    outline-offset: 2px;
}
/* Checked state styling (optional) */
.ctaForm-checkbox-input:checked,
.footerForm-checkbox-input:checked {
    accent-color: #4A90E2;
    /* Modern browsers */
}
/* Toggle/overflow deposit hide -- data-attribute fallback mirroring backend deposit markers */
.card-meta-deposit[data-deposit-show-on-list="false"],
.category-service-deposit[data-deposit-show-on-list="false"],
.card-meta-deposit[data-deposit-hidden-reason]:not([data-deposit-hidden-reason=""]),
.category-service-deposit[data-deposit-hidden-reason]:not([data-deposit-hidden-reason=""]) {
  display: none;
}

.card-meta-deposit:not(:empty)::before{
    content: "•";
    display: inline-block;
    margin:0  5px;
    font-size: 6px;
    vertical-align: middle;
}
.card-meta-deposit[data-service-deposit-enabled="false"] , .card-meta-deposit[data-text-value="$$CardDeposit$$"]{
  display: none;
}

.booking-card-action-btn[data-button-visibility="false"] {
    display: none;
}

.footer-bottom-section .copyright-container[data-copyright-enabled='false']{
    display:none;
}

.footer-bottom-section .terms-privacy-container[data-terms-privacy-enabled='false']
{
    display: none;
}

.footer-bottom-section .powered-by-container[data-terms-privacy-enabled='false'][data-copyright-enabled='false']{
    margin: 0 auto;
}
/* Global Visibility Markers — hide elements based on entity preferences */
section[data-global-visibility-markers*='"footer_call_display":"false"']~footer a[href^="tel:"] {
    display: none !important;
}
section[data-global-visibility-markers*='"footer_email_display":"false"']~footer a[href^="mailto:"] {
    display: none !important;
}
section[data-global-visibility-markers*='"blogs_section_display":"false"']~section[data-section-marker="blogsListing"] {
    display: none !important;
}
section[data-global-visibility-markers*='"lead_form_step_two_other_display":"false"']
[data-element-name="Others Button"] {
    display: none !important;
}













/* ══════════════════════════════════════════════
   CTA Configurable Button System
   Primary buttons inherit all visuals from
   existing .btn .btn-primary classes.
   These classes only add icon/display logic.
   ══════════════════════════════════════════════ */

/* Safety: hide CTA elements with unresolved template variables */
[data-cta-visible^="$$"] { display: none !important; }
[data-cta-style^="$$"] { display: none !important; }
[data-cta-type^="$$"] { display: none !important; }
[data-cta-popup-enabled^="$$"] { display: none !important; }

/* ── Primary buttons: no visual overrides, just icon gap ── */
.website-cta-hero,
.website-cta-nav,
.website-cta-sidenav,
.website-cta-fab {
    gap: var(--space-2);
}

/* ── Consistent nav CTA sizing (primary + secondary match) ── */
.website-cta-nav,
.website-cta-nav-alt[data-cta-visible="true"] {
    min-width: 100px;
    padding: var(--space-2) var(--space-4);
    font-size: var(--text-base);
    justify-content: center;
    text-align: center;
}

/* ── Secondary buttons: shown only when data-cta-visible="true" ── */
.website-cta-hero-alt[data-cta-visible="true"],
.website-cta-nav-alt[data-cta-visible="true"],
.website-cta-sidenav-alt[data-cta-visible="true"],
.website-cta-fab-alt[data-cta-visible="true"] {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    font-weight: var(--font-medium);
    text-align: center;
    border-radius: var(--radius-md);
    transition: var(--transition-base);
    cursor: pointer;
    outline: none;
    text-decoration: none;
    white-space: nowrap;
    gap: var(--space-2);
    border: 0px solid currentColor;
}
.website-cta-hero-alt[data-cta-visible="true"]:hover {
    background-color: var(--color-banner-cta-connect-background-hover);
    color: var(--color-banner-cta-connect-foreground-hover);
    transform: translateY(-2px);
}
.website-cta-nav-alt[data-cta-visible="true"]:hover,
.website-cta-sidenav-alt[data-cta-visible="true"]:hover {
    background-color: var(--color-header-cta-connect-background-hover);
    color: var(--color-header-cta-connect-foreground-hover);
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}

/* Secondary sizing per placement */
.website-cta-hero-alt[data-cta-visible="true"] {
    background-color: var(--color-banner-cta-connect-background);
    color: var(--color-banner-cta-connect-foreground);
    padding: var(--space-3) var(--space-6);
    font-size: var(--text-base);
}
.website-cta-nav-alt[data-cta-visible="true"] {
    background-color: var(--color-header-cta-connect-background);
    color: var(--color-header-cta-connect-foreground);
    padding: var(--space-2) var(--space-4);
    font-size: var(--text-base);
}

.website-cta-sidenav-alt[data-cta-visible="true"] {
    background-color: var(--color-header-cta-connect-background);
    color: var(--color-header-cta-connect-foreground);
    padding: var(--space-3) var(--space-6);
    font-size: var(--text-base);
}

/* ── Sidenav CTA sizing: both buttons same width ── */
.website-cta-sidenav,
.website-cta-sidenav-alt[data-cta-visible="true"] {
    width: 100%;
    max-width: 250px;
    justify-content: center;
    text-align: center;
}
.website-cta-sidenav .website-cta-text,
.website-cta-sidenav-alt .website-cta-text {
    flex: 0 !important;
}
.website-cta-fab-alt[data-cta-visible="true"] {
    background-color: var(--color-floating-cta-connect-background);
    color: var(--color-floating-cta-connect-foreground);
    border: none;
    padding: 18px var(--space-10);
    font-size: var(--text-md);
    font-weight: var(--font-semibold);
    flex-shrink: 0;
    position: static;
    box-shadow: var(--color-white) 0px 8px 20px !important;
}
.website-cta-fab-alt[data-cta-visible="true"]:hover {
    opacity: 0.9;
}

/* ── Icon-only (circle, no text) ── */
[data-cta-style="icon-only"] {
    width: 50px !important;
    height: 50px !important;
    min-width: 50px !important;
    max-width: 50px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    background-color: var(--color-primary-button-background) !important;
    color: var(--color-primary-button-foreground) !important;
}
[data-cta-style="icon-only"] .website-cta-text {
    display: none !important;
}
[data-cta-global-call="false"][data-cta-style="icon-only"] {
    width: 100% !important;
    height: auto !important;
    min-width: 150px !important;
    max-width: none !important;
    padding: 15px !important;
    border-radius: var(--radius-md) !important;
}
[data-cta-global-call="false"][data-cta-style="icon-only"] .website-cta-text {
    display: inline !important;
}
.website-cta-text {
    flex: 1;
    text-align: center;
}
.website-cta-fab .website-cta-text,
.website-cta-fab-alt .website-cta-text {
    flex: 0 !important;
}

/* ── Icons ── */
.website-cta-icon {
    display: none !important;
    align-items: center;
    flex-shrink: 0;
}
.website-cta-icon svg { display: block; }
[data-cta-type="book"] .website-cta-icon-book { display: inline-flex !important; }
[data-cta-type="call"] .website-cta-icon-call { display: inline-flex !important; }
[data-cta-type="callback"] .website-cta-icon-call { display: inline-flex !important; }

/* ── Hero button container ── */
.hero-button-wrapper {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    flex-wrap: wrap;
    width: 100%;
}

/* ── FAB container ── */
.mobile-cta-button-container-fallback {
    position: fixed !important;
    bottom: 5px;
    left: 0;
    right: 0;
    z-index: 100;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 15px;
    margin: 0;
}
@media (min-width: 768px) {
    .mobile-cta-button-container-fallback {
        display: none !important;
    }
}

/* ── FAB primary button: override fixed-cta positioning ── */
.fixed-cta.website-cta-fab {
    position: static !important;
    display: flex !important;
}

/* ── Global call toggle: when call feature is off,
     hide secondary buttons, hide icons, center text.
     MUST come after data-cta-visible rules to win specificity ── */
[data-cta-global-call^="$$"] { display: none !important; }
.website-cta-hero-alt[data-cta-global-call="false"],
.website-cta-nav-alt[data-cta-global-call="false"],
.website-cta-sidenav-alt[data-cta-global-call="false"],
.website-cta-fab-alt[data-cta-global-call="false"] {
    display: none !important;
}
[data-cta-global-call="false"] .website-cta-icon-book,
[data-cta-global-call="false"] .website-cta-icon-call { display: none !important; }
[data-cta-global-call="false"] .website-cta-text { flex: none; width: 100%; text-align: center; }
[data-cta-global-call="false"].website-cta-fab,
[data-cta-global-call="false"].website-cta-hero,
[data-cta-global-call="false"].website-cta-nav,
[data-cta-global-call="false"].website-cta-sidenav { justify-content: center; }

/* ── When global call is ON: banner buttons side by side ── */
.hero-button-wrapper:has([data-cta-global-call="true"]) {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    flex-wrap: wrap;
}
.hero-button-wrapper .hero-cta-button[data-cta-global-call="true"],
.hero-button-wrapper .hero-button-cta[data-cta-global-call="true"] {
    flex: 1;
    padding: var(--space-6) var(--space-8);
    width: auto;
    margin-top: 0;
}
/* When secondary CTA is hidden, cap primary at 75% so it doesn't stretch full width */
.hero-button-wrapper:not(:has(.website-cta-hero-alt[data-cta-visible="true"])) .hero-cta-button[data-cta-global-call="true"],
.hero-button-wrapper:not(:has(.website-cta-hero-alt[data-cta-visible="true"])) .hero-button-cta[data-cta-global-call="true"] {
    flex: none;
    width: 75%;
}
.hero-button-wrapper .website-cta-hero-alt[data-cta-visible="true"][data-cta-global-call="true"] {
    background-color: var(--color-banner-cta-connect-background);
    color: var(--color-banner-cta-connect-foreground);
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
    z-index: 1;
    border-radius: var(--radius-md);
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    margin-top: 0;
}
.hero-button-wrapper .website-cta-hero-alt[data-cta-visible="true"][data-cta-global-call="true"]:hover {
    background-color: var(--color-banner-cta-connect-background-hover);
    color: var(--color-banner-cta-connect-foreground-hover);
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}

/* ── Hide hero banner buttons on mobile (header/FAB handles mobile CTAs) ── */
@media (max-width: 767px) {
    .hero-button-wrapper .website-cta-hero-alt[data-cta-visible="true"][data-cta-global-call="true"]{
        display: none !important;
    }
    .website-cta-hero-alt,
    .website-cta-hero-alt[data-cta-visible="true"],
    .website-cta-hero-alt[data-cta-global-call="true"] { display: none !important; }
    .hero-button-cta,
    .hero-cta-button,
    .hero-button-cta[data-cta-global-call="true"],
    .elegant-hero-cta,
    .elegant-hero-cta[data-cta-global-call="true"],
    .hero-cta-button[data-cta-global-call="true"] { display: none !important; }
}

/* ── When global call is on, force flex on hero CTA for icon alignment (desktop only) ── */
@media (min-width: 768px) {
    .hero-button-cta[data-cta-global-call="true"],
    .hero-cta-button[data-cta-global-call="true"] {
        display: inline-flex !important;
        align-items: center;
        gap: var(--space-2);
    }
}


/* ── ElegantBackdrop: hero CTA button alignment fix ── */
.elegant-hero-cta.website-cta-hero {
    display: inline-flex !important;
    align-items: center;
    gap: var(--space-2);
}
.elegant-hero-cta.website-cta-hero + .website-cta-hero-alt {
    margin-left: var(--space-3);
    vertical-align: middle;
}

@media (max-width: 768px) {
  .elegant-hero-cta.website-cta-hero {
     display: none !important;    
  }
}

/* Add underline only when href is NOT javascript:void(0) */
.services-section-heading:not([href="javascript:void(0)"]) .heading-section {
    text-decoration: underline;
}


.blogs-section .carousel-card-title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Offer pill — service-card offer line (.service-offer-pill emitted by website-backend ServiceOfferLine). */
[data-variable-text="ServiceOfferLine"] {
  display: block;
}
.service-offer-pill {
  display: inline-block;
  background: #e7f6ec;
  border: 1px solid #bfe6cd;
  color: #000;
  font-weight: 600;
  padding: 0px 5px;
  border-radius: 999px;
  margin-top: 4px;
  font-size: 10px;
}

/* ── Packages section — package cards reuse the service list-section-card layout. ── */
.package-card-expiry {
    display: block;
    margin-top: var(--space-1);
    font-size: var(--text-xs);
    color: color-mix(in srgb, var(--color-services-foreground) 65%, transparent);
}

.package-included-link {
    display: inline-block;
    margin-top: var(--space-2);
    font-weight: var(--font-semibold);
    text-decoration: underline;
    cursor: pointer;
}

.package-card-actions {
    align-items: center;
}

.package-action-btn {
    background: var(--color-primary-button-background);
    color: var(--color-primary-button-foreground);
    border: none;
    border-radius: var(--radius-full);
    padding: 0.5rem 1.5rem;
    font-size: var(--text-sm);
    font-weight: 500;
    cursor: pointer;
    white-space: nowrap;
}

.package-action-btn:hover {
    background: var(--color-primary-button-background-hover);
    color: var(--color-primary-button-foreground-hover);
}

.package-action-btn.package-action-btn--remove {
    background: transparent;
    color: var(--color-services-foreground);
    border: 1px solid color-mix(in srgb, var(--color-services-foreground) 40%, transparent);
}

/* Covered-by-package state on a service card (runtime-toggled via .pkg-covered). */
.card-covered-badge {
    display: none;
    margin-top: 4px;
    padding: 2px 8px;
    border-radius: 999px;
    background: #e6f4ea;
    color: #137333;
    font-size: 0.75rem;
    font-weight: 600;
}

.pkg-covered .card-covered-badge,
.pkg-covered-some .card-covered-badge {
    display: inline-block;
}

.pkg-covered .card-meta-info {
    text-decoration: line-through;
    opacity: 0.55;
}

.pkg-covered .card-meta-deposit {
    display: none !important;
}


.zoca-eec0d414-ab01-42d3-863f-40bd185724eb {
  height: auto;
}

.zoca-a31aec7c-34be-458b-8172-3065e3c2b2c1 {
  color: var(--color-services-foreground);
  background-color: var(--color-services-background);
}

@media (max-width: 600px) {
  .zoca-a31aec7c-34be-458b-8172-3065e3c2b2c1 {
    padding-inline: 0;
  }
}

.zoca-02cef785-8a1b-453e-805c-39e0c3b40efd {
  color: var(--color-service-header-foreground);
  padding: 1rem 0;
  background-color: var(--color-service-header-background);
}

.zoca-d80c7941-9f18-48c3-9034-1b317794aeee {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: space-between;
}

@media (max-width: 768px) {
  .zoca-d80c7941-9f18-48c3-9034-1b317794aeee {
    align-items: stretch;
  flex-direction: column-reverse;
  }
}

.zoca-9738a74e-87e4-4076-940f-04e1670a6d7c {
  gap: var(--space-1);
  display: flex;
  padding: var(--space-2) 0;
  align-items: start;
  flex-direction: column;
}

@media (max-width: 600px) {
  .zoca-9738a74e-87e4-4076-940f-04e1670a6d7c {
    padding: var(--space-3) var(--space-4);
  }
}

.zoca-f1ca0524-382f-4806-8288-680679e6b987 {
  border: none;
  cursor: pointer;
  display: flex;
  padding: var(--space-1);
  align-items: center;
  background: none;
  transition: opacity 0.2s ease;
  justify-content: center;
}

.zoca-f1ca0524-382f-4806-8288-680679e6b987:hover {
  opacity: 0.7;
}

.zoca-aa4e459f-cde0-4e43-a189-44b5c9d0c040 {
  width: 20px;
  height: 20px;
}

.zoca-c3b7f977-7233-4e1a-851b-0429e9756708 {
  margin: 0;
}

@media (max-width: 768px) {
  .zoca-c3b7f977-7233-4e1a-851b-0429e9756708 {
    font-size: var(--text-2-xl);
  }
}

.zoca-d03bbb48-5fea-43f4-ab97-6b808c2d869f {
  color: var(--color-header-business-info-foreground);
  width: auto;
  display: block;
  padding: 0.5rem;
  font-size: 0.875rem;
  max-width: 50%;
  box-shadow: rgba(0, 0, 0, 0.1) 0px 2px 4px;
  --tw-bg-opacity: 1;
  border-radius: 0.25rem;
  pointer-events: none;
  background-color: var(--color-header-business-info-background);
}

@media (max-width: 768px) {
  .zoca-d03bbb48-5fea-43f4-ab97-6b808c2d869f {
    width: auto;
  padding: 0.25rem 0.5rem;
  max-width: 100%;
  }
}

.zoca-f47813c2-88ac-47f9-8a92-c9c299207f66 {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.zoca-896e9416-87f0-4fc3-b705-c15fc9ad5bed {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.zoca-5d7e6e84-f6b6-4ead-8909-fa2ffabd489b {
  margin: var(--space-5) auto;
}

@media (max-width: 768px) {
  .zoca-5d7e6e84-f6b6-4ead-8909-fa2ffabd489b {
    margin: var(--space-5) 0;
  padding: var(--space-3) var(--space-4);
  }
}

.zoca-90931e38-ee9a-42ff-9416-05781483998b {
  width: 100%;
  display: flex;
  position: relative;
  align-items: center;
}

.zoca-f8e0529a-63d9-4f1e-87ff-d791530a2fb7 {
  left: 16px;
  color: #272a2b;
  width: 20px;
  height: 20px;
  position: absolute;
  pointer-events: none;
}

@media (max-width: 768px) {
  .zoca-f8e0529a-63d9-4f1e-87ff-d791530a2fb7 {
    left: 12px;
  width: 18px;
  height: 18px;
  }
}

.zoca-30a2e81b-8914-48df-80c8-8976805b2b76 {
  width: 100%;
  border: 1px solid #272a2b;
  outline: none;
  padding: 12px 48px 12px 48px;
  font-size: 16px;
  transition: all 0.2s ease;
  border-radius: 18px;
}

@media (max-width: 768px) {
  .zoca-30a2e81b-8914-48df-80c8-8976805b2b76 {
    padding: 10px 40px 10px 40px;
  }
}

.zoca-dcd3ed73-d27b-43cd-a214-9c782b65f923 {
  right: 12px;
  width: 24px;
  border: none;
  cursor: pointer;
  height: 24px;
  display: none;
  padding: 0;
  position: absolute;
  align-items: center;
  background: transparent;
  transition: background-color 0.2s ease;
  border-radius: 50%;
  justify-content: center;
}

.zoca-dcd3ed73-d27b-43cd-a214-9c782b65f923:hover {
  background-color: #f3f4f6;
}

@media (max-width: 768px) {
  .zoca-dcd3ed73-d27b-43cd-a214-9c782b65f923 {
    right: 8px;
  }
}

.zoca-47fb6f61-f36f-42f9-a812-a5424eb90971 {
  color: #272a2b;
  width: 16px;
  height: 16px;
}

.zoca-4eaaa06c-fc35-402b-a206-9a4d7741cede {
  overflow-x: auto;
  padding-bottom: var(--space-4);
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 768px) {
  .zoca-4eaaa06c-fc35-402b-a206-9a4d7741cede {
    padding: 0 0 var(--space-3);
  padding-bottom: var(--space-3);
  }
}

.zoca-15057f6b-8d3e-495f-9d9a-3553ea328ba4 {
  display: flex;
  min-width: min-content;
}

.zoca-576f835b-2c0c-45e7-a623-6a5fe6a11c4b {
  width: 100%;
}

.zoca-e50d37fa-93fc-4d20-99a2-e3eda78568b3 {
  color: black;
  border-radius: 8px !important;
}

.zoca-03af32ec-c788-46ac-84a7-919f1ba392e9 {
  display: none;
  font-weight: 600;
}

.zoca-119519ed-512a-4f99-828b-8570bbe33435 {
  margin-top: var(--space-6);
}

.zoca-ee143152-f4de-45bb-b00d-fd56be3ebace {
  margin-top: var(--space-6);
}

.zoca-97574ad3-2e0d-475d-acf1-7f5ac95c6861 {
  text-align: center !important;
}

.zoca-83e00b89-67f0-4ad3-b846-76740ce898b3 {
  text-align: center !important;
}

.zoca-9e0aa3cd-1240-4547-b1ff-07f31495fd67 {
  margin-top: var(--space-8);
}

.zoca-2269c099-aa1a-4b5c-91a5-ec370fa89f2a {
  gap: var(--space-2);
  color: var(--color-gray-500);
  display: flex;
  font-size: var(--text-sm);
  margin-top: var(--space-4);
  align-items: center;
  justify-content: center;
}

.zoca-2a4ce180-cc8e-4aa1-a0af-27a250268804 {
  display: none;
}

.zoca-21153f70-819e-4ea0-b0ce-139457e178aa {
  padding: 0px !important;
  min-height: 0px !important;
}

.zoca-9e54dde0-0c46-4931-afe4-0a5eabe78e9b {
  width: 100%;
  padding: var(--space-4);
  max-width: 100%;
  box-sizing: border-box;
  margin-top: var(--space-6);
  text-align: center;
}

.zoca-cd290a58-aa1a-4edb-acc6-ef35aab10324 {
  color: var(--color-gray-600);
  margin: 0 0 var(--space-3) 0;
  font-size: var(--text-sm);
  font-weight: 500;
}

.zoca-e363c3f6-b50a-4500-b5c5-574316ab6f4c {
  gap: var(--space-2);
  color: var(--color-white);
  border: none;
  cursor: pointer;
  display: inline-flex;
  padding: var(--space-3) var(--space-4);
  font-size: var(--text-sm);
  min-width: fit-content;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  align-items: center;
  font-weight: bold;
  transition: all 0.2s ease-in-out;
  white-space: nowrap;
  border-radius: var(--radius-md);
  justify-content: center;
  text-decoration: none;
  background-color: var(--color-black);
}

.zoca-e363c3f6-b50a-4500-b5c5-574316ab6f4c:hover {
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  transform: translateY(-1px);
  font-weight: bold;
}

.zoca-e363c3f6-b50a-4500-b5c5-574316ab6f4c:active {
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  transform: translateY(0);
}

@media (max-width: 640px) {
  .zoca-e363c3f6-b50a-4500-b5c5-574316ab6f4c {
    width: 100%;
  padding: var(--space-4) var(--space-3);
  }
}

.zoca-6751530f-837a-4ecc-9054-935464f8bc5d {
  margin: 0 auto;
  padding: 1.35rem 1.5rem;
  max-width: 1200px;
}

@media (max-width: 768px) {
  .zoca-6751530f-837a-4ecc-9054-935464f8bc5d {
    padding: 1rem;
  }
}

.zoca-66391e83-9fd7-4b7e-b7fa-c149738b5f0f {
  gap: 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

@media (max-width: 768px) {
  .zoca-66391e83-9fd7-4b7e-b7fa-c149738b5f0f {
    gap: 0.75rem;
  }
}

.zoca-b3c480cc-1d43-4226-bde9-a60ae8dd5ed5 {
  gap: 1rem;
  flex: 1;
  display: flex;
  align-items: center;
}

@media (max-width: 768px) {
  .zoca-b3c480cc-1d43-4226-bde9-a60ae8dd5ed5 {
    gap: 0.75rem;
  width: 100%;
  }
}

.zoca-a533ab2f-7f66-4514-bee2-6810e14b2ccc {
  gap: 0.25rem;
  display: flex;
  flex-direction: column;
}

.zoca-609b382b-cac7-41ea-be08-fa8141809c8b {
  color: #ffffff;
  margin: 0;
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1.4;
}

@media (max-width: 480px) {
  .zoca-609b382b-cac7-41ea-be08-fa8141809c8b {
    font-size: 0.85rem;
  }
}

@media (max-width: 768px) {
  .zoca-609b382b-cac7-41ea-be08-fa8141809c8b {
    font-size: 0.9rem;
  }
}

.zoca-0b0f8599-e94a-42e1-a7a4-24fde9a9dc79 {
  color: #ffffff;
  margin: 0;
  opacity: 0.9;
  font-size: 1rem;
}

@media (max-width: 480px) {
  .zoca-0b0f8599-e94a-42e1-a7a4-24fde9a9dc79 {
    font-size: 0.75rem;
  }
}

@media (max-width: 768px) {
  .zoca-0b0f8599-e94a-42e1-a7a4-24fde9a9dc79 {
    font-size: 0.8rem;
  }
}

.zoca-c4fd8d09-4cfd-4466-bb67-c1faaa74647e {
  gap: 1rem;
  display: flex;
  align-items: center;
}

@media (max-width: 768px) {
  .zoca-c4fd8d09-4cfd-4466-bb67-c1faaa74647e {
    justify-content: space-between;
  }
}

.zoca-62ea2c08-2699-40d2-b3b4-70c0575c7b25 {
  gap: 0.5rem;
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.3);
  cursor: pointer;
  display: flex;
  padding: 0.75rem 1.5rem;
  font-size: 1rem;
  align-items: center;
  font-weight: 500;
  transition: all 0.2s ease;
  white-space: nowrap;
  border-radius: 50px;
  background-color: transparent;
}

.zoca-62ea2c08-2699-40d2-b3b4-70c0575c7b25:hover {
  border-color: rgba(255, 255, 255, 0.5);
  background-color: rgba(255, 255, 255, 0.1);
}

.zoca-62ea2c08-2699-40d2-b3b4-70c0575c7b25:active {
  transform: scale(0.98);
}

@media (max-width: 480px) {
  .zoca-62ea2c08-2699-40d2-b3b4-70c0575c7b25 {
    gap: 0.35rem;
  padding: 0.6rem;
  font-size: 0.85rem;
  }
}

@media (max-width: 768px) {
  .zoca-62ea2c08-2699-40d2-b3b4-70c0575c7b25 {
    padding: 0.65rem;
  font-size: 0.9rem;
  }
}

.zoca-917681f2-812a-442d-8fd4-48e395f3e0aa {
  color: #000000;
  border: none;
  cursor: pointer;
  padding: 0.75rem 2rem;
  font-size: 1rem;
  font-weight: 600;
  transition: all 0.2s ease;
  white-space: nowrap;
  border-radius: 50px;
  background-color: #ffffff;
}

.zoca-917681f2-812a-442d-8fd4-48e395f3e0aa:hover {
  box-shadow: 0 4px 12px rgba(255, 255, 255, 0.2);
  transform: translateY(-1px);
  background-color: #f0f0f0;
}

.zoca-917681f2-812a-442d-8fd4-48e395f3e0aa:active {
  transform: translateY(0);
}

@media (max-width: 480px) {
  .zoca-917681f2-812a-442d-8fd4-48e395f3e0aa {
    padding: 0.9rem 1.5rem;
  font-size: 1.25rem;
  }
}

@media (max-width: 768px) {
  .zoca-917681f2-812a-442d-8fd4-48e395f3e0aa {
    padding: 0.9rem 1.75rem;
  font-size: 1.25rem;
  }
}

.zoca-b919139e-8422-4522-a3fa-f2c4cf5e9588 {
  scroll-margin-top: var(--header-height);
}

.zoca-eb553209-7670-405f-8568-6b3d337f3d24 {
  padding-block: 1rem;
}

.zoca-bfb59ef7-3822-477a-9022-b774897103d0 {
  margin-bottom: var(--space-6);
}

@media (max-width: 768px) {
  .zoca-bfb59ef7-3822-477a-9022-b774897103d0 {
    font-size: var(--text-2-xl);
  margin-bottom: var(--space-4);
  }
}

.zoca-59ec35eb-1c34-4fbc-bf5e-ceff9432bb8c {
  display: none;
}

.zoca-3bade56d-1b14-4a38-bb13-29bbb60e2c1a {
  gap: var(--space-4);
  display: flex;
  flex-direction: column;
}

.zoca-3eff6174-5936-433d-8149-fa8ac198d4fc {
  margin-bottom: var(--space-2);
}

.zoca-d7138e15-daf1-451a-83d2-961325c0ab79 {
  margin-bottom: var(--space-2);
}

.zoca-176e16c0-35c4-4ff4-8c21-152c4336ef8c {
  margin-bottom: var(--space-2);
}

.zoca-cea21293-559b-40ed-b04c-2089d38022b1 {
  margin-bottom: var(--space-2);
}

.zoca-ec5e856b-df53-4d99-aed9-494178f02435 {
  margin-bottom: var(--space-2);
}

.zoca-8e0efd7b-5bca-405a-808b-0d968523c3b8 {
  margin-bottom: var(--space-2);
}

.zoca-72795675-5dc4-4f02-87dc-26c7165a66aa {
  margin-bottom: var(--space-2);
}

.zoca-1c53abd1-bf0a-4958-a845-30b2ddedcc1d {
  margin-bottom: var(--space-2);
}

.zoca-5ee01d7c-d86e-4af1-9a1f-bcfa5bc1f79c {
  margin-bottom: var(--space-2);
}

.zoca-89be33c1-551a-4363-a94c-71919297ab2a {
  margin-bottom: var(--space-2);
}

.zoca-09c33da4-a8c3-41c3-8d02-dc37c073e687 {
  margin-bottom: var(--space-2);
}

.zoca-547395e7-56e0-4f36-a560-edc32626bd13 {
  margin-bottom: var(--space-2);
}

.zoca-9a8efe16-15f9-4f2d-93ab-d6514dc31362 {
  margin-bottom: var(--space-2);
}

.zoca-2735f215-1b7b-46ce-8006-e1b21bc2a0ec {
  margin-bottom: var(--space-2);
}

.zoca-1f1df540-15ce-49c3-931e-2c04c9cb1247 {
  margin-bottom: var(--space-2);
}

.zoca-3cf64098-554c-45ba-b122-97d70045a7d3 {
  margin-bottom: var(--space-2);
}

.zoca-764ff6c3-e9ab-44c8-b7ec-dc7dae922d23 {
  margin-bottom: var(--space-2);
}

.zoca-9c550892-0a51-4b54-99f7-4841a1c96227 {
  margin-bottom: var(--space-2);
}

.zoca-6cd59d1f-5aba-42f8-92c3-4d2bd2156ebd {
  margin-bottom: var(--space-2);
}

.zoca-2e467757-ea32-4733-a80a-40f44bf8411e {
  margin-bottom: var(--space-2);
}

.zoca-b5bb5b0c-6487-4b64-b7b4-b20b344526b2 {
  margin-bottom: var(--space-2);
}

.zoca-82a2d659-dee0-4865-9da3-1edb1a6de41d {
  margin-bottom: var(--space-2);
}

.zoca-7ec8e5a1-faa7-4e51-8b35-289acef7a9af {
  margin-bottom: var(--space-2);
}

.zoca-2127670e-ae2f-456e-ba8d-2184bae29b85 {
  margin-bottom: var(--space-2);
}

.zoca-e462535a-33d2-4959-ac74-30ea1c198774 {
  margin-bottom: var(--space-2);
}

.zoca-472c3869-a189-4218-bb6a-7bccda204e53 {
  margin-bottom: var(--space-2);
}

.zoca-1da612eb-998c-4274-a8fa-b3d601500863 {
  margin-bottom: var(--space-2);
}

.zoca-44b9f72c-1111-43c5-b31f-b75184241107 {
  margin-bottom: var(--space-2);
}

.zoca-da5c359b-2dd3-4d46-8a1f-f87f2ba701e6 {
  margin-bottom: var(--space-2);
}

.zoca-52ac6577-c47c-4024-932f-e1d884e57d28 {
  margin-bottom: var(--space-2);
}

.zoca-29679b92-ee62-4fdf-9fa2-09d50dcf0ab0 {
  margin-bottom: var(--space-2);
}

.zoca-a591267e-41cc-404d-bd5b-b2fd4de8b50f {
  margin-bottom: var(--space-2);
}

.zoca-7c4912c6-ce37-43ce-89c1-e87171e931e4 {
  margin-bottom: var(--space-2);
}

.zoca-75becde7-bb33-44de-b78e-76e0d368914b {
  margin-bottom: var(--space-2);
}

.zoca-9a68806a-34ba-4bfe-8c27-9137378a8abc {
  margin-bottom: var(--space-2);
}

.zoca-abcd3660-af19-4fdb-a108-c709f94e208a {
  margin-bottom: var(--space-2);
}

.zoca-625572cb-0da5-4c76-8b08-ac9ff182afdf {
  margin-bottom: var(--space-2);
}

.zoca-beb3648a-045f-40c7-80ec-50e4ac94f833 {
  margin-bottom: var(--space-2);
}

.zoca-e21222e5-ba1d-417e-8b45-59914d2c13b3 {
  margin-bottom: var(--space-2);
}

.zoca-bf01e60b-c151-481c-8b93-18e7591a3483 {
  margin-bottom: var(--space-2);
}

.zoca-a44f0d7e-cc2b-400e-a566-6715cc90f3a9 {
  margin-bottom: var(--space-2);
}

.zoca-9649650a-7c21-4cb2-b753-ebca2c12c6f4 {
  margin-bottom: var(--space-2);
}

.zoca-d5d58618-35b4-4ea0-a275-77b71b03dd6b {
  margin-bottom: var(--space-2);
}

.zoca-8908e6a0-e834-485f-a91e-bf81990905b4 {
  margin-bottom: var(--space-2);
}

.zoca-22a54565-1736-4d12-b2b0-fe26f45403b8 {
  margin-bottom: var(--space-2);
}

.zoca-b14c1595-53c0-407a-9a47-15caaa388629 {
  margin-bottom: var(--space-2);
}

.zoca-7893ce7d-5111-4ce9-9156-863a7af81432 {
  margin-bottom: var(--space-2);
}

.zoca-4dd3f5ff-8966-4d33-b50b-490ea8ba282e {
  margin-bottom: var(--space-2);
}

.zoca-8e860b92-66ae-4ab2-b8b3-4c41effc7eac {
  margin-bottom: var(--space-2);
}

.zoca-1c9ab0ce-2079-4c3a-aeae-7884b562b3c8 {
  margin-bottom: var(--space-2);
}

.zoca-7a63e556-d125-49dc-bec4-d80c6a9ea9e3 {
  margin-bottom: var(--space-2);
}

.zoca-6c9277cf-1786-4c08-ae30-e0b74780f4f6 {
  margin-bottom: var(--space-2);
}

.zoca-4b0e44a4-327f-467d-b1ea-771dd8cc8ca0 {
  margin-bottom: var(--space-2);
}

.zoca-4f50ec34-a9e4-44bc-8a48-4a327c7875b2 {
  margin-bottom: var(--space-2);
}

.zoca-17a5ace9-6f5d-4f44-b859-ba0cc9ad921f {
  margin-bottom: var(--space-2);
}

.zoca-eea7924c-e6f1-4bae-b427-c2d6523680d1 {
  margin-bottom: var(--space-2);
}

.zoca-7e70ba3e-ae00-44de-8e6b-4bfc65a51017 {
  margin-bottom: var(--space-2);
}

.zoca-3d908a3e-0c15-4bb1-b91c-0f325470a41f {
  margin-bottom: var(--space-2);
}

.zoca-03cf89c1-afe4-4da7-a31e-6e98ae01c78b {
  margin-bottom: var(--space-2);
}

.zoca-4115045c-79f6-4287-a995-b03eb30fa1b7 {
  margin-bottom: var(--space-2);
}

.zoca-f8dd6f74-6b35-4329-814e-b640baeb39f6 {
  margin-bottom: var(--space-2);
}

.zoca-11bae2a9-045b-449c-b7cb-c69513f92071 {
  margin-bottom: var(--space-2);
}

.zoca-dd40a1ef-ef1d-4613-9755-9523eb64e8b9 {
  margin-bottom: var(--space-2);
}

.zoca-925a7233-7fd7-4c16-aefe-d5649883e740 {
  margin-bottom: var(--space-2);
}

.zoca-a957c9ec-5adc-4a75-b5e5-c9897d7f1e71 {
  margin-bottom: var(--space-2);
}

.zoca-0b542a02-8ad7-4eff-9fdf-33996247ae79 {
  margin-bottom: var(--space-2);
}

.zoca-6fe65101-7eea-435b-a87e-089aec54ed2e {
  margin-bottom: var(--space-2);
}

.zoca-9fc67ba1-93d0-4b70-8366-94130b8b27cb {
  margin-bottom: var(--space-2);
}

.zoca-9076c32f-f6c3-4b0a-ad48-905943c8f3f1 {
  margin-bottom: var(--space-2);
}

.zoca-eb33f7ca-9f08-4029-82c2-02ce5bc4d93e {
  margin-bottom: var(--space-2);
}

.zoca-ca841b99-4b11-42cd-8cb3-6d991dd1ad7f {
  margin-bottom: var(--space-2);
}

.zoca-0726d73e-6c02-41fa-926c-072e195a82c2 {
  margin-bottom: var(--space-2);
}

.zoca-885df1a6-931b-434e-80e8-05411ac2deb7 {
  margin-bottom: var(--space-2);
}

.zoca-af39505f-9f33-4114-984d-f54df63cfb56 {
  margin-bottom: var(--space-2);
}

.zoca-bd2eab67-fa00-4aa4-9e3d-54b085932c05 {
  margin-bottom: var(--space-2);
}

.zoca-cbf05c8f-d33f-4459-a437-4f2b721234f1 {
  margin-bottom: var(--space-2);
}

.zoca-7ef3c0ad-d014-4663-ba86-fd06c522c335 {
  margin-bottom: var(--space-2);
}

.zoca-e03beb03-fb94-4ae1-996c-ead025545ff8 {
  margin-bottom: var(--space-2);
}

.zoca-037ca181-d451-482d-b330-ab9785d531fc {
  margin-bottom: var(--space-2);
}

.zoca-3b73363e-deae-4486-bcae-c05a4490ffc5 {
  margin-bottom: var(--space-2);
}

.zoca-25ee7977-f4d0-407d-800e-df171e8f5a3a {
  margin-bottom: var(--space-2);
}

.zoca-19b2cdc5-e960-441f-8247-dcbcf9781cd5 {
  margin-bottom: var(--space-2);
}

.zoca-1ec7aa4c-e711-494c-ae97-605a272d5637 {
  margin-bottom: var(--space-2);
}

.zoca-149339b6-bfed-4b8e-83ac-634901454cbe {
  margin-bottom: var(--space-2);
}

.zoca-24949fe3-9a59-413b-a667-a1060529ad1d {
  margin-bottom: var(--space-2);
}

.zoca-f9d46a1c-02d8-46be-9f78-855ad775bb77 {
  margin-bottom: var(--space-2);
}

.zoca-9db51794-6a4b-4b42-a138-06372cdca331 {
  margin-bottom: var(--space-2);
}

.zoca-30b4bea9-121d-4745-8551-cce4b3a03ee3 {
  margin-bottom: var(--space-2);
}

.zoca-4fee1771-0abc-4f98-b420-cb34ea34c215 {
  margin-bottom: var(--space-2);
}

.zoca-024771a6-23c2-497d-a064-5e96f467613c {
  margin-bottom: var(--space-2);
}

.zoca-9048d5a4-0e31-4aeb-8aec-52b645b1232f {
  margin-bottom: var(--space-2);
}

.zoca-9f790a45-1c6f-4bed-aa6e-49ef1a8651f2 {
  margin-bottom: var(--space-2);
}

.zoca-06e8c851-4131-4f83-8f2a-5c034689fad7 {
  margin-bottom: var(--space-2);
}

.zoca-5652428d-ca88-4b7b-bbb5-b0bd53746c69 {
  margin-bottom: var(--space-2);
}

.zoca-b08b5aeb-0da9-44ec-b1ef-4f2131cf336e {
  margin-bottom: var(--space-2);
}

.zoca-ef7f7fd4-c50a-41c7-9ceb-91374f2fd4da {
  margin-bottom: var(--space-2);
}

.zoca-240b58f3-6a26-408b-8a07-f224f78cb20b {
  margin-bottom: var(--space-2);
}

.zoca-45ebb4e1-210a-4e41-b7aa-ee358bc9e6fd {
  margin-bottom: var(--space-2);
}

.zoca-b6661315-3879-45d1-bbbb-9a1917dd437a {
  margin-bottom: var(--space-2);
}

.zoca-ab916277-6cd8-49ae-bee3-12773b11618e {
  margin-bottom: var(--space-2);
}

.zoca-d1bdbab9-8a4c-45ed-ab21-a27e95978ace {
  margin-bottom: var(--space-2);
}

.zoca-d583d215-c6c3-4e46-a4a1-cfe0dcc7e81e {
  margin-bottom: var(--space-2);
}

.zoca-c3f4b1a1-b906-42a3-a679-83942fd29a12 {
  margin-bottom: var(--space-2);
}

.zoca-d9c66986-f0b8-4c20-8023-543c7ec32fb5 {
  margin-bottom: var(--space-2);
}

.zoca-17c8fdd9-a993-44d8-bf76-15595347e793 {
  margin-bottom: var(--space-2);
}

.zoca-955ae552-c155-4679-942d-df296f61d98e {
  scroll-margin-top: var(--header-height);
}

.zoca-349f173c-2e9b-450c-a6a1-383f69099f26 {
  padding-block: 1rem;
}

.zoca-c9eb90a3-650f-4793-af98-8793634aa9ad {
  margin-bottom: var(--space-6);
}

@media (max-width: 768px) {
  .zoca-c9eb90a3-650f-4793-af98-8793634aa9ad {
    font-size: var(--text-2-xl);
  margin-bottom: var(--space-4);
  }
}

.zoca-f58fe0bc-fd01-480f-9c39-955caab2e306 {
  display: none;
}

.zoca-534421eb-c167-44a7-8073-35b6b0a48070 {
  gap: var(--space-4);
  display: flex;
  flex-direction: column;
}

.zoca-923e2192-3bd0-4f1b-a496-11d57ea38d34 {
  margin-bottom: var(--space-2);
}

.zoca-4bc97925-7774-41c3-9778-bebde36b8a50 {
  margin-bottom: var(--space-2);
}

.zoca-2d4e607c-87ca-4be1-830b-cdc6c800dd8f {
  margin-bottom: var(--space-2);
}

.zoca-2cb9c0b4-314d-4b13-9631-b768428cdc7d {
  margin-bottom: var(--space-2);
}

.zoca-3e33c228-8e43-4f78-81f3-99d0f5cb9ee6 {
  margin-bottom: var(--space-2);
}

.zoca-df495cb7-9fbc-4b7a-a02f-594a7cbcc2dd {
  margin-bottom: var(--space-2);
}

.zoca-cccb39fa-3b97-4cd4-962e-0d1c352c692d {
  margin-bottom: var(--space-2);
}

.zoca-e4ce9118-b868-4a43-89b3-60af64364a73 {
  margin-bottom: var(--space-2);
}

.zoca-1fb53029-19ed-490d-891a-da944aaae92f {
  margin-bottom: var(--space-2);
}

.zoca-3c05fb32-f611-4dc4-b36d-779729f22709 {
  margin-bottom: var(--space-2);
}

.zoca-d65f1911-55b4-4023-91c2-f160b3d86e4e {
  margin-bottom: var(--space-2);
}

.zoca-dab61d30-ace4-4c49-bb7c-fa7295576378 {
  margin-bottom: var(--space-2);
}

.zoca-f8a05314-f17f-4005-a438-3999dc601928 {
  margin-bottom: var(--space-2);
}

.zoca-813e52b2-a76b-4b1f-beed-7e76f086b1b0 {
  margin-bottom: var(--space-2);
}

.zoca-0f75d502-42eb-431f-865f-1485fd5b6089 {
  margin-bottom: var(--space-2);
}

.zoca-4b1859b5-e3e4-4c31-8b9e-4b7bf582641f {
  margin-bottom: var(--space-2);
}

.zoca-de906407-01fd-405a-8ad0-4a5883f7508d {
  margin-bottom: var(--space-2);
}

.zoca-5d0387ac-7590-48a9-9c5c-91ca66aef3e4 {
  margin-bottom: var(--space-2);
}

.zoca-2065662b-7898-480f-bd84-da7050cdb373 {
  margin-bottom: var(--space-2);
}

.zoca-38f4c8cb-5e4a-46be-a5d2-de65b3ee6c3f {
  margin-bottom: var(--space-2);
}

.zoca-46e16665-cd6b-4d30-afe3-556fb739d93b {
  margin-bottom: var(--space-2);
}

.zoca-2cfd84e1-b2a3-4040-9a51-de696a8aeda3 {
  margin-bottom: var(--space-2);
}

.zoca-5a8cfebc-e087-451e-b5c3-c4a7ff891c35 {
  margin-bottom: var(--space-2);
}

.zoca-e999cd82-292a-48ef-863e-a7c0cad5794a {
  margin-bottom: var(--space-2);
}

.zoca-e83e6815-db1a-41a3-8ba1-0de6eb3e3d6a {
  margin-bottom: var(--space-2);
}

.zoca-3ce05792-ef2d-40fc-a32c-86d050e6412e {
  margin-bottom: var(--space-2);
}

.zoca-46aecfdd-eedc-40fd-a447-27f6a9468c2c {
  margin-bottom: var(--space-2);
}

.zoca-8fabff23-053e-452d-910c-7893d8f13c82 {
  margin-bottom: var(--space-2);
}

.zoca-65a0de43-69ad-4901-a895-cb6e9590d331 {
  margin-bottom: var(--space-2);
}

.zoca-4e8db577-0de3-4f73-812f-814785ff1c52 {
  margin-bottom: var(--space-2);
}

.zoca-1fa46233-62aa-46c7-ad91-c96a64f86e61 {
  margin-bottom: var(--space-2);
}

.zoca-84987486-fa76-41f7-89ee-001fd1bdf62f {
  margin-bottom: var(--space-2);
}

.zoca-8960efae-6bcd-4c3a-a075-3a07d33af0de {
  margin-bottom: var(--space-2);
}

.zoca-8a1d2f06-8979-4807-acab-45f4e047ba71 {
  margin-bottom: var(--space-2);
}

.zoca-6d8d8005-956f-43dc-a636-1f566c9b8bac {
  margin-bottom: var(--space-2);
}

.zoca-576aba8e-0377-4088-b2a5-a7e8b9839934 {
  margin-bottom: var(--space-2);
}

.zoca-9701bc62-8cc0-4494-95fc-969163adbf40 {
  margin-bottom: var(--space-2);
}

.zoca-4a55984c-8d85-4c80-b7bf-8a5ec3806091 {
  margin-bottom: var(--space-2);
}

.zoca-e59f6f82-db68-4730-9db0-1a694904ba5a {
  margin-bottom: var(--space-2);
}

.zoca-b8cc6f30-e68e-4135-b360-6df3d9a6cfbb {
  margin-bottom: var(--space-2);
}

.zoca-2c5f2936-69e7-4449-a075-2d211568a51e {
  margin-bottom: var(--space-2);
}

.zoca-ff3def7f-9136-4a97-955c-2bccc7607ef8 {
  margin-bottom: var(--space-2);
}

.zoca-8577928b-bb22-46d4-b193-31dfe2e4446a {
  margin-bottom: var(--space-2);
}

.zoca-08e24d88-b06e-4969-86d3-8041d63747bb {
  margin-bottom: var(--space-2);
}

.zoca-7af11d1a-de1a-4a73-98c0-e1bdfb52143d {
  margin-bottom: var(--space-2);
}

.zoca-b7bfe218-750d-47e5-a692-d0eeaf780886 {
  margin-bottom: var(--space-2);
}

.zoca-fed59695-814c-46b4-94ec-5f9e4dfb75fb {
  margin-bottom: var(--space-2);
}

.zoca-9d803c29-06a8-4b30-a517-b066a25b9402 {
  margin-bottom: var(--space-2);
}

.zoca-4e7c0c53-9aba-4661-860c-ca8b0f46ffe4 {
  margin-bottom: var(--space-2);
}

.zoca-2085bcab-e9c7-4dc5-9d81-de00bc2b471a {
  margin-bottom: var(--space-2);
}

.zoca-954dcbb8-c341-4635-b42e-1ed6afea43a6 {
  margin-bottom: var(--space-2);
}

.zoca-b5e22007-744b-497e-b814-39c028dc022b {
  margin-bottom: var(--space-2);
}

.zoca-5c3b7801-f0c4-4a32-8d77-6bb4b028d5dc {
  margin-bottom: var(--space-2);
}

.zoca-02e4cdcb-9dd5-4e7a-80c9-ba1f4c0d6767 {
  margin-bottom: var(--space-2);
}

.zoca-0aa904f7-ab91-4c91-bc6b-381620db99a3 {
  margin-bottom: var(--space-2);
}

.zoca-f4d1866d-6fbf-4beb-b104-2cdd88342f56 {
  margin-bottom: var(--space-2);
}

.zoca-69e9313b-d7b1-403f-bb71-0cdcad45d59f {
  margin-bottom: var(--space-2);
}

.zoca-ef9697af-6fbb-470d-937c-2ef080e2fa19 {
  margin-bottom: var(--space-2);
}

.zoca-ca4a7c1d-93e8-42e8-9461-ceb237b2e098 {
  margin-bottom: var(--space-2);
}

.zoca-f8b5aacd-0293-4aed-bcc8-ab61c4cc1c3a {
  margin-bottom: var(--space-2);
}

.zoca-29b6e69c-0110-401e-9572-d8a69a1fd8d8 {
  margin-bottom: var(--space-2);
}

.zoca-cf4d6490-d013-4433-91dd-e6d420c2243d {
  margin-bottom: var(--space-2);
}

.zoca-d81327c1-0dd0-4c07-b30b-293e32d03252 {
  margin-bottom: var(--space-2);
}

.zoca-21e80f5b-6539-45e6-a4f7-2ee8fe7e7531 {
  margin-bottom: var(--space-2);
}

.zoca-284a5466-f943-43c7-9045-a0b33d65a24a {
  margin-bottom: var(--space-2);
}

.zoca-60ff49eb-e493-45a7-8beb-4c11d6bf0f02 {
  margin-bottom: var(--space-2);
}

.zoca-0577d501-8867-425c-8603-ecdafa51ce06 {
  margin-bottom: var(--space-2);
}

.zoca-0132bb9d-97a3-4f11-b248-3e3bd3812aca {
  margin-bottom: var(--space-2);
}

.zoca-c2e84a2f-1463-458e-8036-6317095ad314 {
  margin-bottom: var(--space-2);
}

.zoca-2741bac4-6e41-4a57-a735-2f8a08119eab {
  margin-bottom: var(--space-2);
}

.zoca-165fa122-2ad2-4acf-8317-15c01e76c0a2 {
  margin-bottom: var(--space-2);
}

.zoca-03dcb249-9f0f-4129-9149-3b927d98b4a3 {
  margin-bottom: var(--space-2);
}

.zoca-f0084253-4739-4cc6-bf74-e2be89e7e1be {
  margin-bottom: var(--space-2);
}

.zoca-746bf64f-a670-4f22-b521-d8f046d02c10 {
  margin-bottom: var(--space-2);
}

.zoca-8cee0763-0fd1-4288-b32a-8069c8a8a593 {
  margin-bottom: var(--space-2);
}

.zoca-d6f9a8c0-dbe9-4adb-b15c-176a860a1939 {
  margin-bottom: var(--space-2);
}

.zoca-649e32c8-c809-4c35-b795-6d429df11d0b {
  margin-bottom: var(--space-2);
}

.zoca-2b7d44fa-57c1-4c74-bf70-6caeff3430df {
  margin-bottom: var(--space-2);
}

.zoca-ea651d8c-5152-4344-bca7-1e17ea3f7847 {
  margin-bottom: var(--space-2);
}

.zoca-7f9d7d82-09c9-4840-b634-26c87e8f3924 {
  margin-bottom: var(--space-2);
}

.zoca-eaab3f6f-1865-4777-8639-d305d6502a12 {
  margin-bottom: var(--space-2);
}

.zoca-efd63a76-a21c-48d9-bb73-1558a91b58d9 {
  margin-bottom: var(--space-2);
}

.zoca-dea7ebc0-69da-45a8-9f9a-04052974e7f4 {
  margin-bottom: var(--space-2);
}

.zoca-ac9b1fb9-2f3d-4932-8239-25be092fbed8 {
  margin-bottom: var(--space-2);
}

.zoca-15c649a0-f3a1-4d86-a7ad-fae5cadf6b8b {
  margin-bottom: var(--space-2);
}

.zoca-5c2b9fea-713c-4f38-82c0-aebb9e0950db {
  margin-bottom: var(--space-2);
}

.zoca-9b44ffa1-590a-4c73-8480-911b2f943b62 {
  margin-bottom: var(--space-2);
}

.zoca-fa231684-cd60-43f4-9a6c-752eda2d484b {
  margin-bottom: var(--space-2);
}

.zoca-55360f95-6b5b-413c-8519-1c7b4b29f39e {
  margin-bottom: var(--space-2);
}

.zoca-0dc60a4e-234e-4bc7-a4d3-a18148b4c4c7 {
  margin-bottom: var(--space-2);
}

.zoca-9203549f-4621-48ab-88c5-67e59a8e522b {
  margin-bottom: var(--space-2);
}

.zoca-177f15b0-9bdf-4b40-8173-271a415a4ce4 {
  margin-bottom: var(--space-2);
}

.zoca-9ab32bd6-4fea-4640-9a70-ae9a7abbfb63 {
  margin-bottom: var(--space-2);
}

.zoca-2e930bd6-3559-477c-8672-02a5bbccf654 {
  margin-bottom: var(--space-2);
}

.zoca-8c0bfdba-bac7-4d51-8cfd-414adfae2729 {
  margin-bottom: var(--space-2);
}

.zoca-1b72898b-bedf-4f39-8ad9-31bab9aef17a {
  margin-bottom: var(--space-2);
}

.zoca-1000f621-3989-4120-b405-08f0292ae83e {
  margin-bottom: var(--space-2);
}

.zoca-26f4f013-0e1f-47c2-a4b8-f559b9b57974 {
  margin-bottom: var(--space-2);
}

.zoca-b290bdec-e40f-4125-b515-f9ec99319e4a {
  margin-bottom: var(--space-2);
}

.zoca-13964ced-4d53-4a75-966f-902e2e0c856b {
  margin-bottom: var(--space-2);
}

.zoca-9a7da962-faa0-492d-a67d-8fbdeb572264 {
  margin-bottom: var(--space-2);
}

.zoca-c7ccad1e-45ca-4896-baeb-4b7a0bbe52d3 {
  margin-bottom: var(--space-2);
}

.zoca-8c186e91-42de-4a32-bc43-0c995a7f5e00 {
  margin-bottom: var(--space-2);
}

.zoca-5be4debb-ffb4-418b-86b8-2e86092249c3 {
  margin-bottom: var(--space-2);
}

.zoca-3e3767d4-3d31-4781-847e-633bf77a23fd {
  margin-bottom: var(--space-2);
}

.zoca-d5719808-ed88-40f7-8a03-51c23bed5b7f {
  scroll-margin-top: var(--header-height);
}

.zoca-a27fad45-0dae-4b5a-8123-29fda1cc8449 {
  padding-block: 1rem;
}

.zoca-39827ec0-0541-4e77-a6d9-ed55f00b1d5e {
  margin-bottom: var(--space-6);
}

@media (max-width: 768px) {
  .zoca-39827ec0-0541-4e77-a6d9-ed55f00b1d5e {
    font-size: var(--text-2-xl);
  margin-bottom: var(--space-4);
  }
}

.zoca-1e073a75-f6ec-47f3-9ac4-7570a280bc98 {
  display: none;
}

.zoca-2a47ed36-fa1a-48fc-a99a-f7445d8a9605 {
  gap: var(--space-4);
  display: flex;
  flex-direction: column;
}

.zoca-a79356b2-d34d-41a1-beb4-1e26db63db22 {
  margin-bottom: var(--space-2);
}

.zoca-d54da949-620b-4aec-8d9a-68eea0a52ccd {
  margin-bottom: var(--space-2);
}

.zoca-ab2a8422-03ad-4762-b9d2-ac8a0758e6fa {
  margin-bottom: var(--space-2);
}

.zoca-d43bd1f4-bdff-4e66-bb82-8fda1aa966e5 {
  margin-bottom: var(--space-2);
}

.zoca-0f37e60a-44aa-46dc-a38f-cb17d53d287f {
  margin-bottom: var(--space-2);
}

.zoca-b1a22e61-cd8f-406a-acd4-397f12897352 {
  margin-bottom: var(--space-2);
}

.zoca-5a862098-371b-4ce8-b9ad-87355847c4ef {
  margin-bottom: var(--space-2);
}

.zoca-35a96b10-0e7f-48c6-999c-302c866185a5 {
  margin-bottom: var(--space-2);
}

.zoca-999b2a40-f74f-4610-b5b0-c2f0c9447001 {
  margin-bottom: var(--space-2);
}

.zoca-73bdac50-7d77-42ff-a01b-932da97caa13 {
  margin-bottom: var(--space-2);
}

.zoca-79cc3a8a-697e-4fb2-9108-d1f6d0da2d58 {
  margin-bottom: var(--space-2);
}

.zoca-24737e3c-4181-4f3b-89c7-6c0e0fc796a2 {
  margin-bottom: var(--space-2);
}

.zoca-99055551-37e0-4cfc-9ed3-7953b2faf1ed {
  margin-bottom: var(--space-2);
}

.zoca-4c0188ae-0b93-472e-9603-e55bbcbbfd9e {
  margin-bottom: var(--space-2);
}

.zoca-79f7c1f8-5944-419c-af11-7b343c19b54a {
  margin-bottom: var(--space-2);
}

.zoca-121bfce6-0e23-4f08-828b-c6c0d4371f7d {
  margin-bottom: var(--space-2);
}

.zoca-3901ef8c-6d0f-49f9-b4b8-2befabe4791e {
  margin-bottom: var(--space-2);
}

.zoca-cfdf9bfb-271e-4cc8-9ab7-72724e806fd8 {
  margin-bottom: var(--space-2);
}

.zoca-436143ea-19a6-4c00-8871-7e4ed6907f6f {
  margin-bottom: var(--space-2);
}

.zoca-223f137e-c3e0-488a-824b-0d4a830cdbb8 {
  margin-bottom: var(--space-2);
}

.zoca-726b3e37-c6bc-4784-abbc-8d44410a9071 {
  margin-bottom: var(--space-2);
}

.zoca-45ebb5d2-47fd-4372-969d-c07e7ea94053 {
  margin-bottom: var(--space-2);
}

.zoca-d7f9a654-383d-46af-b2ae-6b495404b1f8 {
  margin-bottom: var(--space-2);
}

.zoca-edc271e9-00bd-419d-8d99-20aab440b143 {
  margin-bottom: var(--space-2);
}

.zoca-65949c1c-9117-44ae-a41f-99e84878fa7e {
  margin-bottom: var(--space-2);
}

.zoca-82f3f6d7-7efb-4317-8d31-7d9c94a8b8a4 {
  margin-bottom: var(--space-2);
}

.zoca-b95633d1-a5a3-46ce-a548-af58e740c37d {
  margin-bottom: var(--space-2);
}

.zoca-39ce2558-6fbe-4b9a-860a-f297b8282e9e {
  margin-bottom: var(--space-2);
}

.zoca-456a6079-f39f-44ed-afd8-432377651aeb {
  margin-bottom: var(--space-2);
}

.zoca-28665710-e12f-4bd4-b6b5-c78bd81b3373 {
  margin-bottom: var(--space-2);
}

.zoca-4ee668d6-87c3-478c-994a-924faf4a9536 {
  margin-bottom: var(--space-2);
}

.zoca-01d984ad-f19e-4091-aa26-90baa18c4ba6 {
  margin-bottom: var(--space-2);
}

.zoca-29a76e21-01f4-4210-afb0-45b9c2fa1591 {
  margin-bottom: var(--space-2);
}

.zoca-523e8c9a-35f2-473c-bf34-1124786338af {
  margin-bottom: var(--space-2);
}

.zoca-da606fae-cf8f-4569-a3de-2fc8120fa7b1 {
  margin-bottom: var(--space-2);
}

.zoca-48c79a9f-52c9-4e1c-8109-7815ea74c9f1 {
  margin-bottom: var(--space-2);
}

.zoca-acead579-9989-453f-af66-c624358a139a {
  margin-bottom: var(--space-2);
}

.zoca-a32e6c60-72cb-4cf2-b010-f313f6cfa514 {
  margin-bottom: var(--space-2);
}

.zoca-16b6d941-cd33-4094-a16b-563c6443a3ea {
  margin-bottom: var(--space-2);
}

.zoca-efceb373-5665-469e-ac37-fa982bbeb747 {
  margin-bottom: var(--space-2);
}

.zoca-7e1f0ac4-a1a5-4019-9afe-ce7b70e15231 {
  margin-bottom: var(--space-2);
}

.zoca-a33dbb48-129c-42ec-bcd9-9b0a94ed9b0e {
  margin-bottom: var(--space-2);
}

.zoca-86153b2b-b219-43c1-9d83-697ab7a614da {
  margin-bottom: var(--space-2);
}

.zoca-3033a6a3-85cb-4615-8e15-435902651186 {
  margin-bottom: var(--space-2);
}

.zoca-939b8b64-73f3-46a9-85d8-a049691d2868 {
  margin-bottom: var(--space-2);
}

.zoca-2b5f8006-4632-43e8-bcdf-c95d84b38b9e {
  margin-bottom: var(--space-2);
}

.zoca-5898e17d-db4e-4fc0-96bc-cb9912a56802 {
  margin-bottom: var(--space-2);
}

.zoca-7d915438-7a76-49ec-bde7-79fa88dc9f52 {
  margin-bottom: var(--space-2);
}

.zoca-061f9078-6466-4a11-9c20-de703336dbd5 {
  margin-bottom: var(--space-2);
}

.zoca-2ed71dbf-f12f-4b0a-9530-112328dea540 {
  margin-bottom: var(--space-2);
}

.zoca-333715cb-a48e-498d-8700-65425a5e58f6 {
  margin-bottom: var(--space-2);
}

.zoca-4b55ac09-4784-4a91-8ca5-5fb73e9f7a85 {
  margin-bottom: var(--space-2);
}

.zoca-ce9631c7-0962-4770-9261-a96477df72c8 {
  margin-bottom: var(--space-2);
}

.zoca-4366c92a-5fc8-4c11-bd1f-e65221c0290c {
  margin-bottom: var(--space-2);
}

.zoca-085998ae-56ed-42ab-902c-b17fb554475f {
  margin-bottom: var(--space-2);
}

.zoca-5a776f94-643e-4096-9280-30c0878f464a {
  margin-bottom: var(--space-2);
}

.zoca-1036b3f1-c470-4d99-9bef-6de82387dd26 {
  margin-bottom: var(--space-2);
}

.zoca-f33cc409-a0ee-4388-969c-b3073e1a4a7b {
  margin-bottom: var(--space-2);
}

.zoca-a1616578-8353-491c-85fd-339aaa533074 {
  margin-bottom: var(--space-2);
}

.zoca-cd279f8e-10c9-4647-bf2c-fd2ca8080e59 {
  margin-bottom: var(--space-2);
}

.zoca-f50ce7eb-45c0-43b3-ba7f-5d00489c9ad2 {
  margin-bottom: var(--space-2);
}

.zoca-f4c29b3e-1ed8-44f9-97e1-42e0d813d956 {
  margin-bottom: var(--space-2);
}

.zoca-9f2e1ee8-88da-450f-8f80-75aab2b577eb {
  margin-bottom: var(--space-2);
}

.zoca-a1eef71c-a894-4589-ba99-c789045d5bbd {
  margin-bottom: var(--space-2);
}

.zoca-fcb660e1-c7d3-423e-bd75-da179e7065aa {
  margin-bottom: var(--space-2);
}

.zoca-158eab21-cdb1-4965-9b28-136508b62ae2 {
  margin-bottom: var(--space-2);
}

.zoca-3621ff1c-4595-4e50-a41a-c870936dffd0 {
  margin-bottom: var(--space-2);
}

.zoca-f0c37b2b-92b2-4496-be14-ea7f278f4164 {
  margin-bottom: var(--space-2);
}

.zoca-7bef41c7-e2df-47d4-b760-cda9a1bda82a {
  margin-bottom: var(--space-2);
}

.zoca-bd4889d4-b1dc-4b3b-b84a-f3ddb56750d9 {
  margin-bottom: var(--space-2);
}

.zoca-518b071d-8bab-4ff0-a909-d0f063d34970 {
  margin-bottom: var(--space-2);
}

.zoca-87622360-7fed-47df-af29-eb5925e91b3d {
  margin-bottom: var(--space-2);
}

.zoca-df0391b5-1d25-4d3c-b18e-8f031c40ba53 {
  margin-bottom: var(--space-2);
}

.zoca-1a97a03b-7165-40c1-b05e-ff3b38e10da0 {
  margin-bottom: var(--space-2);
}

.zoca-ace389bf-87ae-44e3-ab99-09f9fec3a9e4 {
  margin-bottom: var(--space-2);
}

.zoca-acba7136-ce43-4e0a-acd8-5cfc064052ce {
  margin-bottom: var(--space-2);
}

.zoca-21d3f851-c8e6-409d-977a-4f8fea873b3b {
  margin-bottom: var(--space-2);
}

.zoca-61cc085f-af66-4eef-93cf-09949d1dc725 {
  margin-bottom: var(--space-2);
}

.zoca-4a49091e-03fd-44b8-a4b4-52213ef007fe {
  margin-bottom: var(--space-2);
}

.zoca-9c0e562e-0779-4b5c-a620-c3f06460a261 {
  margin-bottom: var(--space-2);
}

.zoca-e58c425b-4e3c-405d-9eeb-cab0a24c52b9 {
  margin-bottom: var(--space-2);
}

.zoca-1f039b23-9892-40b4-a928-626ddc2daf0a {
  margin-bottom: var(--space-2);
}

.zoca-902cb8e8-6043-4c85-a421-aa966cf0965d {
  margin-bottom: var(--space-2);
}

.zoca-d445f283-c40a-4732-b034-465e396ab5b6 {
  margin-bottom: var(--space-2);
}

.zoca-81435742-45a4-4432-9652-340b141c8a5f {
  margin-bottom: var(--space-2);
}

.zoca-bc9fbc21-bb3e-4f97-89da-f86c0ef81de0 {
  margin-bottom: var(--space-2);
}

.zoca-6af5ab0d-bbfc-4880-a7aa-d7ef669c07cc {
  margin-bottom: var(--space-2);
}

.zoca-e2d67640-a8c9-43c4-8b0a-2e5c3d68198e {
  margin-bottom: var(--space-2);
}

.zoca-b4f22aec-85ae-438c-aff5-2e3ebde2e9dd {
  margin-bottom: var(--space-2);
}

.zoca-e1fa6b6b-ae9a-4f95-bbef-a75595c4ef93 {
  margin-bottom: var(--space-2);
}

.zoca-3c20ffd7-0734-493d-8080-f631bba05153 {
  margin-bottom: var(--space-2);
}

.zoca-53f2880d-67ae-43f3-ba87-3bfb8e20b61b {
  margin-bottom: var(--space-2);
}

.zoca-dbeca3a9-9139-4928-969f-a85234ee2ca8 {
  margin-bottom: var(--space-2);
}

.zoca-20eca42a-117f-4c87-bfa5-2fc9c5033c75 {
  margin-bottom: var(--space-2);
}

.zoca-d378bfae-9182-48a3-a2de-e1baf3bed24a {
  margin-bottom: var(--space-2);
}

.zoca-9321a383-585f-47fb-9e93-91e036598e17 {
  margin-bottom: var(--space-2);
}

.zoca-44ff624f-b3bc-4f75-97d1-fab8501d9169 {
  margin-bottom: var(--space-2);
}

.zoca-f6789c52-5d5c-4e7d-aa74-f32b876fa32b {
  margin-bottom: var(--space-2);
}

.zoca-3eac2817-91fe-4e17-adb7-d755faecfc3a {
  margin-bottom: var(--space-2);
}

.zoca-85493f01-6b4b-4d2f-9886-15bec3bb62e2 {
  margin-bottom: var(--space-2);
}

.zoca-41d2f93f-9ba8-4f6a-a265-6b8102c7313e {
  margin-bottom: var(--space-2);
}

.zoca-40627d68-571c-4cf6-8ebf-5beab07774c8 {
  margin-bottom: var(--space-2);
}

.zoca-11665c24-1f8b-4ac0-8ec2-aea98b727db9 {
  margin-bottom: var(--space-2);
}

.zoca-aad357bd-b9ee-4e98-88ac-4f9f2e0991ea {
  margin-bottom: var(--space-2);
}

.zoca-c3ea0aec-bf4d-4cd3-99c1-a5962db959ae {
  margin-bottom: var(--space-2);
}

.zoca-638d25a7-0572-47ec-99a1-24dd5f1f866f {
  margin-bottom: var(--space-2);
}

.zoca-d4231eb0-90c6-4bb6-9727-ac89e0b8055e {
  margin-bottom: var(--space-2);
}

.zoca-b349a01d-ca15-4106-8043-f90b6d667e30 {
  margin-bottom: var(--space-2);
}

.zoca-6980b8a0-bd74-47ac-86fd-302b5f1f066c {
  margin-bottom: var(--space-2);
}

.zoca-6ecc8337-60d2-45e5-b29a-850b8fe8db70 {
  margin-bottom: var(--space-2);
}

.zoca-f050ecf3-af91-4bfd-b929-271047d1b08c {
  margin-bottom: var(--space-2);
}

.zoca-96ab22d6-5bae-4cab-8002-dafc58d2f854 {
  margin-bottom: var(--space-2);
}

.zoca-6d789917-543d-4bdf-8b21-5ec33ee97d2a {
  margin-bottom: var(--space-2);
}

.zoca-35b70f58-4892-49fb-9453-fc590f28f3b1 {
  margin-bottom: var(--space-2);
}

.zoca-402a2503-dfe4-4b08-9442-d38042900fbc {
  margin-bottom: var(--space-2);
}

.zoca-ebe7ee4a-bf6b-4d17-bf64-c8c3ae997319 {
  margin-bottom: var(--space-2);
}

.zoca-c3e10f0d-6b7e-49e5-aaeb-9b8fb009ec5e {
  margin-bottom: var(--space-2);
}

.zoca-da29c5d5-be97-41d4-a012-f3669c47dbc7 {
  margin-bottom: var(--space-2);
}

.zoca-60dcbf2a-5769-4eb8-83f5-59a053ff8225 {
  margin-bottom: var(--space-2);
}

.zoca-5d454e33-0f44-443f-b84b-b5784fe90ebb {
  margin-bottom: var(--space-2);
}

.zoca-e87c1771-22aa-4c25-8dac-e1b326f1e512 {
  margin-bottom: var(--space-2);
}

.zoca-675d0431-d12b-4403-8fa0-67a29010f977 {
  margin-bottom: var(--space-2);
}

.zoca-4a472fd7-647f-4554-8b67-7cdcdbc00f4f {
  margin-bottom: var(--space-2);
}

.zoca-265e3424-6bbe-4f94-a2e7-2819780bdcec {
  margin-bottom: var(--space-2);
}

.zoca-bdc57d1b-94d9-4b24-a2f1-adf54e84014d {
  margin-bottom: var(--space-2);
}

.zoca-0fedcf40-e8b5-4499-b276-c56a3ca9d973 {
  margin-bottom: var(--space-2);
}

.zoca-10b21a88-8a12-4031-aeef-89901c9066e3 {
  margin-bottom: var(--space-2);
}

.zoca-9fa20849-52e2-4498-bc6f-c384fd5dba88 {
  margin-bottom: var(--space-2);
}

.zoca-24fa073e-98c3-43e4-90dd-138b5cb8ff1a {
  margin-bottom: var(--space-2);
}

.zoca-efcd1b02-bbab-4fcc-af35-6f33fa4856a7 {
  margin-bottom: var(--space-2);
}

.zoca-53deb7bd-6c7c-4d9c-b311-c205411e429e {
  margin-bottom: var(--space-2);
}

.zoca-591f8c2f-9fe7-4ee1-ab87-d66114b4c373 {
  margin-bottom: var(--space-2);
}

.zoca-d61bec89-0dbd-45a7-ac87-979f97e764b6 {
  scroll-margin-top: var(--header-height);
}

.zoca-7e003896-3342-4d1a-ba3f-3ddc029f428c {
  padding-block: 1rem;
}

.zoca-a55ab97f-f7d6-4340-a5aa-fe2c1427a53a {
  margin-bottom: var(--space-6);
}

@media (max-width: 768px) {
  .zoca-a55ab97f-f7d6-4340-a5aa-fe2c1427a53a {
    font-size: var(--text-2-xl);
  margin-bottom: var(--space-4);
  }
}

.zoca-e6c0c326-77ca-4921-8dba-2108e8137c40 {
  display: none;
}

.zoca-13e90d63-9faa-4aa8-9c2b-57dc24bd4d37 {
  gap: var(--space-4);
  display: flex;
  flex-direction: column;
}

.zoca-c9fb6f84-b978-4433-aa24-2326ee86d805 {
  margin-bottom: var(--space-2);
}

.zoca-3f7469ff-93e3-4ee0-bd2a-03f669c88dd5 {
  margin-bottom: var(--space-2);
}

.zoca-601a0173-1fbf-49cc-afbf-73edca423aa1 {
  margin-bottom: var(--space-2);
}

.zoca-8f890364-5f52-408c-994a-63e678616e76 {
  margin-bottom: var(--space-2);
}

.zoca-4809d2d5-7959-44b1-bfff-0919e16421ca {
  margin-bottom: var(--space-2);
}

.zoca-69551c30-e145-418a-91fd-9a604724e78a {
  margin-bottom: var(--space-2);
}

.zoca-1d361019-6329-49e7-8bd8-1e8039dd8343 {
  margin-bottom: var(--space-2);
}

.zoca-804a5c3d-331b-479c-87a3-1ee143acf24b {
  margin-bottom: var(--space-2);
}

.zoca-f4be2e9c-3bc9-49e5-a325-a748acbdad20 {
  margin-bottom: var(--space-2);
}

.zoca-ef099b17-2532-4678-a5b2-773ede15bf5a {
  margin-bottom: var(--space-2);
}

.zoca-d4bc63c2-4930-4b14-8be5-3b9f7acc7075 {
  margin-bottom: var(--space-2);
}

.zoca-dbe71296-8a24-4151-ab46-76a0ba683baa {
  margin-bottom: var(--space-2);
}

.zoca-60bc842e-2101-4b3b-8ff0-4b2f68d44a34 {
  margin-bottom: var(--space-2);
}

.zoca-e889afd8-1229-446b-9c65-f883e61f10f6 {
  margin-bottom: var(--space-2);
}

.zoca-80896757-575b-4ff3-b42d-7d9d2320ef0c {
  margin-bottom: var(--space-2);
}

.zoca-fc63cfe8-efa9-4a8c-bdd7-df2b1cadf3b8 {
  margin-bottom: var(--space-2);
}

.zoca-1d04eecb-025a-4518-9a04-0f539cdfbd08 {
  margin-bottom: var(--space-2);
}

.zoca-9cd25c3c-45ac-470a-a541-d31b86c4967c {
  margin-bottom: var(--space-2);
}

.zoca-ec68a66e-0125-4f79-9732-d08b87c932cc {
  margin-bottom: var(--space-2);
}

.zoca-244f9fd5-d837-421a-ab10-058792658ec3 {
  margin-bottom: var(--space-2);
}

.zoca-694d8586-61a1-40b1-9c1a-f51f4e52e7f3 {
  margin-bottom: var(--space-2);
}

.zoca-9069918c-3fa4-4c62-970a-1040f37e85d7 {
  margin-bottom: var(--space-2);
}

.zoca-f993a990-d5df-437b-b94f-dba336be4046 {
  margin-bottom: var(--space-2);
}

.zoca-b4459b08-4a56-4a24-a742-892ca6e9419e {
  margin-bottom: var(--space-2);
}

.zoca-5f8d6c51-cb22-4995-ab47-e8cb7ea8c323 {
  margin-bottom: var(--space-2);
}

.zoca-9686e53c-8d9a-42e3-bb4d-4b0e8ef03b42 {
  margin-bottom: var(--space-2);
}

.zoca-1cbbd05b-51ca-4cc3-80e7-c35e442d83c4 {
  margin-bottom: var(--space-2);
}

.zoca-15c81e0e-4914-4451-9276-fff46bb5ac1d {
  margin-bottom: var(--space-2);
}

.zoca-1d6adce9-2925-420f-88cf-bd2dff258789 {
  margin-bottom: var(--space-2);
}

.zoca-046d9f87-26e5-4194-b798-9360057234c8 {
  margin-bottom: var(--space-2);
}

.zoca-8de254a7-bef9-4152-bc72-69e62d8299a8 {
  margin-bottom: var(--space-2);
}

.zoca-573e81aa-3dbb-41f7-b5a3-7ee9e805bf00 {
  margin-bottom: var(--space-2);
}

.zoca-fd89539f-2454-4c02-a591-a81ddac15b72 {
  margin-bottom: var(--space-2);
}

.zoca-c9c0b869-4d05-4d7c-905e-24ef4f19ac9b {
  margin-bottom: var(--space-2);
}

.zoca-c3fb0b83-0e84-4019-9e99-fb285e06e42e {
  margin-bottom: var(--space-2);
}

.zoca-e7d81358-37eb-4377-a2d0-31bc163c821d {
  margin-bottom: var(--space-2);
}

.zoca-0d6f2de9-f691-434e-813c-c51c59bd52ae {
  scroll-margin-top: var(--header-height);
}

.zoca-2964326f-1be1-4e6d-9911-9e2c887aacdc {
  padding-block: 1rem;
}

.zoca-4618dc8c-18f5-434f-9d30-6aa3c1a3711e {
  margin-bottom: var(--space-6);
}

@media (max-width: 768px) {
  .zoca-4618dc8c-18f5-434f-9d30-6aa3c1a3711e {
    font-size: var(--text-2-xl);
  margin-bottom: var(--space-4);
  }
}

.zoca-171b376d-a15f-4221-bd5b-04a23e6ef1a1 {
  display: none;
}

.zoca-c254f758-635e-414f-b61d-61b79e741d95 {
  gap: var(--space-4);
  display: flex;
  flex-direction: column;
}

.zoca-e0bde5f7-870a-43c2-b4f7-14e09b3db557 {
  margin-bottom: var(--space-2);
}

.zoca-a510eb60-d0b7-4a46-82e4-eb18b50eefe0 {
  margin-bottom: var(--space-2);
}

.zoca-c429c862-fa80-46ae-bb14-6e4117c8b03a {
  scroll-margin-top: var(--header-height);
}

.zoca-e8ebc325-a449-4396-bc3c-9b98f75b38d6 {
  padding-block: 1rem;
}

.zoca-e5553291-36d0-4de5-921d-7084e6b1d870 {
  margin-bottom: var(--space-6);
}

@media (max-width: 768px) {
  .zoca-e5553291-36d0-4de5-921d-7084e6b1d870 {
    font-size: var(--text-2-xl);
  margin-bottom: var(--space-4);
  }
}

.zoca-0d22127f-ea38-45a9-8652-368c7286f166 {
  display: none;
}

.zoca-6919d60b-3ecd-4aea-977f-4a71510fdbe1 {
  gap: var(--space-4);
  display: flex;
  flex-direction: column;
}

.zoca-eb86616c-bcab-4725-8a75-4106d71dad36 {
  margin-bottom: var(--space-2);
}

.zoca-71a824d3-978d-4419-857a-ffd0341e2931 {
  margin-bottom: var(--space-2);
}

.zoca-cd157e32-3e90-409d-83bd-a3b4ce3f2c70 {
  margin-bottom: var(--space-2);
}

.zoca-ce12df63-05dc-4874-80de-c51f6c133d30 {
  margin-bottom: var(--space-2);
}

.zoca-853c0e9d-2778-42c3-a4e4-cda7dd98d2aa {
  margin-bottom: var(--space-2);
}

.zoca-5963ff52-cf42-4041-baaa-f3489ad86dbf {
  margin-bottom: var(--space-2);
}

.zoca-37a612f3-7bc7-43fb-b8de-6d241e90da0a {
  margin-bottom: var(--space-2);
}

.zoca-65ae724b-9581-4df6-a87e-d82736919086 {
  margin-bottom: var(--space-2);
}

.zoca-844f9c6a-7904-4dae-be76-4ebba91fdb17 {
  margin-bottom: var(--space-2);
}

.zoca-2a0cb082-0791-4d82-b3cb-e554152ec5c4 {
  margin-bottom: var(--space-2);
}

.zoca-94ae9bb6-90da-4609-8767-97b1b5debf6c {
  margin-bottom: var(--space-2);
}

.zoca-fa6c7e84-2729-472e-a843-315e42ae8d58 {
  margin-bottom: var(--space-2);
}

.zoca-91c9be9d-5845-43fd-aff8-431cf861ce6d {
  margin-bottom: var(--space-2);
}

.zoca-5087f291-0012-45ff-8197-7ee75c93463f {
  margin-bottom: var(--space-2);
}

.zoca-483346cc-c577-479b-a179-a93427894304 {
  margin-bottom: var(--space-2);
}

.zoca-974c278f-8258-470b-bfb8-2f51c9aeca79 {
  margin-bottom: var(--space-2);
}

.zoca-aee3e844-9f93-4c0c-8eba-844caaa14dc6 {
  margin-bottom: var(--space-2);
}

.zoca-1379fbd6-7f8e-4274-bddd-18dbab48d07f {
  margin-bottom: var(--space-2);
}

.zoca-56972634-f650-4368-af08-0bfd6d4db03f {
  margin-bottom: var(--space-2);
}

.zoca-2715d951-c825-4e76-885c-152bf6024979 {
  margin-bottom: var(--space-2);
}

.zoca-c8eeecd3-e214-4062-820b-6ab2eb6ca442 {
  margin-bottom: var(--space-2);
}

.zoca-9e8ced02-5644-466a-b593-e2780cb00e95 {
  margin-bottom: var(--space-2);
}

.zoca-0d411389-5e96-46b3-95aa-5c4a31f11650 {
  margin-bottom: var(--space-2);
}

.zoca-424aa19c-0829-450a-85c7-d4cb3b9d60e5 {
  margin-bottom: var(--space-2);
}

.zoca-805835f9-4cba-488e-9d5a-f049dd1dc0a9 {
  margin-bottom: var(--space-2);
}

.zoca-7cb6cc26-5055-4345-bf9d-bcabc903c1af {
  margin-bottom: var(--space-2);
}

.zoca-a9063ea8-f319-40d7-9f82-5860af45516d {
  margin-bottom: var(--space-2);
}

.zoca-3e4e6c0e-808f-40de-a324-00b7a02b36a0 {
  margin-bottom: var(--space-2);
}

.zoca-2003f05f-e742-40e6-bd3e-6201a8f7ee1b {
  margin-bottom: var(--space-2);
}

.zoca-d5faa5c5-215e-4523-adc9-50656f39a44e {
  margin-bottom: var(--space-2);
}

.zoca-67fea75c-a890-41d8-a6e4-c36a611291e0 {
  margin-bottom: var(--space-2);
}

.zoca-d067eab0-724d-4664-959c-3620335e43f4 {
  margin-bottom: var(--space-2);
}

.zoca-908a97bc-b6cf-4cdf-8537-7f513109f799 {
  margin-bottom: var(--space-2);
}

.zoca-50b604ec-d8f6-47cb-8277-f932208ab81f {
  margin-bottom: var(--space-2);
}

.zoca-80c9b457-6421-42a1-9274-bd292041c270 {
  margin-bottom: var(--space-2);
}

.zoca-68083e55-c720-406a-982f-ce07b8205550 {
  margin-bottom: var(--space-2);
}

.zoca-03a0bc6c-b332-4c87-9267-cf00dc4ae313 {
  margin-bottom: var(--space-2);
}

.zoca-27541e10-eecd-4a1b-bc4a-4f0239e7e5b7 {
  margin-bottom: var(--space-2);
}

.zoca-243460e0-dcc6-42e9-a5b1-dff40045c4d1 {
  margin-bottom: var(--space-2);
}

.zoca-ce7fdba8-5e82-45d5-9b17-0218a4b69b8c {
  margin-bottom: var(--space-2);
}

.zoca-9f9dffaa-d99d-452c-9ce0-f4d93d13fb97 {
  margin-bottom: var(--space-2);
}

.zoca-7e0856c9-e64b-4226-be7c-f04b32e21d9d {
  margin-bottom: var(--space-2);
}

.zoca-7ba3ca1b-85e7-45cd-9f6e-7aaf29f9d61d {
  margin-bottom: var(--space-2);
}

.zoca-b120e45b-697b-4dc2-9da6-661d7dd003d8 {
  margin-bottom: var(--space-2);
}

.zoca-310133c5-777d-4202-8cca-32acb6714c9e {
  margin-bottom: var(--space-2);
}

.zoca-8ce37c8d-116b-4646-8508-0f803e2fe2ba {
  margin-bottom: var(--space-2);
}

.zoca-b7757afc-7a28-4aa6-95c8-4ddf5f61fe63 {
  margin-bottom: var(--space-2);
}

.zoca-12aaffb6-1e85-4a1b-9480-eb5dbe1be28a {
  margin-bottom: var(--space-2);
}

.zoca-eb60d80a-3330-4769-81e0-5ad2b05722bc {
  margin-bottom: var(--space-2);
}

.zoca-fd9482ae-489d-484d-ad2e-bca0d21e82e1 {
  margin-bottom: var(--space-2);
}

.zoca-08bc43d8-7bf0-4239-ab40-92cb878f630e {
  margin-bottom: var(--space-2);
}

.zoca-d47bfedd-b65a-4343-868b-f73dbc0108e1 {
  margin-bottom: var(--space-2);
}

.zoca-376e11d8-e9f3-4756-aaf1-5fc63c87c395 {
  margin-bottom: var(--space-2);
}

.zoca-288d7850-6bc1-4459-8836-65f1e2c4aa20 {
  margin-bottom: var(--space-2);
}

.zoca-4b67d0c4-c11f-4830-b3a1-4a2a89a22938 {
  margin-bottom: var(--space-2);
}

.zoca-271a4749-29d5-49eb-beb2-6cb179bbb414 {
  margin-bottom: var(--space-2);
}

.zoca-a02f3b3c-ed09-44e0-971b-7cb4ad0f5780 {
  margin-bottom: var(--space-2);
}

.zoca-5d5018b4-5c9d-4dab-999f-79a397519f06 {
  margin-bottom: var(--space-2);
}

.zoca-653cae56-f4d9-4f60-86db-5d09cb373a2d {
  margin-bottom: var(--space-2);
}

.zoca-c32cc1a5-3fd2-4f4d-9218-72fef4be0010 {
  margin-bottom: var(--space-2);
}

.zoca-ccd58b47-1165-4010-89e5-3f05fb19d928 {
  margin-bottom: var(--space-2);
}

.zoca-e6de528d-d315-49e0-9ab3-e428b2d7a714 {
  margin-bottom: var(--space-2);
}

.zoca-0130d33a-581a-4b65-b602-864dbbe64a3b {
  margin-bottom: var(--space-2);
}

.zoca-53203401-7063-42ce-ba03-885906135e2e {
  margin-bottom: var(--space-2);
}

.zoca-d909743e-f2af-4925-b7c7-4ba1d9883e69 {
  margin-bottom: var(--space-2);
}

.zoca-844519d6-accc-41ad-877b-0d765cb5b857 {
  margin-bottom: var(--space-2);
}

.zoca-17c150de-bd09-4e7a-96d3-930099a44653 {
  margin-bottom: var(--space-2);
}

.zoca-48ddb402-611e-47b3-8d4f-76a43ce0181e {
  margin-bottom: var(--space-2);
}

.zoca-0d14810f-cb79-4e3d-8ec4-54187b8cc001 {
  margin-bottom: var(--space-2);
}

.zoca-1cc85fee-95a1-487d-8591-5bac92922706 {
  margin-bottom: var(--space-2);
}

.zoca-405fb38d-2c34-4464-83fc-456cce57029a {
  margin-bottom: var(--space-2);
}

.zoca-8f4bc99b-62ff-41e6-8874-a8e5d9899469 {
  margin-bottom: var(--space-2);
}

.zoca-b7086a50-c709-4dc0-8dce-f2b3c2a75704 {
  margin-bottom: var(--space-2);
}

.zoca-f424efdd-e00c-4b94-8e95-56f6a8516b22 {
  margin-bottom: var(--space-2);
}

.zoca-3f2fcaf7-18d4-4c65-a0b0-515dd15871ea {
  margin-bottom: var(--space-2);
}

.zoca-87a7a74d-2345-4a95-a4b7-3f739cc9ebe9 {
  margin-bottom: var(--space-2);
}

.zoca-25e950f5-9e6c-4c55-8618-a589ac3e62b9 {
  margin-bottom: var(--space-2);
}

.zoca-06176462-e4e4-43c6-9b86-586aeef65221 {
  margin-bottom: var(--space-2);
}

.zoca-175cf025-73b3-4a42-8bc3-8cce3e37ce04 {
  margin-bottom: var(--space-2);
}

.zoca-2597ed0c-79e3-404a-85c0-a546c8edfc6b {
  margin-bottom: var(--space-2);
}

.zoca-3286605f-0477-4175-aa78-8d3d8614a43b {
  margin-bottom: var(--space-2);
}

.zoca-10426d45-a7e8-4223-9d48-e370d525268b {
  margin-bottom: var(--space-2);
}

.zoca-af542d27-9a38-476a-aae4-31a761abac05 {
  margin-bottom: var(--space-2);
}

.zoca-5d2d9164-7e73-4045-b6d4-78b62f0cb6f4 {
  margin-bottom: var(--space-2);
}

.zoca-4162f2da-96fa-4a74-81ec-c9495272635b {
  margin-bottom: var(--space-2);
}

.zoca-e57b3123-d2ff-4725-a6f4-726873337b90 {
  margin-bottom: var(--space-2);
}

.zoca-4969a7dc-f95e-40a8-88c4-131b9725c795 {
  margin-bottom: var(--space-2);
}

.zoca-cb73d6a7-da5f-4ea6-8b01-2465e75e4201 {
  margin-bottom: var(--space-2);
}

.zoca-9cbbb79c-fa03-42e8-bc71-7fa975407c95 {
  margin-bottom: var(--space-2);
}

.zoca-acc3ba14-93fa-4354-8f32-f8e57f64180d {
  margin-bottom: var(--space-2);
}

.zoca-5c115c84-794c-4ae5-9de1-bbb74e1a4a4f {
  margin-bottom: var(--space-2);
}

.zoca-c38a54ef-7c9b-4d5d-803d-c444bd8b9754 {
  margin-bottom: var(--space-2);
}

.zoca-7c53a659-45e0-43e1-ada6-38d49b777d04 {
  margin-bottom: var(--space-2);
}

.zoca-7ae53674-37b6-40fb-b6e3-02b41e2d9098 {
  scroll-margin-top: var(--header-height);
}

.zoca-ab1f67e8-d80f-4286-a58d-b0ad2819f81c {
  padding-block: 1rem;
}

.zoca-01cb952c-4cef-458b-a4d9-c5bc88b30ec9 {
  margin-bottom: var(--space-6);
}

@media (max-width: 768px) {
  .zoca-01cb952c-4cef-458b-a4d9-c5bc88b30ec9 {
    font-size: var(--text-2-xl);
  margin-bottom: var(--space-4);
  }
}

.zoca-ca535bd9-8253-4c04-9d57-3ed58152b12d {
  display: none;
}

.zoca-f309c274-5a66-476f-879f-d0bfe6fe58ed {
  gap: var(--space-4);
  display: flex;
  flex-direction: column;
}

.zoca-a172aba2-bdd6-42b0-9fc6-ae3078b3fc06 {
  margin-bottom: var(--space-2);
}

.zoca-87ad0ee4-87b6-4bf3-8b61-2ad1695505e0 {
  margin-bottom: var(--space-2);
}

.zoca-5c0ea9c1-ba83-4121-986c-2ffc288e407e {
  margin-bottom: var(--space-2);
}

.zoca-1a02df92-8cba-4cf8-a4b5-f9f538d65523 {
  scroll-margin-top: var(--header-height);
}

.zoca-b6d03d48-ed86-41c4-87c3-83be4ca66a71 {
  padding-block: 1rem;
}

.zoca-6c04c7a6-3127-48ad-9b41-428520fb107b {
  margin-bottom: var(--space-6);
}

@media (max-width: 768px) {
  .zoca-6c04c7a6-3127-48ad-9b41-428520fb107b {
    font-size: var(--text-2-xl);
  margin-bottom: var(--space-4);
  }
}

.zoca-ece47e18-87ee-428c-812f-95dd78657c5f {
  display: none;
}

.zoca-b44d06cb-d9d3-4a13-9e03-7827babd0c3f {
  gap: var(--space-4);
  display: flex;
  flex-direction: column;
}

.zoca-cb872e5e-cb90-4c9e-97b9-6e803e9a61b5 {
  margin-bottom: var(--space-2);
}

.zoca-2a4afcee-829a-4c46-93f4-8999a7cc9a40 {
  margin-bottom: var(--space-2);
}

.zoca-e822496d-c96d-4d5e-a001-6a7a6ea8d5b2 {
  margin-bottom: var(--space-2);
}

.zoca-dbac7dd1-adff-4830-a628-b92216dd77ea {
  margin-bottom: var(--space-2);
}

.zoca-139ff825-b72b-474d-91f1-4c4f93c238d5 {
  margin-bottom: var(--space-2);
}

.zoca-b8bbf9bc-0348-48dd-b94a-77fddfbec618 {
  margin-bottom: var(--space-2);
}

.zoca-c77062fc-6693-4680-88aa-f3285fc9978e {
  margin-bottom: var(--space-2);
}

.zoca-6ce832a6-456f-4e54-bb02-e85d4292cb2d {
  margin-bottom: var(--space-2);
}

.zoca-60978506-db90-43a0-9aa3-4cd462822ca8 {
  margin-bottom: var(--space-2);
}

.zoca-2c6adaf2-5f61-412e-a107-59be699eef2e {
  margin-bottom: var(--space-2);
}

.zoca-819285f9-c306-474a-8011-db9dbc35e845 {
  margin-bottom: var(--space-2);
}

.zoca-90390127-332e-413c-8baf-cfffc88f290e {
  margin-bottom: var(--space-2);
}

.zoca-d034f499-bb61-4214-8bf7-5d993cca0423 {
  margin-bottom: var(--space-2);
}

.zoca-37db96d7-c3a2-4a6d-87d8-14d5c187d96b {
  margin-bottom: var(--space-2);
}

.zoca-0e00188f-d236-4987-aeb8-3f2ab3a1fb1b {
  margin-bottom: var(--space-2);
}

.zoca-0d778cb8-21b9-4f44-b080-0cfb8f5ff3d7 {
  margin-bottom: var(--space-2);
}

.zoca-515e9c3e-ed35-45bf-ad99-db866a887087 {
  font-size: var(--text-base);
}

@media (max-width: 768Px) {
  .zoca-515e9c3e-ed35-45bf-ad99-db866a887087 {
    gap: 6px;
  display: flex;
  margin-top: 30px;
  padding-top: 20px;
  flex-direction: column;
  }
}

@media (min-width: 768Px) {
  .zoca-515e9c3e-ed35-45bf-ad99-db866a887087 {
    gap: 8px;
  display: flex;
  margin-top: 40px;
  padding-top: 30px;
  flex-direction: row;
  justify-content: space-between;
  }
}

.zoca-7b575d48-c645-4837-bb06-d6cfbd41c607 {
  display: flex;
  align-items: center;
}

@media (max-width: 768Px) {
  .zoca-7b575d48-c645-4837-bb06-d6cfbd41c607 {
    order: 3;
  margin-bottom: 2rem;
  }
}

.zoca-20e48d44-a454-480e-8993-26832ae4ef92 {
  margin: 0;
}

.zoca-acd2d6dc-e0ef-4ad1-8602-aa813fa734fd {
  gap: 10px;
  display: flex;
  align-items: center;
}

@media (max-width: 768Px) {
  .zoca-acd2d6dc-e0ef-4ad1-8602-aa813fa734fd {
    gap: 6px;
  order: 1;
  margin-bottom: 1.75rem;
  }
}

.zoca-2f637ae4-9039-4018-a824-f441adc232b7 {
  transition: color 0.3s ease;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.zoca-5bfbe206-5e50-4d5d-bfb2-e875873cfbf4 {
  transition: color 0.3s ease;
  text-decoration: underline;
  text-underline-offset: 2px;
}

