Our Routines

A class tailored for you

Explore our three distinct classes, designed to suit all fitness levels. Whether you're new to Reformer Pilates or an experienced practitioner, we have a class tailored for you.
PILAT3S Signature Routines
Dynamic Reformer Pilates

Personalised for You

Based on decades of experience, PILAT3S is made of three types of routines designed for all fitness levels: Align, Tone & Power.
Experience Routines DRP
PILAT3S Xpress Routine
Xpress

Burn, Sculpt, Repeat

Our Tone routine is also offered as an Xpress 30-minute class – ideal for a lunch break or those short on time but still wanting to break a sweat!
New to PILAT3S?

Your Welcome Guide

Whether you're a seasoned practitioner or new to Reformer Pilates, we're here to support your journey every step of the way. Here’s everything you need to know before your first class.
Experience Routines Taster
Contact Us

Get In Touch

Have a question or need support? Fill out the form below and our team will be in touch shortly.

Got a question regarding your studio?

Connect with us:
<form id="brxe-bjdyin" action="<?php echo esc_url($_SERVER['REQUEST_URI']); ?>" method="post">
  <div class="form-group" role="group">
    <input
      id="form-field-feefcf"
      name="form-field-30d577"
      aria-label="First name"
      spellcheck="false"
      type="text"
      placeholder="Enter your first name"
      required
    >
  </div>

  <div class="form-group" role="group">
    <input
      id="form-field-97c8ca"
      name="form-field-bxhina"
      aria-label="Last name"
      spellcheck="false"
      type="text"
      placeholder="Enter your last name"
    >
  </div>

  <div class="form-group" role="group">
    <input
      id="form-field-7d3755"
      name="form-field-40ae92"
      aria-label="Email"
      type="email"
      maxlength="320"
      placeholder="Enter your email"
      required
    >
  </div>

  <div class="form-group" role="group">
    <input
      id="form-field-4a09f6"
      name="form-field-madcme"
      aria-label="Phone"
      type="tel"
      placeholder="Enter your phone number"
    >
  </div>

  <?php echo do_shortcode('[filter_country_studio]'); ?>

  <div class="form-group" role="group">
    <textarea
      id="form-field-c2b017"
      name="form-field-2f0f5e"
      aria-label="Message"
      spellcheck="false"
      placeholder="Your message…"
      required
    ></textarea>
  </div>

  <!-- Honeypot escondido -->
  <div style="display:none !important;">
    <input type="text" name="anti_robot_field" tabindex="-1" autocomplete="off">
  </div>

  <!-- reCAPTCHA v2 -->
  <div class="g-recaptcha" data-sitekey="6Lc48RksAAAAAH3KnpT2sH_OCu-tkc4KTyNWpaRE"></div>
  <script src="https://www.google.com/recaptcha/api.js" async defer></script>

  <div class="form-group" role="radiogroup" aria-labelledby="label-yicrye">
    <ul class="options-wrapper">
      <li>
        <input
          type="radio"
          id="form-field-yicrye-0"
          name="form-field-yicrye[]"
          required
          value="I authorize to be contacted regarding my inquiry."
        >
        <label for="form-field-yicrye-0">
          I authorize to be contacted regarding my inquiry.
        </label>
      </li>
    </ul>
  </div>

  <div class="form-group submit-button-wrapper">
    <button type="submit" class="bricks-button bricks-background-primary icon-right">
      <span class="text">Send message</span>

      <svg class="icon-send" xmlns="http://www.w3.org/2000/svg" width="24" height="25" viewBox="0 0 24 25" fill="none">
        <path d="M19 12.2798H5" stroke="#FAFAFA" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
        <path d="M14 17.2798L19 12.2798" stroke="#FAFAFA" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
        <path d="M14 7.27979L19 12.2798" stroke="#FAFAFA" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
      </svg>

      <span class="loading">
        <svg version="1.1" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
          <g stroke-linecap="round" stroke-width="1" stroke="currentColor" fill="none" stroke-linejoin="round">
            <path d="M0.927,10.199l2.787,4.151l3.205,-3.838"></path>
            <path d="M23.5,14.5l-2.786,-4.15l-3.206,3.838"></path>
            <path d="M20.677,10.387c0.834,4.408 -2.273,8.729 -6.509,9.729c-2.954,0.699 -5.916,-0.238 -7.931,-2.224"></path>
            <path d="M3.719,14.325c-1.314,-4.883 1.969,-9.675 6.538,-10.753c3.156,-0.747 6.316,0.372 8.324,2.641"></path>
          </g>
          <path fill="none" d="M0,0h24v24h-24Z"></path>
        </svg>
      </span>
    </button>

    <input type="hidden" name="custom_studio_form" value="1">
  </div>
</form>

