@font-face {
  font-family: "TPR Rader";
  src: url("assets/fonts/pp-rader/PPRader-Bold.otf") format("opentype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}
@font-face {
  font-family: "TPR Haas";
  src: url("assets/fonts/alte-haas-grotesk/AlteHaasGroteskRegular.ttf")
    format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "TPR Haas";
  src: url("assets/fonts/alte-haas-grotesk/AlteHaasGroteskBold.ttf")
    format("truetype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}
:root {
  --royal: #2c64e8;
  --ice: #98caff;
  --pink: #ff7bff;
  --green: #3f9941;
  --acid: #c2d569;
  --orange: #eb642b;
  --yellow: #ffc100;
  --preview-display: "TPR Rader", Arial, sans-serif;
  --preview-body: "TPR Haas", Arial, sans-serif;
}
.updated-preview,
.updated-preview *,
.updated-preview *::before,
.updated-preview *::after {
  box-sizing: border-box;
}
html {
  scroll-padding-top: 24px;
  scroll-snap-type: none;
}
/* Keep native scrolling, touch gestures and keyboard access without browser
   scrollbar tracks on the page, text slots, menus, cards or form fields. */
html:has(body.updated-preview),
body.updated-preview,
body.updated-preview * {
  scrollbar-width: none;
}
html:has(body.updated-preview)::-webkit-scrollbar,
body.updated-preview::-webkit-scrollbar,
body.updated-preview *::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}
body.updated-preview {
  margin: 0;
  min-width: 320px;
  max-width: 100%;
  overflow-x: clip;
  font: 400 24px/1 var(--preview-body);
  color: white;
  background: var(--royal);
}
.updated-preview--pink {
  background: var(--pink) !important;
}
.updated-preview--green {
  background: var(--green) !important;
}
.updated-preview h1,
.updated-preview h2,
.updated-preview h3,
.updated-preview p,
.updated-preview figure {
  margin: 0;
}
.updated-preview button,
.updated-preview input,
.updated-preview select,
.updated-preview textarea {
  font: inherit;
  color: inherit;
}
.updated-preview button,
.updated-preview a {
  -webkit-tap-highlight-color: transparent;
}
.updated-preview button {
  cursor: pointer;
}
.updated-preview a {
  color: inherit;
  text-decoration: none;
}
.updated-preview button:disabled {
  cursor: default;
}
.updated-preview :focus-visible {
  outline: 3px solid var(--yellow);
  outline-offset: 5px;
}
.updated-preview img {
  display: block;
  max-width: 100%;
}
.updated-preview .sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.updated-preview .skip-link {
  position: fixed;
  z-index: 250;
  left: 16px;
  top: 16px;
  background: white;
  color: var(--royal);
  padding: 12px 20px;
  transform: translateY(-180%);
}
.updated-preview .skip-link:focus {
  transform: none;
}
.updated-preview main {
  position: relative;
  max-width: 1512px;
  margin-inline: auto;
  overflow: clip;
}
.preview-shell {
  position: relative;
  width: 100%;
  padding-inline: 80px;
}
.preview-two-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 80px;
  align-items: start;
}
.preview-section-title {
  font: 700 80px/1 var(--preview-display);
  text-transform: uppercase;
  letter-spacing: 0;
}
.preview-lead {
  font: 400 40px/1 var(--preview-body);
}
.preview-body-copy {
  font: 400 24px/1 var(--preview-body);
}
.preview-body-copy p + p,
.preview-lead p + p {
  margin-top: 8px;
}
.preview-centered {
  text-align: center;
}
.preview-button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  min-height: 32px;
  padding: 8px 64px;
  border: 0;
  border-radius: 10px;
  font: 700 16px/1 var(--preview-body);
  white-space: nowrap;
  text-align: center;
  transition:
    filter 0.18s,
    background-color 0.18s;
}
.preview-button:hover {
  filter: brightness(0.96);
}
.preview-button--outline {
  color: white;
  box-shadow: inset 0 0 0 3px white;
  background: transparent;
}
.preview-button--blue-outline {
  color: var(--royal);
  box-shadow: inset 0 0 0 3px var(--royal);
  background: transparent;
}
.preview-button--solid {
  color: white !important;
  background: var(--royal);
}
.preview-button--pink {
  color: var(--royal) !important;
  background: var(--pink);
}
.preview-button-row {
  display: flex;
  align-items: center;
  gap: 32px;
  flex-wrap: wrap;
}
.preview-body-copy > .preview-button,
.preview-body-copy > .preview-button-row {
  margin-top: 32px;
}
.preview-header {
  position: absolute;
  z-index: 20;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: min(100%, 1512px);
  height: 96px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  padding: 16px 80px;
  color: white;
}
.preview-brand {
  display: block;
  width: 131.368px;
  height: 64px;
  flex: none;
}
.preview-brand img {
  width: 131.368px;
  height: 64px;
  object-fit: contain;
  filter: brightness(0) invert(1);
}
.preview-header-actions {
  display: flex;
  align-items: center;
  gap: 32px;
}
.preview-menu-button {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  align-items: center;
  width: 32px;
  height: 32px;
  padding: 2px;
  border: 0;
  background: transparent;
  color: white;
}
.preview-menu-button span {
  display: block;
  width: 24px;
  height: 2px;
  background: currentColor;
}
.preview-menu {
  position: fixed;
  z-index: 200;
  inset: 0;
  padding: 96px 80px;
  background: var(--royal);
  color: white;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
  overflow: auto;
  visibility: hidden;
  opacity: 0;
  transform: translateY(-12px);
  transition:
    opacity 0.25s,
    transform 0.35s,
    visibility 0s 0.35s;
}
.preview-menu.is-open {
  visibility: visible;
  opacity: 1;
  transform: none;
  transition-delay: 0s;
}
.preview-menu-brand {
  max-width: 500px;
  display: block;
}
.preview-menu-brand img {
  width: 100%;
  filter: brightness(0) invert(1);
}
.preview-menu-close {
  position: absolute;
  right: 70px;
  top: 16px;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 0;
  background: none;
}
.updated-preview .preview-menu-close {
  font: 400 48px/1 var(--preview-body);
}
.preview-menu nav {
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: start;
}
.preview-menu nav > a,
.preview-menu-group > a {
  font: 700 48px/1 var(--preview-display);
  text-transform: uppercase;
}
.preview-menu nav > .preview-button {
  font: 700 16px/1 var(--preview-body);
  margin-top: 8px;
}
.preview-menu-rooms {
  display: flex;
  gap: 24px;
  margin-top: 24px;
}
.preview-menu-room {
  display: block;
  width: 64px;
  height: 88px;
}
.preview-menu-room img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: brightness(0) invert(1);
}
.updated-preview.is-menu-open {
  overflow: hidden;
}
.preview-footer {
  position: relative;
  max-width: 1512px;
  margin-inline: auto;
  padding: 80px 92px;
  display: flex;
  flex-direction: column;
  gap: 80px;
  background: white;
  color: var(--royal);
}
.preview-footer--home {
  min-height: 428px;
}
.preview-footer-top {
  display: flex;
  justify-content: space-between;
  gap: 80px;
  align-items: start;
}
.preview-footer-wordmark {
  position: relative;
  display: block;
  width: 463.738px;
  height: 168px;
  flex: none;
  overflow: hidden;
}
.preview-footer-wordmark img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: left top;
}
.preview-footer-wordmark.is-artboard img {
  position: absolute;
  width: 100%;
  height: auto;
  max-width: none;
  top: var(--wordmark-top, -163px);
  left: 0;
}
.preview-footer-columns {
  display: flex;
  gap: 120px;
}
.preview-footer nav {
  display: flex;
  flex-direction: column;
  gap: 12px;
  font: 400 16px/1 var(--preview-body);
}
.preview-footer nav h2 {
  font: 700 24px/1 var(--preview-display);
  text-transform: uppercase;
  margin-bottom: 4px;
}
.preview-footer a:hover {
  text-decoration: underline;
}
.preview-footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  font: 400 14px/1 var(--preview-body);
}
.preview-footer-bottom > div {
  display: flex;
  align-items: center;
  gap: 8px;
}
.preview-footer-bottom i {
  font-style: normal;
}
.preview-footer-bottom strong {
  font-weight: 700;
}
.preview-page-section {
  padding-top: 240px;
  padding-bottom: 160px;
  display: flex;
  flex-direction: column;
  gap: 120px;
  isolation: isolate;
}
.preview-page-section::before {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
  width: 900px;
  height: 1150px;
  left: -400px;
  top: -440px;
  background: var(--ice);
  mask: url("assets/about-blob.svg") center/100% 100% no-repeat;
}
.preview-about::before {
  background: var(--pink);
}
.preview-events::before {
  background: var(--royal);
}
.preview-booking::before {
  background: var(--acid);
}
.preview-about-logo {
  width: 352px;
  height: 204px;
}
.preview-about-logo img {
  height: 100%;
  width: auto;
  max-width: 100%;
  object-fit: contain;
  filter: brightness(0) invert(1);
}
.preview-home-about {
  padding-block: 80px 160px;
  display: flex;
  flex-direction: column;
  gap: 120px;
}
.preview-home-about > .preview-two-columns:first-child {
  min-height: 304px;
}
.updated-preview .hero {
  height: 952px;
  min-height: 0;
  max-height: none;
  overflow: hidden;
}
.updated-preview .hero-copy {
  left: auto !important;
  right: 80px !important;
  bottom: 80px !important;
  top: auto !important;
  transform: none !important;
  width: auto !important;
  padding: 0 !important;
}
.updated-preview .hero-copy h1 {
  font: 700 160px/0.9 var(--preview-display) !important;
  color: white !important;
  background: none !important;
  -webkit-text-fill-color: initial !important;
  text-align: right;
  letter-spacing: 0 !important;
  width: auto !important;
  height: auto !important;
  line-height: 0.9 !important;
}
.updated-preview .hero-copy h1 span {
  display: block;
}
.updated-preview .people-nav {
  height: 240px;
  min-height: 240px;
  max-height: 240px;
  width: calc(100% + 160px);
  margin: 0 -80px !important;
  overflow: visible !important;
  background: var(--pink);
}
.updated-preview .people-canvas {
  width: 100%;
  max-width: 1512px;
  height: 240px;
}
.updated-preview .people-figures {
  height: 240px;
  min-height: 240px;
}
.updated-preview .people-figure {
  color: white;
}
.updated-preview .people-tooltip {
  display: none;
}
.preview-rooms-intro {
  position: relative;
}
.preview-rooms-intro::before {
  content: "";
  z-index: -1;
  position: absolute;
  background: var(--pink);
  inset: -120px -80px -160px;
}
.preview-home-events {
  padding-block: 120px;
  display: flex;
  flex-direction: column;
  gap: 80px;
  background: var(--pink);
  color: white;
}
.preview-home-event-photo {
  width: calc(100% + 160px);
  margin: 0 -80px !important;
  height: 714px;
  overflow: hidden;
  mask: url("assets/event-mask-exact.png") center/100% 100% no-repeat;
}
.preview-home-event-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.preview-offers {
  padding-block: 120px;
  display: flex;
  flex-direction: column;
  gap: 80px;
  isolation: isolate;
}
.preview-offers-heading {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
}
.preview-offers-heading > p {
  font: 700 40px/1 var(--preview-display);
  text-transform: uppercase;
}
.preview-offer-carousel {
  display: flex;
  align-items: start;
  gap: 80px;
  max-width: 100%;
  width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
  padding-block: 0 4px;
}
.preview-offer-carousel::-webkit-scrollbar {
  display: none;
}
.preview-offer-card {
  flex: 0 0 480px;
  background: white;
  color: var(--royal);
  overflow: hidden;
  padding: 0 24px 24px;
  scroll-snap-align: start;
  border-radius: 12px;
}
.preview-offer-media {
  height: 320px;
  margin-inline: -24px;
  background: #f6f8fc;
}
.preview-offer-body {
  display: flex;
  flex-direction: column;
  align-items: start;
  gap: 24px;
  padding-top: 24px;
}
.preview-offer-eyebrow {
  font: 700 24px/1 var(--preview-display);
  text-transform: uppercase;
}
.preview-offer-card h3 {
  font: 700 40px/1 var(--preview-display);
  text-transform: uppercase;
  margin-top: -16px;
}
.preview-offer-description {
  font: 400 24px/1 var(--preview-body);
}
.preview-offer-tags {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}
.preview-offer-tags span {
  display: block;
  background: var(--ice);
  padding: 10px 14px;
  border-radius: 12px;
  font: 700 12px/1 var(--preview-display);
  text-transform: uppercase;
}
.preview-offer-body ul {
  list-style: none;
  padding: 0;
  margin: 0;
  font: 400 20px/1 var(--preview-body);
}
.preview-offer-body li {
  margin: 0 0 6px;
}
.preview-offer-body .is-excluded {
  opacity: 0.55;
}
.preview-offer-body > .preview-button {
  width: 100%;
  padding-inline: 20px;
}
.preview-pilates-banner {
  align-self: center;
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 16px 32px;
  border-radius: 12px;
  background: var(--yellow);
  color: var(--royal) !important;
  font: 700 20px/1 var(--preview-display);
  text-transform: uppercase;
}
.preview-pilates-banner span {
  background: var(--royal);
  color: var(--yellow);
  padding: 10px 24px;
  border-radius: 8px;
  font: 700 16px/1 var(--preview-body);
  text-transform: none;
}
.preview-company {
  width: 100%;
  padding-top: 160px;
  display: flex;
  flex-direction: column;
  gap: 80px;
}
.preview-company > .preview-section-title {
  max-width: 1000px;
  margin-inline: auto;
}
.preview-company-card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  width: 100%;
  overflow: hidden;
  background: white;
  color: var(--royal);
}
.preview-company-media {
  min-height: 936px;
  background: #f6f8fc;
}
.preview-company-copy {
  padding: 48px 48px 48px 0;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.preview-company-copy h3 {
  font: 700 40px/1 var(--preview-display);
  text-transform: uppercase;
}
.preview-company-copy > p {
  font: 400 24px/1 var(--preview-body);
}
.preview-company-copy > ul {
  margin: 0;
  padding: 0;
  list-style: none;
  font: 400 20px/1 var(--preview-body);
}
.preview-company-copy > ul li {
  margin-bottom: 6px;
}
.preview-company-copy .preview-contact-form {
  margin-top: 24px;
}
.preview-newsletter {
  padding-block: 120px;
  display: flex;
  flex-direction: column;
  gap: 120px;
  isolation: isolate;
}
.preview-newsletter::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: var(--ice);
  mask: url("assets/coming-soon-background.svg") center/120% 200% no-repeat;
}
.preview-newsletter-form {
  width: min(100%, 696px);
  align-self: center;
}
.preview-email-row {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  min-height: 48px;
  padding: 8px 8px 8px 16px;
  background: white;
  color: var(--royal);
  border-radius: 10px;
}
.preview-email-row input {
  flex: 1;
  min-width: 0;
  border: 0;
  background: none;
  font: 700 16px/1 var(--preview-body);
  color: var(--royal);
  padding: 0;
}
.preview-email-row input::placeholder {
  color: var(--ice);
  opacity: 1;
}
.preview-email-row button {
  flex: none;
  min-height: 32px;
  padding: 8px 64px;
  border: 0;
  border-radius: 10px;
  font: 700 16px/1 var(--preview-body);
  background: var(--ice);
  color: white;
  transition: background-color 0.2s;
}
.preview-email-row button.is-ready {
  background: var(--royal);
}
.preview-consent {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-top: 18px;
  font: 400 12px/16px var(--preview-body);
  letter-spacing: -0.5px;
}
.preview-consent > input {
  appearance: auto;
  flex: none;
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: var(--royal);
}
.preview-consent a {
  text-decoration: underline;
  color: var(--royal);
}
.preview-trap {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.preview-paper {
  border-radius: 12px;
  mask: url("assets/wavy-frame.svg") center/100% 100% no-repeat;
}
.preview-contact-section {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 80px;
}
.preview-contact-row {
  display: grid;
  grid-template-columns: minmax(0, 660px) minmax(0, 1fr);
  gap: 80px;
  width: 100%;
  align-items: stretch;
}
.preview-contact-card {
  height: 568px;
  display: flex;
  flex-direction: column;
  gap: 48px;
  padding: 48px;
  background: white;
  color: var(--royal);
  overflow: visible;
}
.preview-contact-card.has-status {
  height: auto;
  min-height: 568px;
}
.preview-form-heading {
  display: flex;
  gap: 24px;
  justify-content: space-between;
  align-items: start;
}
.preview-form-heading > div {
  flex: 1;
  min-width: 0;
}
.preview-form-heading h2 {
  font: 700 40px/1 var(--preview-display);
  text-transform: uppercase;
}
.preview-form-heading p {
  margin-top: 24px;
  font: 400 24px/1 var(--preview-body);
}
.preview-form-heading > img {
  flex: none;
  width: 64px;
  height: 80px;
  object-fit: contain;
}
.preview-contact-form {
  width: 100%;
  min-width: 0;
}
.preview-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
.preview-fields > label {
  position: relative;
  display: block;
  min-width: 0;
}
.preview-fields input,
.preview-fields select,
.preview-fields textarea {
  display: block;
  width: 100%;
  min-width: 0;
  border: 0;
  background: white;
  box-shadow: inset 0 0 0 3px var(--ice);
  border-radius: 10px;
  padding: 16px;
  font: 700 16px/1 var(--preview-body);
  color: var(--royal);
}
.preview-fields input,
.preview-fields select {
  height: 48px;
}
.preview-fields input::placeholder,
.preview-fields textarea::placeholder {
  color: var(--ice);
  opacity: 1;
}
.preview-fields select {
  appearance: auto;
  background: var(--royal);
  box-shadow: none;
  color: white;
  padding-right: 12px;
}
.preview-fields textarea {
  height: 96px;
  resize: vertical;
  line-height: 20px;
}
.preview-field-message,
.preview-submit {
  grid-column: 1/-1;
}
.preview-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  min-height: 32px;
  border: 0;
  padding: 8px 20px;
  border-radius: 10px;
  background: var(--ice);
  color: white;
  font: 700 16px/1 var(--preview-body);
}
.preview-submit.is-ready {
  background: var(--royal);
}
.preview-submit span {
  font-size: 25px;
  line-height: 12px;
}
.preview-form-status {
  font: 400 16px/1.35 var(--preview-body);
  margin-top: 16px !important;
}
.preview-form-status:empty {
  display: none;
}
.preview-map-card {
  display: flex;
  flex-direction: column;
  gap: 24px;
  background: white;
  color: var(--royal) !important;
  padding: 0 24px 24px;
  overflow: hidden;
  min-height: 568px;
}
.preview-map-image {
  position: relative;
  flex: 1;
  min-height: 300px;
  margin-inline: -24px;
  overflow: hidden;
}
.preview-map-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(44, 100, 232, 0.2);
  pointer-events: none;
}
.preview-map-image img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.preview-map-caption {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  font: 400 24px/1 var(--preview-body);
}
.preview-map-caption strong {
  font-weight: 700;
}
.preview-manifesto {
  align-items: stretch;
}
.preview-manifesto-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 624px;
  padding: 24px;
  outline: 4px solid white;
  outline-offset: -4px;
  border-radius: 12px;
  font: 400 24px/1 var(--preview-body);
}
.preview-manifesto-card p + p {
  margin-top: 8px;
}
.preview-manifesto-card h2 {
  margin-top: auto;
  padding-top: 32px;
  text-align: right;
  font: 700 40px/1 var(--preview-display);
  text-transform: uppercase;
}
.preview-discover {
  position: relative;
  width: 100%;
  height: 730px;
}
.preview-discover-button {
  position: absolute;
  width: 360px;
  min-height: 72px;
  padding: 16px;
  border: 0;
  background: transparent;
  box-shadow: inset 0 0 0 3px white;
  border-radius: 10px;
  color: white;
  font: 700 40px/1 var(--preview-display);
  text-transform: uppercase;
}
.preview-discover-button[aria-pressed="true"] {
  color: var(--royal);
  background: white;
}
.preview-discover-button--community {
  top: 0;
  left: calc(50% - 180px);
}
.preview-discover-button--coworking {
  top: 172px;
  left: 0;
}
.preview-discover-button--reformer {
  top: 172px;
  right: 0;
}
.preview-discover-button--bar {
  top: 484px;
  left: 0;
}
.preview-discover-button--wellness {
  top: 484px;
  right: 0;
}
.preview-discover-button--media {
  top: 656px;
  left: calc(50% - 180px);
}
.preview-discover-content {
  position: absolute;
  top: 244px;
  left: calc(50% - 210px);
  width: 420px;
  display: flex;
  flex-direction: column;
  gap: 32px;
  text-align: center;
}
.preview-discover-content h2 {
  font: 700 80px/0.9 var(--preview-display);
  text-transform: uppercase;
}
.preview-discover-content p {
  font: 400 24px/1 var(--preview-body);
}
.preview-discover-content.is-detail {
  top: 190px;
}
.preview-discover-content.is-detail h2 {
  font-size: 48px;
}
.preview-discover-content.is-detail p {
  font-size: 20px;
}
.preview-discover-content a {
  font: 700 16px/1 var(--preview-body);
  text-decoration: underline;
}
.preview-feature-cards {
  display: flex;
  gap: 80px;
  justify-content: center;
  max-width: 100%;
  align-self: center;
}
.preview-feature-card {
  flex: 0 1 560px;
  width: 560px;
  height: 434px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  background: white;
  color: var(--royal) !important;
  padding: 0 24px 24px;
  overflow: hidden;
}
.preview-feature-media {
  flex: 1;
  min-height: 0;
  background: #f6f8fc;
  margin-inline: -24px;
}
.preview-feature-card > span {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font: 700 48px/1 var(--preview-display);
  text-transform: uppercase;
}
.preview-feature-card b {
  font: 400 36px/1 var(--preview-body);
}
.preview-events {
  gap: 160px;
}
.preview-event-gallery {
  display: flex;
  flex-direction: column;
  gap: 80px;
  width: 100%;
  color: var(--royal);
}
.preview-event-carousel {
  display: flex;
  gap: 80px;
  overflow-x: auto;
  width: calc(100% + 160px);
  margin-inline: -80px;
  scrollbar-width: none;
  overscroll-behavior-inline: contain;
  scroll-snap-type: x proximity;
  padding-inline: 80px;
}
.preview-event-carousel::-webkit-scrollbar {
  display: none;
}
.preview-event-card {
  flex: none;
  width: 560px;
  background: white;
  color: var(--royal);
  padding: 0 24px 24px;
  overflow: hidden;
  scroll-snap-align: center;
}
.preview-event-media {
  height: 320px;
  background: #f6f8fc;
  margin-inline: -24px;
}
.preview-event-card > div:last-child {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-top: 24px;
}
.preview-event-card h3 {
  font: 700 40px/1 var(--preview-display);
  text-transform: uppercase;
}
.preview-event-card p {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  font: 400 16px/1 var(--preview-body);
}
.preview-event-organize {
  display: flex;
  flex-direction: column;
  gap: 80px;
  width: 100%;
  color: var(--royal);
}
.preview-contact-card--event {
  height: auto;
  min-height: 496px;
}
.preview-contact-card--event .preview-form-heading h2 {
  font-size: 40px;
}
.preview-contact-form--flat .preview-fields {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.preview-booking-panel {
  min-height: 568px;
  height: auto;
  width: 100%;
  padding: 24px;
  background: white;
}
.preview-booking-panel iframe {
  display: block;
  width: 100%;
  max-width: 100%;
  border: 0;
}
.preview-room-explorer {
  position: relative;
  width: 100%;
  height: 952px;
  overflow: hidden;
  background: var(--room-bg, var(--ice));
  color: var(--room-fg, white);
  isolation: isolate;
}
.preview-room-art {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
}
.preview-room-character {
  position: absolute;
  left: 5.291%;
  top: 264px;
  width: 140px;
  height: 180px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.preview-room-character img {
  max-width: 140px;
  max-height: 180px;
  width: auto;
  height: auto;
}
.preview-room-copy {
  position: absolute;
  left: 52.6455%;
  right: 5.291%;
  top: 264px;
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.preview-room-copy :is(h1, h2) {
  font: 700 80px/1 var(--preview-display);
  text-transform: uppercase;
}
.preview-room-body {
  font: 400 24px/1 var(--preview-body);
}
.preview-room-body p + p {
  margin-top: 8px;
}
.preview-room-actions {
  display: flex;
  gap: 32px;
  flex-wrap: wrap;
  margin-top: 32px;
}
.preview-room-actions .preview-button {
  padding-inline: 40px;
  color: var(--room-bg);
  background: var(--room-accent, var(--royal));
}
.preview-room-actions .preview-button--room-outline {
  background: none;
  box-shadow: inset 0 0 0 3px var(--room-accent, var(--royal));
  color: var(--room-accent, var(--royal));
}
.preview-room-nav {
  position: absolute;
  left: 50%;
  bottom: 48px;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 32px;
}
.preview-room-nav button {
  position: relative;
  width: 48px;
  height: 48px;
  border: 0;
  border-radius: 50%;
  background: none;
  padding: 0;
  color: inherit;
}
.preview-room-nav button[aria-pressed="true"] {
  background: var(--room-accent);
  color: var(--room-bg);
}
.preview-room-nav img {
  width: 48px;
  height: 48px;
  object-fit: contain;
}
.preview-room-nav button:not([aria-pressed="true"]) img {
  filter: brightness(0) invert(1);
}
.preview-room-details {
  position: absolute;
  inset: 0;
  background: var(--room-bg);
  padding: 144px 80px 80px;
  display: flex;
  flex-direction: column;
  gap: 48px;
  z-index: 4;
  transform: translateX(100%);
  visibility: hidden;
  transition:
    transform 0.5s,
    visibility 0s 0.5s;
}
.preview-room-explorer.is-exploring .preview-room-details {
  visibility: visible;
  transform: none;
  transition-delay: 0s;
}
.preview-room-details-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.preview-room-details-top h2 {
  font: 700 48px/1 var(--preview-display);
  text-transform: uppercase;
}
.preview-room-back {
  background: none;
  border: 0;
  color: inherit;
  font: 700 16px/1 var(--preview-body);
  padding: 12px 0;
}
.preview-room-cards {
  display: flex;
  gap: 80px;
  width: calc(100% + 80px);
  overflow-x: auto;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
  padding-right: 80px;
}
.preview-room-panel[data-room-panel="reformer"] {
  --room-card-ink: var(--green);
}
.preview-room-panel[data-room-panel="bar"] {
  --room-card-ink: var(--orange);
}
.preview-room-card {
  position: relative;
  flex: none;
  width: 560px;
  height: 434px;
  padding: 0 24px 24px;
  border: 0;
  background: white;
  color: var(--room-card-ink, var(--room-accent));
  display: flex;
  flex-direction: column;
  gap: 24px;
  overflow: hidden;
  scroll-snap-align: start;
  text-align: left;
}
.preview-room-card-photo {
  display: block;
  flex: 1;
  min-height: 0;
  margin-inline: -24px;
  overflow: hidden;
  background: #f6f8fc;
}
.preview-room-card-photo img {
  width: 560px;
  height: 100%;
  object-fit: cover;
}
.preview-room-card-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  font: 700 48px/1 var(--preview-display);
  text-transform: uppercase;
}
.preview-room-card-label b {
  font: 400 36px/1 var(--preview-body);
}
.preview-room-card-front {
  display: flex;
  flex: 1;
  min-height: 0;
  flex-direction: column;
  gap: 24px;
}
.preview-room-card-open {
  position: absolute;
  inset: 0;
  padding: 0;
  border: 0;
  border-radius: inherit;
  background: transparent;
  color: inherit;
  cursor: pointer;
}
.preview-room-card-open:focus-visible {
  outline: 3px solid currentColor;
  outline-offset: -12px;
}
.preview-room-card-back {
  display: none;
  position: absolute;
  inset: 0;
  padding: 32px;
  background: white;
  color: var(--room-card-ink, var(--room-accent));
  flex-direction: column;
  gap: 24px;
  font: 400 24px/1 var(--preview-body);
}
.preview-room-card.is-flipped .preview-room-card-back {
  display: flex;
}
.preview-room-card-back-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}
.preview-room-card-back h3 {
  min-width: 0;
  font: 700 48px/1 var(--preview-display);
  text-transform: uppercase;
}
.preview-room-card-close {
  flex: none;
  border: 0;
  padding: 8px 0;
  background: transparent;
  color: inherit;
  font: 700 16px/1 var(--preview-body);
  text-decoration: underline;
  cursor: pointer;
}
.preview-room-card-ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 24px;
  margin-top: auto;
}
.preview-room-card-back a {
  font: 700 16px/1 var(--preview-body);
  text-decoration: underline;
}
@media (min-width: 1513px) {
  .preview-header {
    max-width: 1512px;
  }
  .preview-shell {
    padding-inline: 80px;
  }
}
@media (max-width: 1200px) and (min-width: 901px) {
  .preview-shell {
    padding-inline: 48px;
  }
  .preview-header {
    padding-inline: 48px;
  }
  .preview-section-title {
    font-size: 64px;
  }
  .preview-lead {
    font-size: 32px;
  }
  .preview-two-columns {
    gap: 48px;
  }
  .preview-contact-row {
    grid-template-columns: 1fr 1fr;
    gap: 48px;
  }
  .preview-contact-card {
    padding: 32px;
    gap: 32px;
    height: auto;
    min-height: 568px;
  }
  .preview-form-heading h2 {
    font-size: 32px;
  }
  .preview-map-caption {
    font-size: 20px;
  }
  .preview-footer {
    padding-inline: 48px;
  }
  .preview-footer-wordmark {
    width: 360px;
    height: 130px;
  }
  .preview-footer-columns {
    gap: 80px;
  }
  .preview-footer-bottom {
    flex-wrap: wrap;
  }
  .preview-room-copy {
    left: 50%;
    right: 4%;
    top: 240px;
  }
  .preview-room-copy :is(h1, h2) {
    font-size: 64px;
  }
  .preview-room-body {
    font-size: 21px;
  }
  .preview-discover-button {
    width: 30%;
    font-size: 30px;
  }
  .preview-discover-button--community,
  .preview-discover-button--media {
    left: 35%;
  }
  .preview-discover-content {
    left: 35%;
    width: 30%;
  }
  .preview-discover-content h2 {
    font-size: 64px;
  }
  .preview-feature-cards {
    gap: 48px;
  }
  .preview-feature-card > span {
    font-size: 36px;
  }
}
@media (max-width: 900px) {
  body.updated-preview {
    font-size: 18px;
  }
  .preview-shell {
    padding-inline: 24px;
  }
  .preview-two-columns {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .preview-section-title {
    font-size: 48px;
    line-height: 1;
  }
  .preview-lead {
    font-size: 26px;
    line-height: 1.08;
  }
  .preview-body-copy {
    font-size: 18px;
    line-height: 1.12;
  }
  .preview-header {
    height: 88px;
    padding: 16px 24px;
    gap: 16px;
  }
  .preview-brand,
  .preview-brand img {
    width: 110px;
    height: 54px;
  }
  .preview-header-actions {
    gap: 18px;
  }
  .preview-header .preview-button {
    padding: 10px 14px;
    font-size: 12px;
  }
  .preview-menu-button {
    width: 28px;
    height: 32px;
  }
  .preview-menu {
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: center;
    padding: 88px 24px 40px;
    gap: 32px;
  }
  .preview-menu-brand {
    max-width: 180px;
  }
  .preview-menu nav {
    gap: 18px;
  }
  .preview-menu nav > a,
  .preview-menu-group > a {
    font-size: 36px;
  }
  .preview-menu-close {
    right: 14px;
    top: 10px;
  }
  .preview-menu-rooms {
    gap: 20px;
    margin-top: 16px;
  }
  .preview-menu-room {
    width: 42px;
    height: 58px;
  }
  .preview-page-section {
    padding-top: 144px;
    padding-bottom: 64px;
    gap: 64px;
  }
  .preview-page-section::before {
    width: 550px;
    height: 700px;
    left: -290px;
    top: -240px;
  }
  .preview-about-logo {
    width: 246px;
    height: 144px;
  }
  .preview-home-about {
    padding-block: 48px 64px;
    gap: 48px;
  }
  .preview-home-about > .preview-two-columns:first-child {
    min-height: 0;
  }
  .updated-preview .hero {
    height: 740px;
    min-height: 0;
    max-height: none;
  }
  .updated-preview .hero-copy {
    right: 24px !important;
    bottom: 52px !important;
    left: auto !important;
  }
  .updated-preview .hero-copy h1 {
    font-size: 88px !important;
    line-height: 0.9 !important;
  }
  .updated-preview .hero-photo {
    display: block !important;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .updated-preview .hero-mobile-composite {
    display: none !important;
  }
  .updated-preview .hero-shapes {
    display: block !important;
    width: auto;
    max-width: none;
    height: 100%;
    object-fit: cover;
    left: 50%;
    transform: translateX(-50%);
  }
  .updated-preview .hero-mobile-shape {
    display: none !important;
  }
  .updated-preview .people-nav {
    height: 128px;
    min-height: 128px;
    max-height: 128px;
    width: calc(100% + 48px);
    margin-inline: -24px !important;
  }
  .updated-preview .people-canvas,
  .updated-preview .people-figures {
    height: 128px;
    min-height: 128px;
  }
  .preview-rooms-intro::before {
    inset: -48px -24px -64px;
  }
  .preview-home-events {
    padding-block: 64px;
    gap: 40px;
  }
  .preview-home-event-photo {
    width: calc(100% + 48px);
    margin-inline: -24px !important;
    height: 320px;
  }
  .preview-button-row {
    gap: 16px;
  }
  .preview-button {
    padding: 10px 24px;
    min-height: 36px;
    font-size: 14px;
  }
  .preview-offers {
    padding-block: 64px;
    gap: 40px;
  }
  .preview-offers-heading {
    gap: 20px;
  }
  .preview-offers-heading > p {
    font-size: 24px;
  }
  .preview-offer-carousel {
    gap: 24px;
    width: calc(100% + 48px);
    max-width: none;
    margin-inline: -24px;
    padding-inline: 24px;
    scroll-padding-inline: 24px;
  }
  .preview-offer-card {
    flex-basis: min(340px, calc(100vw - 48px));
    padding-inline: 20px;
  }
  .preview-offer-media {
    height: 220px;
    margin-inline: -20px;
  }
  .preview-offer-body {
    gap: 18px;
    padding-top: 20px;
  }
  .preview-offer-eyebrow {
    font-size: 20px;
  }
  .preview-offer-card h3 {
    font-size: 36px;
    margin-top: -12px;
  }
  .preview-offer-description {
    font-size: 20px;
  }
  .preview-offer-tags {
    gap: 8px;
  }
  .preview-offer-tags span {
    font-size: 11px;
    padding: 8px 10px;
  }
  .preview-offer-body ul {
    font-size: 17px;
    line-height: 1.12;
  }
  .preview-pilates-banner {
    padding: 16px;
    flex-direction: column;
    gap: 12px;
    font-size: 20px;
    text-align: center;
    max-width: 100%;
  }
  .preview-pilates-banner span {
    font-size: 14px;
    padding: 10px 16px;
  }
  .preview-company {
    padding-top: 40px;
    gap: 32px;
  }
  .preview-company-card {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .preview-company-media {
    min-height: 0;
    height: 260px;
  }
  .preview-company-copy {
    padding: 24px;
    gap: 20px;
  }
  .preview-company-copy h3 {
    font-size: 32px;
  }
  .preview-company-copy > p {
    font-size: 20px;
    line-height: 1.1;
  }
  .preview-company-copy > ul {
    font-size: 17px;
    line-height: 1.12;
  }
  .preview-company-copy .preview-contact-form {
    margin-top: 4px;
  }
  .preview-newsletter {
    padding-block: 64px;
    gap: 40px;
  }
  .preview-email-row {
    padding: 8px 8px 8px 12px;
  }
  .preview-email-row input {
    font-size: 13px;
  }
  .preview-email-row button {
    padding: 9px 14px;
    font-size: 12px;
    min-height: 32px;
  }
  .preview-consent {
    font-size: 11px;
    line-height: 14px;
    letter-spacing: -0.2px;
  }
  .preview-consent a {
    color: white;
  }
  .preview-contact-row {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .preview-contact-card {
    padding: 24px;
    height: auto;
    min-height: 0;
    gap: 32px;
  }
  .preview-form-heading {
    gap: 16px;
  }
  .preview-form-heading h2 {
    font-size: 30px;
  }
  .preview-form-heading p {
    font-size: 18px;
    margin-top: 20px;
  }
  .preview-form-heading > img {
    width: 42px;
    height: 56px;
  }
  .preview-fields {
    gap: 16px;
  }
  .preview-fields input,
  .preview-fields select,
  .preview-fields textarea {
    font-size: 13px;
    padding: 12px;
    box-shadow: inset 0 0 0 2px var(--ice);
    border-radius: 8px;
  }
  .preview-fields input,
  .preview-fields select {
    height: 42px;
  }
  .preview-fields select {
    box-shadow: none;
  }
  .preview-fields textarea {
    height: 96px;
  }
  .preview-submit {
    min-height: 36px;
    font-size: 14px;
  }
  .preview-map-card {
    min-height: 400px;
    padding: 0 20px 20px;
    gap: 20px;
  }
  .preview-map-image {
    margin-inline: -20px;
    min-height: 300px;
  }
  .preview-map-caption {
    font-size: 18px;
    gap: 16px;
  }
  .preview-contact-section {
    gap: 32px;
  }
  .preview-manifesto-card {
    min-height: 0;
    padding: 24px;
    font-size: 18px;
    line-height: 1.08;
    outline-width: 2px;
    outline-offset: -2px;
  }
  .preview-manifesto-card h2 {
    font-size: 32px;
    margin-top: 20px;
  }
  .preview-discover {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    height: auto;
    padding-block: 0;
    isolation: isolate;
  }
  .preview-discover-button {
    position: static;
    width: 100%;
    min-height: 54px;
    padding: 12px 6px;
    font-size: 23px;
    box-shadow: inset 0 0 0 2px white;
  }
  .preview-discover-content,
  .preview-discover-content.is-detail {
    position: static;
    grid-column: 1/-1;
    grid-row: 1;
    width: 100%;
    padding: 32px 16px 40px;
    gap: 24px;
    min-height: 270px;
    justify-content: center;
  }
  .preview-discover-content h2 {
    font-size: 56px;
  }
  .preview-discover-content p {
    font-size: 18px;
    line-height: 1.08;
  }
  .preview-discover-content.is-detail h2 {
    font-size: 40px;
  }
  .preview-discover-content.is-detail p {
    font-size: 18px;
  }
  .preview-feature-cards {
    width: 100%;
    flex-direction: column;
    gap: 24px;
  }
  .preview-feature-card {
    flex: auto;
    width: 100%;
    height: 340px;
  }
  .preview-feature-card > span {
    font-size: 32px;
  }
  .preview-events {
    gap: 80px;
  }
  .preview-event-gallery {
    gap: 40px;
  }
  .preview-event-carousel {
    width: calc(100% + 48px);
    margin-inline: -24px;
    padding-inline: 24px;
    gap: 24px;
  }
  .preview-event-card {
    width: 320px;
    padding-inline: 20px;
  }
  .preview-event-media {
    height: 220px;
    margin-inline: -20px;
  }
  .preview-event-card h3 {
    font-size: 28px;
  }
  .preview-event-card p {
    font-size: 13px;
  }
  .preview-event-organize {
    gap: 32px;
  }
  .preview-contact-card--event .preview-form-heading h2 {
    font-size: 28px;
  }
  .preview-contact-form--flat .preview-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .preview-booking-panel {
    min-height: 500px;
    padding: 12px;
  }
  .preview-footer {
    padding: 48px 24px;
    gap: 40px;
  }
  .preview-footer-top {
    flex-direction: column;
    gap: 40px;
  }
  .preview-footer-wordmark {
    width: 270px;
    height: 98px;
  }
  .preview-footer-wordmark.is-artboard img {
    top: var(--wordmark-mobile-top, -95px);
  }
  .preview-footer-columns {
    gap: 72px;
  }
  .preview-footer nav {
    font-size: 15px;
    gap: 12px;
  }
  .preview-footer nav h2 {
    font-size: 24px;
  }
  .preview-footer-bottom {
    flex-direction: column;
    gap: 24px;
    font-size: 11px;
    line-height: 1.2;
  }
  .preview-footer-bottom > div {
    flex-wrap: wrap;
    gap: 8px;
  }
  .preview-footer-bottom > div:first-child {
    flex-direction: column;
    align-items: start;
  }
  .preview-footer-bottom > div:first-child i {
    display: none;
  }
  .preview-room-explorer {
    height: 880px;
  }
  .preview-room-art {
    height: 390px;
    object-fit: cover;
    object-position: left center;
  }
  .preview-room-character {
    left: 24px;
    top: 105px;
    width: 90px;
    height: 120px;
  }
  .preview-room-character img {
    max-width: 90px;
    max-height: 120px;
  }
  .preview-room-copy {
    left: 24px;
    right: 24px;
    top: 330px;
    gap: 24px;
  }
  .preview-room-copy :is(h1, h2) {
    font-size: 48px;
  }
  .preview-room-body {
    font-size: 17px;
    line-height: 1.1;
  }
  .preview-room-actions {
    gap: 16px;
    margin-top: 24px;
  }
  .preview-room-actions .preview-button {
    padding-inline: 22px;
  }
  .preview-room-nav {
    bottom: 24px;
    gap: 18px;
  }
  .preview-room-nav button,
  .preview-room-nav img {
    width: 36px;
    height: 36px;
  }
  .preview-room-details {
    padding: 112px 24px 40px;
    gap: 32px;
  }
  .preview-room-details-top h2 {
    font-size: 36px;
  }
  .preview-room-cards {
    width: calc(100% + 24px);
    gap: 24px;
    padding-right: 24px;
  }
  .preview-room-card {
    width: min(320px, calc(100vw - 48px));
    height: 390px;
    padding-inline: 20px;
  }
  .preview-room-card-photo {
    margin-inline: -20px;
  }
  .preview-room-card-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .preview-room-card-label {
    font-size: 32px;
  }
  .preview-room-card-back {
    padding: 24px;
    font-size: 18px;
  }
  .preview-room-card-back h3 {
    font-size: 32px;
  }
}
@media (max-width: 380px) {
  .updated-preview .hero-copy h1 {
    font-size: calc(25vw - 12px) !important;
  }
  .preview-section-title {
    font-size: 44px;
  }
  .preview-newsletter .preview-section-title {
    font-size: min(44px, 12vw);
  }
  .preview-header .preview-button {
    padding-inline: 10px;
    font-size: 11px;
  }
  .preview-brand,
  .preview-brand img {
    width: 100px;
    height: 49px;
  }
  .preview-header-actions {
    gap: 12px;
  }
  .preview-fields {
    grid-template-columns: 1fr;
  }
  .preview-contact-form--flat .preview-fields {
    grid-template-columns: 1fr;
  }
  .preview-room-explorer {
    height: 980px;
  }
  .preview-email-row button {
    padding-inline: 10px;
    font-size: 11px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .updated-preview * {
    scroll-behavior: auto !important;
    animation: none !important;
    transition: none !important;
  }
}
/* Shared room state: keep alternate rooms out of the accessibility tree. */
.updated-preview [hidden] {
  display: none !important;
}
.preview-room-panel {
  position: absolute;
  inset: 0;
  background: var(--room-bg);
  color: white;
}
.preview-room-panel.is-exploring .preview-room-details {
  visibility: visible;
  transform: none;
  transition-delay: 0s;
}
.preview-room-card-label h3 {
  font: inherit;
}
.preview-room-card-label small {
  font: 700 24px/1 var(--preview-display);
  text-transform: uppercase;
}
.preview-room-card-label {
  gap: 16px;
}
.preview-room-card {
  border: 8px solid white;
}
.preview-room-card-photo {
  margin-top: -8px;
}
.preview-room-details {
  padding-top: 144px;
}
.preview-room-panel .preview-room-art {
  opacity: 1;
}
.preview-vivi {
  padding-top: 240px;
  padding-bottom: 160px;
  gap: 0;
}
.preview-vivi > .preview-offers {
  padding-block: 0;
}
.preview-vivi .preview-company {
  padding-top: 40px;
}
.preview-partners {
  padding-block: 0 120px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
}
.preview-partners h2 {
  color: var(--ice);
  font: 700 40px/1 var(--preview-display);
  text-transform: uppercase;
}
.preview-partner-logos {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 90px;
  width: 100%;
  height: 120px;
}
.preview-partner-logos span {
  display: block;
  height: 90px;
  width: 90px;
}
.preview-partner-logos span:nth-child(2) {
  width: 296px;
}
.preview-partner-logos span:nth-child(4) {
  width: 424px;
}
.preview-footer-wordmark.is-artboard img {
  top: -206.23px;
  left: 1.19px;
}
.preview-footer-wordmark.is-artboard {
  height: 168.49px;
}
@media (min-width: 901px) and (max-width: 1200px) {
  .preview-footer-wordmark.is-artboard img {
    top: -160.1px;
    left: 0.93px;
  }
}
@media (max-width: 900px) {
  .preview-vivi {
    padding-top: 144px;
    padding-bottom: 64px;
  }
  .preview-vivi .preview-company {
    padding-top: 24px;
  }
  .preview-room-card-label small {
    font-size: 16px;
  }
  .preview-room-details {
    padding-top: 112px;
  }
  .preview-partners {
    padding-bottom: 64px;
    gap: 24px;
  }
  .preview-partners h2 {
    font-size: 28px;
  }
  .preview-partner-logos {
    gap: 24px;
    height: 80px;
  }
  .preview-partner-logos span {
    width: 40px;
    height: 40px;
  }
  .preview-partner-logos span:nth-child(2) {
    width: 80px;
  }
  .preview-partner-logos span:nth-child(4) {
    width: 100px;
  }
  .preview-footer-wordmark.is-artboard img {
    top: -120.07px;
    left: 0.7px;
  }
  .preview-footer-wordmark.is-artboard {
    height: 98px;
  }
}
/* Existing hero and original character components, isolated from legacy pages. */
.updated-preview .hero {
  position: relative;
  width: 100%;
  background: var(--royal);
}
.updated-preview .hero-photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.updated-preview .hero-shapes {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: fill;
  pointer-events: none;
}
.updated-preview .hero-mobile-composite,
.updated-preview .hero-mobile-shape,
.updated-preview .hero-curve {
  display: none !important;
}
.updated-preview .hero-copy {
  position: absolute;
  z-index: 2;
}
.updated-preview .hero-copy h1 {
  position: static;
  inset: auto;
}
.updated-preview .people-nav {
  position: relative;
  z-index: 1;
  padding: 0;
}
.updated-preview .people-canvas {
  position: relative;
}
.updated-preview .people-figures {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: end;
  width: 80.62%;
  margin-left: 9.92%;
  padding: 0;
}
.updated-preview .people-figure {
  display: grid;
  align-items: end;
  justify-items: center;
  min-width: 0;
}
.updated-preview .people-figure .little-man {
  display: block;
  width: auto;
  height: 212px;
  overflow: visible;
}
.updated-preview .preview-button {
  font: 700 16px/1 var(--preview-body);
}
.updated-preview .preview-submit {
  font: 700 16px/1 var(--preview-body);
  color: white;
}
.preview-company-copy {
  min-width: 0;
}
.preview-company-copy > p,
.preview-company-copy > ul {
  overflow-wrap: anywhere;
}
.preview-room-character img {
  filter: brightness(0) invert(1);
}
.preview-room-nav button:not([aria-pressed="true"]) img {
  filter: none;
}
.preview-room-nav button[aria-pressed="true"] img {
  mix-blend-mode: multiply;
}
.preview-room-card-label h3 {
  white-space: normal;
}
.preview-room-card-label span {
  font: 400 36px/1 var(--preview-body);
}
@media (max-width: 900px) {
  .updated-preview .hero-photo {
    object-position: 45% center;
  }
  .updated-preview .hero-shapes {
    left: 0;
    transform: none;
    width: 100%;
    height: 100%;
    object-fit: fill;
  }
  .updated-preview .people-figure .little-man {
    height: 112px;
    max-width: 100%;
  }
  .updated-preview .preview-button,
  .updated-preview .preview-submit {
    font-size: 14px;
  }
  .preview-room-nav button[aria-pressed="true"] img {
    mix-blend-mode: normal;
  }
}
.updated-preview .hero-copy h1 {
  text-transform: uppercase;
}
.preview-room-art {
  z-index: 0;
}
.preview-room-copy,
.preview-room-character {
  z-index: 1;
}
.preview-room-nav {
  z-index: 3;
}
.preview-home-about {
  overflow: clip;
  isolation: isolate;
}
.updated-preview .people-nav {
  background: none !important;
  isolation: isolate;
}
.updated-preview .people-nav::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 219px;
  left: 0;
  width: 100%;
  height: 550px;
  background: var(--pink);
}
.preview-rooms-intro::before {
  display: none;
}
.preview-home-event-photo {
  height: 600px;
  width: 100%;
  margin: 0 !important;
}
.preview-home-events .preview-button-row {
  margin-top: 40px;
}
.preview-home-events .preview-button--solid {
  color: var(--pink) !important;
}
.preview-home-events .preview-button--blue-outline {
  color: var(--royal);
}
.preview-offer-card {
  border: 8px solid white;
}
.preview-offer-body li {
  margin-bottom: 0;
}
.preview-offer-body .is-excluded {
  color: var(--ice);
  opacity: 1;
}
.preview-offer-carousel {
  align-items: center;
}
.preview-company-card {
  border: 8px solid white;
  align-items: stretch;
}
.preview-company-media {
  min-height: 936px;
}
.preview-company-copy {
  padding: 48px 48px 48px 0;
  gap: 48px;
}
.preview-company-text {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.preview-company-text h3 {
  font: 700 40px/1 var(--preview-display);
  text-transform: uppercase;
}
.preview-company-text p {
  font: 400 24px/1 var(--preview-body);
  margin-bottom: 16px;
}
.preview-company-text ul {
  font: 400 20px/1 var(--preview-body);
  list-style: none;
  padding: 0;
  margin: 0;
}
.preview-company-copy .preview-contact-form {
  margin-top: 0;
}
.preview-pilates-banner {
  min-height: 80px;
  gap: 64px;
  font-size: 24px;
  color: var(--green) !important;
  padding: 16px 24px;
}
.preview-pilates-banner span {
  color: var(--yellow);
  background: var(--green);
  padding: 8px 64px;
}
.preview-inline-wordmark {
  display: inline-block;
  position: relative;
  overflow: hidden;
  width: 164.3px;
  height: 60px;
  flex: none;
}
.preview-inline-wordmark img {
  position: absolute;
  width: 100%;
  height: auto;
  max-width: none;
  left: 0.42px;
  top: -72.78px;
  filter: brightness(0) invert(1);
}
.preview-offers-heading h2,
.preview-vivi-intro h1 {
  display: flex;
  align-items: center;
  gap: 16px;
}
.preview-vivi {
  gap: 120px;
}
.preview-vivi .preview-newsletter {
  padding-block: 0;
}
.preview-vivi .preview-company {
  padding-top: 40px;
}
.preview-vivi > .preview-newsletter::before {
  display: none;
}
.preview-vivi .preview-offers {
  gap: 80px;
}
@media (max-width: 900px) {
  .updated-preview .people-nav::before {
    top: 116px;
    height: 550px;
  }
  .preview-rooms-intro {
    z-index: 2;
  }
  .preview-home-event-photo {
    height: 320px;
  }
  .preview-company-media {
    min-height: 0;
  }
  .preview-company-copy {
    padding: 24px;
    gap: 32px;
  }
  .preview-company-text {
    gap: 20px;
  }
  .preview-company-text h3 {
    font-size: 32px;
  }
  .preview-company-text p {
    font-size: 20px;
    line-height: 1.1;
  }
  .preview-company-text ul {
    font-size: 17px;
    line-height: 1.12;
    overflow-wrap: anywhere;
  }
  .preview-pilates-banner {
    min-height: 0;
    gap: 16px;
    font-size: 20px;
  }
  .preview-pilates-banner span {
    padding: 10px 24px;
  }
  .preview-inline-wordmark {
    width: 107px;
    height: 39px;
  }
  .preview-inline-wordmark img {
    left: 0.27px;
    top: -47.4px;
  }
  .preview-vivi {
    gap: 64px;
  }
  .preview-vivi .preview-offers {
    gap: 40px;
  }
}
.preview-offer-summary {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.preview-offer-card .preview-offer-summary h3 {
  margin: 0;
}
.preview-vivi .preview-company {
  padding-top: 40px;
}
.preview-vivi .preview-newsletter-form {
  margin-top: 0;
}
.preview-vivi .preview-newsletter {
  gap: 0;
  display: contents;
}
.preview-vivi .preview-newsletter-form {
  justify-self: center;
}
.preview-vivi .preview-newsletter > .preview-two-columns {
  padding-inline: 80px;
}
.preview-vivi .preview-newsletter-form {
  width: min(696px, calc(100% - 160px));
}
.preview-company-text {
  min-width: 0;
}
@media (max-width: 900px) {
  .preview-vivi .preview-newsletter > .preview-two-columns {
    padding-inline: 24px;
  }
  .preview-vivi .preview-newsletter-form {
    width: calc(100% - 48px);
  }
  .preview-offer-card .preview-offer-summary h3 {
    margin: 0;
  }
}
.preview-company > .preview-section-title {
  width: 100%;
  max-width: 1000px;
}
@media (min-width: 901px) and (max-width: 1200px) {
  .preview-newsletter .preview-section-title {
    font-size: 56px;
  }
}
@media (max-width: 900px) {
  .preview-company > .preview-section-title {
    font-size: clamp(32px, 10.4vw, 48px);
  }
}
@media (max-width: 380px) {
  .updated-preview .preview-header {
    gap: 12px;
  }
  .updated-preview .preview-header-actions {
    gap: 8px;
  }
  .updated-preview .preview-header .preview-button {
    font-size: 10.5px;
    gap: 8px;
    padding-inline: 8px;
  }
}
.preview-rooms-intro {
  z-index: 2;
}
.preview-home-events .preview-body-copy {
  letter-spacing: -0.24px;
}
.preview-newsletter .preview-lead {
  letter-spacing: -0.4px;
}
.preview-company > .preview-section-title {
  max-width: none;
}
.preview-feature-card > span > img {
  flex: none;
  width: 48px;
  height: 48px;
  object-fit: contain;
}
@media (max-width: 900px) {
  .preview-feature-card > span > img {
    width: 36px;
    height: 36px;
  }
}
/* Updated Figma card surfaces use 12px corners. Strokes do not consume the
   auto-layout space in the source frames. */
.preview-paper {
  mask: none;
  border-radius: 12px;
}
.preview-offer-card,
.preview-company-card,
.preview-room-card {
  border: 0;
  box-shadow: inset 0 0 0 8px white;
}
.preview-room-card-photo {
  margin-top: 0;
}
/* Restore the approved paper-cut control contour at every viewport size.
   zigzag-controls.js reuses the existing coming-soon outline implementation. */
.updated-preview
  :where(
    .preview-button,
    .preview-submit,
    .preview-discover-button,
    .preview-email-row,
    .preview-email-row button,
    .preview-pilates-banner > span
  ) {
  --paper-radius: 10;
  --paper-stroke: 0;
  --control-fill: var(--royal);
  --control-stroke: none;
}
.updated-preview .preview-button--outline {
  --paper-stroke: 2.4;
  --control-fill: transparent;
  --control-stroke: white;
}
.updated-preview .preview-button--blue-outline {
  --paper-stroke: 2.4;
  --control-fill: transparent;
  --control-stroke: var(--royal);
}
.updated-preview .preview-button--pink {
  --control-fill: var(--pink);
}
.updated-preview .preview-submit,
.updated-preview .preview-email-row button {
  --control-fill: var(--ice);
}
.updated-preview .preview-submit.is-ready,
.updated-preview .preview-email-row button.is-ready {
  --control-fill: var(--royal);
}
.updated-preview .preview-email-row {
  --paper-radius: 11;
  --control-fill: white;
}
.updated-preview .preview-email-row button {
  --paper-radius: 12;
}
.updated-preview .preview-discover-button {
  --paper-stroke: 2.4;
  --control-fill: transparent;
  --control-stroke: white;
  font: 700 40px/1 var(--preview-display);
}
.updated-preview .preview-discover-button[aria-pressed="true"] {
  --control-fill: white;
}
.updated-preview .preview-room-actions .preview-button {
  --control-fill: var(--room-accent);
}
.updated-preview .preview-room-actions .preview-button--room-outline {
  --paper-stroke: 2.4;
  --control-fill: transparent;
  --control-stroke: var(--room-accent);
}
.updated-preview .preview-pilates-banner > span {
  --control-fill: var(--green);
}
.updated-preview .has-zigzag {
  isolation: isolate;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.updated-preview .preview-email-row button.has-zigzag {
  background: transparent;
}
.updated-preview
  :where(
    .preview-button,
    .preview-submit,
    .preview-email-row,
    .preview-email-row button,
    .preview-pilates-banner > span
  ) {
  position: relative;
}
.updated-preview .preview-discover-button.has-zigzag {
  position: absolute;
}
@media (max-width: 900px) {
  .updated-preview .preview-discover-button.has-zigzag {
    position: relative;
    inset: auto;
  }
  .updated-preview .preview-discover-button {
    font-size: clamp(16px, calc(6.85vw - 5.92px), 23px);
    white-space: nowrap;
  }
}
@media (min-width: 901px) and (max-width: 1200px) {
  .updated-preview .preview-discover-button {
    font-size: 30px;
  }
}
.updated-preview .zigzag-contour {
  position: absolute;
  inset: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}
.updated-preview .zigzag-contour path {
  fill: var(--control-fill, transparent);
  stroke: var(--control-stroke, none);
  stroke-width: var(--paper-stroke, 0);
  stroke-linecap: round;
  stroke-linejoin: round;
  transition:
    fill 0.2s ease,
    stroke 0.2s ease;
}
@media (prefers-reduced-motion: reduce) {
  .updated-preview .zigzag-contour path {
    transition: none;
  }
}
/* Form controls and paper surfaces retain the same approved rough edge.
   Keep focus on native inputs; the decorative contour never masks text. */
.updated-preview .preview-fields > label {
  --paper-radius: 10;
  --paper-stroke: 3;
  --control-fill: white;
  --control-stroke: var(--ice);
}
.updated-preview .preview-fields > label.preview-select {
  --paper-stroke: 0;
  --control-fill: var(--royal);
  --control-stroke: none;
}
.updated-preview
  .preview-fields
  > label.has-zigzag
  > :is(input, select, textarea) {
  background: transparent;
  border-radius: 0;
  box-shadow: none;
}
.updated-preview .preview-fields select option {
  background: white;
  color: var(--royal);
}
.preview-paper {
  mask: url("assets/wavy-frame.svg") center/100% 100% no-repeat;
  border-radius: 0;
}
.preview-paper:focus-visible {
  outline-offset: -7px;
}
/* At the source desktop dimensions, retain the original PDF brush vectors.
   Responsive mobile controls keep the CSS-pixel contour above instead of
   compressing the source's wave pattern into a narrower control. */
@media (min-width: 1201px) {
  .updated-preview .preview-discover-button.has-zigzag > .zigzag-contour {
    visibility: hidden;
  }
  .updated-preview .preview-discover-button.has-zigzag::before {
    content: "";
    position: absolute;
    left: -2.227356px;
    top: -2.400024px;
    width: 364.448242px;
    height: 76.837555px;
    z-index: -1;
    background: white;
    mask: url("assets/figma-updated/shapes/community-outline-360x72.svg")
      center/contain no-repeat;
    pointer-events: none;
  }
  .updated-preview
    .preview-discover-button.has-zigzag[aria-pressed="true"]::before {
    mask-image: url("assets/figma-updated/shapes/discovery-selected-mask-360x72.svg");
  }
}
@media (min-width: 901px) {
  .updated-preview .preview-header .preview-button.has-zigzag {
    width: 279.6914px;
    height: 32px;
    min-height: 32px;
  }
  .updated-preview
    .preview-header
    .preview-button.has-zigzag
    > .zigzag-contour {
    visibility: hidden;
  }
  .updated-preview .preview-header .preview-button.has-zigzag::before {
    content: "";
    position: absolute;
    left: -2.16419px;
    top: -2.39966px;
    width: 284.00403px;
    height: 36.83755px;
    z-index: -1;
    background: white;
    mask: url("assets/figma-updated/shapes/header-cta-outline.svg")
      center/contain no-repeat;
    pointer-events: none;
  }
}
/* SOURCE-EXACT DESKTOP CONTROL GRAPHICS — original PDF paths, no labels. */
@media (min-width: 1201px) {
  .updated-preview .preview-home-about .preview-button.has-zigzag::before {
    content: "";
    position: absolute;
    z-index: -1;
    left: -2.009094px;
    top: -2.400024px;
    width: 215.088806px;
    height: 36.62085px;
    background: var(--control-fill);
    mask: url("assets/figma-updated/shapes/about-primary-mask.svg")
      center/contain no-repeat;
    pointer-events: none;
  }
  .updated-preview
    .preview-home-about
    .preview-button.has-zigzag
    > .zigzag-contour {
    visibility: hidden;
  }
  .updated-preview
    .preview-offer-card:first-child
    .preview-button.has-zigzag::before {
    content: "";
    position: absolute;
    z-index: -1;
    left: -2.043823px;
    top: -2.399902px;
    width: 436.426575px;
    height: 36.837402px;
    background: var(--control-fill);
    mask: url("assets/figma-updated/shapes/offer-cta-filled-mask.svg")
      center/contain no-repeat;
    pointer-events: none;
  }
  .updated-preview
    .preview-offer-card:first-child
    .preview-button.has-zigzag
    > .zigzag-contour {
    visibility: hidden;
  }
  .updated-preview
    .preview-offer-card:not(:first-child)
    .preview-button.has-zigzag::before {
    content: "";
    position: absolute;
    z-index: -1;
    left: -2.043823px;
    top: -2.399902px;
    width: 436.426636px;
    height: 36.837402px;
    background: var(--control-stroke);
    mask: url("assets/figma-updated/shapes/offer-cta-outline.svg")
      center/contain no-repeat;
    pointer-events: none;
  }
  .updated-preview
    .preview-offer-card:not(:first-child)
    .preview-button.has-zigzag
    > .zigzag-contour {
    visibility: hidden;
  }
  .updated-preview
    .preview-company-copy
    .preview-fields
    > label.preview-select.has-zigzag::before {
    content: "";
    position: absolute;
    z-index: -1;
    left: -2.281738px;
    top: -2.399902px;
    width: 294.365967px;
    height: 52.837402px;
    background: var(--control-fill);
    mask: url("assets/figma-updated/shapes/company-select-mask.svg")
      center/contain no-repeat;
    pointer-events: none;
  }
  .updated-preview
    .preview-company-copy
    .preview-fields
    > label.preview-select.has-zigzag
    > .zigzag-contour {
    visibility: hidden;
  }
  .updated-preview
    .preview-company-copy
    .preview-fields
    > label.has-zigzag:not(.preview-select):not(
      .preview-field-message
    )::before {
    content: "";
    position: absolute;
    z-index: -1;
    left: -2.281738px;
    top: -2.399902px;
    width: 294.365967px;
    height: 52.837402px;
    background: var(--control-stroke);
    mask: url("assets/figma-updated/shapes/company-input-outline.svg")
      center/contain no-repeat;
    pointer-events: none;
  }
  .updated-preview
    .preview-company-copy
    .preview-fields
    > label.has-zigzag:not(.preview-select):not(.preview-field-message)
    > .zigzag-contour {
    visibility: hidden;
  }
  .updated-preview
    .preview-company-copy
    .preview-fields
    > label.preview-field-message.has-zigzag::before {
    content: "";
    position: absolute;
    z-index: -1;
    left: -2.385803px;
    top: -2.4375px;
    width: 608.667542px;
    height: 100.809082px;
    background: var(--control-stroke);
    mask: url("assets/figma-updated/shapes/company-textarea-outline.svg")
      center/contain no-repeat;
    pointer-events: none;
  }
  .updated-preview
    .preview-company-copy
    .preview-fields
    > label.preview-field-message.has-zigzag
    > .zigzag-contour {
    visibility: hidden;
  }
  .updated-preview .preview-company-copy .preview-submit.has-zigzag::before {
    content: "";
    position: absolute;
    z-index: -1;
    left: -2.129028px;
    top: -2.4375px;
    width: 608.254395px;
    height: 36.799805px;
    background: var(--control-fill);
    mask: url("assets/figma-updated/shapes/company-submit-mask.svg")
      center/contain no-repeat;
    pointer-events: none;
  }
  .updated-preview
    .preview-company-copy
    .preview-submit.has-zigzag
    > .zigzag-contour {
    visibility: hidden;
  }
  .updated-preview .preview-email-row.has-zigzag::before {
    content: "";
    position: absolute;
    z-index: -1;
    left: -2.073273px;
    top: -2.4375px;
    width: 700.339386px;
    height: 52.838867px;
    background: var(--control-fill);
    mask: url("assets/figma-updated/shapes/newsletter-row-mask.svg")
      center/contain no-repeat;
    pointer-events: none;
  }
  .updated-preview .preview-email-row.has-zigzag > .zigzag-contour {
    visibility: hidden;
  }
  .updated-preview .preview-email-row button.has-zigzag::before {
    content: "";
    position: absolute;
    z-index: -1;
    left: -2.437866px;
    top: -2.399902px;
    width: 264.480835px;
    height: 36.782715px;
    background: var(--control-fill);
    mask: url("assets/figma-updated/shapes/newsletter-submit-mask.svg")
      center/contain no-repeat;
    pointer-events: none;
  }
  .updated-preview .preview-email-row button.has-zigzag > .zigzag-contour {
    visibility: hidden;
  }
  .updated-preview
    .preview-contact-card:not(.preview-contact-card--event)
    .preview-fields
    > label.preview-select.has-zigzag::before {
    content: "";
    position: absolute;
    z-index: -1;
    left: -2.265633px;
    top: -2.400146px;
    width: 274.441231px;
    height: 52.837646px;
    background: var(--control-fill);
    mask: url("assets/figma-updated/shapes/contact-select-mask.svg")
      center/contain no-repeat;
    pointer-events: none;
  }
  .updated-preview
    .preview-contact-card:not(.preview-contact-card--event)
    .preview-fields
    > label.preview-select.has-zigzag
    > .zigzag-contour {
    visibility: hidden;
  }
  .updated-preview
    .preview-contact-card:not(.preview-contact-card--event)
    .preview-fields
    > label.has-zigzag:not(.preview-select):not(
      .preview-field-message
    )::before {
    content: "";
    position: absolute;
    z-index: -1;
    left: -2.265625px;
    top: -2.400146px;
    width: 274.441223px;
    height: 52.837646px;
    background: var(--control-stroke);
    mask: url("assets/figma-updated/shapes/contact-input-outline.svg")
      center/contain no-repeat;
    pointer-events: none;
  }
  .updated-preview
    .preview-contact-card:not(.preview-contact-card--event)
    .preview-fields
    > label.has-zigzag:not(.preview-select):not(.preview-field-message)
    > .zigzag-contour {
    visibility: hidden;
  }
  .updated-preview
    .preview-contact-card:not(.preview-contact-card--event)
    .preview-fields
    > label.preview-field-message.has-zigzag::before {
    content: "";
    position: absolute;
    z-index: -1;
    left: -2.413193px;
    top: -2.4375px;
    width: 568.694931px;
    height: 100.799805px;
    background: var(--control-stroke);
    mask: url("assets/figma-updated/shapes/contact-textarea-outline.svg")
      center/contain no-repeat;
    pointer-events: none;
  }
  .updated-preview
    .preview-contact-card:not(.preview-contact-card--event)
    .preview-fields
    > label.preview-field-message.has-zigzag
    > .zigzag-contour {
    visibility: hidden;
  }
  .updated-preview
    .preview-contact-card:not(.preview-contact-card--event)
    .preview-submit.has-zigzag::before {
    content: "";
    position: absolute;
    z-index: -1;
    left: -1.973183px;
    top: -2.4375px;
    width: 567.99131px;
    height: 36.792725px;
    background: var(--control-fill);
    mask: url("assets/figma-updated/shapes/contact-submit-mask.svg")
      center/contain no-repeat;
    pointer-events: none;
  }
  .updated-preview
    .preview-contact-card:not(.preview-contact-card--event)
    .preview-submit.has-zigzag
    > .zigzag-contour {
    visibility: hidden;
  }
  .updated-preview
    .preview-home-events
    .preview-button--solid.has-zigzag::before {
    content: "";
    position: absolute;
    z-index: -1;
    left: -1.755676px;
    top: -2.400146px;
    width: 250.890808px;
    height: 36.782959px;
    background: var(--control-fill);
    mask: url("assets/figma-updated/shapes/home-events-filled-mask.svg")
      center/contain no-repeat;
    pointer-events: none;
  }
  .updated-preview
    .preview-home-events
    .preview-button--solid.has-zigzag
    > .zigzag-contour {
    visibility: hidden;
  }
  .updated-preview
    .preview-home-events
    .preview-button--blue-outline.has-zigzag::before {
    content: "";
    position: absolute;
    z-index: -1;
    left: -2.170044px;
    top: -2.400146px;
    width: 288.933228px;
    height: 36.837646px;
    background: var(--control-stroke);
    mask: url("assets/figma-updated/shapes/home-events-outline.svg")
      center/contain no-repeat;
    pointer-events: none;
  }
  .updated-preview
    .preview-home-events
    .preview-button--blue-outline.has-zigzag
    > .zigzag-contour {
    visibility: hidden;
  }
  .updated-preview
    .preview-room-actions
    .preview-button.has-zigzag:not(.preview-button--room-outline)::before {
    content: "";
    position: absolute;
    z-index: -1;
    left: -1.78949px;
    top: -2.399902px;
    width: 269.614441px;
    height: 36.782959px;
    background: var(--control-fill);
    mask: url("assets/figma-updated/shapes/room-explore-mask.svg")
      center/contain no-repeat;
    pointer-events: none;
  }
  .updated-preview
    .preview-room-actions
    .preview-button.has-zigzag:not(.preview-button--room-outline)
    > .zigzag-contour {
    visibility: hidden;
  }
  .updated-preview .preview-pilates-banner > span.has-zigzag::before {
    content: "";
    position: absolute;
    z-index: -1;
    left: -2.074768px;
    top: -2.399902px;
    width: 298.068176px;
    height: 36.837402px;
    background: var(--control-fill);
    mask: url("assets/figma-updated/shapes/pilates-banner-cta-mask.svg")
      center/contain no-repeat;
    pointer-events: none;
  }
  .updated-preview .preview-pilates-banner > span.has-zigzag > .zigzag-contour {
    visibility: hidden;
  }
  .updated-preview
    .preview-contact-card--event
    .preview-fields
    > label.preview-select.has-zigzag::before {
    content: "";
    position: absolute;
    z-index: -1;
    left: -2.267693px;
    top: -2.400024px;
    width: 300.351982px;
    height: 52.837524px;
    background: var(--control-fill);
    mask: url("assets/figma-updated/shapes/event-select-mask.svg")
      center/contain no-repeat;
    pointer-events: none;
  }
  .updated-preview
    .preview-contact-card--event
    .preview-fields
    > label.preview-select.has-zigzag
    > .zigzag-contour {
    visibility: hidden;
  }
  .updated-preview
    .preview-contact-card--event
    .preview-fields
    > label.has-zigzag:not(.preview-select):not(
      .preview-field-message
    )::before {
    content: "";
    position: absolute;
    z-index: -1;
    left: -2.2677px;
    top: -2.400024px;
    width: 300.35199px;
    height: 52.837524px;
    background: var(--control-stroke);
    mask: url("assets/figma-updated/shapes/event-input-outline.svg")
      center/contain no-repeat;
    pointer-events: none;
  }
  .updated-preview
    .preview-contact-card--event
    .preview-fields
    > label.has-zigzag:not(.preview-select):not(.preview-field-message)
    > .zigzag-contour {
    visibility: hidden;
  }
  .updated-preview
    .preview-contact-card--event
    .preview-fields
    > label.preview-field-message.has-zigzag::before {
    content: "";
    position: absolute;
    z-index: -1;
    left: -2.400208px;
    top: -2.4375px;
    width: 1260.801453px;
    height: 100.860107px;
    background: var(--control-stroke);
    mask: url("assets/figma-updated/shapes/event-textarea-outline.svg")
      center/contain no-repeat;
    pointer-events: none;
  }
  .updated-preview
    .preview-contact-card--event
    .preview-fields
    > label.preview-field-message.has-zigzag
    > .zigzag-contour {
    visibility: hidden;
  }
  .updated-preview
    .preview-contact-card--event
    .preview-submit.has-zigzag::before {
    content: "";
    position: absolute;
    z-index: -1;
    left: -2.188759px;
    top: -2.4375px;
    width: 1260.489052px;
    height: 36.860107px;
    background: var(--control-fill);
    mask: url("assets/figma-updated/shapes/event-submit-mask.svg")
      center/contain no-repeat;
    pointer-events: none;
  }
  .updated-preview
    .preview-contact-card--event
    .preview-submit.has-zigzag
    > .zigzag-contour {
    visibility: hidden;
  }
  .updated-preview
    .preview-discover-content
    .preview-button--pink.has-zigzag::before {
    content: "";
    position: absolute;
    z-index: -1;
    left: -1.78949px;
    top: -2.400024px;
    width: 269.614441px;
    height: 36.782776px;
    background: var(--control-fill);
    mask: url("assets/figma-updated/shapes/discovery-center-cta-mask.svg")
      center/contain no-repeat;
    pointer-events: none;
  }
  .updated-preview
    .preview-discover-content
    .preview-button--pink.has-zigzag
    > .zigzag-contour {
    visibility: hidden;
  }
  .updated-preview .preview-home-about .preview-button.has-zigzag {
    width: 211px;
    height: 32px;
    min-height: 32px;
    flex-shrink: 0;
    justify-content: flex-start;
  }
  .updated-preview .preview-home-events .preview-button--solid.has-zigzag {
    width: 247px;
    height: 32px;
    min-height: 32px;
    flex-shrink: 0;
    justify-content: flex-start;
  }
  .updated-preview
    .preview-home-events
    .preview-button--blue-outline.has-zigzag {
    width: 284px;
    height: 32px;
    min-height: 32px;
    flex-shrink: 0;
    justify-content: flex-start;
  }
  .updated-preview
    .preview-room-actions
    .preview-button.has-zigzag:not(.preview-button--room-outline) {
    width: 265.6915px;
    height: 32px;
    min-height: 32px;
    flex-shrink: 0;
    justify-content: flex-start;
  }
  .updated-preview .preview-pilates-banner > span.has-zigzag {
    width: 294px;
    height: 32px;
    min-height: 32px;
    flex-shrink: 0;
    justify-content: flex-start;
  }
  .updated-preview .preview-email-row button.has-zigzag {
    width: 260px;
    height: 32px;
    min-height: 32px;
    flex-shrink: 0;
    justify-content: flex-start;
  }
  .updated-preview .preview-discover-content .preview-button--pink.has-zigzag {
    width: 265.691528px;
    height: 32px;
    min-height: 32px;
    flex-shrink: 0;
    justify-content: flex-start;
  }
  .updated-preview
    .preview-room-actions
    .preview-button.has-zigzag:not(.preview-button--room-outline) {
    padding-inline: 64px;
  }
  .updated-preview .preview-pilates-banner > span.has-zigzag {
    display: inline-flex;
    align-items: center;
  }
}
.updated-preview
  :is(
    .preview-button,
    .preview-submit,
    .preview-discover-button,
    .preview-email-row button
  ) {
  letter-spacing: 0;
}
.updated-preview .preview-fields > label > :is(input, select, textarea) {
  letter-spacing: 0;
}
/* Rough paper frames paint above photographs instead of behind them. */
.updated-preview .preview-paper {
  position: relative;
}
.updated-preview .preview-paper::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 8px solid white;
  border-radius: 12px;
  z-index: 2;
  pointer-events: none;
  box-sizing: border-box;
}
.updated-preview .preview-manifesto-card {
  --paper-radius: 12;
  --paper-stroke: 3;
  --control-fill: transparent;
  --control-stroke: white;
}
.updated-preview .preview-manifesto-card.has-zigzag {
  position: relative;
  outline: 0;
}
/* SOURCE-EXACT PAPER SURFACES — original silhouette plus white brush frame. */
@media (min-width: 1201px) {
  body.updated-preview .preview-offer-card.has-source-paper {
    overflow: visible;
    mask-image: url("assets/figma-updated/shapes/offer-card-mask-480x756.svg");
    mask-size: 492.634392px 768.899902px;
    mask-position: -6.280388px -6.399902px;
    mask-origin: border-box;
    mask-repeat: no-repeat;
    mask-clip: no-clip;
    border-radius: 0;
  }
  body.updated-preview .preview-offer-card.has-source-paper::after {
    inset: auto;
    left: -6.280388px;
    top: -6.399902px;
    width: 492.634392px;
    height: 768.899902px;
    border: 0;
    border-radius: 0;
    background: url("assets/figma-updated/shapes/offer-card-frame-480x756.svg")
      center/contain no-repeat;
  }
  body.updated-preview .preview-company-card.has-source-paper {
    overflow: visible;
    mask-image: url("assets/figma-updated/shapes/company-card-mask-1352x920.svg");
    mask-size: 1364.878983px 932.803223px;
    mask-position: -6.378983px -6.399902px;
    mask-origin: border-box;
    mask-repeat: no-repeat;
    mask-clip: no-clip;
    border-radius: 0;
  }
  body.updated-preview .preview-company-card.has-source-paper::after {
    inset: auto;
    left: -6.378983px;
    top: -6.399902px;
    width: 1364.878983px;
    height: 932.803223px;
    border: 0;
    border-radius: 0;
    background: url("assets/figma-updated/shapes/company-card-frame-1352x920.svg")
      center/contain no-repeat;
  }
  body.updated-preview .preview-feature-card.has-source-paper,
  body.updated-preview .preview-room-card.has-source-paper {
    overflow: visible;
    mask-image: url("assets/figma-updated/shapes/about-card-mask-560x434.svg");
    mask-size: 571.929932px 446.900146px;
    mask-position: -6.084595px -6.400146px;
    mask-origin: border-box;
    mask-repeat: no-repeat;
    mask-clip: no-clip;
    border-radius: 0;
  }
  body.updated-preview .preview-feature-card.has-source-paper::after,
  body.updated-preview .preview-room-card.has-source-paper::after {
    inset: auto;
    left: -6.084595px;
    top: -6.400146px;
    width: 571.929932px;
    height: 446.900146px;
    border: 0;
    border-radius: 0;
    background: url("assets/figma-updated/shapes/about-card-frame-560x434.svg")
      center/contain no-repeat;
  }
  body.updated-preview .preview-event-card.has-source-paper {
    overflow: visible;
    mask-image: url("assets/figma-updated/shapes/event-card-mask-560x440.svg");
    mask-size: 571.929932px 452.900208px;
    mask-position: -6.084595px -6.400085px;
    mask-origin: border-box;
    mask-repeat: no-repeat;
    mask-clip: no-clip;
    border-radius: 0;
  }
  body.updated-preview .preview-event-card.has-source-paper::after {
    inset: auto;
    left: -6.084595px;
    top: -6.400085px;
    width: 571.929932px;
    height: 452.900208px;
    border: 0;
    border-radius: 0;
    background: url("assets/figma-updated/shapes/event-card-frame-560x440.svg")
      center/contain no-repeat;
  }
  body.updated-preview
    .preview-contact-card:not(.preview-contact-card--event).has-source-paper {
    overflow: visible;
    mask-image: url("assets/figma-updated/shapes/contact-card-mask-660x568.svg");
    mask-size: 672.634392px 580.900146px;
    mask-position: -6.280388px -6.400146px;
    mask-origin: border-box;
    mask-repeat: no-repeat;
    mask-clip: no-clip;
    border-radius: 0;
  }
  body.updated-preview
    .preview-contact-card:not(
      .preview-contact-card--event
    ).has-source-paper::after {
    inset: auto;
    left: -6.280388px;
    top: -6.400146px;
    width: 672.634392px;
    height: 580.900146px;
    border: 0;
    border-radius: 0;
    background: url("assets/figma-updated/shapes/contact-card-frame-660x568.svg")
      center/contain no-repeat;
  }
  body.updated-preview .preview-map-card.has-source-paper {
    overflow: visible;
    mask-image: url("assets/figma-updated/shapes/map-card-mask-612x568.svg");
    mask-size: 624.202759px 580.900146px;
    mask-position: -6.280396px -6.400146px;
    mask-origin: border-box;
    mask-repeat: no-repeat;
    mask-clip: no-clip;
    border-radius: 0;
  }
  body.updated-preview .preview-map-card.has-source-paper::after {
    inset: auto;
    left: -6.280396px;
    top: -6.400146px;
    width: 624.202759px;
    height: 580.900146px;
    border: 0;
    border-radius: 0;
    background: url("assets/figma-updated/shapes/map-card-frame-612x568.svg")
      center/contain no-repeat;
  }
  body.updated-preview .preview-contact-card--event.has-source-paper {
    overflow: visible;
    mask-image: url("assets/figma-updated/shapes/event-form-mask-1352x496.svg");
    mask-size: 1364.903366px 508.699219px;
    mask-position: -6.403366px -6.400146px;
    mask-origin: border-box;
    mask-repeat: no-repeat;
    mask-clip: no-clip;
    border-radius: 0;
  }
  body.updated-preview .preview-contact-card--event.has-source-paper::after {
    inset: auto;
    left: -6.403366px;
    top: -6.400146px;
    width: 1364.903366px;
    height: 508.699219px;
    border: 0;
    border-radius: 0;
    background: url("assets/figma-updated/shapes/event-form-frame-1352x496.svg")
      center/contain no-repeat;
  }
  body.updated-preview .preview-booking-panel.has-source-paper {
    overflow: visible;
    mask-image: url("assets/figma-updated/shapes/booking-panel-mask-1352x568.svg");
    mask-size: 1364.903366px 580.69928px;
    mask-position: -6.403366px -6.400085px;
    mask-origin: border-box;
    mask-repeat: no-repeat;
    mask-clip: no-clip;
    border-radius: 0;
  }
  body.updated-preview .preview-booking-panel.has-source-paper::after {
    inset: auto;
    left: -6.403366px;
    top: -6.400085px;
    width: 1364.903366px;
    height: 580.69928px;
    border: 0;
    border-radius: 0;
    background: url("assets/figma-updated/shapes/booking-panel-frame-1352x568.svg")
      center/contain no-repeat;
  }
  body.updated-preview
    .preview-manifesto-card.has-source-paper
    > .zigzag-contour {
    visibility: hidden;
  }
  body.updated-preview .preview-manifesto-card.has-source-paper::before {
    content: "";
    position: absolute;
    z-index: -1;
    left: -3.191986px;
    top: -3.19989px;
    width: 642.441986px;
    height: 630.401672px;
    background: white;
    mask: url("assets/figma-updated/shapes/manifesto-outline-636x624.svg")
      center/contain no-repeat;
    pointer-events: none;
  }
  body.updated-preview .preview-offer-carousel {
    width: calc(100% + 160px);
    max-width: none;
    margin-inline: -80px;
    padding-inline: 80px;
    padding-block: 7px;
    margin-block: -7px;
    scroll-padding-inline: 80px;
  }
  body.updated-preview .preview-event-carousel {
    padding-block: 7px;
    margin-block: -7px;
  }
  body.updated-preview
    .preview-offer-card.has-source-paper
    > .preview-offer-media {
    clip-path: inset(0 40px);
  }
  body.updated-preview .preview-room-cards {
    width: calc(100% + 87px);
    margin-left: -7px;
    padding-left: 7px;
    padding-block: 7px;
    margin-block: -7px;
  }
}
/* END SOURCE-EXACT PAPER SURFACES */
