/*
 * Fitvala Guest Premium UI (Apple Fitness+ inspired)
 * Updated to use Fitvala brand colors (green/orange) + richer marketing layout.
 * Scoped strictly to standalone guest shell: body.fitvala-guest-shell
 */

.fitvala-guest-shell{
  /* Brand palette */
  --fv-green: #10c17b;
  --fv-green-2: #0ea96b;
  --fv-teal: #10b7a6;
  --fv-orange: #fd7b35;
  --fv-amber: #fbbf24;

  --fv-ink: #05060a;
  --fv-text: rgba(255,255,255,.92);
  --fv-muted: rgba(255,255,255,.70);
  --fv-line: rgba(255,255,255,.10);
  --fv-glass: rgba(10,12,18,.56);

  background:var(--fv-ink);
  color:var(--fv-text);
  margin:0;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", ui-sans-serif, system-ui, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

.fitvala-guest-shell a{color:inherit}
.fitvala-guest-shell img{max-width:100%;height:auto;display:block}
.fitvala-guest-shell *{box-sizing:border-box}

/* Aurora background */
.fitvala-guest-shell .fv-gp{
  min-height:100vh;
  position:relative;
  overflow-x:hidden;
}

.fitvala-guest-shell .fv-gp:before{
  content:"";
  position:fixed;
  inset:-30vh;
  pointer-events:none;
  /* Keep premium brand glow but make it subtle (Apple-like cleanliness) */
  opacity:.38;
  filter:blur(110px) saturate(125%);
  /* Keep brand glow but avoid muddy brown bands on lower sections */
  background:
    radial-gradient(62vh 52vh at 18% 26%, rgba(16,193,123,.56), transparent 62%),
    radial-gradient(72vh 56vh at 80% 24%, rgba(16,183,166,.46), transparent 60%),
    radial-gradient(58vh 48vh at 62% 76%, rgba(253,123,53,0), transparent 66%),
    radial-gradient(54vh 44vh at 16% 84%, rgba(251,191,36,0), transparent 72%);
  animation:fvAurora 18s ease-in-out infinite alternate;
}

@keyframes fvAurora{
  0%{ transform:translate3d(-2%, -1%, 0) scale(1.02); }
  100%{ transform:translate3d(2%, 1%, 0) scale(1.08); }
}

/* Grain overlay */
.fitvala-guest-shell .fv-gp:after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.04;
  mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E");
}

/* Container */
.fitvala-guest-shell .fv-gp-wrap{max-width:1180px;margin:0 auto;padding:0 18px;}

/* Topbar */
.fitvala-guest-shell .fv-gp-top{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(5,6,10,.52);
  backdrop-filter: blur(18px) saturate(160%);
  border-bottom:1px solid rgba(255,255,255,.08);
  transition: background .25s ease, border-color .25s ease;
}
.fitvala-guest-shell .fv-gp-top.fv-topbar--scrolled{
  background:rgba(5,6,10,.68);
  border-bottom-color:rgba(255,255,255,.10);
}
.fitvala-guest-shell .fv-gp-top__inner{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0;}

.fitvala-guest-shell .fv-gp-brand{display:flex;align-items:center;gap:10px;text-decoration:none;min-width:0;white-space:nowrap;}
.fitvala-guest-shell .fv-gp-brand__icon{
  width:24px;height:24px;border-radius:9px;
  box-shadow:0 16px 40px rgba(0,0,0,.35);
  outline:1px solid rgba(255,255,255,.10);
}
.fitvala-guest-shell .fv-gp-brand__name{
  font-weight:900;
  letter-spacing:-.02em;
  font-size:16px;
  line-height:1;
}
.fitvala-guest-shell .fv-gp-brand__name b{
  color:rgba(255,255,255,.92);
}

.fitvala-guest-shell .fv-gp-nav{display:flex;align-items:center;gap:10px;}
.fitvala-guest-shell .fv-gp-nav a{
  font-weight:850;font-size:14px;
  color:rgba(255,255,255,.74);
  text-decoration:none;
  padding:10px 12px;
  border-radius:999px;
  transition:background .18s ease, color .18s ease, border-color .18s ease;
  border:1px solid transparent;
}
.fitvala-guest-shell .fv-gp-nav a:hover{background:rgba(255,255,255,.06);color:rgba(255,255,255,.92);}
.fitvala-guest-shell .fv-gp-nav a.is-active{
  background:rgba(16,193,123,.14);
  border-color:rgba(16,193,123,.30);
  color:rgba(255,255,255,.92);
}
.fitvala-guest-shell .fv-gp-actions{display:flex;align-items:center;gap:10px;}

/* Buttons (guest shell only) */
.fitvala-guest-shell .fv-btn{
  border-radius:999px;
  min-height:44px;  padding:0 16px;
  font-weight:850;
  letter-spacing:-.01em;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  color:rgba(255,255,255,.92);
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}
.fitvala-guest-shell .fv-btn:hover{transform:translateY(-1px);background:rgba(255,255,255,.10);}
.fitvala-guest-shell .fv-btn--primary{
  border:none;
  color:#06110b;
  background:var(--fv-green);
  box-shadow:0 14px 44px rgba(16,193,123,.20);
}
.fitvala-guest-shell .fv-btn--primary:hover{background:var(--fv-green-2);box-shadow:0 18px 56px rgba(16,193,123,.26);}
.fitvala-guest-shell .fv-btn--ghost{background:rgba(255,255,255,.04);}
.fitvala-guest-shell .fv-btn--outline{
  background:rgba(255,255,255,.03);
  border-color:rgba(16,193,123,.30);
}
.fitvala-guest-shell .fv-btn--outline:hover{border-color:rgba(16,193,123,.45);}
.fitvala-guest-shell .fv-btn--full{width:100%;}

/* Typography */
.fitvala-guest-shell .fv-gp-kicker{
  display:inline-flex;align-items:center;gap:10px;
  padding:10px 14px;border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(16,193,123,.28);
  color:rgba(255,255,255,.76);
  font-weight:900;font-size:13px;
}
.fitvala-guest-shell .fv-gp-h1{
  margin:10px 0 14px;
  font-size:clamp(40px, 5.8vw, 66px);
  line-height:1.02;
  letter-spacing:-.05em;
  font-weight:950;
}
.fitvala-guest-shell .fv-gp-lede{margin:0;max-width:66ch;color:var(--fv-muted);font-size:17px;line-height:1.55;}
.fitvala-guest-shell .fv-gp-h2{margin:0 0 12px;font-size:22px;letter-spacing:-.02em;font-weight:950;}
.fitvala-guest-shell .fv-gp-muted{color:rgba(255,255,255,.62);}

/* Hero */
.fitvala-guest-shell .fv-gp-hero{padding:clamp(18px, 4.5vw, 44px) 0 18px;}

/* Full-bleed hero (Apple-style) */
.fitvala-guest-shell .fv-gp-hero--bleed{padding:0 0 26px;}
.fitvala-guest-shell .fv-heroBleed{
  position:relative;
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  height:clamp(520px, 72vh, 780px);
  background:#0a0d12;
  overflow:hidden;
}
.fitvala-guest-shell .fv-heroBleed__media,
.fitvala-guest-shell .fv-heroBleed__media img{display:block;}
.fitvala-guest-shell .fv-heroBleed__media img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 35%;
  transform:translateZ(0);
}
.fitvala-guest-shell .fv-heroBleed__scrim{
  position:absolute;
  inset:0;
  background:
    radial-gradient(1000px 560px at 50% 85%, rgba(0,0,0,0) 0%, rgba(0,0,0,.22) 72%),
    linear-gradient(180deg, rgba(0,0,0,.04) 0%, rgba(0,0,0,.14) 60%, rgba(0,0,0,.32) 100%);
  pointer-events:none;
}
.fitvala-guest-shell .fv-heroBleed__overlay{
  position:absolute;
  inset:0;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  text-align:center;
  padding:0 0 clamp(18px, 3.8vw, 44px);
}
.fitvala-guest-shell .fv-heroBleed__overlay--bottom{
  align-items:flex-end;
}
.fitvala-guest-shell .fv-heroBleed__content{
  max-width:920px;
  margin:0 auto;
}

.fitvala-guest-shell .fv-heroBleed__brand{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font-weight:950;
  letter-spacing:-.02em;
  color:rgba(255,255,255,.92);
  opacity:.98;
}
.fitvala-guest-shell .fv-heroBleed__brandIcon{
  width:20px;
  height:20px;
  border-radius:7px;
  box-shadow:0 14px 40px rgba(0,0,0,.35);
}
.fitvala-guest-shell .fv-heroBleed__h1{
  margin:8px 0 10px;
  font-size:clamp(44px, 5.9vw, 78px);
  line-height:1.0;
  letter-spacing:-.05em;
  font-weight:950;
  text-shadow:0 18px 60px rgba(0,0,0,.45);
}
.fitvala-guest-shell .fv-heroBleed__lede{
  margin:0 auto;
  max-width:70ch;
  color:rgba(255,255,255,.78);
  font-size:18px;
  line-height:1.55;
}
.fitvala-guest-shell .fv-heroBleed__cta{justify-content:center;margin:10px 0 0;}
.fitvala-guest-shell .fv-heroBleed__cta .fv-btn{padding:12px 20px;font-size:14px;min-width:170px;}
.fitvala-guest-shell .fv-heroBleed__badges{justify-content:center;}

@media (max-width: 980px){
  .fitvala-guest-shell .fv-heroBleed{height:clamp(540px, 78vh, 720px);}
  .fitvala-guest-shell .fv-heroBleed__overlay{align-items:flex-end;padding:0 0 22px;}
  .fitvala-guest-shell .fv-heroBleed__h1{font-size:clamp(36px, 9.4vw, 54px);} 
  .fitvala-guest-shell .fv-heroBleed__lede{font-size:16px;}
  .fitvala-guest-shell .fv-heroBleed__badges .fv-gp-pill:nth-child(n+4){display:none;}
}
.fitvala-guest-shell .fv-gp-hero__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:start;}
.fitvala-guest-shell .fv-gp-cta{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0 12px;}
.fitvala-guest-shell .fv-gp-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px;}
.fitvala-guest-shell .fv-gp-pill{padding:10px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:rgba(255,255,255,.74);font-weight:850;font-size:13px;}
.fitvala-guest-shell .fv-gp-pill.is-accent{border-color:rgba(16,193,123,.32);}
.fitvala-guest-shell .fv-gp-note{margin-top:12px;color:rgba(255,255,255,.55);font-size:12px;}

/* Full-width hero visual + panel */
.fitvala-guest-shell .fv-heroVisual{
  border-radius:28px;overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.03);
  box-shadow:0 50px 120px rgba(0,0,0,.45);
  position:relative;
  aspect-ratio:21/9;
  min-height:340px;
}
.fitvala-guest-shell .fv-heroVisual picture,
.fitvala-guest-shell .fv-heroVisual img{display:block;}
.fitvala-guest-shell .fv-heroVisual img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center;
}
.fitvala-guest-shell .fv-heroVisual__scrim{
  position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.00) 40%, rgba(0,0,0,.42) 100%);
  pointer-events:none;
}
.fitvala-guest-shell .fv-heroBelow{
  margin-top:22px;
  display:block;
}
.fitvala-guest-shell .fv-gp-glass.fv-gp-glass--panel{margin-top:0;}

@media (max-width: 980px){
  .fitvala-guest-shell .fv-heroVisual{aspect-ratio:16/10;min-height:240px;}
  .fitvala-guest-shell .fv-heroBelow{margin-top:16px;}
  .fitvala-guest-shell .fv-gp-badges .fv-gp-pill:nth-child(n+4){display:none;}
}

/* Section alt slab */
.fitvala-guest-shell .fv-gp-section--alt{
  padding:40px 0;
  border-top:1px solid rgba(255,255,255,.07);
  border-bottom:1px solid rgba(255,255,255,.07);
  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01));
}
.fitvala-guest-shell .fv-gp-sectionHead{max-width:72ch;}
.fitvala-guest-shell .fv-heroCopy{max-width:78ch;}


/* Media card */
.fitvala-guest-shell .fv-gp-media__frame{border-radius:26px;overflow:hidden;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.03);box-shadow:0 50px 120px rgba(0,0,0,.45);position:relative;aspect-ratio:16/10;}
.fitvala-guest-shell .fv-gp-media__frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;}

.fitvala-guest-shell .fv-gp-glass{margin-top:14px;border-radius:22px;border:1px solid rgba(255,255,255,.12);background:var(--fv-glass);backdrop-filter: blur(18px) saturate(170%);box-shadow:0 30px 80px rgba(0,0,0,.35);padding:16px;}

/* Sections */
.fitvala-guest-shell .fv-gp-section{padding:34px 0;}
.fitvala-guest-shell .fv-gp-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.fitvala-guest-shell .fv-gp-grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}

.fitvala-guest-shell .fv-gp-card{border-radius:22px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.04);box-shadow:0 20px 60px rgba(0,0,0,.22);overflow:hidden;position:relative;}
.fitvala-guest-shell .fv-gp-card > img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:center;}
.fitvala-guest-shell .fv-gp-card.fv-gp-card--wide > img{aspect-ratio:21/9;}
.fitvala-guest-shell .fv-gp-card.fv-gp-card--wide picture{display:block;position:relative;aspect-ratio:21/9;}
.fitvala-guest-shell .fv-gp-card.fv-gp-card--wide picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;}
.fitvala-guest-shell .fv-gp-card__body{padding:16px;}
.fitvala-guest-shell .fv-gp-card__t{font-weight:950;margin:0 0 6px;letter-spacing:-.02em;}
.fitvala-guest-shell .fv-gp-card__p{margin:0;color:rgba(255,255,255,.74);line-height:1.5;}

/* Icon cards (reduce repeated photography) */
.fitvala-guest-shell .fv-gp-icoRow{display:flex;align-items:center;gap:12px;margin-bottom:10px;}
.fitvala-guest-shell .fv-gp-ico{
  width:38px;height:38px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.04));
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 18px 50px rgba(0,0,0,.28);
}
.fitvala-guest-shell .fv-gp-ico svg{width:18px;height:18px;display:block;}
.fitvala-guest-shell .fv-gp-ico svg path{fill:rgba(255,255,255,.92);}
.fitvala-guest-shell .fv-gp-ico--brand{
  background:linear-gradient(180deg, rgba(16,193,123,.30), rgba(16,193,123,.14));
  border-color:rgba(16,193,123,.22);
}
.fitvala-guest-shell .fv-gp-ico--brand svg path{fill:#07110c;}
.fitvala-guest-shell .fv-gp-card--soft{background:rgba(255,255,255,.035);}
.fitvala-guest-shell .fv-gp-card--soft:hover{background:rgba(255,255,255,.05);}

/* Mini plan chips */
.fitvala-guest-shell .fv-miniPlans{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px;}
.fitvala-guest-shell .fv-miniPlan{border-radius:18px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);padding:12px;}
.fitvala-guest-shell .fv-miniPlan__t{font-weight:950;letter-spacing:-.01em;}
.fitvala-guest-shell .fv-miniPlan__p{margin-top:6px;color:rgba(255,255,255,.72);font-weight:750;}
.fitvala-guest-shell .fv-miniPlan--best{border-color:rgba(16,193,123,.30);background:linear-gradient(180deg, rgba(16,193,123,.16), rgba(255,255,255,.04));}
.fitvala-guest-shell .fv-miniPlan__badge{display:inline-flex;margin-left:8px;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:950;background:rgba(16,193,123,.20);border:1px solid rgba(16,193,123,.25);color:rgba(255,255,255,.92);}

/* Quote cards */
.fitvala-guest-shell .fv-quote{padding:18px;}
.fitvala-guest-shell .fv-quote__text{margin:0;color:rgba(255,255,255,.86);font-weight:850;line-height:1.5;}
.fitvala-guest-shell .fv-quote__by{margin-top:10px;color:rgba(255,255,255,.60);font-weight:800;font-size:13px;}

