/** Shopify CDN: Minification failed

Line 270:35 Expected "}" to go with "{"

**/
/* ============================================
   VIRTUS PILATES EQUIPMENT — v2.0
   ============================================ */

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

:root {
  --font-serif: 'Cormorant Garamond', Georgia, serif;
  --font-sans: 'Jost', sans-serif;
  --sage-light: #E8F0E6;
  --sage-mid:   #A8C4A0;
  --sage:       #5A7D54;
  --sage-deep:  #4A6741;
  --sage-dark:  #2D4029;
  --cream:      #F7F4EF;
  --white:      #ffffff;
  --black:      #1a1a18;
  --border:     rgba(74,103,65,0.15);
  --border-mid: rgba(74,103,65,0.25);
  --muted:      #6b7268;
  --page:       3rem;
  --section:    5rem;
}

html { font-size: 16px; scroll-behavior: smooth; }
body { font-family: var(--font-sans); font-weight: 300; color: var(--black); background: var(--white); -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button { cursor: pointer; font-family: var(--font-sans); }

/* ---- BUTTONS ---- */
.btn-dark {
  display: inline-block; padding: .9rem 2.5rem; background: var(--sage-dark); color: var(--white);
  font-size: 9px; letter-spacing: .22em; text-transform: uppercase; border: none;
  font-family: var(--font-sans); font-weight: 300; transition: opacity .2s; cursor: pointer;
}
.btn-dark:hover { opacity: .85; }

.btn-ghost {
  display: inline-block; font-size: 9px; letter-spacing: .22em; text-transform: uppercase;
  color: var(--muted); border-bottom: .5px solid var(--sage); padding-bottom: 2px;
  background: none; border-top: none; border-left: none; border-right: none;
  font-family: var(--font-sans); cursor: pointer;
}

.btn-light {
  display: inline-block; padding: .9rem 2.5rem; background: var(--white); color: var(--sage-dark);
  font-size: 9px; letter-spacing: .22em; text-transform: uppercase; border: none;
  font-family: var(--font-sans); cursor: pointer;
}

.btn-ghost-light {
  display: inline-block; font-size: 9px; letter-spacing: .22em; text-transform: uppercase;
  color: var(--sage-light); border-bottom: .5px solid var(--sage-mid); padding-bottom: 2px;
  background: none; border-top: none; border-left: none; border-right: none;
  font-family: var(--font-sans); cursor: pointer; opacity: .85;
}

/* ---- TAG LABEL ---- */
.tag-label {
  font-size: 9px; letter-spacing: .3em; text-transform: uppercase; color: var(--sage);
  display: flex; align-items: center; gap: 1rem;
}
.tag-label::before { content: ''; display: block; width: 28px; height: .5px; background: var(--sage); }

/* ---- HEADER ---- */
.site-header {
  display: flex; justify-content: space-between; align-items: center;
  padding: 1.4rem var(--page); background: var(--sage-dark);
  border-bottom: .5px solid var(--sage-deep); position: sticky; top: 0; z-index: 100;
}
.site-logo { display: flex; flex-direction: column; line-height: 1; }
.site-logo__main { font-family: var(--font-serif); font-size: 22px; font-weight: 400; letter-spacing: .22em; color: var(--white); }
.site-logo__sub { font-size: 8px; letter-spacing: .38em; text-transform: uppercase; color: var(--sage-mid); margin-top: 3px; }
.site-nav { display: flex; gap: 2.5rem; list-style: none; }
.site-nav a { font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--sage-mid); transition: color .2s; }
.site-nav a:hover { color: var(--white); }
.header-right { display: flex; gap: 1.5rem; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--sage-mid); }
.header-right a:hover { color: var(--white); }

