.hope-btn{display:inline-flex;min-height:42px;align-items:center;justify-content:center;padding:0 20px;border:1px solid transparent;border-radius:var(--hope-radius-sm);font-size:11px;font-weight:700;letter-spacing:.02em;transition:transform var(--hope-transition-fast),background var(--hope-transition-fast),color var(--hope-transition-fast),border-color var(--hope-transition-fast)}
.hope-btn:hover{transform:translateY(-2px)}
.hope-btn:focus-visible,.hope-input:focus-visible{outline:2px solid var(--hope-green);outline-offset:3px}
.hope-btn--primary{background:var(--hope-green);color:var(--hope-text)}
.hope-btn--dark{background:var(--hope-dark);color:#fff}
.hope-btn--light{background:#fff;color:var(--hope-text)}
.hope-btn--ghost{background:transparent;color:var(--hope-text);border-color:var(--hope-border-dark)}
.hope-btn--outline-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}
.hope-btn--full{width:100%}
.hope-card{background:#fff;border:1px solid var(--hope-border-dark);box-shadow:0 18px 45px rgba(7,17,12,.08)}
.hope-test{padding:28px}
.hope-test__top{display:flex;justify-content:space-between;font-size:11px;margin-bottom:12px}
.hope-progress{height:3px;background:#e0e4dd;margin-bottom:28px;overflow:hidden}
.hope-progress span{display:block;width:20%;height:100%;background:var(--hope-green);transition:width var(--hope-transition)}
.hope-test__question{font-size:22px;font-weight:700;margin-bottom:18px}
.hope-test__options{display:grid;gap:8px}
.hope-test__option{width:100%;padding:14px;text-align:left;border:1px solid #dfe3dc;background:#fff;font-size:12px;transition:all var(--hope-transition-fast)}
.hope-test__option:hover,.hope-test__option.is-selected{border-color:var(--hope-text);background:#f5f7f2}
.hope-test__actions{display:flex;justify-content:space-between;margin-top:26px}
.hope-toggle{display:flex;border:1px solid rgba(255,255,255,.2);padding:3px}
.hope-toggle button{border:0;background:transparent;color:#fff;padding:9px 14px;font-size:10px}
.hope-toggle button.is-active{background:var(--hope-green);color:var(--hope-text)}
.hope-membership-card{position:relative;padding:28px;border:1px solid rgba(255,255,255,.17);min-height:510px;display:flex;flex-direction:column}
.hope-membership-card--featured{border-color:var(--hope-green)}
.hope-membership-card h3{font-size:26px;line-height:1;margin:25px 0}
.hope-membership-card ul{padding-left:18px;color:#a9b2ac;font-size:12px;line-height:2}
.hope-membership-card .hope-btn{margin-top:auto}
.hope-price{font-size:42px;font-weight:700;letter-spacing:-.05em;margin:18px 0}
.hope-badge{position:absolute;right:15px;top:15px;background:var(--hope-green);color:var(--hope-text);font-size:8px;font-weight:800;padding:6px 8px}
.hope-products{margin-top:60px}
.hope-product-card{background:#fff;border:1px solid #dfe3dc}
.hope-product-card__image{aspect-ratio:1;background:#e7e9e3;display:grid;place-items:center;font-size:10px;color:#737a75}
.hope-product-card__body{padding:14px}
.hope-product-card h3{font-size:13px;min-height:32px;margin:7px 0 12px}
.hope-product-card strong{display:block;margin-bottom:14px}
.hope-member{display:grid;grid-template-columns:1fr 1fr;max-width:820px;margin:auto}
.hope-member__intro{background:var(--hope-purple);padding:48px;color:#fff}
.hope-member__intro h2{font-size:42px;line-height:.95;letter-spacing:-.05em}
.hope-login{padding:48px;background:#0c2015}
.hope-login h3{font-size:24px;margin-top:0}
.hope-login label{display:block;font-size:10px;margin-bottom:14px}
.hope-input{width:100%;height:42px;margin-top:6px;padding:0 12px;border:1px solid #dfe3dc;border-radius:0;background:#fff;color:#111}
.hope-login small{display:block;color:#8e9a92;margin-top:16px}
.hope-faq__item{border-top:1px solid var(--hope-border-dark)}
.hope-faq__item:last-child{border-bottom:1px solid var(--hope-border-dark)}
.hope-faq__item button{width:100%;padding:20px 0;border:0;background:transparent;display:flex;justify-content:space-between;text-align:left;font-weight:700}
.hope-faq__answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--hope-transition)}
.hope-faq__answer>p{overflow:hidden;margin:0;color:var(--hope-muted);line-height:1.6}
.hope-faq__item.is-open .hope-faq__answer{grid-template-rows:1fr}
.hope-faq__item.is-open .hope-faq__answer>p{padding-bottom:20px}

/* Test editable */
.hope-test-section{background:var(--hope-cream);color:var(--hope-text)}.hope-test-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:70px;align-items:center}.hope-test-card{background:#07150e;color:#fff;padding:34px;min-height:430px}.hope-test-card__top{display:flex;align-items:center;gap:18px;margin-bottom:34px;color:rgba(255,255,255,.6);font-size:12px;font-weight:800}.hope-test-progress{height:4px;background:rgba(255,255,255,.12);flex:1}.hope-test-progress i{display:block;width:0;height:100%;background:var(--hope-green);transition:width .3s}.hope-test-question h3,.hope-test-result h3,.hope-test-card [data-test-stage]>h3{font-size:clamp(28px,3vw,44px);line-height:1.05;margin:0 0 28px}.hope-test-options{display:grid;gap:10px}.hope-test-option{width:100%;text-align:left;padding:16px 18px;border:1px solid rgba(255,255,255,.16);background:transparent;color:#fff;cursor:pointer}.hope-test-option:hover,.hope-test-option.is-selected{border-color:var(--hope-green);background:rgba(156,255,24,.08)}.hope-test-option.is-selected{color:var(--hope-green)}.hope-test-next{margin-top:22px}.hope-test-result p{color:rgba(255,255,255,.72);margin-bottom:26px}
@media(max-width:900px){.hope-hero__photo{inset:0;opacity:.58}.hope-hero__overlay{background:linear-gradient(90deg,rgba(3,16,10,.98),rgba(3,16,10,.72))}.hope-hero__inner{padding-top:130px;padding-bottom:58px}.hope-hero__content{width:100%}.hope-hero__strip-inner{overflow-x:auto;justify-content:flex-start;padding-top:22px;padding-bottom:22px}.hope-test-layout{grid-template-columns:1fr;gap:36px}}@media(max-width:600px){.hope-hero__content h1{font-size:clamp(48px,15vw,72px)}.hope-hero__actions{flex-direction:column;align-items:flex-start;gap:12px}.hope-test-card{padding:24px}}


/* =========================================================
   HOPE Hero Elementor correction v1.2.1
   Full viewport background + inner aligned container.
   ========================================================= */

/* Header is transparent over the Hero. */
.hope-header{
  background:transparent;
  border-bottom:1px solid transparent;
  box-shadow:none;
}
.hope-header.is-scrolled{
  background:rgba(3,16,10,.88);
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
  border-bottom-color:rgba(255,255,255,.08);
}

/* Break ONLY the Hero out of Elementor's content width. */
.hope-elementor-onepage .elementor-widget-hope_hero{
  width:100%;
  max-width:none;
}
.hope-elementor-onepage .elementor-widget-hope_hero > .elementor-widget-container{
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
}
.hope-hero--elementor{
  position:relative;
  isolation:isolate;
  display:block;
  width:100vw;
  max-width:100vw;
  min-height:0;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  padding:0;
  overflow:hidden;
  background:#03100a;
  color:#fff;
  scroll-margin-top:0;
}

/* Horizontal cover photo fills the complete Hero behind the text. */
.hope-hero--elementor .hope-hero__background{
  position:absolute;
  z-index:-3;
  inset:0 0 66px 0;
  background-color:#03100a;
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center center;
}
.hope-hero--elementor .hope-hero__overlay{
  position:absolute;
  z-index:-2;
  inset:0 0 66px 0;
  background:linear-gradient(
    90deg,
    rgba(2,13,8,.98) 0%,
    rgba(2,13,8,.94) 22%,
    rgba(2,13,8,.72) 43%,
    rgba(2,13,8,.30) 64%,
    rgba(2,13,8,.08) 100%
  );
}

/* Only the content is constrained/aligned. */
.hope-hero--elementor .hope-hero__inner{
  position:relative;
  z-index:2;
  min-height:758px;
  display:flex;
  align-items:center;
  width:min(calc(100% - 48px),var(--hope-container));
  margin-inline:auto;
  padding-top:calc(var(--hope-header-height) + 42px);
  padding-bottom:52px;
}
.hope-hero--elementor .hope-hero__content{
  position:relative;
  z-index:2;
  width:min(650px,53%);
  padding:0;
}
.hope-hero--elementor h1{
  max-width:650px;
  margin:18px 0 24px;
  font-size:clamp(64px,6.25vw,104px);
  line-height:.91;
  letter-spacing:-.065em;
  font-weight:800;
}
.hope-hero--elementor h1 span,
.hope-hero--elementor h1 em{
  display:block;
  font-style:normal;
}
.hope-hero--elementor h1 em{color:var(--hope-green)}
.hope-hero--elementor .hope-hero__description{
  max-width:600px;
  margin:0;
  color:rgba(255,255,255,.76);
  font-size:17px;
  line-height:1.6;
}
.hope-hero--elementor .hope-hero__actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:28px;
  margin-top:28px;
}
.hope-hero--elementor .hope-hero__text-link{
  padding:10px 0 6px;
  border-bottom:1px solid rgba(255,255,255,.6);
  color:#fff;
  font-weight:750;
  text-decoration:none;
}
.hope-hero--elementor .hope-hero__text-link:hover{
  color:var(--hope-green);
  border-color:var(--hope-green);
}
.hope-hero--elementor .hope-hero__founding{
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:30px;
}
.hope-hero--elementor .hope-hero__founding strong{
  color:var(--hope-green);
  font-size:40px;
  line-height:1;
  letter-spacing:-.04em;
}
.hope-hero--elementor .hope-hero__founding div{
  display:flex;
  flex-direction:column;
  line-height:1.35;
}
.hope-hero--elementor .hope-hero__founding span,
.hope-hero--elementor .hope-hero__founding small{
  color:rgba(255,255,255,.68);
  font-size:13px;
}

/* This list is a separate full-width strip BELOW the image area. */
.hope-hero--elementor .hope-hero__strip{
  position:relative;
  z-index:3;
  width:100%;
  height:66px;
  margin:0;
  padding:0;
  background:#03100a;
  border-top:1px solid rgba(255,255,255,.12);
  border-bottom:1px solid rgba(255,255,255,.12);
}
.hope-hero--elementor .hope-hero__strip-inner{
  width:min(calc(100% - 48px),var(--hope-container));
  height:66px;
  min-height:66px;
  margin-inline:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:0;
}
.hope-hero--elementor .hope-hero__strip a{
  color:rgba(255,255,255,.60);
  font-size:12px;
  font-weight:800;
  letter-spacing:.15em;
  text-decoration:none;
  white-space:nowrap;
}
.hope-hero--elementor .hope-hero__strip a:hover{color:var(--hope-green)}
.hope-hero--elementor .hope-hero__strip i{
  width:6px;
  height:6px;
  flex:0 0 6px;
  background:var(--hope-green);
  transform:rotate(45deg);
}

/* Theme-controlled responsive shop CTA. */
.hope-mobile-shop-cta{
  display:none;
  position:fixed;
  z-index:1300;
  left:0;
  right:0;
  bottom:0;
  min-height:56px;
  padding:14px 20px;
  align-items:center;
  justify-content:center;
  background:var(--hope-green);
  color:var(--hope-text);
  font-weight:800;
  text-align:center;
  text-decoration:none;
  box-shadow:0 -6px 24px rgba(0,0,0,.22);
}

@media(max-width:980px){
  body{padding-bottom:56px}
  .hope-mobile-shop-cta{display:flex}
  .hope-hero--elementor .hope-hero__background{background-position:58% center}
  .hope-hero--elementor .hope-hero__overlay{
    background:linear-gradient(90deg,rgba(2,13,8,.97) 0%,rgba(2,13,8,.84) 50%,rgba(2,13,8,.28) 100%);
  }
  .hope-hero--elementor .hope-hero__inner{
    min-height:700px;
    padding-top:calc(var(--hope-header-height) + 45px);
  }
  .hope-hero--elementor .hope-hero__content{width:min(620px,74%)}
  .hope-hero--elementor .hope-hero__strip-inner{
    overflow-x:auto;
    justify-content:flex-start;
    scrollbar-width:none;
  }
  .hope-hero--elementor .hope-hero__strip-inner::-webkit-scrollbar{display:none}
}
@media(max-width:640px){
  .hope-hero--elementor .hope-hero__background{background-position:61% center}
  .hope-hero--elementor .hope-hero__overlay{
    background:linear-gradient(90deg,rgba(2,13,8,.96) 0%,rgba(2,13,8,.80) 62%,rgba(2,13,8,.42) 100%);
  }
  .hope-hero--elementor .hope-hero__inner{
    width:min(calc(100% - 30px),var(--hope-container));
    min-height:680px;
    align-items:flex-end;
    padding-top:calc(var(--hope-header-height) + 40px);
    padding-bottom:38px;
  }
  .hope-hero--elementor .hope-hero__content{width:100%}
  .hope-hero--elementor h1{
    font-size:clamp(48px,15vw,74px);
    line-height:.92;
  }
  .hope-hero--elementor .hope-hero__description{font-size:15px}
  .hope-hero--elementor .hope-hero__actions{
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
  }
  .hope-hero--elementor .hope-hero__strip-inner{
    width:min(calc(100% - 30px),var(--hope-container));
  }
}


/* HOPE v1.2.3 — HOPE FIT / MOVU / Experiencia matching reference */
.hope-fit-showcase{background:var(--hope-cream);color:var(--hope-text)}
.hope-fit-showcase__hero{position:relative;min-height:430px;background:#07110c center/cover no-repeat;color:#fff}
.hope-fit-showcase__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.54) 48%,rgba(0,0,0,.08))}
.hope-fit-showcase__intro{position:relative;z-index:2;min-height:430px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.hope-fit-showcase__intro h2{margin:14px 0 12px;font-size:clamp(48px,5vw,78px);line-height:.96;letter-spacing:-.05em}
.hope-fit-showcase__intro p{max-width:560px;color:rgba(255,255,255,.72);line-height:1.55}
.hope-fit-showcase__catalog{padding:54px 0 70px}
.hope-fit-products{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.hope-fit-product{background:#fff;border:1px solid #d8ddd5}
.hope-fit-product__image{height:330px;background:#eeeae3;display:flex;align-items:center;justify-content:center;overflow:hidden}
.hope-fit-product__image img{width:100%;height:100%;object-fit:cover}
.hope-fit-product__body{padding:17px 18px 20px}.hope-fit-product__body small{color:#61a900;font-weight:800;letter-spacing:.08em}.hope-fit-product__body h3{margin:5px 0 8px;font-size:22px}.hope-fit-product__body p{margin:0;color:#697069;font-size:13px}
.hope-fit-notes{display:grid;grid-template-columns:repeat(3,1fr);margin-top:38px;border-top:1px solid #cfd5cd}
.hope-fit-notes>div{display:grid;grid-template-columns:32px 1fr;gap:12px;padding:20px 20px 0 0;border-right:1px solid #cfd5cd}.hope-fit-notes>div:last-child{border-right:0}.hope-fit-notes b{color:#67b600}.hope-fit-notes p{margin:0;color:#697069;font-size:12px;line-height:1.5}

.hope-movu-showcase{background:#030c08;color:#fff;padding:105px 0}
.hope-movu-showcase__head{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:70px;margin-bottom:48px}
.hope-movu-showcase__head h2{margin:14px 0 0;font-size:clamp(58px,6vw,92px);line-height:.92;letter-spacing:-.055em;max-width:620px}
.hope-movu-showcase__head p{color:rgba(255,255,255,.58);line-height:1.6;max-width:430px}
.hope-movu-gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:8px}
.hope-movu-gallery figure{position:relative;margin:0;overflow:hidden;background:#172018;min-height:280px}
.hope-movu-gallery__large{grid-column:span 6;height:410px}.hope-movu-gallery__small{grid-column:span 3;height:410px}
.hope-movu-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.hope-movu-gallery figure:hover img{transform:scale(1.025)}
.hope-movu-gallery figcaption{position:absolute;left:10px;bottom:10px;background:#06130d;color:#fff;padding:8px 10px;font-size:11px;font-weight:800}
.hope-movu-showcase__foot{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-top:28px;color:rgba(255,255,255,.55);font-size:12px}
.hope-movu-showcase__foot a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:5px}

.hope-experience-showcase{background:#06170f;color:#fff;padding:105px 0}
.hope-experience-showcase__title{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin:14px 0 56px}
.hope-experience-showcase__title h2{margin:0;max-width:850px;font-size:clamp(58px,6vw,92px);line-height:.95;letter-spacing:-.055em}
.hope-experience-showcase__title span{border:1px solid var(--hope-green);color:var(--hope-green);padding:8px 12px;font-size:11px;font-weight:800;white-space:nowrap}
.hope-experience-steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.16)}
.hope-experience-steps article{min-height:190px;padding:28px 28px 0 0;border-right:1px solid rgba(255,255,255,.16)}
.hope-experience-steps article+article{padding-left:28px}.hope-experience-steps article:last-child{border-right:0}
.hope-experience-steps b{color:var(--hope-green);font-size:12px}.hope-experience-steps h3{margin:32px 0 10px;font-size:17px}.hope-experience-steps p{margin:0;color:rgba(255,255,255,.56);font-size:13px;line-height:1.55}

@media(max-width:900px){
 .hope-fit-products{grid-template-columns:1fr}.hope-fit-product__image{height:360px}.hope-fit-notes{grid-template-columns:1fr}.hope-fit-notes>div{border-right:0}
 .hope-movu-showcase__head{grid-template-columns:1fr;gap:20px}.hope-movu-gallery__large{grid-column:span 12}.hope-movu-gallery__small{grid-column:span 6}
 .hope-experience-showcase__title{align-items:flex-start;flex-direction:column}.hope-experience-steps{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
 .hope-fit-showcase__hero,.hope-fit-showcase__intro{min-height:500px}.hope-fit-showcase__intro{justify-content:flex-end;padding-bottom:48px}
 .hope-fit-product__image{height:300px}
 .hope-movu-showcase,.hope-experience-showcase{padding:72px 0}.hope-movu-gallery__large,.hope-movu-gallery__small{grid-column:span 12;height:420px}
 .hope-movu-showcase__foot{align-items:flex-start;flex-direction:column}
 .hope-experience-steps{grid-template-columns:1fr}.hope-experience-steps article,.hope-experience-steps article+article{padding:24px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}
}