/* Pricing */
.fitvala-guest-shell .fv-gp-priceGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:stretch;}
.fitvala-guest-shell .fv-gp-plan{padding:18px;display:flex;flex-direction:column;}
.fitvala-guest-shell .fv-gp-plan__tag{display:inline-flex;gap:10px;align-items:center;padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:rgba(255,255,255,.78);font-weight:950;font-size:12px;letter-spacing:.08em;text-transform:uppercase;}
.fitvala-guest-shell .fv-gp-plan__name{margin:12px 0 4px;font-size:22px;font-weight:950;letter-spacing:-.02em;}
.fitvala-guest-shell .fv-gp-plan__price{font-size:34px;font-weight:950;letter-spacing:-.04em;margin:8px 0 6px;}
.fitvala-guest-shell .fv-gp-plan__sub{margin:0 0 12px;color:rgba(255,255,255,.70);}
.fitvala-guest-shell .fv-gp-plan ul{margin:0;padding-left:18px;display:grid;gap:8px;color:rgba(255,255,255,.78);font-weight:750;}
.fitvala-guest-shell .fv-gp-plan__cta{margin-top:auto;padding-top:14px;display:grid;gap:10px;}
.fitvala-guest-shell .fv-gp-plan--highlight{
  border:1px solid rgba(16,193,123,.45);
  background:linear-gradient(180deg, rgba(16,193,123,.18), rgba(255,255,255,.04));
  box-shadow:0 35px 90px rgba(16,193,123,.14);
}
.fitvala-guest-shell .fv-gp-badgeBest{display:inline-flex;margin-left:10px;padding:6px 10px;border-radius:999px;background:rgba(16,193,123,.18);border:1px solid rgba(16,193,123,.34);color:rgba(255,255,255,.92);font-weight:950;font-size:12px;}

/* Forms */
.fitvala-guest-shell .fv-gp-authGrid{display:grid;grid-template-columns:1fr .9fr;gap:18px;align-items:stretch;margin-top:18px;}
.fitvala-guest-shell .fv-gp-formCard{border-radius:24px;border:1px solid rgba(255,255,255,.12);background:rgba(10,12,18,.58);backdrop-filter: blur(18px) saturate(170%);box-shadow:0 38px 110px rgba(0,0,0,.40);padding:18px;}
.fitvala-guest-shell .fv-gp-formTitle{margin:10px 0 6px;font-size:34px;letter-spacing:-.04em;font-weight:950;}
.fitvala-guest-shell .fv-gp-formSub{margin:0 0 14px;color:rgba(255,255,255,.74);}

.fitvala-guest-shell .fv-gp-authMedia{border-radius:24px;overflow:hidden;position:relative;min-height:520px;}
.fitvala-guest-shell .fv-gp-authMedia img{width:100%;height:100%;object-fit:cover;object-position:center;}

.fitvala-guest-shell .fv-field{margin:12px 0;}
.fitvala-guest-shell .fv-label{display:block;margin-bottom:6px;color:rgba(255,255,255,.82);font-weight:850;font-size:13px;}
.fitvala-guest-shell .fv-input{
  width:100%;
  border-radius:16px;
  padding:14px 14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
  color:rgba(255,255,255,.92);
  outline:none;
}
.fitvala-guest-shell .fv-input:focus{border-color:rgba(16,193,123,.55);box-shadow:0 0 0 4px rgba(16,193,123,.14);}

.fitvala-guest-shell .fv-row{display:flex;justify-content:space-between;gap:10px;align-items:center;}
.fitvala-guest-shell .fv-muted{color:rgba(255,255,255,.62);font-size:12px;}
.fitvala-guest-shell .fv-link{color:rgba(255,255,255,.90);font-weight:900;text-decoration:none;}
.fitvala-guest-shell .fv-link:hover{text-decoration:underline;}

.fitvala-guest-shell .fv-alert{border-radius:16px;padding:12px 14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);}
.fitvala-guest-shell .fv-alert--error{border-color:rgba(255,99,99,.38);background:rgba(255,99,99,.12);}

/* Password meter overrides */
.fitvala-guest-shell .fv-pwMeter{border-radius:999px;background:rgba(255,255,255,.08);height:10px;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.12);}
.fitvala-guest-shell .fv-pwMeter:before{content:"";position:absolute;left:0;top:0;bottom:0;width:calc((var(--fv-pw,0) / 5) * 100%);background:linear-gradient(90deg, var(--fv-green), var(--fv-green-2));}
.fitvala-guest-shell .fv-pwWrap{display:flex;align-items:center;gap:10px;margin-top:10px;}
.fitvala-guest-shell .fv-pwLabel{font-weight:950;color:rgba(255,255,255,.74);}
.fitvala-guest-shell .fv-req{margin-top:12px;border-radius:18px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.04);padding:12px;}
.fitvala-guest-shell .fv-req__h{font-weight:950;margin-bottom:6px;color:rgba(255,255,255,.80);}
.fitvala-guest-shell .fv-req ul{margin:0;padding-left:18px;display:grid;gap:6px;color:rgba(255,255,255,.72);}
.fitvala-guest-shell .fv-req li.is-ok{color:rgba(255,255,255,.94);}

/* FAQ */
.fitvala-guest-shell .fv-gp-faq{display:grid;gap:10px;}
.fitvala-guest-shell .fv-gp-faq details{border-radius:18px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.04);padding:14px 14px 12px;}
.fitvala-guest-shell .fv-gp-faq summary{cursor:pointer;font-weight:950;}
.fitvala-guest-shell .fv-gp-faq p{margin:10px 0 0;color:rgba(255,255,255,.74);line-height:1.55;}

/* Footer */
.fitvala-guest-shell .fv-gp-footer{padding:26px 0 40px;border-top:1px solid rgba(255,255,255,.08);color:rgba(255,255,255,.62);font-size:13px;}
.fitvala-guest-shell .fv-gp-footer a{color:rgba(255,255,255,.74);text-decoration:none;}
.fitvala-guest-shell .fv-gp-footer a:hover{text-decoration:underline;}

/* Reveal animation (works with fitvala-guest.js) */
.fitvala-guest-shell [data-fv-reveal]{opacity:0;transform:translateY(10px);transition:opacity .55s cubic-bezier(.2,.9,.2,1), transform .55s cubic-bezier(.2,.9,.2,1);}
.fitvala-guest-shell .fv-is-in{opacity:1;transform:none;}

/* Mobile */
@media (max-width: 980px){
  .fitvala-guest-shell .fv-gp-nav{display:none;}
  .fitvala-guest-shell .fv-gp-hero__grid{grid-template-columns:1fr;gap:18px;}
  .fitvala-guest-shell .fv-gp-grid3{grid-template-columns:1fr;}
  .fitvala-guest-shell .fv-gp-grid2{grid-template-columns:1fr;}
  .fitvala-guest-shell .fv-gp-priceGrid{grid-template-columns:1fr;}
  .fitvala-guest-shell .fv-gp-authGrid{grid-template-columns:1fr;}
  .fitvala-guest-shell .fv-gp-authMedia{min-height:360px;}
}

@media (max-width: 980px){
  .fitvala-guest-shell .fv-miniPlans{grid-template-columns:1fr;}
}

/* Utility grids */
.fitvala-guest-shell .fv-gp-grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
@media (max-width: 980px){
  .fitvala-guest-shell .fv-gp-grid4{grid-template-columns:repeat(2,1fr);}
}
@media (max-width: 560px){
  .fitvala-guest-shell .fv-gp-grid4{grid-template-columns:1fr;}
}


/* Tighter section spacing (used after hero to keep it minimal) */
.fitvala-guest-shell .fv-gp-section--tight{padding:22px 0;}

/* Mobile Ultra Premium Polish */
@media (max-width: 980px){
  .fitvala-guest-shell .fv-gp-wrap{padding:0 14px;}
  .fitvala-guest-shell .fv-gp-top__inner{padding:10px 0; gap:10px;}
  .fitvala-guest-shell .fv-gp-brand__icon{width:22px;height:22px;border-radius:8px;}
  .fitvala-guest-shell .fv-gp-brand__name{font-size:15px;}

  .fitvala-guest-shell .fv-gp-actions{gap:8px;}
  .fitvala-guest-shell .fv-gp-actions .fv-btn{padding:10px 12px;font-size:13px;}
  .fitvala-guest-shell .fv-gp-actions .fv-btn--primary{box-shadow:0 14px 46px rgba(16,193,123,.22);}

  /* Clean glow on small screens */
  .fitvala-guest-shell .fv-gp:before{opacity:.26; filter:blur(125px) saturate(120%);}

  /* Hero fit */
  .fitvala-guest-shell .fv-heroBleed{height:clamp(420px, 60vh, 560px);}
  .fitvala-guest-shell .fv-heroBleed__media img{object-position:50% 30%;}
  .fitvala-guest-shell .fv-heroBleed__scrim{
    background:
      radial-gradient(900px 480px at 50% 82%, rgba(0,0,0,0) 0%, rgba(0,0,0,.20) 74%),
      linear-gradient(180deg, rgba(0,0,0,.03) 0%, rgba(0,0,0,.12) 58%, rgba(0,0,0,.26) 100%);
  }
  .fitvala-guest-shell .fv-heroBleed__overlay{padding:0 0 calc(10px + env(safe-area-inset-bottom));}
  .fitvala-guest-shell .fv-heroBleed__brand{font-size:12px; opacity:.92; letter-spacing:-.01em;}
  .fitvala-guest-shell .fv-heroBleed__brandIcon{width:18px;height:18px;border-radius:6px;}
  .fitvala-guest-shell .fv-heroBleed__h1{margin:8px 0 8px;font-size:clamp(32px, 8.8vw, 44px);letter-spacing:-.045em;}
  .fitvala-guest-shell .fv-heroBleed__cta .fv-btn{padding:12px 18px;min-width:150px;max-width:190px;width:auto;}
  .fitvala-guest-shell .fv-heroBleed__content{transform:translateY(8px);} 

  /* Typography + spacing */
  .fitvala-guest-shell .fv-gp-h1{font-size:clamp(34px, 9vw, 50px);margin:8px 0 10px;}
  .fitvala-guest-shell .fv-gp-lede{font-size:15px;}
  .fitvala-guest-shell .fv-gp-section{padding:28px 0;}
  .fitvala-guest-shell .fv-gp-section--alt{padding:30px 0;}

  .fitvala-guest-shell .fv-gp-card{border-radius:20px;}
  .fitvala-guest-shell .fv-gp-card__body{padding:14px;}

  /* Pricing */
  .fitvala-guest-shell .fv-gp-plan__name{font-size:20px;}
  .fitvala-guest-shell .fv-gp-plan__price{font-size:32px;}
  .fitvala-guest-shell .fv-gp-plan__cta{gap:8px;}

  /* FAQ */
  .fitvala-guest-shell .fv-gp-faq details{border-radius:16px; padding:12px 12px 10px;}

  /* Auth: image first, tighter form */
  .fitvala-guest-shell .fv-gp-authGrid{gap:12px;}
  .fitvala-guest-shell .fv-gp-authMedia{order:-1; min-height:240px;}
  .fitvala-guest-shell .fv-gp-formCard{padding:16px;border-radius:22px;}
  .fitvala-guest-shell .fv-gp-formTitle{font-size:28px; line-height:1.08;}
  .fitvala-guest-shell .fv-gp-formSub{font-size:14px;}
  .fitvala-guest-shell .fv-gp-formTitle{font-size:28px;line-height:1.08;}
  .fitvala-guest-shell .fv-input{padding:13px 14px;border-radius:15px;}
  .fitvala-guest-shell .fv-btn--full{height:46px;}
}

@media (max-width: 560px){
  .fitvala-guest-shell .fv-gp-wrap{padding:0 12px;}
  .fitvala-guest-shell .fv-gp-actions .fv-btn--ghost{padding:9px 10px;}
  .fitvala-guest-shell .fv-gp-actions .fv-btn--primary{padding:10px 12px;}

  .fitvala-guest-shell .fv-heroBleed__cta .fv-btn{min-width:200px;width:78vw;max-width:260px;}
  .fitvala-guest-shell .fv-gp-kicker{padding:8px 12px; font-size:12px;}
  .fitvala-guest-shell .fv-gp-h2{font-size:20px;}
  .fitvala-guest-shell .fv-gp-plan__sub{font-size:13px;}
  .fitvala-guest-shell .fv-gp-footer{padding:22px 0 34px;}
}


@media (max-width: 420px){
  .fitvala-guest-shell .fv-heroBleed{height:clamp(390px, 56vh, 520px);}
  .fitvala-guest-shell .fv-heroBleed__media img{object-position:50% 26%;}
  .fitvala-guest-shell .fv-heroBleed__h1{font-size:clamp(30px, 9.2vw, 42px);}
}


/* ========================================================================== 
   Guest/auth consistency refinements — V1.17.17.87
   Aligns auth, pricing, and landing pages with the same premium system.
   ========================================================================== */

.fitvala-guest-shell{
  --fv-auth-radius: 28px;
  --fv-auth-shadow: 0 24px 70px rgba(0,0,0,.34);
}
.fitvala-guest-shell .fv-gp-wrap{
  max-width: 1120px;
  padding: 0 clamp(14px, 2vw, 24px);
}
.fitvala-guest-shell .fv-gp-formCard,
.fitvala-guest-shell .fv-gp-card,
.fitvala-guest-shell .fv-gp-plan,
.fitvala-guest-shell .fv-gp-glass{
  border-radius: var(--fv-auth-radius);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: var(--fv-auth-shadow);
}
.fitvala-guest-shell .fv-btn{
  min-height: 46px;
  padding: 0 18px;
  border-radius: 18px;
}
.fitvala-guest-shell .fv-field input,
.fitvala-guest-shell .fv-field select,
.fitvala-guest-shell .fv-field textarea{
  min-height: 50px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.94);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.fitvala-guest-shell .fv-field input:focus,
.fitvala-guest-shell .fv-field select:focus,
.fitvala-guest-shell .fv-field textarea:focus{
  outline: 0;
  border-color: rgba(16,193,123,.40);
  box-shadow: 0 0 0 4px rgba(16,193,123,.14);
}
.fitvala-guest-shell .fv-gp-kicker,
.fitvala-guest-shell .fv-gp-plan__tag{
  letter-spacing: .08em;
}
@media (max-width: 820px){
  .fitvala-guest-shell .fv-gp-actions{ gap: 8px; }
  .fitvala-guest-shell .fv-gp-actions .fv-btn{ flex: 1 1 auto; }
}

/* ========================================================================== 
   Premium guest/auth polish pass — V1.17.17.88
   Shared helper classes + tighter premium consistency for all public pages.
   ========================================================================== */
