    /* Tailwind-like utilities for the landing page */
    :root {
        --bigg-bright: #deffa3;
        --bigg-dark: #565656;
        --bigg-dark-light: #a3a3a3;
    }
    
    /* Override body background for this page only */
    body.page {
        background: #f0f0f0 !important;
        background-size: 100%;
    }
    
    .landing-hero {
        min-height: 100vh;
        display: flex;
        background-color: #f0f0f0;
        padding-top: 80px;
    }
    
    .hero-left {
        position: relative;
        width: 60%;
        border-radius: 20px;
        overflow: hidden;
        margin: 30px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 60px;
    }
    
    .hero-left::before {
        content: '';
        position: absolute;
        inset: 0;
        background: rgba(0, 0, 0, 0.4);
        z-index: 1;
    }
    
    .hero-left-bg {
        position: absolute;
        inset: 0;
        background-size: cover;
        background-position: center;
        z-index: 0;
        overflow: hidden;
    }

    .hero-left-bg iframe {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 100%;
        height: 100%;
        min-width: 177.78%;
        min-height: 100%;
        border: 0;
        display: block;
        transform: translate(-50%, -50%);
        pointer-events: none;
    }

    @media (max-width: 768px) {
        .hero-left-bg iframe {
            width: 1280px !important;
            height: 700px !important;
            min-width: 1280px !important;
            min-height: 700px !important;
            max-width: none !important;
            max-height: none !important;
            transform: translate(-50%, -50%);
        }
    }

    
    .hero-left-content {
        position: relative;
        z-index: 2;
    }
    
    .hero-badge {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        padding: 10px 16px;
        border: 1px solid white;
        border-radius: 100px;
        font-family: var(--messina), sans-serif;
        font-weight: 600;
        font-size: 13px;
        color: white;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        margin-bottom: 30px;
    }
    
    .hero-title {
        font-family: var(--fixture), "Fixture Ultra", Helvetica, sans-serif;
        font-weight: 600;
        font-size: 68px;
        line-height: 0.77;
        color: white;
        margin-bottom: 30px;
        max-width: 715px;
    }
    
    .hero-subtitle {
        font-family: var(--messina), sans-serif;
        font-size: clamp(16px, 2vw, 22px);
        line-height: 1.32;
        color: white;
        max-width: 510px;
    }

    .hero-whatsapp {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        padding: 12px 22px;
        border-radius: 999px;
        border: 1px solid white;
        font-family: var(--messina), sans-serif;
        font-weight: 700;
        font-size: clamp(16px, 2vw, 22px);
        color: white;
        text-decoration: none;
        background: transparent;
        transition: all 0.3s ease;
    }

    .hero-whatsapp:hover {
        background: white;
        color: black;
    }

    .hero-whatsapp:hover .hero-whatsapp-icon path {
        fill: black;
    }

    .hero-whatsapp-icon {
        width: 18px;
        height: 18px;
        flex-shrink: 0;
    }

    .hero-whatsapp-icon path {
        fill: currentColor;
        transition: fill 0.3s ease;
    }

    .hero-actions {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 12px;
        flex-wrap: wrap;
        margin-top: 24px;
    }

    .hero-mobile-cta {
        display: none;
        background-color: var(--bigg-bright);
        color: #000;
        font-weight: 700;
        padding: 12px 20px;
        border-radius: 999px;
        text-decoration: none;
        font-size: 14px;
        letter-spacing: 0.05em;
        transition: opacity 0.2s ease;
    }
    .hero-mobile-cta:hover {
        opacity: 0.85;
        color: #000;
    }
    @media (max-width: 768px) {
        .hero-mobile-cta {
            display: inline-flex;
            align-items: center;
        }
    }

    .hero-right {
        width: 40%;
        padding: 30px 30px 30px 0;
        display: flex;
        flex-direction: column;
    }
    
    .form-container {
        background-color: var(--bigg-bright);
        border-radius: 20px;
        padding: 30px;
        height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .landing-map-section {
        width: 100%;
        padding: 0 30px 24px;
        box-sizing: border-box;
    }
    .landing-map-section .landing-map-wrap {
        position: relative;
        width: 100%;
        height: 280px;
        border-radius: 12px;
        overflow: hidden;
    }
    @media (max-width: 768px) {
        .landing-map-section {
            padding: 0 20px 20px;
        }
        .landing-map-section .landing-map-wrap {
            height: 220px;
        }
        .sedes-all-container-inner {
            flex-direction: column;
        }
        .sedes-all-list {
            width: 100% !important;
            max-height: none !important;
            height: auto !important;
            flex-direction: row !important;
            flex-wrap: nowrap !important;
            overflow-x: auto !important;
            overflow-y: hidden !important;
            border-right: none;
            border-bottom: none;
            padding: 10px 8px;
            gap: 8px;
            -webkit-overflow-scrolling: touch;
            scrollbar-width: none;
        }
        .sedes-all-list::-webkit-scrollbar {
            display: none;
        }
        .sedes-all-list-title {
            display: none;
        }
        .sedes-all-item {
            width: fit-content !important;
            min-width: 0 !important;
            white-space: nowrap;
            flex-shrink: 0;
        }
        .sedes-all-item-address {
            white-space: nowrap;
        }
        .landing-map-section.sedes-all-mode .landing-map-wrap {
            height: 260px !important;
        }
    }

    /* ── Sedes All mode (location_id=user&lang=es&sedes=all) ─────────────── */
    .landing-map-section.sedes-all-mode {
        display: block !important;
        padding: 0 30px 24px;
    }
    .sedes-all-container-inner {
        display: flex;
        gap: 0;
        width: 100%;
        border-radius: 12px;
        overflow: hidden;
        border: none;
    }
    .sedes-all-list {
        width: 320px;
        min-width: 260px;
        max-height: 420px;
        overflow-y: auto;
        background: #ebebeb;
        border-right: 1px solid #e5e5e5;
        flex-shrink: 0;
        padding: 8px;
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        gap: 6px;
    }
    .landing-map-section.sedes-all-mode .landing-map-wrap {
        height: 420px !important;
        border-radius: 0;
        flex: 1;
    }
    .sedes-all-list-title {
        font-family: var(--messina), sans-serif;
        font-weight: 700;
        font-size: 11px;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: #999;
        padding: 6px 8px 4px;
        flex-shrink: 0;
    }
    .sedes-all-item {
        padding: 12px 14px;
        cursor: pointer;
        border-radius: 8px;
        background: #fff;
        transition: background 0.12s;
        flex-shrink: 0;
    }
    .sedes-all-item:hover {
        background: #f0f0f0;
    }
    .sedes-all-item.active {
        background: #000;
        color: #fff;
    }
    .sedes-all-item.active .sedes-all-item-address {
        color: #aaa;
    }
    .sedes-all-item-name {
        font-family: var(--druk), "Druk Wide", Helvetica, sans-serif;
        font-weight: 700;
        font-size: 16px;
        color: #000;
        margin-bottom: 3px;
        text-transform: uppercase;
        line-height: 1.1;
    }
    .sedes-all-item.active .sedes-all-item-name {
        color: #fff;
    }
    .sedes-all-item-address {
        font-family: var(--messina), sans-serif;
        font-size: 11px;
        color: #777;
        line-height: 1.4;
        text-transform: uppercase;
        letter-spacing: 0.03em;
    }

    .form-title {
        font-family: var(--fixture), "Fixture Ultra", Helvetica, sans-serif;
        font-weight: 600;
        font-size: 42px !important;
        line-height: 0.77;
        color: black;
        margin-bottom: 15px;
    }
    
    .form-address {
        font-family: var(--messina), sans-serif;
        font-weight: 600;
        font-size: 18px;
        line-height: 1.15;
        color: black;
        letter-spacing: -0.18px;
        margin-bottom: 10px;
    }
    
    .form-locations-link {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        font-family: var(--messina), sans-serif;
        font-weight: 700;
        font-size: 16px;
        color: black;
        text-decoration: underline;
        margin-bottom: 25px;
        cursor: pointer;
    }
    
    .form-locations-link svg {
        width: 16px;
        height: 16px;
    }

    .form-divider {
        border: 0;
        border-top: 1px solid #ddd;
        margin: 16px 0;
    }

    .geo-denied-notice {
        color: #c00;
        font-weight: 600;
        font-size: 13px;
        margin: 0 0 10px;
        line-height: 1.4;
    }

    .nearby-ac-dropdown {
        position: absolute;
        z-index: 9999;
        background: #fff;
        border: 1px solid #ccc;
        border-radius: 4px;
        list-style: none;
        margin: 2px 0 0;
        padding: 0;
        width: 100%;
        box-shadow: 0 4px 12px rgba(0,0,0,.12);
        max-height: 220px;
        overflow-y: auto;
    }

    .nearby-ac-item {
        padding: 9px 12px;
        font-size: 13px;
        cursor: pointer;
        border-bottom: 1px solid #f0f0f0;
        color: #222;
        line-height: 1.4;
    }

    .nearby-ac-item:last-child {
        border-bottom: none;
    }

    .nearby-ac-item:hover,
    .nearby-ac-item:focus {
        background: #f5f5f5;
    }

    #nearby-address-search {
        position: relative;
    }

    .landing-form-group {
        margin-bottom: 11px;
    }
    
    .landing-input {
        width: 100%;
        background-color: rgba(255, 255, 255, 0.7);
        border: 1px solid var(--bigg-dark-light);
        border-radius: 8px;
        padding: 15px 20px;
        margin: 0;
        font-family: var(--messina), sans-serif;
        font-size: 16px;
        color: black;
        outline: none;
        transition: border-color 0.3s ease;
    }
    
    .landing-input:focus {
        border-color: var(--bigg-dark);
    }
    
    .landing-input::placeholder {
        color: black;
        opacity: 0.8;
    }
    
    .landing-phone-group {
        display: flex;
        background-color: rgba(255, 255, 255, 0.7);
        border: 1px solid var(--bigg-dark-light);
        border-radius: 8px;
        overflow: hidden;
    }
    
    .landing-phone-prefix {
        padding: 15px 12px;
        font-family: var(--messina), sans-serif;
        font-size: 16px;
        color: black;
        background: transparent;
        border: none;
        border-right: 1px solid var(--bigg-dark-light);
        outline: none;
        min-width: 100px;
        max-width: 120px;
        width: auto;
    }
    
    .landing-phone-input {
        flex: 1;
        padding: 0;
        font-family: var(--messina), sans-serif;
        font-size: 18px;
        color: black;
        background: transparent;
        border: none;
        outline: none;
    }
    
    .landing-select-group {
        display: flex;
        background-color: rgba(255, 255, 255, 0.7);
        border: 1px solid var(--bigg-dark-light);
        border-radius: 8px;
        overflow: hidden;
    }
    
    .landing-select-flag {
        padding: 15px 35px 15px 20px;
        font-size: 20px;
        border-right: 1px solid var(--bigg-dark-light);
        background: transparent;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%23000' stroke-width='2' fill='none'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: right 12px center;
        border: none;
        border-right: 1px solid var(--bigg-dark-light);
        outline: none;
        cursor: pointer;
        appearance: none;
        font-family: 'Segoe UI Emoji', 'Noto Color Emoji', 'Apple Color Emoji', 'Segoe UI Symbol', var(--messina), sans-serif;
        color: black;
        min-width: 80px;
        text-align: center;
    }
    
    .landing-select {
        flex: 1;
        padding: 15px 50px 15px 20px;
        font-family: var(--messina), sans-serif;
        font-size: 16px;
        color: black;
        background: transparent;
        border: none;
        outline: none;
        cursor: pointer;
        appearance: none;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%23000' stroke-width='2' fill='none'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: right 20px center;
        text-overflow: ellipsis;
        overflow: hidden;
        white-space: nowrap;
    }

    #landing-phone-prefix option,
    #landing-country-select option,
    #landing-box-select option {
        font-family: 'Segoe UI Emoji', 'Noto Color Emoji', 'Apple Color Emoji', 'Segoe UI Symbol', var(--messina), sans-serif;
        color: inherit;
        background: inherit;
    }

    /* Country select hidden by default; shown only when ?form=all */
    #landing-country-select {
        display: none;
    }
    /* Locked (disabled) sede select: keep full opacity so it reads clearly */
    #landing-box-select:disabled {
        opacity: 1;
        cursor: default;
        pointer-events: none;
    }
    
    .landing-submit {
        width: 100%;
        background-color: var(--bigg-dark);
        border-radius: 8px;
        padding: 20px;
        font-family: var(--messina), sans-serif;
        font-weight: 700;
        font-size: 22px;
        color: var(--bigg-bright);
        letter-spacing: -0.45px;
        border: none;
        cursor: pointer;
        transition: all 0.3s ease;
        margin-top: 5px;
    }
    
    .landing-submit:hover {
        background-color: #454545;
        transform: translateY(-2px);
    }
    
    .landing-submit:disabled {
        opacity: 0.7;
        cursor: not-allowed;
    }
    
    /* Responsive */
    @media (max-width: 1024px) {
        .landing-hero {
            flex-direction: column;
            padding-top: 77px;
        }

        .hero-left, .hero-right {
            width: 100%;
        }

        .hero-left {
            min-height: 50vh;
            margin: 0;
            border-radius: 0;
        }

        .hero-right {
            padding: 20px;
        }

        .form-container {
            border-radius: 0;
        }

        .hero-subtitle {
            font-size: 20px;
        }
    }

    @media (max-width: 768px) {
        .hero-left {
            min-height: 700px;
        }
    }

    @media (max-width: 430px) {
        .hero-title {
            font-size: 48px;
            line-height: 0.85;
        }
    }

    @media (max-width: 580px) {
        .hero-left {
            padding: 20px;
            min-height: 550px;
        }

        .landing-testimonial-card {
            padding: 20px !important;
        }

        .landing-testimonial-name {
            font-size: 18px !important;
        }

        .hero-badge {
            padding: 8px 12px !important;
        }

        .hero-badge-label, #hero-location-name {
            font-size: 10px !important;
        }
    }
    
    /* Success state */
    .form-success {
        text-align: center;
        padding: 40px;
    }
    
    .form-success-icon {
        width: 80px;
        height: 80px;
        margin: 0 auto 20px;
        background-color: var(--bigg-dark);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    
    .form-success-icon svg {
        width: 40px;
        height: 40px;
        color: var(--bigg-bright);
    }
    
    .form-success-title {
        font-family: var(--druk), "Druk Wide", Helvetica, sans-serif;
        font-weight: 600;
        font-size: 36px;
        color: black;
        margin-bottom: 15px;
    }
    
    .form-success-text {
        font-family: var(--messina), sans-serif;
        font-size: 16px;
        color: var(--bigg-dark);
        line-height: 1.5;
    }

    /* Loading state */
    .landing-submit.loading {
        position: relative;
        color: transparent;
    }
    
    .landing-submit.loading::after {
        content: '';
        position: absolute;
        width: 24px;
        height: 24px;
        top: 50%;
        left: 50%;
        margin-left: -12px;
        margin-top: -12px;
        border: 3px solid var(--bigg-bright);
        border-radius: 50%;
        border-top-color: transparent;
        animation: spin 1s linear infinite;
    }
    
    @keyframes spin {
        to { transform: rotate(360deg); }
    }
    
    /* Error state */
    .landing-input.error,
    .landing-phone-group.error,
    .landing-select-group.error {
        border-color: #ff4444;
    }
    
    .error-message {
        color: #ff4444;
        font-size: 13px;
        margin-top: 5px;
        font-family: var(--messina), sans-serif;
    }

    .form-error-message {
        background-color: #ffebee;
        border: 1px solid #ff4444;
        border-radius: 8px;
        padding: 12px 16px;
        margin-bottom: 15px;
        color: #c62828;
        font-family: var(--messina), sans-serif;
        font-size: 14px;
        line-height: 1.4;
    }

    .landing-nearby-group {
        margin-top: 6px;
    }

    .form-locations-link {
        background: transparent;
        border: none;
        padding: 0;
    }

    #nearby-address-search {
        margin-bottom: 12px;
    }
    #nearby-address-search .landing-input {
        width: 100%;
    }

    .nearby-locations {
        border: 1px solid var(--bigg-dark);
        border-radius: 12px;
        padding: 14px;
        background-color: rgba(255, 255, 255, 0.6);
    }

    .nearby-locations-header {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 8px;
        margin-bottom: 10px;
    }
    .nearby-locations-title {
        font-family: var(--messina), sans-serif;
        font-weight: 700;
        font-size: 14px;
        line-height: 1.3;
        margin-bottom: 0;
    }
    .nearby-locations-reset {
        background: none;
        border: none;
        cursor: pointer;
        font-size: 18px;
        line-height: 1;
        padding: 0 0 0 8px;
        flex-shrink: 0;
        color: #111;
        opacity: 0.7;
    }
    .nearby-locations-reset:hover { opacity: 1; }

    .nearby-locations-list {
        display: flex;
        gap: 10px;
        overflow-x: auto;
        padding-bottom: 6px;
        -webkit-overflow-scrolling: touch;
    }

    .location-search-results {
        display: grid;
        gap: 10px;
    }

    .nearby-location-card,
    .search-location-card {
        border: 1px solid var(--bigg-dark-light);
        border-radius: 10px;
        background-color: white;
        padding: 10px 12px;
        text-align: left;
        cursor: pointer;
        transition: border-color 0.2s ease, transform 0.2s ease;
    }

    .nearby-location-card {
        flex: 0 0 auto;
        min-width: 180px;
    }

    .nearby-location-card:hover,
    .search-location-card:hover {
        border-color: var(--bigg-dark);
        transform: translateY(-1px);
    }

    .nearby-location-name,
    .search-location-name {
        font-family: var(--messina), sans-serif;
        font-weight: 700;
        font-size: 15px;
        color: black;
    }

    .nearby-location-address,
    .search-location-address {
        font-family: var(--messina), sans-serif;
        font-size: 13px;
        color: var(--bigg-dark-light);
    }

    .location-search-view {
        display: flex;
        flex-direction: column;
        gap: 18px;
    }

    .location-search-header {
        display: flex;
        align-items: center;
        gap: 12px;
    }

    .location-search-back {
        background: none;
        border: none;
        padding: 0;
        cursor: pointer;
    }

    .location-search-back svg {
        width: 22px;
        height: 22px;
    }

    .location-search-title {
        font-family: var(--druk), "Druk Wide", Helvetica, sans-serif;
        font-size: 32px;
        font-weight: 600;
        line-height: 0.9;
        margin: 0;
    }

    .location-search-input {
        margin-bottom: 0;
    }

    .landing-sections {
        background-color: #f0f0f0;
        padding: 70px 0 90px;
    }

    .landing-section {
        max-width: 900px;
        margin: 0 auto 55px;
    }

    .landing-section-title {
        font-family: var(--druk), "Druk Wide", Helvetica, sans-serif;
        font-weight: 600;
        font-size: 42px;
        line-height: 1.05;
        color: black;
        margin-bottom: 12px;
    }

    .landing-section-text {
        font-family: var(--messina), sans-serif;
        font-size: 18px;
        line-height: 1.5;
        color: #111;
        margin-bottom: 14px;
    }

    .landing-section-list {
        list-style: none;
        margin: 0;
        padding: 0;
        display: grid;
        gap: 8px;
    }

    .landing-section-list li {
        font-family: var(--messina), sans-serif;
        font-size: 17px;
        color: #111;
    }

    .landing-highlight {
        display: inline-block;
        background-color: var(--bigg-bright);
        padding: 6px 14px;
        border-radius: 999px;
        font-family: var(--messina), sans-serif;
        font-weight: 700;
        margin-top: 12px;
    }

    .landing-cta {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background-color: var(--bigg-dark);
        color: var(--bigg-bright);
        border-radius: 999px;
        padding: 14px 26px;
        font-family: var(--messina), sans-serif;
        font-weight: 700;
        text-decoration: none;
        margin-top: 16px;
    }

    .landing-testimonial {
        background-color: white;
        border-radius: 16px;
        padding: 24px;
        border: 1px solid var(--bigg-dark-light);
    }

    .landing-stars {
        font-size: 20px;
        letter-spacing: 2px;
        margin-bottom: 10px;
    }

    .landing-faq {
        display: grid;
        gap: 18px;
    }

    .landing-faq-item {
        background-color: rgba(255, 255, 255, 0.7);
        border-radius: 12px;
        padding: 16px 18px;
        border: 1px solid var(--bigg-dark-light);
    }

    .landing-faq-question {
        font-family: var(--messina), sans-serif;
        font-weight: 700;
        margin-bottom: 6px;
    }

    .landing-faq-answer {
        font-family: var(--messina), sans-serif;
        margin: 0;
    }

    /* FAQ Initial State - Hide answers by default */
    .faq-item[area-expanded="false"] .faq-answer {
        max-height: 0;
        opacity: 0;
        overflow: hidden;
    }

    .faq-item[area-expanded="false"] .faq-answer p {
        margin-top: 0;
        margin-bottom: 0;
    }

    /* FAQ Styling Overrides */
    .landing-faq-section .faq-item {
        background-color: var(--bigg-dark) !important;
        border: 1px solid var(--bigg-dark) !important;
    }

    .landing-faq-section .faq-item::after {
        color: var(--bigg-bright) !important;
    }

    .landing-faq-section .faq-item[area-expanded="true"]::after {
        color: var(--bigg-bright) !important;
    }

    .landing-faq-section .faq-item[area-expanded="true"],
    .landing-faq-section .faq-item:hover {
        border: 1px solid var(--bigg-dark) !important;
    }

    .landing-faq-section .faq-item[area-expanded="true"] h2,
    .landing-faq-section .faq-item[area-expanded="true"] h3 {
        color: var(--bigg-bright) !important;
    }

    @media (max-width: 768px) {
        .landing-sections {
            padding: 50px 20px 70px;
        }
    }

    /* ¿QUÉ ES BIGG? Section - Figma Design */
    .landing-que-es-bigg {
        background-color: #f0f0f0;
        padding: 70px 20px 90px;
        margin-bottom: 50px;
    }

    .landing-que-es-container {
        max-width: 1200px;
        margin: 0 auto;
        display: flex;
        gap: 20px;
        align-items: flex-start;
    }

    .landing-que-es-text-column {
        display: flex;
        flex-direction: column;
        gap: 20px;
        flex: 0 0 466px;
    }

    .landing-que-es-box {
        background-color: var(--bigg-dark);
        border-radius: 20px;
        padding: 40px;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    .landing-que-es-box h2 {
        font-family: var(--druk), "Druk Wide", Helvetica, sans-serif;
        font-weight: 600;
        font-size: 42px;
        line-height: 1.04;
        color: var(--bigg-bright);
        text-transform: uppercase;
        margin: 0;
    }

    .landing-que-es-box p {
        font-family: var(--messina), sans-serif;
        font-size: 16px;
        line-height: 1.7;
        color: white;
        margin: 0;
    }

    .landing-que-es-box ul {
        list-style: none;
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        gap: 0;
    }

    .landing-que-es-box ul li {
        font-family: var(--druk), "Druk Wide", Helvetica, sans-serif;
        font-weight: 400;
        font-size: 22px;
        line-height: 1.7;
        color: white;
        margin: 0;
        position: relative;
        padding-left: 1.5em;
    }

    .landing-que-es-box ul li::before {
        content: '•';
        position: absolute;
        left: 0;
        color: white;
    }

    .landing-que-es-image {
        flex: 0 0 733px;
        height: 724px;
        border-radius: 20px;
        overflow: hidden;
    }

    .landing-que-es-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 20px;
    }

    @media (max-width: 1024px) {
        .landing-que-es-container {
            flex-direction: column;
        }

        .landing-que-es-text-column {
            flex: 1;
            width: 100%;
        }

        .landing-que-es-image {
            flex: 1;
            width: 100%;
            height: auto;
            max-height: 600px;
        }
    }

    /* ENTRENAMIENTO GRUPAL Section - Figma Design */
    .landing-entrenamiento-grupal {
        background-color: #f0f0f0;
        padding: 0 20px 90px;
        margin-top: 0;
        margin-bottom: 50px;
    }

    .landing-entrenamiento-container {
        max-width: 1200px;
        margin: 0 auto;
        display: flex;
        gap: 39px;
        align-items: stretch;
    }

    .landing-entrenamiento-container.reverse {
        flex-direction: row-reverse;
    }

    .landing-entrenamiento-image {
        flex: 0 0 733px;
        border-radius: 20px;
        overflow: hidden;
        background-color: white;
        display: flex;
        align-items: stretch;
        min-height: 100%;
    }

    .landing-entrenamiento-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
        border-radius: 20px;
        display: block;
        flex: 1;
    }

    .landing-entrenamiento-text-column {
        display: flex;
        flex-direction: column;
        gap: 0;
        align-self: stretch;
    }

    .landing-entrenamiento-box {
        background-color: var(--bigg-dark);
        border-radius: 20px;
        padding: 40px;
        display: flex;
        flex-direction: column;
        gap: 20px;
        width: 466px;
    }

    .landing-entrenamiento-box h2 {
        font-family: var(--druk), "Druk Wide", Helvetica, sans-serif;
        font-weight: 600;
        font-size: 24px;
        line-height: 1.04;
        color: var(--bigg-bright);
        text-transform: uppercase;
        margin: 0;
    }

    .landing-entrenador-title {
        font-size: 24px;
    }

    @media (max-width: 1024px) {
        .landing-entrenador-title {
            font-size: 42px;
        }
    }

    .landing-entrenamiento-box p {
        font-family: var(--messina), sans-serif;
        font-size: 16px;
        line-height: 1.7;
        color: white;
        margin: 0;
    }

    .landing-entrenamiento-box p strong,
    .landing-entrenamiento-box p.bold {
        font-family: var(--druk), "Druk Wide", Helvetica, sans-serif;
        font-size: 22px;
        line-height: 1;
        color: white;
    }

    @media (max-width: 1024px) {
        .landing-entrenamiento-container {
            flex-direction: column;
        }

        .landing-entrenamiento-image {
            flex: 1;
            width: 100%;
            max-height: 600px;
        }

        .landing-entrenamiento-box {
            width: 100%;
        }
    }

    /* CÓMO SON LAS CLASES Section - Figma Design */
    .landing-clases-section {
        background-color: #f0f0f0;
        margin-top: 0;
        margin-bottom: 50px;
    }

    /* Testimonials Section - Figma Design */
    .landing-testimonials-section {
        background-color: #f0f0f0;
        padding: 90px 20px;
        margin-bottom: 50px;
    }

    .landing-testimonials-scroll-wrapper {
        overflow-x: scroll;
        overflow-y: hidden;
        width: 100%;
        -webkit-overflow-scrolling: touch;
        position: relative;
        padding: 0 12px;
        display: block;
    }

    .landing-testimonials-scroll-wrapper::-webkit-scrollbar {
        display: none;
    }

    .landing-testimonials-title {
        font-family: var(--druk), "Druk Wide", Helvetica, sans-serif;
        font-weight: 600;
        font-size: 42px;
        line-height: 1.7;
        color: var(--bigg-dark);
        text-transform: uppercase;
        text-align: center;
        margin: 0 0 35px;
        line-height: 1 !important
    }

    /* Multiple Testimonials Grid - Horizontal scroll on all devices */
    .landing-testimonials-grid {
        width: max-content;
        max-width: none;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 27px;
        align-items: flex-start;
        position: relative;
        scroll-snap-type: x mandatory;
        padding: 0 20px;
    }

    .landing-testimonial-card {
        background-color: var(--bigg-dark);
        border-radius: 20px;
        padding: 60px 40px;
        display: flex;
        flex-direction: column;
        gap: 60px;
        align-items: center;
        flex: 0 0 362px;
        position: relative;
        overflow: hidden;
    }

    .landing-testimonial-text {
        font-family: var(--messina), sans-serif;
        font-weight: 700;
        font-size: 16px;
        line-height: 1.7;
        color: white;
        text-align: center;
        letter-spacing: -0.32px;
        margin: 0;
        position: relative;
        z-index: 1;
    }

    .landing-quote-bg {
        font-family: var(--druk), "Druk Wide", Helvetica, sans-serif;
        font-size: 200px;
        color: rgba(255, 255, 255, 0.06);
        z-index: 0;
        pointer-events: none;
        line-height: 1;
    }

    .landing-testimonial-quote-wrap {
        position: absolute;
        inset: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 80px;
        pointer-events: none;
        z-index: 0;
    }

    .landing-testimonial-author {
        display: flex;
        flex-direction: column;
        gap: 6px;
        align-items: center;
        justify-content: center;
        text-align: center;
    }

    .landing-testimonial-name {
        font-family: var(--druk), "Druk Wide", Helvetica, sans-serif;
        font-weight: 600;
        font-size: 28px;
        line-height: 1.04;
        color: var(--bigg-bright);
        text-transform: uppercase;
        margin: 0;
    }

    .landing-testimonial-location {
        font-family: var(--druk), "Druk Wide", Helvetica, sans-serif;
        font-weight: 600;
        font-size: 18px;
        line-height: 1.04;
        color: var(--bigg-bright);
        text-transform: uppercase;
        margin: 0;
    }

    /* Single Testimonial Card */
    .landing-testimonial-single {
        max-width: 1140px;
        margin: 0 auto;
        background-color: var(--bigg-dark);
        border-radius: 20px;
        padding: 60px 40px;
        display: flex;
        flex-direction: column;
        gap: 60px;
        position: relative;
        overflow: hidden;
    }

    .landing-testimonial-quote {
        font-family: var(--druk), "Druk Wide", Helvetica, sans-serif;
        font-weight: 600;
        font-size: 22px;
        line-height: 1.7;
        color: white;
        letter-spacing: -0.44px;
        margin: 0;
        position: relative;
        z-index: 1;
    }

    .landing-testimonial-single-footer {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
    }

    .landing-testimonial-single-left {
        display: flex;
        align-items: center;
        gap: 20px;
    }

    .landing-testimonial-avatar {
        width: 67px;
        height: 67px;
        border-radius: 50%;
        background-color: #f0f0f0;
        flex-shrink: 0;
    }

    .landing-testimonial-single-name {
        font-family: var(--druk), "Druk Wide", Helvetica, sans-serif;
        font-weight: 600;
        font-size: 28px;
        line-height: 1.04;
        color: var(--bigg-bright);
        text-transform: uppercase;
        margin: 0;
    }

    .landing-testimonial-single-location {
        font-family: var(--druk), "Druk Wide", Helvetica, sans-serif;
        font-weight: 600;
        font-size: 18px;
        line-height: 1.04;
        color: var(--bigg-bright);
        text-transform: uppercase;
        margin: 0;
    }

    @media (max-width: 1024px) {
        .landing-testimonials-grid {
            flex-wrap: nowrap;
            gap: 20px;
        }

        .landing-testimonial-card {
            flex: 0 0 362px;
            min-width: 280px;
        }
    }

    @media (max-width: 768px) {
        .landing-testimonials-section {
            padding: 50px 0;
        }

        .landing-testimonials-title {
            font-size: 42px;
            padding: 0 20px;
        }

        .landing-testimonials-grid {
            flex-direction: row;
            flex-wrap: nowrap;
            overflow-x: auto;
            -webkit-overflow-scrolling: touch;
            scroll-snap-type: x mandatory;
            gap: 15px;
            padding: 0 20px;
        }

        .landing-testimonials-grid::-webkit-scrollbar {
            display: none;
        }

        .landing-testimonial-card {
            /* flex: 0 0 85%; */
            /* min-width: 280px; */
            scroll-snap-align: start;
            width: 200px;
        }

        .landing-testimonial-single-footer {
            flex-direction: column;
            align-items: flex-start;
            gap: 20px;
        }

        .landing-testimonial-single-location {
            align-self: flex-end;
        }
    }

    .landing-clases-image-full {
        width: 100%;
        margin: 0;
        display: block;
    }

    .landing-clases-image-full picture,
    .landing-clases-image-full img {
        width: 100%;
        height: auto;
        display: block;
    }

    .landing-clases-content {
        max-width: 1200px;
        margin: 0 auto;
        padding: 90px 20px;
        display: flex;
        flex-direction: column;
        gap: 25px;
        align-items: center;
        text-align: center;
    }

    .landing-clases-title {
        font-family: var(--druk), "Druk Wide", Helvetica, sans-serif;
        font-weight: 600;
        font-size: 42px;
        line-height: 1.04;
        color: var(--bigg-dark);
        text-transform: uppercase;
        margin: 0;
    }

    .landing-clases-description {
        font-family: var(--messina), sans-serif;
        font-size: 22px;
        line-height: 1.54;
        color: var(--bigg-dark);
        max-width: 859px;
        margin: 0;
    }

    .landing-clases-description p {
        color: var(--bigg-dark) !important;
        font-size: 20px;
        line-height: 1.25;
    }

    /* Grid of 4 items with icons - Cómo son las clases */
    .landing-clases-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 24px 16px;
        max-width: 900px;
        margin: 0 auto;
    }

    .landing-clases-grid-item {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 12px;
        text-align: center;
    }

    .landing-clases-grid-icon {
        width: 56px;
        height: 56px;
        flex-shrink: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--bigg-dark);
    }

    .landing-clases-grid-icon svg {
        width: 100%;
        height: 100%;
    }

    .landing-clases-grid-label {
        font-family: var(--messina), sans-serif;
        font-size: 16px;
        line-height: 1.3;
        font-weight: 600;
        color: var(--bigg-dark);
    }

    @media (max-width: 768px) {
        .landing-clases-content {
            padding: 50px 20px;
        }

        .landing-clases-title {
            font-size: 42px;
        }

        .landing-clases-description {
            font-size: 18px;
        }

        .landing-clases-grid {
            grid-template-columns: repeat(2, 1fr);
            gap: 20px 12px;
        }

        .landing-clases-grid-icon {
            width: 48px;
            height: 48px;
        }

        .landing-clases-grid-label {
            font-size: 14px;
        }
    }

    /* Floating CTA Button */
    .landing-floating-cta {
        position: fixed;
        z-index: 1000;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.3s ease, visibility 0.3s ease;
        pointer-events: none;
        left: 0;
        right: 0;
        width: 100%;
    }

    .landing-floating-cta.visible {
        opacity: 1;
        visibility: visible;
        pointer-events: all;
    }

    .landing-floating-cta.desktop {
        bottom: 20px;
        right: 20px;
        left: auto;
        width: auto;
    }

    .landing-floating-cta.mobile {
        bottom: 0;
        left: 0;
        right: 0;
        transform: none;
    }

    .landing-floating-cta-box {
        background-color: var(--bigg-bright);
        border: 1px solid var(--bigg-dark-light);
        border-radius: 0;
        padding: 26px 25px;
        cursor: pointer;
        transition: transform 0.2s ease, box-shadow 0.2s ease;
        width: 100%;
        max-width: 100%;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
        border-left: none;
        border-right: none;
        border-bottom: none;
    }

    .landing-floating-cta-box:hover {
        transform: translateY(-2px);
        box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
    }

    .landing-floating-cta-content {
        display: flex;
        flex-direction: column;
        gap: 15px;
        max-width: 1200px;
        margin: 0 auto;
        text-align: center;
    }

    .landing-floating-cta-title {
        font-family: var(--fixture), "Fixture Ultra", Helvetica, sans-serif;
        font-weight: 600;
        font-size: clamp(36px, 5vw, 63px);
        line-height: 0.77;
        color: black;
        margin: 0;
    }

    .landing-floating-cta-address {
        font-family: var(--messina), sans-serif;
        font-weight: 600;
        font-size: 18px;
        line-height: 1.15;
        color: black;
        letter-spacing: -0.18px;
        margin: 0;
    }

    @media (max-width: 1024px) {
        .landing-floating-cta.desktop {
            display: none;
        }

        .landing-floating-cta.mobile {
            display: block;
        }

        .landing-floating-cta-box {
            max-width: 100%;
            width: 100%;
            margin: 0;
        }
    }

    @media (min-width: 1025px) {
        .landing-floating-cta.mobile {
            display: none;
        }

        .landing-floating-cta.desktop {
            display: block;
        }

        .landing-floating-cta.desktop .landing-floating-cta-box {
            width: auto;
            max-width: 400px;
            border-radius: 8px;
            border: 1px solid var(--bigg-dark-light);
        }
    }

    /* Membership Benefits - Use original design, just update text */
    .beneficio-img img {
        background-color: white !important;
    }

    /* Final CTA Section */
    .landing-final-cta {
        padding: 120px 20px;
        min-height: 70vh;
        position: relative;
    }

    .landing-final-cta .absolute-cover {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 1;
    }

    .landing-final-cta .absolute-overlay {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
        z-index: 2;
    }

    .landing-final-cta .relative {
        max-width: 1200px;
        margin: 0 auto;
        position: relative;
        z-index: 3;
        min-height: 70vh;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    @media (max-width: 768px) {
        .landing-final-cta {
            padding: 80px 20px;
        }
    }

    /* Hide preload entirely */
    .preload {
        display: none !important;
    }

    /* Beneficio paragraphs should be grey */
    .beneficio-img p {
        color: grey !important;
    }

    /* Beneficio card titles line-height */
    .beneficio-img p.white {
        line-height: 1;
    }

    /* Mobile typography adjustments */
    @media (max-width: 768px) {
        .landing-clases-title,
        .landing-testimonials-title {
            font-size: 24px !important;
        }

        h2 {
            font-size: 24px !important;
        }
    }

    /* Bottom CTA Section */
    .landing-bottom-cta {
        background-color: var(--bigg-bright);
        padding: 60px 20px;
    }

    .landing-bottom-cta .bigg-dark-bg {
        background-color: var(--bigg-dark);
    }

    /* Hide header CTA on landing-trial (replaced by hero mobile CTA) */
    body.page-template-landing-trial #header-cta,
    body.page-template-page-landing-trial #header-cta {
        display: none !important;
    }

    /* Mobile hero centering */
    @media (max-width: 1024px) {
        .hero-left-content {
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            text-align: center;
        }
    }


    #geo-loading {
        text-align: center;
        padding: 16px;
        font-weight: 500;
        color: var(--bigg-dark);
    }

    #geo-trigger-btn {
        display: block;
        width: 100%;
        margin-top: 12px;
        padding: 12px;
        background: #000;
        color: #fff;
        font-weight: 700;
        font-size: 14px;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        border: none;
        cursor: pointer;
    }