/* ---- HERO ---- */
.hero { display: grid; grid-template-columns: 1fr 1.5fr; min-height: 600px; }
.hero__content {
  padding: 5rem 4rem; display: flex; flex-direction: column; justify-content: center;
  border-right: .5px solid var(--border); background: var(--white);
}
.hero__tag { margin-bottom: 2.5rem; }
.hero__title { font-family: var(--font-serif); font-size: 54px; font-weight: 300; line-height: 1.06; margin-bottom: 2rem; }
.hero__subtitle { font-size: 13px; color: var(--muted); line-height: 1.9; max-width: 300px; margin-bottom: 3rem; font-weight: 200; }
.hero__actions { display: flex; align-items: center; gap: 2rem; }
.hero__image { position: relative; overflow: hidden; background: var(--sage-light); min-height: 500px; }
.hero__image img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }
.hero__image-placeholder {
  width: 100%; height: 100%; min-height: 500px; display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 1rem;
  background: var(--sage-light); color: var(--sage-deep);
}
.hero__image-placeholder svg { opacity: .3; }
.hero__image-placeholder span { font-size: 9px; letter-spacing: .2em; text-transform: uppercase; opacity: .5; }
.hero__badge {
  position: absolute; bottom: 2.5rem; left: 2.5rem; background: var(--white);
  border: .5px solid var(--border-mid); padding: 1.25rem 1.75rem; z-index: 2;
}
.hero__badge-quote { font-family: var(--font-serif); font-size: 14px; font-style: italic; margin-bottom: .4rem; line-height: 1.5; }
.hero__badge-label { font-size: 8px; letter-spacing: .22em; text-transform: uppercase; color: var(--muted); }

/* ---- BENEFITS STRIP ---- */
.benefits-strip { display: grid; grid-template-columns: repeat(4,1fr); background: var(--sage-light); border-bottom: .5px solid var(--sage-mid); }
.benefits-strip__item {
  padding: 1.1rem 2rem; font-size: 9px; letter-spacing: .22em; text-transform: uppercase;
  color: var(--sage-dark); border-right: .5px solid var(--sage-mid); display: flex; align-items: center; gap: .75rem;
}
.benefits-strip__item:last-child { border-right: none; }
.benefits-strip__dot { width: 4px; height: 4px; border-radius: 50%; background: var(--sage); flex-shrink: 0; }

/* ---- SECTIONS ---- */
.section { padding: var(--section) var(--page); }
.section--sage { background: var(--sage-light); border-top: .5px solid var(--sage-mid); }
.section--soft { background: var(--cream); }
.section__header { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 3.5rem; }
.section__title { font-family: var(--font-serif); font-size: 38px; font-weight: 300; }
.section__link { font-size: 9px; letter-spacing: .2em; text-transform: uppercase; color: var(--muted); border-bottom: .5px solid var(--sage); padding-bottom: 2px; }

/* ---- PRODUCT GRID ---- */
.product-grid { display: grid; grid-template-columns: repeat(3,1fr); border: .5px solid var(--border); }
.product-card { border-right: .5px solid var(--border); background: var(--white); }
.product-card:last-child { border-right: none; }
.product-card__image { height: 260px; overflow: hidden; position: relative; background: var(--sage-light); display: flex; align-items: center; justify-content: center; }
.product-card__image img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; transition: transform .7s ease; }
.product-card__image:hover img { transform: scale(1.03); }
.product-card__placeholder { display: flex; flex-direction: column; align-items: center; gap: .5rem; opacity: .3; }
.product-card__placeholder svg { width: 48px; height: 48px; }
.product-card__placeholder span { font-size: 8px; letter-spacing: .2em; text-transform: uppercase; color: var(--sage-dark); }
.product-card__tag {
  position: absolute; top: 1rem; left: 1rem; z-index: 2;
  font-size: 8px; letter-spacing: .2em; text-transform: uppercase;
  padding: .3rem .8rem; color: var(--sage-dark); background: var(--white); border: .5px solid var(--sage-mid);
}
.product-card__body { padding: 1.5rem; border-top: .5px solid var(--border); }
.product-card__name { font-family: var(--font-serif); font-size: 21px; font-weight: 300; margin-bottom: .4rem; }
.product-card__desc { font-size: 11px; color: var(--muted); line-height: 1.8; margin-bottom: 1.25rem; font-weight: 200; }
.product-card__footer { display: flex; justify-content: space-between; align-items: center; }
.product-card__price { font-size: 10px; letter-spacing: .1em; color: var(--muted); text-transform: uppercase; }
.product-card__cta {
  font-size: 9px; letter-spacing: .18em; text-transform: uppercase; padding: .5rem 1.1rem;
  border: .5px solid var(--sage); background: transparent; color: var(--black);
  font-family: var(--font-sans); cursor: pointer; transition: background .2s, color .2s;
}
.product-card__cta:hover { background: var(--sage-dark); color: var(--white); border-color: var(--sage-dark); }