.fitvala-guest-shell{
  --fv-guest-maxw: 1160px;
  --fv-guest-radius: 30px;
  --fv-guest-radius-sm: 22px;
  --fv-guest-shadow: 0 30px 90px rgba(0,0,0,.34);
  --fv-guest-shadow-hi: 0 36px 110px rgba(0,0,0,.40);
}
.fitvala-guest-shell .fv-gp-wrap{ max-width: var(--fv-guest-maxw); }
.fitvala-guest-shell .fv-gp-top{
  background: linear-gradient(180deg, rgba(6,10,12,.84), rgba(6,10,12,.68));
  backdrop-filter: saturate(170%) blur(20px);
}
.fitvala-guest-shell .fv-gp-top__inner{
  padding-top: 16px;
  padding-bottom: 16px;
}
.fitvala-guest-shell .fv-gp-brand__icon{
  border-radius: 10px;
  box-shadow: 0 14px 32px rgba(0,0,0,.34);
}
.fitvala-guest-shell .fv-gp-brand__name,
.fitvala-guest-shell .fv-gp-h1,
.fitvala-guest-shell .fv-gp-h2,
.fitvala-guest-shell .fv-gp-formTitle,
.fitvala-guest-shell .fv-gp-plan__name,
.fitvala-guest-shell .fv-gp-statusTitle{
  text-wrap: balance;
  letter-spacing: -.035em;
}
.fitvala-guest-shell .fv-gp-h1--compact{ max-width: 26ch; margin-top: 10px; font-size: clamp(36px, 5vw, 44px); }
.fitvala-guest-shell .fv-gp-h1--wide{ max-width: 28ch; }
.fitvala-guest-shell .fv-gp-h1--plans{ max-width: 22ch; }
.fitvala-guest-shell .fv-gp-lede,
.fitvala-guest-shell .fv-gp-card__p,
.fitvala-guest-shell .fv-gp-formSub,
.fitvala-guest-shell .fv-gp-statusSub,
.fitvala-guest-shell .fv-gp-note{ color: rgba(255,255,255,.72); }
.fitvala-guest-shell .fv-gp-lede--tight{ margin-top: 8px; }
.fitvala-guest-shell .fv-gp-textStrong,
.fitvala-guest-shell .fv-gp-authOverlay__sub strong{ color: rgba(255,255,255,.94); }
.fitvala-guest-shell .fv-gp-card,
.fitvala-guest-shell .fv-gp-formCard,
.fitvala-guest-shell .fv-gp-plan,
.fitvala-guest-shell .fv-gp-glass,
.fitvala-guest-shell .fv-gp-media__frame{
  border-radius: var(--fv-guest-radius);
  box-shadow: var(--fv-guest-shadow);
  overflow: hidden;
  position: relative;
}
.fitvala-guest-shell .fv-gp-card::after,
.fitvala-guest-shell .fv-gp-formCard::after,
.fitvala-guest-shell .fv-gp-plan::after,
.fitvala-guest-shell .fv-gp-glass::after,
.fitvala-guest-shell .fv-gp-media__frame::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10);
}
.fitvala-guest-shell .fv-gp-card:hover,
.fitvala-guest-shell .fv-gp-formCard:hover,
.fitvala-guest-shell .fv-gp-plan:hover,
.fitvala-guest-shell .fv-gp-glass:hover,
.fitvala-guest-shell .fv-gp-media__frame:hover{
  box-shadow: var(--fv-guest-shadow-hi);
  transform: translateY(-1px);
}
.fitvala-guest-shell .fv-gp-formCard,
.fitvala-guest-shell .fv-gp-glass,
.fitvala-guest-shell .fv-gp-card__body{
  padding: 20px;
}
.fitvala-guest-shell .fv-gp-plan__price{
  display:flex;
  align-items:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.fitvala-guest-shell .fv-gp-priceSuffix{
  font-size: 14px;
  font-weight: 900;
  color: rgba(255,255,255,.72);
}
.fitvala-guest-shell .fv-gp-priceGrid--spaced,
.fitvala-guest-shell .fv-gp-grid2--spaced,
.fitvala-guest-shell .fv-gp-grid4--spaced,
.fitvala-guest-shell .fv-gp-linkRow,
.fitvala-guest-shell .fv-gp-faqWrap,
.fitvala-guest-shell .fv-gp-glass--spaced,
.fitvala-guest-shell .fv-gp-note--spaced{
  margin-top: 16px;
}
.fitvala-guest-shell .fv-gp-note--tight{ margin-top: 12px; }
.fitvala-guest-shell .fv-gp-section--compactTop{ padding-top: 18px; }
.fitvala-guest-shell .fv-gp-section--compare{ padding-top: 24px; }
.fitvala-guest-shell .fv-gp-actionsRow,
.fitvala-guest-shell .fv-gp-inlineActions,
.fitvala-guest-shell .fv-gp-footer__inner,
.fitvala-guest-shell .fv-gp-footer__links{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.fitvala-guest-shell .fv-gp-actionsRow{ margin-top: 16px; }
.fitvala-guest-shell .fv-gp-actionsRow--tight{ margin-top: 12px; }
.fitvala-guest-shell .fv-gp-footer__inner{ justify-content:space-between; }
.fitvala-guest-shell .fv-gp-footer__links{ gap:14px; }
.fitvala-guest-shell .fv-gp-inlineDot{ opacity:.55; }
.fitvala-guest-shell .fv-gp-formNote{ margin-top: 12px; }
.fitvala-guest-shell .fv-gp-authOverlay{
  position:absolute;
  inset:auto 0 0 0;
  padding:20px;
  background: linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.68));
}
.fitvala-guest-shell .fv-gp-authOverlay__title,
.fitvala-guest-shell .fv-gp-statusTitle{
  font-size: 18px;
  font-weight: 950;
  letter-spacing: -.02em;
}
.fitvala-guest-shell .fv-gp-authOverlay__sub,
.fitvala-guest-shell .fv-gp-statusSub{ margin-top: 6px; }
.fitvala-guest-shell .fv-gp-authOverlay__sub--strong{ margin-top: 8px; }
.fitvala-guest-shell .fv-gp-card__body--split{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.fitvala-guest-shell .fv-gp-card__subtle{ font-weight: 750; }
.fitvala-guest-shell .fv-gp-featureList{
  margin:12px 0 0;
  padding-left:18px;
  display:grid;
  gap:8px;
  color:rgba(255,255,255,.78);
  font-weight:750;
}
.fitvala-guest-shell .fv-gp-featureList--strong{
  color:rgba(255,255,255,.80);
  font-weight:800;
}
.fitvala-guest-shell .fv-gp-plan--highlight{
  border-color: rgba(16,193,123,.26);
  background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.04));
}
.fitvala-guest-shell .fv-gp-plan__tag,
.fitvala-guest-shell .fv-gp-badgeBest{
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10);
}
.fitvala-guest-shell .fv-btn{
  min-height: 48px;
  box-shadow: 0 14px 30px rgba(0,0,0,.22);
}
.fitvala-guest-shell .fv-btn--primary{
  background: linear-gradient(135deg, #10bd78 0%, #11a56a 100%);
}
.fitvala-guest-shell .fv-btn--ghost,
.fitvala-guest-shell .fv-btn--outline{
  background: rgba(255,255,255,.05);
}
.fitvala-guest-shell .fv-field input,
.fitvala-guest-shell .fv-field select,
.fitvala-guest-shell .fv-field textarea{
  padding-left: 15px;
  padding-right: 15px;
}
.fitvala-guest-shell .fv-gp-card__body--split .fv-btn,
.fitvala-guest-shell .fv-gp-actionsRow .fv-btn,
.fitvala-guest-shell .fv-gp-inlineActions .fv-btn{ min-width: 150px; }
.fitvala-guest-shell .fv-gp-footer{ padding-top: 24px; }
@media (max-width: 980px){
  .fitvala-guest-shell .fv-gp-formCard,
  .fitvala-guest-shell .fv-gp-glass,
  .fitvala-guest-shell .fv-gp-card__body,
  .fitvala-guest-shell .fv-gp-authOverlay{ padding: 18px; }
  .fitvala-guest-shell .fv-gp-card,
  .fitvala-guest-shell .fv-gp-formCard,
  .fitvala-guest-shell .fv-gp-plan,
  .fitvala-guest-shell .fv-gp-glass,
  .fitvala-guest-shell .fv-gp-media__frame{ border-radius: 26px; }
}
@media (max-width: 560px){
  .fitvala-guest-shell .fv-gp-card,
  .fitvala-guest-shell .fv-gp-formCard,
  .fitvala-guest-shell .fv-gp-plan,
  .fitvala-guest-shell .fv-gp-glass,
  .fitvala-guest-shell .fv-gp-media__frame{ border-radius: 22px; }
  .fitvala-guest-shell .fv-gp-card__body--split .fv-btn,
  .fitvala-guest-shell .fv-gp-actionsRow .fv-btn,
  .fitvala-guest-shell .fv-gp-inlineActions .fv-btn{ flex: 1 1 100%; }
  .fitvala-guest-shell .fv-gp-footer__inner{ flex-direction:column; }
}
.fitvala-guest-shell .fv-gp-grid3--spaced{ margin-top:16px; }

/* ========================================================================== 
   Public-page premium refresh — V1.17.22.01
   Stronger Apple Fitness+ inspired hierarchy for home, auth, and pricing.
   ========================================================================== */
.fitvala-guest-shell .fv-heroBleed__lede{
  margin: 12px auto 0;
  max-width: 760px;
  color: rgba(255,255,255,.84);
  font-size: clamp(16px, 1.7vw, 20px);
  line-height: 1.55;
  text-shadow: 0 20px 60px rgba(0,0,0,.38);
}
.fitvala-guest-shell .fv-heroBleed__badges{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px;
  margin-top:16px;
}
.fitvala-guest-shell .fv-heroBleed__stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:20px;
}
.fitvala-guest-shell .fv-heroStat{
  text-align:left;
  padding:16px 18px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.05));
  backdrop-filter: blur(18px) saturate(150%);
  box-shadow:0 24px 70px rgba(0,0,0,.30);
}
.fitvala-guest-shell .fv-heroStat__eyebrow{
  font-size:11px;
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:rgba(255,255,255,.62);
}
.fitvala-guest-shell .fv-heroStat__value{
  margin-top:6px;
  font-size:20px;
  font-weight:950;
  letter-spacing:-.03em;
  color:rgba(255,255,255,.96);
}
.fitvala-guest-shell .fv-heroStat__sub{
  margin-top:6px;
  color:rgba(255,255,255,.72);
  font-size:13px;
  line-height:1.45;
}

.fitvala-guest-shell .fv-gp-section--story{ padding-top: 10px; }
.fitvala-guest-shell .fv-gp-story{
  display:grid;
  grid-template-columns:1.06fr .94fr;
  gap:18px;
  align-items:stretch;
}
.fitvala-guest-shell .fv-gp-story__media{
  min-height:440px;
  overflow:hidden;
}
.fitvala-guest-shell .fv-gp-story__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.fitvala-guest-shell .fv-gp-story__mediaScrim{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.36));
  pointer-events:none;
}
.fitvala-guest-shell .fv-gp-story__content{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:14px;
}
.fitvala-guest-shell .fv-gp-storyList{
  display:grid;
  gap:12px;
}
.fitvala-guest-shell .fv-gp-storyItem{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:12px;
  align-items:start;
  padding:14px 16px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
}
.fitvala-guest-shell .fv-gp-storyItem__num{
  min-width:42px;
  height:42px;
  border-radius:14px;
  display:grid;
  place-items:center;
  font-size:12px;
  font-weight:950;
  letter-spacing:.08em;
  color:#07110b;
  background:linear-gradient(135deg, rgba(16,193,123,1), rgba(16,165,106,1));
}
.fitvala-guest-shell .fv-gp-storyItem__title{
  font-size:16px;
  font-weight:900;
  letter-spacing:-.02em;
  color:rgba(255,255,255,.96);
}
.fitvala-guest-shell .fv-gp-storyItem__sub{
  margin-top:4px;
  color:rgba(255,255,255,.72);
  font-size:14px;
  line-height:1.5;
}

.fitvala-guest-shell .fv-gp-signalRow{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-top:18px;
}
.fitvala-guest-shell .fv-gp-signal{
  padding:16px 18px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
  box-shadow:0 18px 48px rgba(0,0,0,.20);
}
.fitvala-guest-shell .fv-gp-signal--accent{
  border-color:rgba(16,193,123,.30);
  background:linear-gradient(180deg, rgba(16,193,123,.12), rgba(255,255,255,.04));
}
.fitvala-guest-shell .fv-gp-signal__eyebrow{
  font-size:11px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:rgba(255,255,255,.62);
}
.fitvala-guest-shell .fv-gp-signal__value{
  margin-top:6px;
  font-size:20px;
  font-weight:950;
  letter-spacing:-.03em;
  color:rgba(255,255,255,.96);
}
.fitvala-guest-shell .fv-gp-signal__sub{
  margin-top:6px;
  font-size:13px;
  line-height:1.45;
  color:rgba(255,255,255,.72);
}
.fitvala-guest-shell .fv-gp-pricingSpotlight{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
}

.fitvala-guest-shell .fv-gp-formHighlights{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:16px 0 12px;
}
.fitvala-guest-shell .fv-gp-formHighlight{
  padding:12px 14px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
}
.fitvala-guest-shell .fv-gp-formHighlight__label{
  font-size:11px;
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:rgba(255,255,255,.58);
}
.fitvala-guest-shell .fv-gp-formHighlight__value{
  margin-top:4px;
  font-size:14px;
  line-height:1.35;
  font-weight:850;
  color:rgba(255,255,255,.94);
}
.fitvala-guest-shell .fv-gp-authStats{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}
.fitvala-guest-shell .fv-gp-authStat{
  padding:12px 14px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.06);
  backdrop-filter: blur(10px) saturate(145%);
}
.fitvala-guest-shell .fv-gp-authStat__eyebrow{
  font-size:11px;
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:rgba(255,255,255,.60);
}
.fitvala-guest-shell .fv-gp-authStat__value{
  margin-top:4px;
  font-size:14px;
  line-height:1.4;
  font-weight:850;
  color:rgba(255,255,255,.96);
}

.fitvala-guest-shell .fv-gp-mobileCta{
  position:fixed;
  left:12px;
  right:12px;
  bottom:calc(12px + env(safe-area-inset-bottom));
  z-index:80;
  display:flex;
  gap:10px;
  padding:10px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(10,12,18,.78);
  backdrop-filter: blur(20px) saturate(160%);
  box-shadow:0 26px 80px rgba(0,0,0,.42);
  transform:translateY(120%);
  opacity:0;
  pointer-events:none;
  transition:transform .3s ease, opacity .3s ease;
}
.fitvala-guest-shell .fv-gp-mobileCta.is-in{
  transform:translateY(0);
  opacity:1;
  pointer-events:auto;
}
.fitvala-guest-shell .fv-gp-mobileCta .fv-btn{
  flex:1 1 0;
  min-width:0;
}