<!-- Mensagem de sucesso -->
<?php if (isset($_GET['success'])) : ?>
  <div class="alert alert-success">
    <?php
      $lang = function_exists('pll_current_language') ? pll_current_language() : 'en';

      switch ($lang) {
        case 'pt':
          echo 'Sua mensagem foi enviada com sucesso!';
          break;
        case 'es':
          echo '¡Tu mensaje ha sido enviado con éxito!';
          break;
        case 'en':
        default:
          echo 'Your message has been sent successfully!';
          break;
      }
    ?>
  </div>
<?php endif; ?>
#brxe-bjdyin {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.form-group {
    display: flex;
    flex-direction: column;
    padding: 0 0 20px;
    width: 100%;
}

.form-group {
    padding-bottom: 12px;
}

.form-group:nth-child(1) {
    width: 48.6%;
}

.form-group:nth-child(2) {
    width: 48.6%;
}

.form-group input {
    font-size: 16px;
    font-weight: 400;
    color: var(--bricks-color-gymnyz);
    line-height: 1.5;
    background-color: var(--bricks-color-fappzc);
    border-radius: 24px;
    padding-top: 12px;
    padding-right: 18px;
    padding-bottom: 12px;
    padding-left: 18px;
}

.form-group select {
    font-size: 16px;
    font-weight: 400;
    color: var(--bricks-color-ubyowm);
    line-height: 1.5;
    background-color: var(--bricks-color-fappzc);
    border-radius: 24px;
    padding-top: 12px;
    padding-right: 18px;
    padding-bottom: 12px;
    padding-left: 18px;
}

.form-group textarea {
    font-size: 16px;
    font-weight: 400;
    color: var(--bricks-color-gymnyz);
    line-height: 1.5;
    background-color: var(--bricks-color-fappzc);
    border-radius: 24px;
    padding-top: 12px;
    padding-right: 18px;
    padding-bottom: 12px;
    padding-left: 18px;
  	resize: none;
}

.form-group label {
    font-size: 14px;
    text-transform: none;
    letter-spacing: 0px;
    font-weight: 400;
}

.options-wrapper {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

.options-wrapper li {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: nowrap;
    gap: 5px;
}

.options-wrapper input,.options-wrapper label {
    display: inline-block;
    height: auto;
    margin: 0 5px 0 0;
    width: auto;
}

.submit-button-wrapper {
    margin-top: 0;
    margin-right: 0;
    margin-bottom: 0;
    margin-left: 0;
}

.submit-button-wrapper {
    width: 100%;
  	max-width: 163px;
}

.g-recaptcha {
    margin-bottom: 15px !important;
}

.bricks-button {
    font-size: 14px;
    line-height: 1.1;
    color: var(--bricks-color-fappzc);
    border-radius: 100px;
    transition: .2s;
    padding-top: 8px;
    padding-right: 16px;
    padding-bottom: 8px;
    padding-left: 16px;
}

button[type=submit] .loading {
    display: none;
}


@media(max-width: 991px) {
  .submit-button-wrapper {
        max-width: 100%;
    		height: 100%;
    }
  
  .bricks-button {
        width: 100% !important;
        min-width: 100% !important;
    		height: 41px;
    }
}

@media(max-width: 478px) {
  .form-group:nth-child(1) {
    width: 100%;
}

.form-group:nth-child(2) {
    width: 100%;
}
}
document.addEventListener('DOMContentLoaded', function () {
  const form = document.getElementById('brxe-bjdyin');
  const button = document.getElementById('submitBtn');
  const icon = button.querySelector('.icon-send');
  const loading = button.querySelector('.loading');
  const text = button.querySelector('.text');

  form.addEventListener('submit', function () {
    icon.style.display = 'none';
    loading.style.display = 'inline-block';
    text.textContent = getLocalizedSendingText();
  });

  function getLocalizedSendingText() {
    const lang = document.documentElement.lang || 'en';
    switch (lang) {
      case 'pt': return 'Enviando...';
      case 'es': return 'Enviando...';
      default: return 'Sending...';
    }
  }
});

document.addEventListener("DOMContentLoaded", function () {
    const form = document.getElementById("brxe-bjdyin");

    form.addEventListener("submit", function (e) {

        // HONEYPOT → Se preenchido, bloquear
        const honeypot = form.querySelector("input[name='anti_robot_field']");
        if (honeypot && honeypot.value.trim() !== "") {
            e.preventDefault();
            alert("Erro de validação.");
            return false;
        }

        // reCAPTCHA vazio → bloquear
        const recaptcha = grecaptcha.getResponse();
        if (recaptcha.length === 0) {
            e.preventDefault();
            alert("Por favor, confirme que você não é um robô.");
            return false;
        }

        // 🔥 Delay de 1.5s para recarregar após envio bem-sucedido
        setTimeout(() => {
            if (typeof grecaptcha !== "undefined") {
                grecaptcha.reset();
            }
        }, 1500);
    });
});
Coming soon

Stay tuned for what's next

We're working behind the scenes to bring you new and exciting features to enhance your PILAT3S experience. This page is currently under development and will be launched soon. Check back later for updates, and get ready to elevate your fitness journey.