/* ---- RANGE GRID ---- */
.range-grid { display: grid; grid-template-columns: repeat(5,1fr); border: .5px solid var(--border); }
.range-item {
  border-right: .5px solid var(--border); padding: 2rem 1.5rem;
  display: flex; flex-direction: column; gap: .75rem; cursor: pointer; transition: background .3s;
  text-decoration: none; color: inherit;
}
.range-item:last-child { border-right: none; }
.range-item:hover { background: var(--sage-light); }
.range-item__img { height: 110px; overflow: hidden; background: var(--sage-light); display: flex; align-items: center; justify-content: center; position: relative; }
.range-item__img img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }
.range-item__img-placeholder { opacity: .25; }
.range-item__name { font-family: var(--font-serif); font-size: 16px; font-weight: 300; }
.range-item__arrow { font-size: 9px; letter-spacing: .15em; color: var(--sage); }

/* ---- DIFFERENTIALS ---- */
.dif-grid { display: grid; grid-template-columns: repeat(4,1fr); border: .5px solid var(--sage-mid); }
.dif-item { padding: 2.5rem 2rem; border-right: .5px solid var(--sage-mid); }
.dif-item:last-child { border-right: none; }
.dif-item__num { font-family: var(--font-serif); font-size: 38px; font-weight: 300; color: var(--sage); margin-bottom: 1rem; line-height: 1; }
.dif-item__title { font-size: 10px; letter-spacing: .2em; text-transform: uppercase; margin-bottom: .75rem; color: var(--sage-dark); }
.dif-item__text { font-size: 12px; color: var(--sage-dark); line-height: 1.8; font-weight: 200; opacity: .85; }

/* ---- SPLIT SECTIONS ---- */
.split { display: grid; grid-template-columns: 1.2fr 1fr; border-top: .5px solid var(--border); }
.split--reverse { grid-template-columns: 1fr 1.2fr; }
.split__image { overflow: hidden; min-height: 520px; background: var(--sage-light); display: flex; align-items: center; justify-content: center; position: relative; }
.split__image img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }
.split__image-placeholder { display: flex; flex-direction: column; align-items: center; gap: 1rem; opacity: .25; }
.split__body { padding: 5rem 4rem; display: flex; flex-direction: column; justify-content: center; }
.split__body--soft { background: var(--cream); border-left: .5px solid var(--border); }
.split__body--sage { background: var(--sage-light); border-right: .5px solid var(--border); }
.split__title { font-family: var(--font-serif); font-size: 42px; font-weight: 300; line-height: 1.1; margin-bottom: 1.5rem; }
.split__subtitle { font-size: 13px; color: var(--muted); line-height: 1.9; margin-bottom: 3rem; font-weight: 200; }

/* ---- STEPS ---- */
.steps { display: flex; flex-direction: column; margin-bottom: 3rem; }
.step { display: flex; gap: 1.5rem; padding: 1.5rem 0; border-bottom: .5px solid var(--border); }
.step:first-child { padding-top: 0; }
.step__num { font-family: var(--font-serif); font-size: 16px; color: var(--sage); min-width: 20px; font-weight: 300; padding-top: 1px; }
.step__title { font-size: 11px; letter-spacing: .12em; text-transform: uppercase; margin-bottom: .3rem; }
.step__text { font-size: 12px; color: var(--muted); line-height: 1.75; font-weight: 200; }

/* ---- SWATCHES ---- */
.swatches { display: flex; gap: .75rem; margin-bottom: 2rem; }
.swatch { width: 32px; height: 32px; border-radius: 50%; border: .5px solid var(--border-mid); cursor: pointer; transition: box-shadow .2s; }
.swatch:hover, .swatch.active { box-shadow: 0 0 0 1.5px var(--sage-deep); }

/* ---- ABOUT ---- */
.about-text { font-size: 13px; color: var(--sage-dark); line-height: 1.9; font-weight: 200; margin-bottom: 1.25rem; opacity: .85; }