@media (max-width: 1100px){
  .fitvala-guest-shell .fv-heroBleed__stats,
  .fitvala-guest-shell .fv-gp-signalRow{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width: 980px){
  .fitvala-guest-shell .fv-gp-story{
    grid-template-columns:1fr;
  }
  .fitvala-guest-shell .fv-gp-story__media{
    min-height:300px;
  }
  .fitvala-guest-shell .fv-gp-pricingSpotlight{
    flex-direction:column;
    align-items:flex-start;
  }
  .fitvala-guest-shell .fv-gp-formHighlights,
  .fitvala-guest-shell .fv-gp-authStats{
    grid-template-columns:1fr 1fr;
  }
}
@media (min-width: 981px){
  .fitvala-guest-shell .fv-gp-mobileCta{ display:none; }
}
@media (max-width: 680px){
  .fitvala-guest-shell .fv-heroBleed__stats,
  .fitvala-guest-shell .fv-gp-signalRow,
  .fitvala-guest-shell .fv-gp-formHighlights,
  .fitvala-guest-shell .fv-gp-authStats{
    grid-template-columns:1fr;
  }
  .fitvala-guest-shell .fv-heroStat,
  .fitvala-guest-shell .fv-gp-signal{
    border-radius:20px;
  }
  .fitvala-guest-shell .fv-gp-formHighlight,
  .fitvala-guest-shell .fv-gp-authStat,
  .fitvala-guest-shell .fv-gp-storyItem{
    border-radius:16px;
  }
}

/* ========================================================================== 
   Humanized public refresh — V1.17.23.01
   Smaller typography, cleaner mobile-first hierarchy, less demo/AI feel.
   ========================================================================== */
.fitvala-guest-shell{
  --fv-guest-maxw: 1120px;
}
.fitvala-guest-shell .fv-gp-wrap{
  max-width: var(--fv-guest-maxw);
}
.fitvala-guest-shell .fv-gp-top__inner{
  padding-top: 14px;
  padding-bottom: 14px;
}
.fitvala-guest-shell .fv-btn{
  min-height: 44px;
  padding: 0 16px;
  border-radius: 16px;
}
.fitvala-guest-shell .fv-gp-kicker,
.fitvala-guest-shell .fv-gp-plan__tag,
.fitvala-guest-shell .fv-gp-signal__eyebrow,
.fitvala-guest-shell .fv-heroStat__eyebrow,
.fitvala-guest-shell .fv-homePreview__eyebrow,
.fitvala-guest-shell .fv-homePreviewMini__eyebrow{
  font-size: 11px;
  letter-spacing: .09em;
}
.fitvala-guest-shell .fv-gp-h1{
  font-size: clamp(34px, 4.8vw, 54px);
  line-height: 1.04;
  letter-spacing: -.045em;
}
.fitvala-guest-shell .fv-gp-h1--compact{
  max-width: 14ch;
}
.fitvala-guest-shell .fv-gp-h1--plans{
  max-width: 16ch;
}
.fitvala-guest-shell .fv-gp-h2{
  font-size: clamp(20px, 2.2vw, 28px);
  line-height: 1.12;
  margin-bottom: 10px;
}
.fitvala-guest-shell .fv-gp-lede,
.fitvala-guest-shell .fv-gp-card__p,
.fitvala-guest-shell .fv-gp-storyItem__sub,
.fitvala-guest-shell .fv-gp-plan__sub,
.fitvala-guest-shell .fv-gp-formSub,
.fitvala-guest-shell .fv-gp-statusSub,
.fitvala-guest-shell .fv-gp-note,
.fitvala-guest-shell .fv-gp-faq p{
  font-size: 15px;
  line-height: 1.58;
}
.fitvala-guest-shell .fv-gp-card__t,
.fitvala-guest-shell .fv-gp-storyItem__title,
.fitvala-guest-shell .fv-gp-statusTitle,
.fitvala-guest-shell .fv-homePreview__title{
  font-size: 18px;
  line-height: 1.2;
}
.fitvala-guest-shell .fv-gp-plan__name{
  font-size: 21px;
}
.fitvala-guest-shell .fv-gp-plan__price{
  font-size: clamp(28px, 3vw, 32px);
}
.fitvala-guest-shell .fv-gp-priceSuffix,
.fitvala-guest-shell .fv-gp-formHighlight__value,
.fitvala-guest-shell .fv-gp-authStat__value,
.fitvala-guest-shell .fv-gp-signal__sub,
.fitvala-guest-shell .fv-heroStat__sub,
.fitvala-guest-shell .fv-homePreview__sub,
.fitvala-guest-shell .fv-homePreview__value,
.fitvala-guest-shell .fv-homePreviewMini__row{
  font-size: 14px;
  line-height: 1.5;
}
.fitvala-guest-shell .fv-gp-signal__value,
.fitvala-guest-shell .fv-heroStat__value{
  font-size: 18px;
}
.fitvala-guest-shell .fv-gp-formTitle{
  font-size: clamp(26px, 3.1vw, 32px);
  line-height: 1.08;
}
.fitvala-guest-shell .fv-gp-formCard,
.fitvala-guest-shell .fv-gp-card__body,
.fitvala-guest-shell .fv-gp-plan,
.fitvala-guest-shell .fv-gp-glass,
.fitvala-guest-shell .fv-gp-authOverlay{
  padding: 18px;
}
.fitvala-guest-shell .fv-gp-hero{
  padding: 24px 0 14px;
}
.fitvala-guest-shell .fv-gp-section{
  padding: 28px 0;
}
.fitvala-guest-shell .fv-gp-section--alt{
  padding: 30px 0;
}
.fitvala-guest-shell .fv-gp-card,
.fitvala-guest-shell .fv-gp-formCard,
.fitvala-guest-shell .fv-gp-plan,
.fitvala-guest-shell .fv-gp-glass,
.fitvala-guest-shell .fv-gp-media__frame{
  border-radius: 24px;
}
.fitvala-guest-shell .fv-gp-pill{
  padding: 8px 11px;
  font-size: 12px;
}
.fitvala-guest-shell .fv-gp-hero__grid--home{
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
  gap: 18px;
  align-items: center;
}
.fitvala-guest-shell .fv-homePreviewWrap{
  display: grid;
  gap: 12px;
}
.fitvala-guest-shell .fv-homePreview,
.fitvala-guest-shell .fv-homePreviewMini{
  border-radius: 24px;
  border: 1px solid rgba(255,255,255,.10);
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  box-shadow: 0 24px 70px rgba(0,0,0,.24);
}
.fitvala-guest-shell .fv-homePreview{
  padding: 18px;
}
.fitvala-guest-shell .fv-homePreview__title{
  margin-top: 8px;
  font-weight: 950;
  letter-spacing: -.03em;
  color: rgba(255,255,255,.96);
}
.fitvala-guest-shell .fv-homePreview__sub{
  margin: 8px 0 0;
  color: rgba(255,255,255,.72);
}
.fitvala-guest-shell .fv-homePreview__list{
  display: grid;
  gap: 10px;
  margin-top: 14px;
}
.fitvala-guest-shell .fv-homePreview__item{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.04);
}
.fitvala-guest-shell .fv-homePreview__label{
  color: rgba(255,255,255,.62);
  font-weight: 850;
}
.fitvala-guest-shell .fv-homePreview__value{
  color: rgba(255,255,255,.94);
  font-weight: 850;
  text-align: right;
}
.fitvala-guest-shell .fv-homePreviewMini{
  padding: 16px 18px;
}
.fitvala-guest-shell .fv-homePreviewMini__row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: rgba(255,255,255,.78);
}
.fitvala-guest-shell .fv-homePreviewMini__row + .fv-homePreviewMini__row{
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(255,255,255,.08);
}
.fitvala-guest-shell .fv-homePreviewMini__row strong{
  color: rgba(255,255,255,.96);
  font-weight: 900;
}
.fitvala-guest-shell .fv-gp-story__img,
.fitvala-guest-shell .fv-gp-card__img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.fitvala-guest-shell .fv-gp-story__img{
  object-position: 20% center;
}
.fitvala-guest-shell .fv-gp-card__img--left{
  object-position: 16% center;
}
.fitvala-guest-shell .fv-gp-card__img--center{
  object-position: center center;
}
.fitvala-guest-shell .fv-gp-card--iconOnly{
  display: flex;
  align-items: stretch;
}
.fitvala-guest-shell .fv-gp-card--iconOnly .fv-gp-card__body{
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.fitvala-guest-shell .fv-gp-signalRow{
  margin-top: 16px;
}
.fitvala-guest-shell .fv-gp-signal,
.fitvala-guest-shell .fv-heroStat,
.fitvala-guest-shell .fv-gp-formHighlight,
.fitvala-guest-shell .fv-gp-authStat,
.fitvala-guest-shell .fv-gp-storyItem{
  border-radius: 18px;
}
.fitvala-guest-shell .fv-gp-pricingSpotlight{
  gap: 14px;
}
.fitvala-guest-shell .fv-gp-authMedia{
  min-height: 460px;
}
.fitvala-guest-shell .fv-gp-authMedia img{
  object-position: center top;
}
.fitvala-guest-shell .fv-gp-authOverlay{
  background: linear-gradient(180deg, rgba(0,0,0,.04), rgba(0,0,0,.62));
}
.fitvala-guest-shell .fv-gp-mobileCta{
  left: 10px;
  right: 10px;
  bottom: calc(10px + env(safe-area-inset-bottom));
  padding: 8px;
  border-radius: 20px;
}
.fitvala-guest-shell .fv-gp-mobileCta .fv-btn{
  min-height: 42px;
}

@media (max-width: 980px){
  .fitvala-guest-shell .fv-gp-hero__grid--home{
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .fitvala-guest-shell .fv-gp-story{
    gap: 14px;
  }
  .fitvala-guest-shell .fv-gp-authGrid{
    gap: 12px;
  }
  .fitvala-guest-shell .fv-gp-authMedia{
    order: 2;
    min-height: 220px;
  }
  .fitvala-guest-shell .fv-gp-formCard{
    order: 1;
  }
}

@media (max-width: 680px){
  .fitvala-guest-shell .fv-gp-wrap{
    padding: 0 12px;
  }
  .fitvala-guest-shell .fv-gp-top__inner{
    gap: 8px;
  }
  .fitvala-guest-shell .fv-gp-actions .fv-btn{
    min-height: 40px;
    padding: 0 12px;
    font-size: 13px;
  }
  .fitvala-guest-shell .fv-gp-h1{
    font-size: clamp(30px, 9vw, 40px);
  }
  .fitvala-guest-shell .fv-gp-lede,
  .fitvala-guest-shell .fv-gp-card__p,
  .fitvala-guest-shell .fv-gp-formSub,
  .fitvala-guest-shell .fv-gp-faq p{
    font-size: 14px;
  }
  .fitvala-guest-shell .fv-gp-formHighlights,
  .fitvala-guest-shell .fv-gp-authStats,
  .fitvala-guest-shell .fv-gp-signalRow,
  .fitvala-guest-shell .fv-gp-grid4{
    grid-template-columns: 1fr;
  }
  .fitvala-guest-shell .fv-homePreview__item,
  .fitvala-guest-shell .fv-homePreviewMini__row{
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 560px){
  .fitvala-guest-shell .fv-gp-authMedia{
    display: none;
  }
  .fitvala-guest-shell .fv-gp-formCard,
  .fitvala-guest-shell .fv-gp-card__body,
  .fitvala-guest-shell .fv-gp-plan,
  .fitvala-guest-shell .fv-gp-glass{
    padding: 16px;
  }
  .fitvala-guest-shell .fv-gp-card,
  .fitvala-guest-shell .fv-gp-formCard,
  .fitvala-guest-shell .fv-gp-plan,
  .fitvala-guest-shell .fv-gp-glass{
    border-radius: 20px;
  }
  .fitvala-guest-shell .fv-gp-mobileCta .fv-btn{
    font-size: 13px;
  }
}

/* ========================================================================== 
   Premium public redesign — V1.17.24.01
   Calmer hierarchy, smaller type, cleaner mobile layouts, less demo feel.
   ========================================================================== */
.fitvala-guest-shell{
  --fv-guest-maxw: 1140px;
  --fv-surface-1: rgba(12, 16, 22, .82);
  --fv-surface-2: rgba(255,255,255,.045);
  --fv-line-soft: rgba(255,255,255,.08);
  --fv-shadow-soft: 0 22px 60px rgba(0,0,0,.22);
  --fv-shadow-strong: 0 40px 120px rgba(0,0,0,.34);
}
.fitvala-guest-shell .fv-gp:before{
  opacity: .18;
  filter: blur(140px) saturate(112%);
  background:
    radial-gradient(60vh 50vh at 16% 18%, rgba(16,193,123,.42), transparent 62%),
    radial-gradient(70vh 55vh at 82% 20%, rgba(16,183,166,.28), transparent 60%),
    radial-gradient(56vh 44vh at 50% 92%, rgba(253,123,53,.06), transparent 72%);
}
.fitvala-guest-shell .fv-gp-top{
  background: rgba(5, 8, 12, .78);
  border-bottom-color: rgba(255,255,255,.06);
}
.fitvala-guest-shell .fv-gp-top__inner{
  padding-top: 15px;
  padding-bottom: 15px;
}
.fitvala-guest-shell .fv-gp-nav a{
  padding: 9px 12px;
  font-size: 13px;
  color: rgba(255,255,255,.68);
}
.fitvala-guest-shell .fv-btn{
  min-height: 46px;
  padding: 0 16px;
  border-radius: 14px;
  font-size: 14px;
  font-weight: 850;
  border-color: rgba(255,255,255,.12);
  box-shadow: none;
}
.fitvala-guest-shell .fv-btn--primary{
  box-shadow: 0 16px 36px rgba(16,193,123,.16);
}
.fitvala-guest-shell .fv-btn--ghost{
  background: rgba(255,255,255,.035);
}
.fitvala-guest-shell .fv-gp-kicker{
  padding: 9px 14px;
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(255,255,255,.74);
  background: rgba(255,255,255,.045);
  border-color: rgba(16,193,123,.22);
}
.fitvala-guest-shell .fv-gp-h1{
  margin: 12px 0 14px;
  font-size: clamp(34px, 4.7vw, 54px);
  line-height: 1.04;
  letter-spacing: -.045em;
}
.fitvala-guest-shell .fv-gp-h2{
  margin-bottom: 10px;
  font-size: clamp(22px, 2.4vw, 30px);
  line-height: 1.1;
}
.fitvala-guest-shell .fv-gp-lede,
.fitvala-guest-shell .fv-gp-card__p,
.fitvala-guest-shell .fv-gp-plan__sub,
.fitvala-guest-shell .fv-gp-formSub,
.fitvala-guest-shell .fv-gp-statusSub,
.fitvala-guest-shell .fv-gp-authOverlay__sub,
.fitvala-guest-shell .fv-gp-note,
.fitvala-guest-shell .fv-gp-faq p{
  font-size: 15px;
  line-height: 1.58;
}
.fitvala-guest-shell .fv-gp-card__t,
.fitvala-guest-shell .fv-gp-formTitle,
.fitvala-guest-shell .fv-public-pricingHero__headline,
.fitvala-guest-shell .fv-public-heroCard__title,
.fitvala-guest-shell .fv-gp-authOverlay__title{
  letter-spacing: -.03em;
}
.fitvala-guest-shell .fv-gp-section{
  padding: 36px 0;
}
.fitvala-guest-shell .fv-gp-section--alt{
  padding: 40px 0;
}
.fitvala-guest-shell .fv-gp-card,
.fitvala-guest-shell .fv-gp-formCard,
.fitvala-guest-shell .fv-gp-plan,
.fitvala-guest-shell .fv-gp-glass,
.fitvala-guest-shell .fv-public-hero__media,
.fitvala-guest-shell .fv-public-pricingHero__callout{
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03));
  border: 1px solid var(--fv-line-soft);
  border-radius: 28px;
  box-shadow: var(--fv-shadow-soft);
}
.fitvala-guest-shell .fv-gp-card__body,
.fitvala-guest-shell .fv-gp-formCard,
.fitvala-guest-shell .fv-gp-plan,
.fitvala-guest-shell .fv-gp-glass,
.fitvala-guest-shell .fv-public-pricingHero__callout{
  padding: 20px;
}
.fitvala-guest-shell .fv-public-hero{
  padding: 28px 0 18px;
}
.fitvala-guest-shell .fv-public-hero__grid{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, .96fr);
  gap: 24px;
  align-items: center;
}
.fitvala-guest-shell .fv-public-hero__copy{
  max-width: 560px;
}
.fitvala-guest-shell .fv-public-hero__title,
.fitvala-guest-shell .fv-public-pricingHero__title{
  max-width: 12ch;
}
.fitvala-guest-shell .fv-public-trust{
  list-style: none;
  padding: 0;
  margin: 18px 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.fitvala-guest-shell .fv-public-trust__item{
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.09);
  background: rgba(255,255,255,.04);
  color: rgba(255,255,255,.78);
  font-size: 13px;
  font-weight: 750;
}
.fitvala-guest-shell .fv-public-hero__media{
  position: relative;
  overflow: hidden;
  min-height: 520px;
  padding: 0;
  box-shadow: var(--fv-shadow-strong);
}
.fitvala-guest-shell .fv-public-hero__media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
.fitvala-guest-shell .fv-public-heroCard{
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 18px;
  padding: 18px;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(7,10,14,.76);
  backdrop-filter: blur(18px) saturate(140%);
}
.fitvala-guest-shell .fv-public-heroCard__eyebrow,
.fitvala-guest-shell .fv-public-pricingHero__eyebrow,
.fitvala-guest-shell .fv-public-stepCard__num{
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(255,255,255,.58);
}
.fitvala-guest-shell .fv-public-heroCard__title,
.fitvala-guest-shell .fv-public-pricingHero__headline{
  margin-top: 8px;
  font-size: 22px;
  line-height: 1.2;
  font-weight: 900;
  color: rgba(255,255,255,.97);
}
.fitvala-guest-shell .fv-public-heroCard__list{
  display: grid;
  gap: 10px;
  margin-top: 14px;
}
.fitvala-guest-shell .fv-public-heroCard__row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.07);
}
.fitvala-guest-shell .fv-public-heroCard__row span{
  color: rgba(255,255,255,.62);
  font-size: 13px;
  font-weight: 800;
}
.fitvala-guest-shell .fv-public-heroCard__row strong{
  color: rgba(255,255,255,.92);
  font-size: 14px;
  font-weight: 850;
  text-align: right;
}
.fitvala-guest-shell .fv-public-featureGrid,
.fitvala-guest-shell .fv-public-steps,
.fitvala-guest-shell .fv-gp-priceGrid--public,
.fitvala-guest-shell .fv-public-comparison{
  gap: 16px;
}
.fitvala-guest-shell .fv-public-featureCard img{
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.fitvala-guest-shell .fv-public-stepCard__num{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  margin-bottom: 12px;
  border-radius: 14px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.08);
  color: rgba(255,255,255,.72);
}
.fitvala-guest-shell .fv-gp-priceGrid--public{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
}
.fitvala-guest-shell .fv-public-planCard{
  padding: 22px;
}
.fitvala-guest-shell .fv-public-planCard .fv-gp-plan__tag{
  font-size: 11px;
  letter-spacing: .1em;
}
.fitvala-guest-shell .fv-public-planCard .fv-gp-plan__name{
  margin-top: 14px;
  font-size: 22px;
}
.fitvala-guest-shell .fv-public-planCard .fv-gp-plan__price{
  font-size: clamp(30px, 3vw, 36px);
}
.fitvala-guest-shell .fv-public-planCard .fv-gp-plan__sub{
  min-height: 44px;
  color: rgba(255,255,255,.72);
}
.fitvala-guest-shell .fv-public-planCard ul{
  display: grid;
  gap: 10px;
  margin: 0;
  padding-left: 18px;
  color: rgba(255,255,255,.82);
}
.fitvala-guest-shell .fv-public-planCard li{
  font-size: 14px;
  line-height: 1.5;
}
.fitvala-guest-shell .fv-public-planMeta,
.fitvala-guest-shell .fv-public-checkoutNote{
  margin-top: 14px;
  color: rgba(255,255,255,.62);
  font-size: 13px;
  line-height: 1.6;
}
.fitvala-guest-shell .fv-public-pricingHero{
  padding: 30px 0 16px;
}
.fitvala-guest-shell .fv-public-pricingHero__grid{
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr);
  gap: 20px;
  align-items: stretch;
}
.fitvala-guest-shell .fv-public-pricingHero__callout{
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 100%;
}
.fitvala-guest-shell .fv-public-pricingHero__copy,
.fitvala-guest-shell .fv-public-pricingHero__meta{
  margin-top: 10px;
  color: rgba(255,255,255,.72);
  font-size: 15px;
  line-height: 1.58;
}
.fitvala-guest-shell .fv-public-pricingHero__meta{
  color: rgba(255,255,255,.58);
  font-size: 13px;
}
.fitvala-guest-shell .fv-gp-authGrid{
  grid-template-columns: minmax(0, 1fr) minmax(0, .82fr);
  gap: 22px;
  align-items: start;
}
.fitvala-guest-shell .fv-gp-formCard{
  padding: 22px;
}
.fitvala-guest-shell .fv-gp-formTitle{
  font-size: clamp(28px, 3vw, 34px);
  line-height: 1.08;
}
.fitvala-guest-shell .fv-gp-formHighlights{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 18px 0 14px;
}
.fitvala-guest-shell .fv-gp-formHighlight,
.fitvala-guest-shell .fv-gp-authStat{
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.035);
}
.fitvala-guest-shell .fv-gp-formHighlight__label,
.fitvala-guest-shell .fv-gp-authStat__eyebrow{
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: rgba(255,255,255,.56);
  font-weight: 900;
}
.fitvala-guest-shell .fv-gp-formHighlight__value,
.fitvala-guest-shell .fv-gp-authStat__value{
  margin-top: 6px;
  font-size: 14px;
  line-height: 1.45;
  font-weight: 850;
  color: rgba(255,255,255,.92);
}
.fitvala-guest-shell .fv-gp-authMedia{
  min-height: 500px;
}
.fitvala-guest-shell .fv-gp-authMedia img{
  object-position: center center;
}
.fitvala-guest-shell .fv-gp-authOverlay{
  padding: 20px;
  background: linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.62));
}
.fitvala-guest-shell .fv-gp-authStats{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 16px;
}
.fitvala-guest-shell .fv-field{
  margin-top: 14px;
}
.fitvala-guest-shell .fv-label{
  margin-bottom: 8px;
  font-size: 13px;
  font-weight: 750;
  color: rgba(255,255,255,.76);
}
.fitvala-guest-shell .fv-input,
.fitvala-guest-shell .fv-field select,
.fitvala-guest-shell .fv-field textarea{
  min-height: 50px;
  border-radius: 14px;
  background: rgba(255,255,255,.035);
  border-color: rgba(255,255,255,.10);
}
.fitvala-guest-shell .fv-row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.fitvala-guest-shell .fv-pwWrap{
  display: grid;
  gap: 8px;
  margin-top: 14px;
}
.fitvala-guest-shell .fv-pwLabel{
  font-size: 12px;
  color: rgba(255,255,255,.68);
}
.fitvala-guest-shell .fv-req{
  margin-top: 12px;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03);
}
.fitvala-guest-shell .fv-req__h{
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 850;
}
.fitvala-guest-shell .fv-req ul{
  columns: 2;
  column-gap: 22px;
  margin: 0;
  padding-left: 18px;
}
.fitvala-guest-shell .fv-req li{
  break-inside: avoid;
  margin-bottom: 6px;
  color: rgba(255,255,255,.74);
  font-size: 13px;
  line-height: 1.45;
}
.fitvala-guest-shell .fv-gp-footer{
  padding-top: 12px;
  border-top: 1px solid rgba(255,255,255,.05);
}
.fitvala-guest-shell .fv-gp-footer__inner,
.fitvala-guest-shell .fv-gp-footer__links a{
  color: rgba(255,255,255,.58);
  font-size: 13px;
}
.fitvala-guest-shell .fv-gp-mobileCta{
  display: none !important;
}

@media (max-width: 1080px){
  .fitvala-guest-shell .fv-public-hero__grid,
  .fitvala-guest-shell .fv-public-pricingHero__grid,
  .fitvala-guest-shell .fv-gp-authGrid{
    grid-template-columns: 1fr;
  }
  .fitvala-guest-shell .fv-public-hero__media,
  .fitvala-guest-shell .fv-public-pricingHero__callout{
    min-height: 0;
  }
  .fitvala-guest-shell .fv-gp-authMedia{
    min-height: 320px;
  }
}
@media (max-width: 900px){
  .fitvala-guest-shell .fv-gp-nav{
    display: none;
  }
  .fitvala-guest-shell .fv-gp-priceGrid--public,
  .fitvala-guest-shell .fv-public-featureGrid,
  .fitvala-guest-shell .fv-public-steps,
  .fitvala-guest-shell .fv-public-comparison{
    grid-template-columns: 1fr;
  }
}
@media (max-width: 720px){
  .fitvala-guest-shell .fv-gp-wrap{
    padding: 0 14px;
  }
  .fitvala-guest-shell .fv-gp-top__inner{
    gap: 10px;
  }
  .fitvala-guest-shell .fv-gp-actions{
    gap: 8px;
  }
  .fitvala-guest-shell .fv-btn{
    min-height: 44px;
    font-size: 13px;
  }
  .fitvala-guest-shell .fv-gp-formHighlights,
  .fitvala-guest-shell .fv-gp-authStats{
    grid-template-columns: 1fr;
  }
  .fitvala-guest-shell .fv-public-heroCard__row{
    flex-direction: column;
    align-items: flex-start;
  }
  .fitvala-guest-shell .fv-public-heroCard__row strong{
    text-align: left;
  }
  .fitvala-guest-shell .fv-req ul{
    columns: 1;
  }
}
@media (max-width: 560px){
  .fitvala-guest-shell .fv-gp-top__inner{
    align-items: center;
  }
  .fitvala-guest-shell .fv-gp-actions .fv-btn{
    min-height: 40px;
    padding: 0 12px;
  }
  .fitvala-guest-shell .fv-public-hero{
    padding-top: 20px;
  }
  .fitvala-guest-shell .fv-public-hero__copy,
  .fitvala-guest-shell .fv-public-pricingHero__title,
  .fitvala-guest-shell .fv-public-hero__title{
    max-width: none;
  }
  .fitvala-guest-shell .fv-public-hero__media{
    min-height: 400px;
  }
  .fitvala-guest-shell .fv-gp-authMedia{
    display: none;
  }
  .fitvala-guest-shell .fv-gp-formCard,
  .fitvala-guest-shell .fv-gp-plan,
  .fitvala-guest-shell .fv-public-pricingHero__callout,
  .fitvala-guest-shell .fv-gp-glass{
    padding: 18px;
    border-radius: 22px;
  }
}


/* ==========================================================================
   Editorial refinement — V1.17.24.02
   Lighter typography, calmer hero treatment, and cleaner image emphasis.
   ========================================================================== */
.fitvala-guest-shell{
  --fv-type-strong: 720;
  --fv-type-body: 560;
  --fv-type-label: 620;
}
.fitvala-guest-shell .fv-gp-brand__name{
  font-weight: 760;
  letter-spacing: -.015em;
}
.fitvala-guest-shell .fv-gp-nav a{
  font-weight: 620;
}
.fitvala-guest-shell .fv-btn{
  font-weight: 680;
}
.fitvala-guest-shell .fv-gp-kicker,
.fitvala-guest-shell .fv-gp-plan__tag,
.fitvala-guest-shell .fv-gp-badgeBest,
.fitvala-guest-shell .fv-public-heroCard__eyebrow,
.fitvala-guest-shell .fv-public-pricingHero__eyebrow,
.fitvala-guest-shell .fv-public-stepCard__num,
.fitvala-guest-shell .fv-gp-formHighlight__label,
.fitvala-guest-shell .fv-gp-authStat__eyebrow{
  font-weight: 680;
  letter-spacing: .08em;
}
.fitvala-guest-shell .fv-gp-h1{
  font-size: clamp(31px, 4.1vw, 46px);
  line-height: 1.08;
  font-weight: 760;
  letter-spacing: -.04em;
}
.fitvala-guest-shell .fv-public-hero__title,
.fitvala-guest-shell .fv-public-pricingHero__title{
  max-width: 14.5ch;
}
.fitvala-guest-shell .fv-gp-h2{
  font-size: clamp(21px, 2vw, 27px);
  line-height: 1.15;
  font-weight: 720;
}
.fitvala-guest-shell .fv-gp-formTitle{
  font-size: clamp(26px, 2.6vw, 31px);
  line-height: 1.1;
  font-weight: 760;
}
.fitvala-guest-shell .fv-gp-card__t,
.fitvala-guest-shell .fv-gp-plan__name,
.fitvala-guest-shell .fv-public-heroCard__title,
.fitvala-guest-shell .fv-public-pricingHero__headline,
.fitvala-guest-shell .fv-gp-authOverlay__title,
.fitvala-guest-shell .fv-gp-faq summary,
.fitvala-guest-shell .fv-link,
.fitvala-guest-shell .fv-req__h{
  font-weight: 710;
}
.fitvala-guest-shell .fv-gp-plan__price,
.fitvala-guest-shell .fv-public-planCard .fv-gp-plan__price{
  font-weight: 760;
  letter-spacing: -.032em;
}
.fitvala-guest-shell .fv-label{
  font-weight: var(--fv-type-label);
}
.fitvala-guest-shell .fv-gp-lede,
.fitvala-guest-shell .fv-gp-card__p,
.fitvala-guest-shell .fv-gp-plan__sub,
.fitvala-guest-shell .fv-gp-formSub,
.fitvala-guest-shell .fv-gp-statusSub,
.fitvala-guest-shell .fv-gp-authOverlay__sub,
.fitvala-guest-shell .fv-gp-note,
.fitvala-guest-shell .fv-gp-faq p,
.fitvala-guest-shell .fv-public-pricingHero__copy,
.fitvala-guest-shell .fv-public-pricingHero__meta{
  color: rgba(255,255,255,.70);
  font-size: 15px;
  line-height: 1.62;
  font-weight: 470;
}
.fitvala-guest-shell .fv-public-trust__item,
.fitvala-guest-shell .fv-public-planCard li,
.fitvala-guest-shell .fv-gp-plan ul,
.fitvala-guest-shell .fv-gp-featureList,
.fitvala-guest-shell .fv-gp-featureList--strong,
.fitvala-guest-shell .fv-req li{
  font-weight: 560;
}
.fitvala-guest-shell .fv-public-hero{
  padding-top: 24px;
}
.fitvala-guest-shell .fv-public-hero__grid{
  gap: 22px;
  align-items: start;
}
.fitvala-guest-shell .fv-public-hero__copy{
  max-width: 600px;
}
.fitvala-guest-shell .fv-public-trust{
  margin-top: 16px;
  gap: 8px;
}
.fitvala-guest-shell .fv-public-trust__item{
  font-size: 12px;
  padding: 9px 11px;
  color: rgba(255,255,255,.74);
}
.fitvala-guest-shell .fv-public-hero__media{
  min-height: 480px;
  background: #0c1015;
  border-radius: 30px;
}
.fitvala-guest-shell .fv-public-hero__media img{
  object-position: 58% center;
  filter: saturate(.92) contrast(.98) brightness(.95);
}
.fitvala-guest-shell .fv-public-hero__media:after{
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(4,7,10,.04) 0%, rgba(4,7,10,.16) 55%, rgba(4,7,10,.24) 100%);
}
.fitvala-guest-shell .fv-public-heroCard{
  left: 16px;
  right: 16px;
  bottom: 16px;
  padding: 15px 15px 14px;
  border-radius: 20px;
  border-color: rgba(255,255,255,.06);
  background: rgba(8,11,15,.64);
  backdrop-filter: blur(16px) saturate(132%);
}
.fitvala-guest-shell .fv-public-heroCard__title{
  margin-top: 6px;
  font-size: 18px;
  line-height: 1.28;
}
.fitvala-guest-shell .fv-public-heroCard__list{
  margin-top: 11px;
  gap: 8px;
}
.fitvala-guest-shell .fv-public-heroCard__row{
  padding: 10px 12px;
  background: rgba(255,255,255,.03);
}
.fitvala-guest-shell .fv-public-heroCard__row span{
  font-weight: 600;
  font-size: 12px;
}
.fitvala-guest-shell .fv-public-heroCard__row strong{
  font-weight: 650;
  font-size: 13px;
}
.fitvala-guest-shell .fv-gp-authMedia{
  min-height: 460px;
}
.fitvala-guest-shell .fv-gp-authMedia img{
  object-position: 56% center;
  filter: saturate(.90) contrast(.98) brightness(.96);
}
.fitvala-guest-shell .fv-gp-authOverlay{
  padding: 18px;
  background: linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.50));
}
.fitvala-guest-shell .fv-gp-authStats{
  gap: 8px;
}
.fitvala-guest-shell .fv-gp-formHighlights,
.fitvala-guest-shell .fv-gp-authStats{
  gap: 8px;
}
.fitvala-guest-shell .fv-gp-formHighlight,
.fitvala-guest-shell .fv-gp-authStat{
  padding: 11px 12px;
  background: rgba(255,255,255,.03);
}
.fitvala-guest-shell .fv-gp-formHighlight__value,
.fitvala-guest-shell .fv-gp-authStat__value{
  font-weight: 660;
  font-size: 13px;
}
.fitvala-guest-shell .fv-public-pricingHero{
  padding-top: 26px;
}
.fitvala-guest-shell .fv-public-pricingHero__grid{
  gap: 18px;
}
.fitvala-guest-shell .fv-public-pricingHero__callout{
  padding: 22px;
}
.fitvala-guest-shell .fv-public-pricingHero__headline{
  font-size: 21px;
  line-height: 1.22;
}
.fitvala-guest-shell .fv-public-planCard{
  padding: 20px;
}
.fitvala-guest-shell .fv-public-planCard .fv-gp-plan__name{
  font-size: 21px;
}
.fitvala-guest-shell .fv-public-planCard .fv-gp-plan__sub{
  min-height: 0;
}
.fitvala-guest-shell .fv-gp-footer__inner,
.fitvala-guest-shell .fv-gp-footer__links a{
  color: rgba(255,255,255,.54);
}
@media (max-width: 900px){
  .fitvala-guest-shell .fv-gp-h1{
    font-size: clamp(30px, 6.8vw, 40px);
  }
  .fitvala-guest-shell .fv-public-hero__media{
    min-height: 400px;
  }
}
@media (max-width: 560px){
  .fitvala-guest-shell .fv-gp-h1{
    font-size: clamp(29px, 8.2vw, 36px);
    line-height: 1.1;
  }
  .fitvala-guest-shell .fv-public-hero__media{
    min-height: 340px;
  }
  .fitvala-guest-shell .fv-public-heroCard{
    padding: 14px;
  }
  .fitvala-guest-shell .fv-public-heroCard__title{
    font-size: 16px;
  }
  .fitvala-guest-shell .fv-public-heroCard__list{
    display: none;
  }
  .fitvala-guest-shell .fv-gp-authStats{
    display: none;
  }
}