/* ---- FAQ ---- */
.faq-grid { display: grid; grid-template-columns: 1fr 1fr; border: .5px solid var(--border); }
.faq-item { padding: 2rem 2.5rem; border-bottom: .5px solid var(--border); border-right: .5px solid var(--border); }
.faq-item:nth-child(2n) { border-right: none; }
.faq-item:nth-last-child(-n+2) { border-bottom: none; }
.faq-item__q { font-size: 12px; margin-bottom: .75rem; font-weight: 400; }
.faq-item__a { font-size: 12px; color: var(--muted); line-height: 1.8; font-weight: 200; }

/* ---- CTA BAND ---- */
.cta-band { padding: 4rem var(--page); background: var(--sage-dark); display: flex; justify-content: space-between; align-items: center; }
.cta-band__text { font-family: var(--font-serif); font-size: 30px; font-weight: 300; font-style: italic; color: var(--sage-light); line-height: 1.4; }
.cta-band__actions { display: flex; gap: 1rem; align-items: center; }

/* ---- FOOTER ---- */
.site-footer { padding: 3.5rem var(--page) 2rem; border-top: .5px solid var(--border); display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 2rem; background: var(--white); }
.footer-brand__logo { font-family: var(--font-serif); font-size: 20px; font-weight: 400; letter-spacing: .22em; margin-bottom: 3px; }
.footer-brand__sub { font-size: 8px; letter-spacing: .32em; text-transform: uppercase; color: var(--muted); margin-bottom: 1rem; }
.footer-brand__desc { font-size: 12px; color: var(--muted); line-height: 1.8; max-width: 200px; font-weight: 200; }
.footer-col h4 { font-size: 9px; letter-spacing: .22em; text-transform: uppercase; margin-bottom: 1.25rem; font-weight: 400; }
.footer-col__links { display: flex; flex-direction: column; gap: .65rem; font-size: 12px; color: var(--muted); font-weight: 200; }
.footer-col__links a:hover { color: var(--black); }
.footer-bottom { padding: 1.25rem var(--page); border-top: .5px solid var(--border); display: flex; justify-content: space-between; font-size: 9px; letter-spacing: .12em; color: var(--muted); text-transform: uppercase; }

/* ---- WHATSAPP BUTTON ---- */
.wa-float {
  position: fixed; bottom: 2rem; right: 2rem; z-index: 999;
  width: 52px; height: 52px; border-radius: 50%; background: var(--sage-dark);
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 12px rgba(45,64,41,0.3); transition: transform .2s;
}
.wa-float:hover { transform: scale(1.08); }
.wa-float svg { width: 26px; height: 26px; fill: white; }

/* ---- RESPONSIVE ---- */
@media (max-width: 1024px) {
  .hero, .split, .split--reverse { grid-template-columns: 1fr; }
  .hero__image { min-height: 360px; }
  .split--reverse .split__image { order: -1; }
  .split__image { min-height: 280px; }
  .product-grid { grid-template-columns: 1fr 1fr; }
  .product-card:nth-child(2) { border-right: none; }
  .range-grid { grid-template-columns: repeat(3,1fr); }
  .dif-grid { grid-template-columns: 1fr 1fr; }
  .dif-item:nth-child(2) { border-right: none; }
  .site-footer { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px) {
  :root { --page: 1.5rem; --section: 3rem; }
  .site-nav { display: none; }
  .hero__title { font-size: 36px; }
  .benefits-strip { grid-template-columns: 1fr 1fr; }
  .product-grid { grid-template-columns: 1fr; }
  .product-card { border-right: none; border-bottom: .5px solid var(--border); }
  .range-grid { grid-template-columns: 1fr 1fr; }
  .dif-grid { grid-template-columns: 1fr; }
  .dif-item { border-right: none; border-bottom: .5px solid var(--sage-mid); }
  .faq-grid { grid-template-columns: 1fr; }
  .faq-item { border-right: none; }
  .cta-band { flex-direction: column; gap: 2rem; text-align: center; }
  .site-footer { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; gap: .5rem; }
  .cta-band__text { font-size: 22px; 
  .split { display: flex; flex-direction: column; }
  .split--reverse { display: flex; 