/* v1.17.24.03 public UX reset ------------------------------------------------ */
.fitvala-guest-shell .fv-gp-h1,
.fitvala-guest-shell .fv-gp-h2,
.fitvala-guest-shell .fv-gp-formTitle,
.fitvala-guest-shell .fv-public-pricingHero__headline,
.fitvala-guest-shell .fv-public-heroCard__title,
.fitvala-guest-shell .fv-gp-plan__name,
.fitvala-guest-shell .fv-gp-card__t,
.fitvala-guest-shell .fv-gp-authOverlay__title{
  font-weight: 820;
  letter-spacing: -.035em;
}
.fitvala-guest-shell .fv-gp-h1{
  font-size: clamp(38px, 5.6vw, 60px);
  line-height: 1.02;
  max-width: 12.5ch;
}
.fitvala-guest-shell .fv-gp-h2{
  font-size: clamp(28px, 3.5vw, 40px);
  line-height: 1.06;
  font-weight: 780;
}
.fitvala-guest-shell .fv-gp-formTitle{
  font-size: clamp(30px, 4vw, 44px);
  line-height: 1.05;
}
.fitvala-guest-shell .fv-gp-lede,
.fitvala-guest-shell .fv-gp-formSub,
.fitvala-guest-shell .fv-public-pricingHero__copy,
.fitvala-guest-shell .fv-gp-card__p,
.fitvala-guest-shell .fv-gp-faq p{
  font-size: 16px;
  line-height: 1.62;
}
.fitvala-guest-shell .fv-gp-kicker,
.fitvala-guest-shell .fv-public-heroCard__eyebrow,
.fitvala-guest-shell .fv-public-pricingHero__eyebrow,
.fitvala-guest-shell .fv-gp-formHighlight__label,
.fitvala-guest-shell .fv-gp-authStat__eyebrow,
.fitvala-guest-shell .fv-gp-plan__tag{
  font-weight: 700;
  letter-spacing: .08em;
}
.fitvala-guest-shell .fv-public-trust__item,
.fitvala-guest-shell .fv-gp-plan ul li,
.fitvala-guest-shell .fv-public-planCard li,
.fitvala-guest-shell .fv-gp-featureList li,
.fitvala-guest-shell .fv-req li{
  font-weight: 520;
}
.fitvala-guest-shell .fv-gp-card__t{
  font-size: 19px;
  line-height: 1.18;
}
.fitvala-guest-shell .fv-gp-formHighlight__value,
.fitvala-guest-shell .fv-gp-authStat__value{
  font-weight: 600;
}
.fitvala-guest-shell .fv-public-featureGrid{
  gap: 16px;
}
.fitvala-guest-shell .fv-public-featureCard{
  min-height: 0;
}
.fitvala-guest-shell .fv-public-featureCard .fv-gp-card__body{
  padding: 22px;
}
.fitvala-guest-shell .fv-public-hero__media{
  max-width: 560px;
  justify-self: end;
}
.fitvala-guest-shell .fv-public-hero__media img{
  object-position: 52% center;
}
.fitvala-guest-shell .fv-public-heroCard{
  max-width: 420px;
}
.fitvala-guest-shell .fv-gp-authGrid{
  grid-template-columns: minmax(0, 1fr) minmax(360px, .82fr);
}
.fitvala-guest-shell .fv-gp-authMedia{
  min-height: 420px;
}
.fitvala-guest-shell .fv-gp-authOverlay{
  background: linear-gradient(180deg, rgba(0,0,0,.01), rgba(0,0,0,.34));
}
.fitvala-guest-shell .fv-gp-authOverlay__title{
  font-size: 30px;
  line-height: 1.08;
}
.fitvala-guest-shell .fv-public-pricingHero__title{
  max-width: 13ch;
}
.fitvala-guest-shell .fv-public-pricingHero__headline{
  font-size: 24px;
  line-height: 1.18;
}
@media (max-width: 1080px){
  .fitvala-guest-shell .fv-gp-authMedia{
    display: none;
  }
  .fitvala-guest-shell .fv-public-hero__media{
    max-width: 100%;
    justify-self: stretch;
  }
}
@media (max-width: 900px){
  .fitvala-guest-shell .fv-gp-h1{
    font-size: clamp(34px, 8vw, 42px);
    max-width: 12ch;
  }
  .fitvala-guest-shell .fv-gp-h2{
    font-size: 28px;
  }
  .fitvala-guest-shell .fv-gp-formTitle{
    font-size: 32px;
  }
  .fitvala-guest-shell .fv-public-pricingHero__headline{
    font-size: 22px;
  }
}
@media (max-width: 720px){
  .fitvala-guest-shell .fv-public-hero__media{
    min-height: 280px;
    max-width: 100%;
  }
  .fitvala-guest-shell .fv-public-heroCard{
    display: none;
  }
  .fitvala-guest-shell .fv-gp-lede,
  .fitvala-guest-shell .fv-gp-formSub,
  .fitvala-guest-shell .fv-public-pricingHero__copy,
  .fitvala-guest-shell .fv-gp-card__p,
  .fitvala-guest-shell .fv-gp-faq p{
    font-size: 15px;
  }
}


/* ------------------------------------------------------------------
   Auth mobile layout guardrail
   Fixes login/register viewport collapse where a late desktop auth-grid
   rule could leave a hidden second column reserved on mobile, causing the
   form column to collapse into a thin strip.
   ------------------------------------------------------------------ */
@media (max-width: 1080px){
  .fitvala-guest-shell .fv-gp-authGrid{
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px;
  }
  .fitvala-guest-shell .fv-gp-authGrid > *{
    min-width: 0;
  }
  .fitvala-guest-shell .fv-gp-formCard{
    width: 100%;
    max-width: 100%;
    justify-self: stretch;
  }
  .fitvala-guest-shell .fv-gp-authMedia{
    display: none !important;
    min-width: 0;
  }
}
@media (max-width: 560px){
  .fitvala-guest-shell .fv-gp-hero{
    padding-top: 14px;
  }
  .fitvala-guest-shell .fv-gp-formCard{
    padding: 16px;
    border-radius: 20px;
  }
  .fitvala-guest-shell .fv-row{
    flex-wrap: wrap;
    align-items: flex-start;
  }
  .fitvala-guest-shell .fv-gp-formNote,
  .fitvala-guest-shell .fv-gp-inlineDot{
    display: none;
  }
}

/* =========================================================
   Fitvala Guest Home vNext (mockup implementation)
   ========================================================= */
.fitvala-guest-shell .fv-gx{
  --fv-gx-blue-1:#10c17b;
  --fv-gx-blue-2:#0ea96b;
  --fv-gx-blue-3:#0b7e51;
  --fv-gx-surface:rgba(17,24,39,.76);
  --fv-gx-surface-2:rgba(19,28,47,.88);
  --fv-gx-border:rgba(255,255,255,.10);
  --fv-gx-soft:rgba(255,255,255,.72);
  --fv-gx-muted:rgba(255,255,255,.64);
  --fv-gx-line:rgba(255,255,255,.14);
  --fv-gx-green:#10c17b;
  --fv-gx-shadow:0 18px 48px rgba(0,0,0,.34);
}

.fitvala-guest-shell .fv-gx-bg{
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(42vw 42vw at 14% 8%, rgba(16,193,123,.16), transparent 58%),
    radial-gradient(38vw 38vw at 86% 6%, rgba(16,169,107,.14), transparent 60%),
    radial-gradient(34vw 34vw at 50% 62%, rgba(10,27,72,.55), transparent 70%),
    linear-gradient(180deg, #111827 0%, #0b1120 52%, #09101d 100%);
}

.fitvala-guest-shell .fv-gx-main{
  padding:12px 0 40px;
}
.fitvala-guest-shell .fv-gx-wrap{
  max-width:1280px;
  margin:0 auto;
  padding:0 18px;
}
.fitvala-guest-shell .fv-gx-frame{
  position:relative;
  border:1px solid rgba(255,255,255,.08);
  border-radius:28px;
  overflow:hidden;
  background:
    radial-gradient(90% 120% at 30% 0%, rgba(16,193,123,.18), transparent 48%),
    radial-gradient(70% 80% at 80% 10%, rgba(16,169,107,.14), transparent 52%),
    linear-gradient(180deg, rgba(15,21,37,.96) 0%, rgba(10,16,28,.98) 100%);
  box-shadow:0 24px 90px rgba(0,0,0,.42);
}
.fitvala-guest-shell .fv-gx-frame > *{
  position:relative;
  z-index:1;
}
.fitvala-guest-shell .fv-gx-frame::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,0) 18%),
    radial-gradient(60% 50% at 50% 0%, rgba(16,193,123,.08), transparent 70%);
}

.fitvala-guest-shell .fv-gx-top{
  position:sticky;
  top:0;
  z-index:40;
  background:rgba(10,16,28,.64);
  backdrop-filter:blur(16px) saturate(150%);
  border-bottom:1px solid var(--fv-gx-line);
}
.fitvala-guest-shell .fv-gx-top__inner{
  min-height:66px;
  padding:14px 8px;
}
.fitvala-guest-shell .fv-gx-nav a{
  color:rgba(255,255,255,.82);
  font-weight:700;
}
.fitvala-guest-shell .fv-gx-btnPrimary,
.fitvala-guest-shell .fv-gx .fv-btn--primary{
  background:linear-gradient(180deg, var(--fv-gx-blue-1) 0%, var(--fv-gx-blue-2) 100%);
  color:#06110b;
  border:1px solid rgba(16,193,123,.28);
  box-shadow:0 16px 34px rgba(16,193,123,.24), inset 0 1px 0 rgba(255,255,255,.18);
}
.fitvala-guest-shell .fv-gx-btnPrimary:hover,
.fitvala-guest-shell .fv-gx .fv-btn--primary:hover{
  background:linear-gradient(180deg, #14d789 0%, #0ea96b 100%);
}
.fitvala-guest-shell .fv-gx-btnGhost{
  background:rgba(255,255,255,.08);
  color:#fff;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.fitvala-guest-shell .fv-gx-btnGhost svg{width:18px;height:18px;opacity:.95;}

.fitvala-guest-shell .fv-gx-hero{
  display:grid;
  grid-template-columns:minmax(0, 1.02fr) minmax(380px, .98fr);
  gap:26px;
  padding:34px 34px 26px;
  border-bottom:1px solid var(--fv-gx-line);
}
.fitvala-guest-shell .fv-gx-hero__copy{
  padding:18px 10px 0 8px;
}
.fitvala-guest-shell .fv-gx-title{
  margin:0;
  max-width:10.5ch;
  font-size:clamp(44px, 5.6vw, 74px);
  line-height:.98;
  letter-spacing:-.06em;
  font-weight:950;
  color:#fff;
}
.fitvala-guest-shell .fv-gx-sub{
  margin:20px 0 0;
  font-size:20px;
  color:var(--fv-gx-soft);
  letter-spacing:-.02em;
}
.fitvala-guest-shell .fv-gx-ctaRow{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin:26px 0 26px;
}
.fitvala-guest-shell .fv-gx-ctaRow .fv-btn{
  min-width:172px;
  min-height:56px;
  padding:0 22px;
  font-size:15px;
}
.fitvala-guest-shell .fv-gx-planRow{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:14px;
  max-width:640px;
}
.fitvala-guest-shell .fv-gx-miniPlan{
  min-height:146px;
  padding:22px 24px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg, rgba(26,35,58,.88) 0%, rgba(17,24,39,.82) 100%);
  box-shadow:var(--fv-gx-shadow);
}
.fitvala-guest-shell .fv-gx-miniPlan__title{
  font-size:22px;
  line-height:1.1;
  font-weight:900;
  letter-spacing:-.03em;
  color:#fff;
}
.fitvala-guest-shell .fv-gx-miniPlan__text{
  margin-top:22px;
  padding-left:16px;
  color:rgba(255,255,255,.82);
  font-size:15px;
  line-height:1.45;
  position:relative;
}
.fitvala-guest-shell .fv-gx-miniPlan__text::before{
  content:"";
  position:absolute;
  left:0;
  top:.55em;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--fv-gx-green);
  box-shadow:0 0 0 4px rgba(143,217,121,.14);
}
.fitvala-guest-shell .fv-gx-upgradeWrap{
  margin-top:20px;
}
.fitvala-guest-shell .fv-gx-upgradeBtn{
  min-width:240px;
  min-height:56px;
  padding:0 28px;
  font-size:15px;
}

.fitvala-guest-shell .fv-gx-stage{
  position:relative;
  min-height:560px;
  border-radius:22px;
  overflow:hidden;
}
.fitvala-guest-shell .fv-gx-stageGlow{
  position:absolute;
  inset:10% 5% auto auto;
  width:58%;
  height:58%;
  filter:blur(60px);
  opacity:.45;
  background:radial-gradient(circle, rgba(16,193,123,.24) 0%, rgba(16,193,123,0) 72%);
}
.fitvala-guest-shell .fv-gx-stageImageWrap{
  position:absolute;
  inset:4% 4% 4% 6%;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.fitvala-guest-shell .fv-gx-stageImageWrap--composite{
  inset:4% 4% 4% 4%;
}
.fitvala-guest-shell .fv-gx-stageImageWrap--fallback{inset:10% 22% 0 6%;}
.fitvala-guest-shell .fv-gx-stageImage{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
  filter:drop-shadow(0 24px 60px rgba(0,0,0,.35));
}
.fitvala-guest-shell .fv-gx-phone{
  display:none;
  position:absolute;
  right:14px;
  top:28px;
  width:min(46%, 292px);
  border-radius:38px;
  padding:14px;
  background:#0f1523;
  border:3px solid #111;
  box-shadow:0 28px 70px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.08);
}
.fitvala-guest-shell .fv-gx-phone__notch{
  width:92px;
  height:22px;
  border-radius:0 0 16px 16px;
  background:#05070c;
  position:absolute;
  left:50%;
  top:0;
  transform:translateX(-50%);
}
.fitvala-guest-shell .fv-gx-phone__screen{
  overflow:hidden;
  border-radius:26px;
  background:linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
  min-height:510px;
  padding:18px 14px 14px;
  color:#101828;
}
.fitvala-guest-shell .fv-gx-phone__eyebrow{
  font-size:14px;
  font-weight:800;
  color:#17233a;
}
.fitvala-guest-shell .fv-gx-metricCard{
  margin-top:14px;
  padding:12px;
  border-radius:16px;
  background:linear-gradient(180deg, #132238 0%, #0b1424 100%);
  box-shadow:0 14px 26px rgba(10,17,31,.18);
}
.fitvala-guest-shell .fv-gx-metrics{display:grid;gap:12px;}
.fitvala-guest-shell .fv-gx-metric{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  color:#f8fafc;
  font-size:14px;
  font-weight:800;
}
.fitvala-guest-shell .fv-gx-ring{
  width:34px;
  height:34px;
  border-radius:50%;
  display:inline-block;
  background:
    radial-gradient(circle at center, #132238 46%, transparent 48%),
    conic-gradient(#34d399 0 62%, rgba(255,255,255,.16) 62% 100%);
}
.fitvala-guest-shell .fv-gx-ring--2{background:radial-gradient(circle at center, #132238 46%, transparent 48%), conic-gradient(#60a5fa 0 74%, rgba(255,255,255,.16) 74% 100%);} 
.fitvala-guest-shell .fv-gx-ring--3{background:radial-gradient(circle at center, #132238 46%, transparent 48%), conic-gradient(#f59e0b 0 58%, rgba(255,255,255,.16) 58% 100%);} 
.fitvala-guest-shell .fv-gx-phone__sectionTitle{
  margin:16px 4px 10px;
  font-size:15px;
  font-weight:900;
  color:#1f2937;
}
.fitvala-guest-shell .fv-gx-workoutCard{
  padding:12px;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 8px 20px rgba(15,23,42,.08);
}
.fitvala-guest-shell .fv-gx-workoutCard__title{
  font-size:14px;
  font-weight:800;
  color:#1f2937;
}
.fitvala-guest-shell .fv-gx-workoutThumb{
  margin-top:10px;
  height:132px;
  border-radius:14px;
  overflow:hidden;
  background:#dbe5f6;
}
.fitvala-guest-shell .fv-gx-workoutThumb img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.fitvala-guest-shell .fv-gx-workoutCard__badge{
  display:inline-flex;
  margin-top:10px;
  padding:8px 12px;
  border-radius:12px;
  background:#0f172a;
  color:#fff;
  font-size:13px;
  font-weight:800;
}

.fitvala-guest-shell .fv-gx-section{
  padding:18px 34px 26px;
  border-bottom:1px solid var(--fv-gx-line);
}
.fitvala-guest-shell .fv-gx-sectionTitle{
  display:flex;
  align-items:center;
  gap:18px;
  margin:0 0 18px;
}
.fitvala-guest-shell .fv-gx-sectionTitle span{
  flex:1 1 auto;
  height:1px;
  background:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.22) 55%, rgba(255,255,255,0) 100%);
}
.fitvala-guest-shell .fv-gx-sectionTitle h2{
  margin:0;
  white-space:nowrap;
  font-size:clamp(28px, 3vw, 42px);
  line-height:1.02;
  letter-spacing:-.04em;
  font-weight:950;
}
.fitvala-guest-shell .fv-gx-sectionTitle--stack{margin-bottom:8px;}
.fitvala-guest-shell .fv-gx-sectionSub{
  margin:0 0 22px;
  text-align:center;
  color:#8db8ff;
  font-size:22px;
  font-weight:700;
}

.fitvala-guest-shell .fv-gx-pillars,
.fitvala-guest-shell .fv-gx-proGrid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:18px;
}
.fitvala-guest-shell .fv-gx-card{
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg, rgba(22,31,53,.88) 0%, rgba(15,21,37,.86) 100%);
  box-shadow:var(--fv-gx-shadow);
}
.fitvala-guest-shell .fv-gx-card--feature,
.fitvala-guest-shell .fv-gx-card--pro{
  padding:24px 22px;
}
.fitvala-guest-shell .fv-gx-card__icon,
.fitvala-guest-shell .fv-gx-proIcon{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:14px;
  margin-bottom:14px;
  font-size:25px;
  font-weight:900;
  background:rgba(255,255,255,.08);
  color:#97d56f;
}
.fitvala-guest-shell .fv-gx-card__icon--engage{color:#8fd979;}
.fitvala-guest-shell .fv-gx-card__icon--monetize{color:#97d56f;}
.fitvala-guest-shell .fv-gx-proIcon{color:#7fb1ff;}
.fitvala-guest-shell .fv-gx-card__title{
  font-size:16px;
  font-weight:900;
  letter-spacing:-.02em;
  color:#fff;
}
.fitvala-guest-shell .fv-gx-card__lead{
  margin-top:14px;
  font-size:16px;
  font-weight:800;
  color:#fff;
}
.fitvala-guest-shell .fv-gx-card__body{
  margin:8px 0 0;
  color:var(--fv-gx-muted);
  font-size:14px;
  line-height:1.6;
}

.fitvala-guest-shell .fv-gx-mobileList{display:none;}
.fitvala-guest-shell .fv-gx-mobileList__item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:22px 24px;
  border-top:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg, rgba(22,31,53,.88) 0%, rgba(15,21,37,.86) 100%);
  color:#fff;
  text-decoration:none;
  font-weight:800;
}
.fitvala-guest-shell .fv-gx-mobileList__item:first-child{
  border-top:none;
  border-radius:18px 18px 0 0;
}
.fitvala-guest-shell .fv-gx-mobileList__item:last-child{
  border-radius:0 0 18px 18px;
}
.fitvala-guest-shell .fv-gx-mobileList__item em{
  font-style:normal;
  opacity:.6;
  font-size:24px;
}

.fitvala-guest-shell .fv-gx-payments{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:20px 28px;
  padding:12px 0 4px;
}
.fitvala-guest-shell .fv-gx-payments span{
  position:relative;
  font-size:clamp(18px, 2vw, 28px);
  font-weight:900;
  letter-spacing:-.04em;
  color:rgba(255,255,255,.94);
}
.fitvala-guest-shell .fv-gx-payments span:not(:last-child)::after{
  content:"";
  position:absolute;
  right:-15px;
  top:50%;
  width:1px;
  height:24px;
  transform:translateY(-50%);
  background:rgba(255,255,255,.18);
}

.fitvala-guest-shell .fv-gx-storyCard{
  display:grid;
  grid-template-columns:180px minmax(0,1fr);
  gap:22px;
  align-items:center;
  padding:18px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg, rgba(22,31,53,.88) 0%, rgba(15,21,37,.86) 100%);
  box-shadow:var(--fv-gx-shadow);
}
.fitvala-guest-shell .fv-gx-storyCard__avatar{
  height:132px;
  border-radius:16px;
  background:linear-gradient(135deg, #10c17b, #0b7e51);
  background-size:cover;
  background-position:28% center;
  border:1px solid rgba(255,255,255,.08);
}
.fitvala-guest-shell .fv-gx-storyCard__quote{
  font-size:clamp(24px, 3vw, 36px);
  line-height:1.18;
  letter-spacing:-.04em;
  font-style:italic;
  color:#fff;
}
.fitvala-guest-shell .fv-gx-storyCard__name{
  margin-top:16px;
  font-size:20px;
  font-weight:900;
  letter-spacing:-.03em;
}
.fitvala-guest-shell .fv-gx-storyCard__meta{
  margin-top:4px;
  color:var(--fv-gx-muted);
}

.fitvala-guest-shell .fv-gx-faq{
  display:grid;
  gap:12px;
}
.fitvala-guest-shell .fv-gx-faq details{
  border-radius:16px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(19,28,47,.74);
  overflow:hidden;
}
.fitvala-guest-shell .fv-gx-faq summary{
  list-style:none;
  cursor:pointer;
  padding:18px 20px;
  font-size:16px;
  font-weight:800;
}
.fitvala-guest-shell .fv-gx-faq summary::-webkit-details-marker{display:none;}
.fitvala-guest-shell .fv-gx-faq p{
  margin:0;
  padding:0 20px 18px;
  color:var(--fv-gx-muted);
  line-height:1.6;
}

.fitvala-guest-shell .fv-gx-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:26px 34px 30px;
}
.fitvala-guest-shell .fv-gx-footer__tag{
  color:rgba(255,255,255,.88);
  font-size:clamp(18px, 2vw, 28px);
  font-weight:800;
  letter-spacing:-.04em;
}
.fitvala-guest-shell .fv-gx-footer__links{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px 16px;
  color:var(--fv-gx-muted);
}
.fitvala-guest-shell .fv-gx-footer__links a{text-decoration:none;}

@media (max-width: 1140px){
  .fitvala-guest-shell .fv-gx-hero{
    grid-template-columns:minmax(0,1fr);
  }
  .fitvala-guest-shell .fv-gx-title{max-width:none;font-size:clamp(40px, 7vw, 62px);}
  .fitvala-guest-shell .fv-gx-stage{min-height:500px;}
  .fitvala-guest-shell .fv-gx-stageImageWrap{inset:2% 4% 2% 4%;}
  .fitvala-guest-shell .fv-gx-phone{display:none;}
}

@media (max-width: 920px){
  .fitvala-guest-shell .fv-gx-nav{display:none;}
  .fitvala-guest-shell .fv-gx-top__inner{padding:12px 6px;}
  .fitvala-guest-shell .fv-gx-frame{border-radius:24px;}
  .fitvala-guest-shell .fv-gx-hero,
  .fitvala-guest-shell .fv-gx-section,
  .fitvala-guest-shell .fv-gx-footer{padding-left:22px;padding-right:22px;}
  .fitvala-guest-shell .fv-gx-pillars,
  .fitvala-guest-shell .fv-gx-proGrid{grid-template-columns:repeat(2, minmax(0,1fr));}
  .fitvala-guest-shell .fv-gx-storyCard{grid-template-columns:120px minmax(0,1fr);}
  .fitvala-guest-shell .fv-gx-storyCard__quote{font-size:24px;}
}

@media (max-width: 640px){
  .fitvala-guest-shell .fv-gx-main{padding-top:8px;}
  .fitvala-guest-shell .fv-gx-wrap{padding:0 12px;}
  .fitvala-guest-shell .fv-gx-frame{border-radius:22px;}
  .fitvala-guest-shell .fv-gx-actions .fv-btn{min-width:0;padding:0 16px;min-height:48px;}
  .fitvala-guest-shell .fv-gx-hero{gap:14px;padding-top:18px;}
  .fitvala-guest-shell .fv-gx-hero__copy{padding:4px 0 0;}
  .fitvala-guest-shell .fv-gx-title{font-size:clamp(34px, 10vw, 48px);max-width:8.7ch;}
  .fitvala-guest-shell .fv-gx-sub{font-size:16px;margin-top:14px;}
  .fitvala-guest-shell .fv-gx-ctaRow{gap:10px;margin:18px 0 18px;}
  .fitvala-guest-shell .fv-gx-ctaRow .fv-btn{min-width:0;flex:1 1 calc(50% - 5px);font-size:14px;min-height:52px;padding:0 16px;}
  .fitvala-guest-shell .fv-gx-planRow{gap:12px;}
  .fitvala-guest-shell .fv-gx-miniPlan{min-height:132px;padding:18px 16px;}
  .fitvala-guest-shell .fv-gx-miniPlan__title{font-size:18px;}
  .fitvala-guest-shell .fv-gx-miniPlan__text{margin-top:16px;font-size:13px;}
  .fitvala-guest-shell .fv-gx-upgradeWrap{display:flex;justify-content:center;}
  .fitvala-guest-shell .fv-gx-upgradeBtn{width:100%;min-width:0;}
  .fitvala-guest-shell .fv-gx-stage{min-height:360px;}
  .fitvala-guest-shell .fv-gx-stageImageWrap{inset:0 0 0 0;}
  .fitvala-guest-shell .fv-gx-stageImage{object-position:center center;opacity:1;}
  .fitvala-guest-shell .fv-gx-phone{display:none;top:22px;right:-12px;width:160px;padding:8px;border-radius:26px;}
  .fitvala-guest-shell .fv-gx-phone__notch{width:58px;height:14px;border-radius:0 0 10px 10px;}
  .fitvala-guest-shell .fv-gx-phone__screen{min-height:308px;border-radius:18px;padding:12px 10px 10px;}
  .fitvala-guest-shell .fv-gx-phone__eyebrow{font-size:10px;}
  .fitvala-guest-shell .fv-gx-metricCard{margin-top:8px;padding:8px;border-radius:12px;}
  .fitvala-guest-shell .fv-gx-metrics{gap:8px;}
  .fitvala-guest-shell .fv-gx-metric{font-size:11px;}
  .fitvala-guest-shell .fv-gx-ring{width:22px;height:22px;}
  .fitvala-guest-shell .fv-gx-phone__sectionTitle{margin:10px 2px 6px;font-size:11px;}
  .fitvala-guest-shell .fv-gx-workoutCard{padding:8px;border-radius:12px;}
  .fitvala-guest-shell .fv-gx-workoutCard__title{font-size:11px;}
  .fitvala-guest-shell .fv-gx-workoutThumb{height:84px;border-radius:10px;margin-top:8px;}
  .fitvala-guest-shell .fv-gx-workoutCard__badge{margin-top:8px;padding:6px 8px;border-radius:10px;font-size:10px;}
  .fitvala-guest-shell .fv-gx-sectionTitle{gap:12px;}
  .fitvala-guest-shell .fv-gx-sectionTitle h2{font-size:18px;white-space:nowrap;}
  .fitvala-guest-shell .fv-gx-sectionSub{font-size:14px;margin-bottom:14px;}
  .fitvala-guest-shell .fv-gx-pillars{grid-template-columns:repeat(2, minmax(0,1fr));gap:12px;}
  .fitvala-guest-shell .fv-gx-card--feature{padding:16px 14px;}
  .fitvala-guest-shell .fv-gx-card__icon{width:34px;height:34px;border-radius:10px;font-size:18px;margin-bottom:10px;}
  .fitvala-guest-shell .fv-gx-card__title{font-size:13px;}
  .fitvala-guest-shell .fv-gx-card__lead{margin-top:10px;font-size:12px;}
  .fitvala-guest-shell .fv-gx-card__body{font-size:11px;line-height:1.45;}
  .fitvala-guest-shell .fv-gx-proGrid{display:none;}
  .fitvala-guest-shell .fv-gx-mobileList{display:block;}
  .fitvala-guest-shell .fv-gx-payments{gap:10px 14px;padding-top:8px;}
  .fitvala-guest-shell .fv-gx-payments span{font-size:14px;}
  .fitvala-guest-shell .fv-gx-payments span:not(:last-child)::after{display:none;}
  .fitvala-guest-shell .fv-gx-storyCard{grid-template-columns:92px minmax(0,1fr);gap:14px;padding:12px;}
  .fitvala-guest-shell .fv-gx-storyCard__avatar{height:92px;border-radius:12px;}
  .fitvala-guest-shell .fv-gx-storyCard__quote{font-size:17px;line-height:1.25;}
  .fitvala-guest-shell .fv-gx-storyCard__name{margin-top:10px;font-size:16px;}
  .fitvala-guest-shell .fv-gx-storyCard__meta{font-size:12px;}
  .fitvala-guest-shell .fv-gx-faq summary{padding:14px 16px;font-size:14px;}
  .fitvala-guest-shell .fv-gx-faq p{padding:0 16px 14px;font-size:13px;}
  .fitvala-guest-shell .fv-gx-footer{flex-direction:column;align-items:flex-start;padding-top:20px;padding-bottom:22px;}
  .fitvala-guest-shell .fv-gx-footer__tag{font-size:18px;}
  .fitvala-guest-shell .fv-gx-footer__links{font-size:13px;gap:8px 14px;}
}

/* v1.17.24.57 guest hero / mockup cleanup -------------------------------- */
.fitvala-guest-shell .fv-sheet__close,
.fitvala-guest-shell .fv-report-close,
.fitvala-guest-shell .fv-ai-close,
.fitvala-guest-shell .fv-coach-close,
.fitvala-guest-shell button[aria-label="Close"]{
  display:none !important;
}

.fitvala-guest-shell .fv-gx-stage{
  min-height:540px;
  background:radial-gradient(circle at 68% 22%, rgba(16,193,123,.08), transparent 34%),
             linear-gradient(180deg, rgba(10,16,28,.18) 0%, rgba(8,12,20,.38) 100%);
}

.fitvala-guest-shell .fv-gx-stageImageWrap,
.fitvala-guest-shell .fv-gx-stageImageWrap--composite{
  inset:0;
}

.fitvala-guest-shell .fv-gx-stageImage{
  object-fit:cover;
  object-position:52% 48%;
  filter:drop-shadow(0 28px 70px rgba(0,0,0,.34));
}

.fitvala-guest-shell .fv-gx-storyCard__avatar{
  background-position:center 18%;
  background-size:cover;
}

@media (max-width: 980px){
  .fitvala-guest-shell .fv-gx-stage{
    min-height:420px;
  }
  .fitvala-guest-shell .fv-gx-stageImage{
    object-fit:cover;
    object-position:56% 50%;
  }
}

@media (max-width: 640px){
  .fitvala-guest-shell .fv-gx-stage{
    min-height:360px;
    border-radius:18px;
  }
  .fitvala-guest-shell .fv-gx-stageImage{
    object-position:58% 50%;
  }
}


/* v1.17.24.58 hero sizing correction -------------------------------------- */
.fitvala-guest-shell .fv-gx-hero{
  grid-template-columns:minmax(0,1.08fr) minmax(360px, 470px);
}

.fitvala-guest-shell .fv-gx-stage{
  width:100%;
  max-width:470px;
  justify-self:end;
  min-height:500px;
}

.fitvala-guest-shell .fv-gx-stageImageWrap,
.fitvala-guest-shell .fv-gx-stageImageWrap--composite{
  inset:8px;
}

.fitvala-guest-shell .fv-gx-stageImage{
  object-fit:contain;
  object-position:center center;
  filter:drop-shadow(0 24px 54px rgba(0,0,0,.30));
}

@media (max-width: 1140px){
  .fitvala-guest-shell .fv-gx-hero{
    grid-template-columns:minmax(0,1fr);
  }
  .fitvala-guest-shell .fv-gx-stage{
    max-width:520px;
    min-height:430px;
    justify-self:center;
  }
}

@media (max-width: 640px){
  .fitvala-guest-shell .fv-gx-stage{
    max-width:none;
    min-height:320px;
  }
  .fitvala-guest-shell .fv-gx-stageImageWrap,
  .fitvala-guest-shell .fv-gx-stageImageWrap--composite{
    inset:4px;
  }
}

/* v1.17.24.59 hero stage tighten ------------------------------------------ */
.fitvala-guest-shell .fv-gx-stage{
  max-width:540px;
  width:min(100%, 540px);
  min-height:unset;
  aspect-ratio:430 / 425;
  justify-self:end;
  background:transparent;
  border-radius:24px;
}

.fitvala-guest-shell .fv-gx-stageGlow{
  inset:8% 8% auto auto;
  width:52%;
  height:52%;
  opacity:.28;
}

.fitvala-guest-shell .fv-gx-stageImageWrap,
.fitvala-guest-shell .fv-gx-stageImageWrap--composite{
  inset:0;
}

.fitvala-guest-shell .fv-gx-stageImage{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  border-radius:22px;
  filter:drop-shadow(0 18px 42px rgba(0,0,0,.24));
}

@media (max-width: 1140px){
  .fitvala-guest-shell .fv-gx-stage{
    justify-self:center;
    max-width:520px;
    width:min(100%, 520px);
  }
}

@media (max-width: 640px){
  .fitvala-guest-shell .fv-gx-stage{
    width:100%;
    max-width:none;
    aspect-ratio:430 / 425;
    border-radius:18px;
  }

  .fitvala-guest-shell .fv-gx-stageImage{
    border-radius:18px;
  }
}

/* v1.17.24.60 hero image exact mockup crop -------------------------------- */
.fitvala-guest-shell .fv-gx-stage{
  max-width:500px;
  width:min(100%, 500px);
  aspect-ratio:370 / 400;
  min-height:unset;
}

.fitvala-guest-shell .fv-gx-stageImage{
  object-fit:cover;
  object-position:center center;
}

@media (max-width: 1140px){
  .fitvala-guest-shell .fv-gx-stage{
    max-width:460px;
    width:min(100%, 460px);
  }
}

@media (max-width: 640px){
  .fitvala-guest-shell .fv-gx-stage{
    max-width:none;
    width:100%;
    aspect-ratio:370 / 400;
  }
}


/* v1.17.24.62 mobile hero mockup alignment -------------------------------- */
.fitvala-guest-shell .fv-gx-upgradeWrap--mobileFeature,
.fitvala-guest-shell .fv-gx-paymentsCards{display:none;}

@media (max-width: 640px){
  .fitvala-guest-shell .fv-gx-hero{
    position:relative;
    display:block;
    min-height:860px;
    padding-top:22px;
    overflow:hidden;
  }

  .fitvala-guest-shell .fv-gx-hero__copy{
    position:relative;
    z-index:2;
    max-width:none;
    padding-right:0;
  }

  .fitvala-guest-shell .fv-gx-title{
    max-width:6.4ch;
    font-size:clamp(34px, 10.6vw, 56px);
    line-height:.96;
    letter-spacing:-.055em;
  }

  .fitvala-guest-shell .fv-gx-sub{
    max-width:16ch;
    margin-top:18px;
  }

  .fitvala-guest-shell .fv-gx-ctaRow{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
    width:100%;
    max-width:100%;
    margin:24px 0 22px;
  }

  .fitvala-guest-shell .fv-gx-ctaRow .fv-btn{
    min-height:56px;
    border-radius:18px;
    padding:0 18px;
    font-size:15px;
    min-width:0;
  }

  .fitvala-guest-shell .fv-gx-planRow{
    width:100%;
    max-width:100%;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
    margin-top:0;
    position:relative;
    z-index:2;
  }

  .fitvala-guest-shell .fv-gx-miniPlan{
    min-height:154px;
    border-radius:22px;
    padding:22px 18px;
  }

  .fitvala-guest-shell .fv-gx-miniPlan__title{
    font-size:28px;
    letter-spacing:-.04em;
  }

  .fitvala-guest-shell .fv-gx-miniPlan__text{
    margin-top:18px;
    font-size:12px;
    line-height:1.45;
    max-width:10ch;
  }

  .fitvala-guest-shell .fv-gx-upgradeWrap{
    justify-content:flex-start;
    margin-top:18px;
    position:relative;
    z-index:2;
  }

  .fitvala-guest-shell .fv-gx-upgradeBtn{
    width:100%;
    min-height:56px;
    border-radius:18px;
  }

  .fitvala-guest-shell .fv-gx-stage{
    position:absolute;
    top:154px;
    right:0;
    width:48%;
    height:470px;
    max-width:none;
    min-height:0;
    aspect-ratio:auto;
    border-radius:0;
    background:transparent;
    z-index:1;
    pointer-events:none;
  }

  .fitvala-guest-shell .fv-gx-stageGlow{
    inset:6% 0 auto auto;
    width:68%;
    height:44%;
    opacity:.18;
    display:block !important;
  }

  .fitvala-guest-shell .fv-gx-stageImageWrap,
  .fitvala-guest-shell .fv-gx-stageImageWrap--composite{
    display:block !important;
    position:absolute;
    inset:0;
    overflow:hidden;
  }

  .fitvala-guest-shell .fv-gx-stageImage{
    display:block !important;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
    border-radius:0;
    filter:drop-shadow(0 18px 42px rgba(0,0,0,.24));
  }

  .fitvala-guest-shell .fv-gx-section--pro{display:none;}

  .fitvala-guest-shell .fv-gx-pillars{
    grid-template-columns:1fr 1fr;
    gap:16px;
  }

  .fitvala-guest-shell .fv-gx-pillars .fv-gx-card--feature:nth-child(3){display:none;}

  .fitvala-guest-shell .fv-gx-card--feature{
    min-height:220px;
    padding:18px 18px 20px;
    border-radius:22px;
  }

  .fitvala-guest-shell .fv-gx-card__icon{
    width:42px;
    height:42px;
    border-radius:14px;
    margin-bottom:16px;
  }

  .fitvala-guest-shell .fv-gx-card__title{font-size:15px;}
  .fitvala-guest-shell .fv-gx-card__lead{margin-top:10px;font-size:12px;line-height:1.35;}
  .fitvala-guest-shell .fv-gx-card__body{margin-top:10px;font-size:11px;line-height:1.5;}

  .fitvala-guest-shell .fv-gx-upgradeWrap--mobileFeature{display:flex;margin-top:18px;}

  .fitvala-guest-shell .fv-gx-section--payments .fv-gx-payments{display:none;}
  .fitvala-guest-shell .fv-gx-paymentsCards{display:block;margin-top:18px;}
  .fitvala-guest-shell .fv-gx-paymentsCards .fv-gx-mobileList__item{display:flex;}

  .fitvala-guest-shell .fv-gx-storyCard{
    grid-template-columns:108px minmax(0,1fr);
    gap:16px;
    padding:16px;
    border-radius:22px;
  }

  .fitvala-guest-shell .fv-gx-storyCard__avatar{height:108px;border-radius:16px;}
  .fitvala-guest-shell .fv-gx-storyCard__quote{font-size:17px;line-height:1.28;}
  .fitvala-guest-shell .fv-gx-storyCard__name{margin-top:12px;}
}

@media (max-width: 420px){
  .fitvala-guest-shell .fv-gx-hero{min-height:820px;}
  .fitvala-guest-shell .fv-gx-stage{top:148px;right:0;width:49%;height:440px;}
}


/* v1.17.24.63 mobile hero flow fix ---------------------------------------- */
@media (max-width: 640px){
  .fitvala-guest-shell .fv-gx-hero{
    display:block;
    min-height:0;
    padding-top:18px;
    overflow:visible;
  }

  .fitvala-guest-shell .fv-gx-hero__copy{
    position:relative;
    z-index:2;
  }

  .fitvala-guest-shell .fv-gx-stage{
    position:relative;
    top:auto;
    right:auto;
    width:100%;
    max-width:none;
    height:auto;
    min-height:0;
    aspect-ratio:1 / 1;
    margin-top:18px;
    border-radius:22px;
    overflow:hidden;
    background:transparent;
    z-index:1;
    pointer-events:none;
  }

  .fitvala-guest-shell .fv-gx-stageGlow{
    display:none !important;
  }

  .fitvala-guest-shell .fv-gx-stageImageWrap,
  .fitvala-guest-shell .fv-gx-stageImageWrap--composite{
    position:absolute;
    inset:0;
    display:block !important;
    overflow:hidden;
  }

  .fitvala-guest-shell .fv-gx-stageImage{
    display:block !important;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
    border-radius:22px;
    filter:drop-shadow(0 18px 42px rgba(0,0,0,.20));
  }
}

@media (max-width: 420px){
  .fitvala-guest-shell .fv-gx-hero{
    min-height:0;
  }

  .fitvala-guest-shell .fv-gx-stage{
    width:100%;
    height:auto;
    aspect-ratio:1 / 1;
    margin-top:16px;
  }
}


/* v1.17.24.65 associated pages alignment */
.fitvala-guest-shell .fv-gp-actions--auth{display:flex;align-items:center;gap:12px;}
.fitvala-guest-shell .fv-gp-actions--auth .fv-btn--ghost{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12);color:rgba(255,255,255,.88);}
.fitvala-guest-shell .fv-gp-actions--auth .fv-btn--ghost:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);}
.fitvala-guest-shell .fv-gp-actions--auth .fv-btn--primary{box-shadow:0 18px 56px rgba(16,193,123,.24);}
.fitvala-guest-shell .fv-gp-formCard,
.fitvala-guest-shell .fv-public-pricingHero__callout,
.fitvala-guest-shell .fv-public-planCard{position:relative;overflow:hidden;}
.fitvala-guest-shell .fv-gp-formCard::before,
.fitvala-guest-shell .fv-public-pricingHero__callout::before,
.fitvala-guest-shell .fv-public-planCard::before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(120% 120% at 18% 0%, rgba(16,193,123,.14) 0%, rgba(16,193,123,0) 46%);pointer-events:none;}
.fitvala-guest-shell .fv-gp-formCard > *,
.fitvala-guest-shell .fv-public-pricingHero__callout > *,
.fitvala-guest-shell .fv-public-planCard > *{position:relative;z-index:1;}
.fitvala-guest-shell .fv-gp-formHighlights{gap:10px;}
.fitvala-guest-shell .fv-gp-formHighlight{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);border-radius:16px;box-shadow:inset 0 1px 0 rgba(255,255,255,.04);}
.fitvala-guest-shell .fv-gp-authMedia{box-shadow:0 40px 110px rgba(0,0,0,.42);}
.fitvala-guest-shell .fv-gp-authOverlay{background:linear-gradient(180deg, rgba(5,9,18,0) 0%, rgba(5,9,18,.28) 28%, rgba(5,9,18,.88) 100%);}
.fitvala-guest-shell .fv-public-pricingHero__callout{border:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg, rgba(16,193,123,.06) 0%, rgba(10,12,18,.68) 28%, rgba(10,12,18,.86) 100%);box-shadow:0 36px 110px rgba(0,0,0,.34);}
.fitvala-guest-shell .fv-public-planCard{background:linear-gradient(180deg, rgba(255,255,255,.03) 0%, rgba(13,16,28,.88) 100%);}
.fitvala-guest-shell .fv-public-planCard .fv-gp-plan__cta .fv-btn--ghost{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1);}
.fitvala-guest-shell .fv-public-checkoutNote{color:rgba(255,255,255,.64);}
@media (max-width: 980px){
  .fitvala-guest-shell .fv-gp-actions--auth .fv-btn--ghost{display:none;}
  .fitvala-guest-shell .fv-gp-actions--auth{gap:0;}
}


/* =========================================================
   Auth / pricing background alignment fix — V1.17.24.66
   Keep the aurora as a page-level treatment, not per-card gradients.
   ========================================================= */
.fitvala-guest-shell .fv-gp-page{
  position:relative;
  background:
    radial-gradient(1200px 560px at 16% 8%, rgba(16,193,123,.10), transparent 46%),
    radial-gradient(900px 420px at 84% 12%, rgba(16,169,107,.08), transparent 42%),
    linear-gradient(180deg, rgba(8,12,20,.72) 0%, rgba(8,12,20,.82) 100%);
}

.fitvala-guest-shell .fv-gp-formCard,
.fitvala-guest-shell .fv-public-pricingHero__callout,
.fitvala-guest-shell .fv-public-planCard{
  background:rgba(10,16,28,.76) !important;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 24px 70px rgba(0,0,0,.30);
}

.fitvala-guest-shell .fv-gp-formCard::before,
.fitvala-guest-shell .fv-public-pricingHero__callout::before,
.fitvala-guest-shell .fv-public-planCard::before{
  content:none !important;
  background:none !important;
}
