:root {
  --hvf-bg: #050407;
  --hvf-bg-soft: #0c080e;
  --hvf-panel: rgba(18, 11, 19, 0.82);
  --hvf-panel-strong: #110b12;
  --hvf-line: rgba(255, 255, 255, 0.11);
  --hvf-line-pink: rgba(243, 63, 137, 0.36);
  --hvf-text: #fff9f4;
  --hvf-muted: #b9afb8;
  --hvf-pink: #f33f89;
  --hvf-pink-deep: #b90755;
  --hvf-gold: #f0ac4b;
  --hvf-purple: #9e59ff;
  --hvf-radius: 22px;
  --hvf-serif: Georgia, 'Times New Roman', serif;
  --hvf-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.hvf-home {
  margin: 0;
  background:
    radial-gradient(circle at 75% 8%, rgba(186, 13, 91, 0.12), transparent 28rem),
    radial-gradient(circle at 15% 40%, rgba(94, 31, 111, 0.1), transparent 24rem),
    var(--hvf-bg);
  color: var(--hvf-text);
  font-family: var(--hvf-sans);
  font-size: 16px;
  line-height: 1.55;
}

body.hvf-home::before {
  position: fixed;
  inset: 0;
  z-index: -1;
  content: '';
  opacity: 0.28;
  pointer-events: none;
  background-image: linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 40px 40px;
  mask-image: linear-gradient(to bottom, black, transparent 80%);
}

.hvf-home a { color: inherit; text-decoration: none; }
.hvf-home img { display: block; max-width: 100%; }
.hvf-home button, .hvf-home a { -webkit-tap-highlight-color: transparent; }
.hvf-home :focus-visible { outline: 3px solid var(--hvf-gold); outline-offset: 4px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.hvf-skip {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 1000;
  padding: 10px 14px;
  border-radius: 8px;
  background: white;
  color: #111 !important;
  transform: translateY(-150%);
}
.hvf-skip:focus { transform: translateY(0); }

.hvf-shell { width: min(1500px, calc(100% - 32px)); margin: 0 auto; }

.hvf-header {
  position: sticky;
  top: 14px;
  z-index: 100;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  min-height: 72px;
  margin-top: 14px;
  padding: 0 22px;
  border: 1px solid var(--hvf-line);
  border-radius: 18px;
  background: rgba(5, 4, 7, 0.84);
  box-shadow: 0 18px 50px rgba(0,0,0,.35);
  backdrop-filter: blur(18px);
}

.hvf-brand { display: inline-flex; align-items: center; gap: 8px; font-size: 1.3rem; letter-spacing: -.04em; white-space: nowrap; }
.hvf-brand strong { font-weight: 800; }
.hvf-brand b { color: var(--hvf-gold); font-weight: 800; }
.hvf-brand-crown { color: var(--hvf-pink); font-size: 1.55rem; filter: drop-shadow(0 0 9px rgba(243,63,137,.7)); }

.hvf-nav { display: flex; justify-content: center; gap: clamp(18px, 2.4vw, 38px); font-size: .92rem; color: var(--hvf-muted); }
.hvf-nav a { position: relative; padding: 25px 0 23px; transition: color .2s ease; }
.hvf-nav a:hover, .hvf-nav a.is-active { color: white; }
.hvf-nav a.is-active::after { position: absolute; right: 0; bottom: 13px; left: 0; height: 2px; content: ''; background: var(--hvf-pink); box-shadow: 0 0 12px var(--hvf-pink); }

.hvf-header-actions { display: flex; align-items: center; gap: 15px; font-size: .92rem; }
.hvf-login { color: var(--hvf-muted); }
.hvf-login:hover { color: white; }

.hvf-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: 54px;
  padding: 0 28px;
  border: 1px solid rgba(255, 116, 173, 0.6);
  border-radius: 11px;
  background: linear-gradient(135deg, #f64d94, #c00859 72%);
  box-shadow: 0 12px 30px rgba(211, 12, 93, .25), inset 0 1px rgba(255,255,255,.25);
  color: white;
  font-weight: 750;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.hvf-button:hover { transform: translateY(-2px); box-shadow: 0 18px 38px rgba(211, 12, 93, .38), inset 0 1px rgba(255,255,255,.3); }
.hvf-button-small { min-height: 42px; padding: 0 19px; border-radius: 9px; }
.hvf-button-ghost { border-color: var(--hvf-line); background: rgba(255,255,255,.035); box-shadow: none; }
.hvf-button-ghost:hover { border-color: rgba(255,255,255,.3); box-shadow: 0 14px 30px rgba(0,0,0,.22); }
.hvf-menu-toggle { display: none; width: 44px; height: 44px; padding: 11px; border: 1px solid var(--hvf-line); border-radius: 10px; background: transparent; }
.hvf-menu-toggle span:not(.screen-reader-text) { display: block; height: 2px; margin: 4px 0; border-radius: 2px; background: white; }

.hvf-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(520px, 1.18fr);
  align-items: center;
  min-height: 720px;
  padding: 70px 38px 45px;
  overflow: hidden;
}
.hvf-hero::after { position: absolute; right: 4%; bottom: 2%; width: 46%; height: 1px; content: ''; background: linear-gradient(90deg, transparent, var(--hvf-pink), transparent); opacity: .5; }
.hvf-hero-copy { position: relative; z-index: 4; max-width: 650px; }
.hvf-age { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 26px; color: var(--hvf-muted); font-size: .76rem; letter-spacing: .03em; text-transform: uppercase; }
.hvf-age strong { padding: 6px 9px; border: 1px solid rgba(243,63,137,.4); border-radius: 8px; color: var(--hvf-pink); font-size: .9rem; }
.hvf-eyebrow { margin: 0 0 10px; color: var(--hvf-pink); font-size: .76rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.hvf-hero h1, .hvf-section-heading h2, .hvf-cta h2 { margin: 0; font-family: var(--hvf-serif); font-weight: 500; letter-spacing: -.045em; line-height: .98; }
.hvf-hero h1 { max-width: 650px; font-size: clamp(3.2rem, 5vw, 6.3rem); }
.hvf-hero h1 em { display: block; color: var(--hvf-gold); font-style: normal; text-shadow: 0 0 40px rgba(240,172,75,.13); }
.hvf-lead { max-width: 570px; margin: 25px 0 0; color: var(--hvf-muted); font-size: clamp(1rem, 1.4vw, 1.18rem); }
.hvf-hero-actions { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 34px; }

.hvf-trust { display: flex; flex-wrap: wrap; gap: 25px; margin: 37px 0 0; padding: 0; color: #ded5dc; font-size: .78rem; list-style: none; }
.hvf-trust li { display: flex; align-items: center; gap: 8px; }
.hvf-trust span { color: var(--hvf-gold); font-size: 1.05rem; }

.hvf-hero-visual { position: relative; min-height: 630px; perspective: 1100px; }
.hvf-hero-visual::before { position: absolute; top: 12%; right: -4%; width: 92%; height: 78%; content: ''; background: radial-gradient(circle, rgba(229,19,103,.25), rgba(87,16,75,.08) 43%, transparent 70%); filter: blur(35px); }
.hvf-glow { position: absolute; border-radius: 999px; filter: blur(2px); opacity: .7; }
.hvf-glow-one { top: 8%; right: 12%; width: 2px; height: 72%; background: linear-gradient(transparent, var(--hvf-pink), transparent); box-shadow: 0 0 26px 8px rgba(243,63,137,.3); transform: rotate(13deg); }
.hvf-glow-two { right: 8%; bottom: 12%; width: 300px; height: 2px; background: linear-gradient(90deg, transparent, var(--hvf-gold), transparent); box-shadow: 0 0 28px 8px rgba(240,172,75,.25); transform: rotate(-5deg); }

.hvf-device { position: absolute; overflow: hidden; border: 2px solid rgba(255, 180, 208, .4); background: #100a11; box-shadow: 0 40px 85px rgba(0,0,0,.7), 0 0 38px rgba(220,19,101,.14), inset 0 0 0 8px #0b080c; }
.hvf-device img { width: 100%; height: 100%; object-fit: cover; }
.hvf-device-desktop { top: 4%; right: 19%; width: 66%; height: 76%; border-radius: 28px; transform: rotate(5deg) translateZ(-20px); }
.hvf-device-desktop img { object-position: 14% center; }
.hvf-device-tablet { right: 3%; bottom: 4%; z-index: 2; width: 50%; height: 68%; border-radius: 28px; transform: rotate(-2deg); }
.hvf-device-tablet img { object-position: 52% center; }
.hvf-device-phone { right: -5%; bottom: 2%; z-index: 3; width: 26%; height: 58%; border-width: 3px; border-radius: 32px; transform: rotate(3deg) translateZ(30px); }
.hvf-device-phone img { object-position: 88% center; }
.hvf-device-phone::before { position: absolute; top: 9px; left: 50%; z-index: 4; width: 45%; height: 14px; border-radius: 0 0 12px 12px; content: ''; background: #080609; transform: translateX(-50%); }

.hvf-profile-chip { position: absolute; right: 18px; bottom: 18px; left: 18px; display: flex; align-items: center; gap: 10px; padding: 12px 14px; border: 1px solid rgba(255,255,255,.15); border-radius: 12px; background: rgba(8,5,9,.78); box-shadow: 0 12px 30px rgba(0,0,0,.4); backdrop-filter: blur(10px); }
.hvf-profile-chip > span { display: grid; width: 32px; height: 32px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: var(--hvf-pink); }
.hvf-profile-chip div { display: grid; min-width: 0; }
.hvf-profile-chip small { color: var(--hvf-muted); font-size: .66rem; }
.hvf-profile-chip strong { overflow: hidden; font-size: .76rem; text-overflow: ellipsis; white-space: nowrap; }
.hvf-device-desktop .hvf-profile-chip { right: 25%; }
.hvf-heart { position: absolute; right: 12px; bottom: 17px; color: var(--hvf-pink); font-family: var(--hvf-serif); font-size: 4.6rem; line-height: 1; text-shadow: 0 0 12px var(--hvf-pink), 0 0 30px var(--hvf-pink); transform: rotate(-8deg); }

.hvf-explore { padding: 60px 28px 45px; border-top: 1px solid var(--hvf-line); }
.hvf-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 28px; }
.hvf-section-heading h2, .hvf-cta h2 { font-size: clamp(2.5rem, 4vw, 4.6rem); }
.hvf-section-heading > a { color: var(--hvf-muted); font-size: .9rem; }
.hvf-section-heading > a:hover { color: white; }
.hvf-category-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.hvf-category { position: relative; min-height: 390px; overflow: hidden; border: 1px solid var(--hvf-line); border-radius: var(--hvf-radius); background: var(--hvf-panel); }
.hvf-category img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease, filter .5s ease; }
.hvf-category-one img { object-position: 10% center; }
.hvf-category-two img { object-position: 52% center; }
.hvf-category-three img { object-position: 92% center; }
.hvf-category-shade { position: absolute; inset: 0; background: linear-gradient(to top, rgba(5,3,6,.98), rgba(5,3,6,.08) 68%); }
.hvf-category-copy { position: absolute; right: 72px; bottom: 28px; left: 24px; display: grid; }
.hvf-category-copy strong { font-family: var(--hvf-serif); font-size: 2rem; font-weight: 500; }
.hvf-category-copy small { color: var(--hvf-muted); font-size: .86rem; }
.hvf-round-arrow { position: absolute; right: 22px; bottom: 28px; display: grid; width: 40px; height: 40px; place-items: center; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; background: var(--hvf-pink-deep); }
.hvf-category:hover { border-color: var(--hvf-line-pink); }
.hvf-category:hover img { transform: scale(1.035); filter: saturate(1.12); }

.hvf-assurances { display: grid; grid-template-columns: repeat(4, 1fr); margin: 22px 28px 70px; border: 1px solid var(--hvf-line); border-radius: 18px; background: rgba(255,255,255,.018); }
.hvf-assurances article { display: flex; align-items: center; gap: 14px; padding: 23px; border-right: 1px solid var(--hvf-line); }
.hvf-assurances article:last-child { border-right: 0; }
.hvf-assurances article > span { color: var(--hvf-gold); font-size: 1.45rem; }
.hvf-assurances article div { display: grid; }
.hvf-assurances strong { font-size: .86rem; }
.hvf-assurances small { color: var(--hvf-muted); font-size: .73rem; }

.hvf-payment-bar {
  display: grid;
  grid-template-columns: 1.5fr repeat(3, auto) .8fr;
  align-items: center;
  gap: clamp(18px, 3vw, 48px);
  margin: 15px 28px 0;
  padding: 20px 24px;
  border: 1px solid var(--hvf-line);
  border-radius: 16px;
  background: rgba(255,255,255,.018);
}
.hvf-payment-bar > div { display: grid; }
.hvf-payment-bar small { color: var(--hvf-muted); font-size: .67rem; letter-spacing: .09em; text-transform: uppercase; }
.hvf-payment-bar strong { font-size: .82rem; }
.hvf-payment-bar > a { justify-self: end; color: var(--hvf-pink); font-size: .8rem; font-weight: 700; }
.hvf-coin { display: inline-flex; align-items: center; gap: 7px; color: var(--hvf-muted); font-size: 1.05rem; }
.hvf-coin b { color: var(--hvf-text); font-size: .86rem; }
.hvf-coin-usdt { color: #34d399; }
.hvf-coin-btc { color: #f59e0b; }
.hvf-coin-eth { color: #8097ff; }

.hvf-inner-page .hvf-shell { min-height: 100vh; }
.hvf-header-inner { position: relative; top: 0; }
.hvf-directory-page { min-height: 780px; padding: 55px 18px 20px; }
.hvf-directory-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin: 0 0 22px; }
.hvf-directory-heading h1, .hvf-auth-panel h1 { margin: 0; font-family: var(--hvf-serif); font-size: clamp(3rem, 5vw, 5.6rem); font-weight: 500; letter-spacing: -.045em; line-height: 1; }
.hvf-directory-heading h1 em, .hvf-auth-panel h1 em { color: var(--hvf-gold); font-style: normal; }
.hvf-directory-heading p:not(.hvf-eyebrow), .hvf-auth-panel > p { margin: 12px 0 0; color: var(--hvf-muted); }
.hvf-filter-button { display: inline-flex; align-items: center; gap: 9px; min-height: 43px; padding: 0 16px; border: 1px solid rgba(240,172,75,.3); border-radius: 9px; color: var(--hvf-gold) !important; font-size: .8rem; }
.hvf-filter-chips { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 24px; }
.hvf-filter-chips a { min-width: 74px; padding: 9px 14px; border: 1px solid var(--hvf-line); border-radius: 8px; color: var(--hvf-muted); font-size: .78rem; text-align: center; }
.hvf-filter-chips a:hover, .hvf-filter-chips a.is-active { border-color: rgba(243,63,137,.46); background: rgba(243,63,137,.08); color: white; }
.hvf-member-directory { min-height: 390px; padding: 8px 0 20px; }
.hvf-directory-assurances { margin: 16px 0 45px; }
.hvf-preview-profiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; min-height: 390px; padding: 8px 0 20px; }
.hvf-preview-profile { position: relative; min-height: 420px; overflow: hidden; border: 1px solid var(--hvf-line); border-radius: 15px; background: var(--hvf-panel-strong); }
.hvf-preview-profile img { width: 100%; height: 100%; object-fit: cover; }
.hvf-preview-profile::after { position: absolute; inset: 0; content: ''; background: linear-gradient(to top, rgba(5,3,6,.96), transparent 55%); }
.hvf-preview-profile div { position: absolute; z-index: 2; right: 16px; bottom: 16px; left: 16px; display: grid; }
.hvf-preview-profile strong { font-family: var(--hvf-serif); font-size: 1.3rem; }
.hvf-preview-profile small { color: #5ce38b; font-size: .7rem; }

/* Ultimate Member directory restyle */
.hvf-home .um { max-width: none !important; color: var(--hvf-text); }
.hvf-home .um-directory .um-members-wrapper .um-members.um-members-grid { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 13px; }
.hvf-home .um-directory .um-members-wrapper .um-members.um-members-grid .um-member { width: auto !important; margin: 0 !important; overflow: hidden; border: 1px solid var(--hvf-line) !important; border-radius: 15px; background: var(--hvf-panel-strong); box-shadow: none; }
.hvf-home .um-directory .um-member-photo a { display: block; overflow: hidden; }
.hvf-home .um-directory .um-member-photo img { width: 100%; aspect-ratio: .78; object-fit: cover; border: 0 !important; border-radius: 0 !important; }
.hvf-home .um-directory .um-member-card { padding: 15px !important; color: var(--hvf-text); }
.hvf-home .um-directory .um-member-name a { color: var(--hvf-text) !important; font-family: var(--hvf-serif); font-size: 1.15rem; }
.hvf-home .um-directory .um-members-pagi span.current, .hvf-home .um-directory .um-members-pagi span:hover { background: var(--hvf-pink) !important; color: white !important; }
.hvf-home .um-directory .um-member-directory-header-row, .hvf-home .um-directory .um-members-wrapper { background: transparent; }

.hvf-auth-layout {
  display: grid;
  grid-template-columns: minmax(330px, .82fr) minmax(360px, 1fr) minmax(260px, .62fr);
  min-height: 790px;
  margin: 28px 0 45px;
  overflow: hidden;
  border: 1px solid var(--hvf-line);
  border-radius: 22px;
  background: rgba(11,7,12,.84);
}
.hvf-auth-panel { padding: clamp(30px, 4vw, 58px); }
.hvf-auth-panel h1 { font-size: clamp(3rem, 4.3vw, 5rem); }
.hvf-real-form { margin-top: 30px; }
.hvf-auth-photo { position: relative; min-height: 650px; overflow: hidden; }
.hvf-auth-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% center; }
.hvf-auth-benefits { display: flex; flex-direction: column; justify-content: center; gap: 34px; padding: 38px; background: linear-gradient(135deg, rgba(243,63,137,.05), rgba(240,172,75,.05)); }
.hvf-auth-benefits article { display: flex; gap: 14px; align-items: flex-start; }
.hvf-auth-benefits article > span { display: grid; width: 38px; height: 38px; flex: 0 0 auto; place-items: center; border: 1px solid rgba(240,172,75,.45); border-radius: 50%; color: var(--hvf-gold); }
.hvf-auth-benefits article div { display: grid; }
.hvf-auth-benefits strong { font-size: .9rem; }
.hvf-auth-benefits small { color: var(--hvf-muted); font-size: .76rem; }
.hvf-auth-switch { color: var(--hvf-muted); font-size: .8rem; text-align: center; }
.hvf-auth-switch a { color: var(--hvf-pink); }
.hvf-preview-form { display: grid; gap: 16px; margin-top: 28px; }
.hvf-preview-form label { display: grid; gap: 7px; color: var(--hvf-text); font-size: .76rem; font-weight: 650; }
.hvf-preview-form input:not([type=checkbox]) { width: 100%; min-height: 49px; padding: 0 14px; border: 1px solid var(--hvf-line); border-radius: 8px; background: rgba(255,255,255,.025); color: white; }
.hvf-preview-form input:focus { border-color: var(--hvf-pink); outline: none; }
.hvf-preview-form .hvf-check { display: flex; grid-template-columns: auto 1fr; align-items: center; color: var(--hvf-muted); font-weight: 400; }
.hvf-preview-form .hvf-check input { accent-color: var(--hvf-pink); }

/* Ultimate Member forms */
.hvf-real-form .um { margin: 0 !important; }
.hvf-real-form .um-form { color: var(--hvf-text); }
.hvf-real-form .um-field { padding-top: 15px; }
.hvf-real-form .um-field-label label { color: var(--hvf-text) !important; font-size: .78rem !important; font-weight: 650 !important; }
.hvf-real-form input[type=text], .hvf-real-form input[type=password], .hvf-real-form input[type=email], .hvf-real-form input[type=tel], .hvf-real-form select, .hvf-real-form textarea {
  min-height: 48px !important;
  border: 1px solid var(--hvf-line) !important;
  border-radius: 8px !important;
  background: rgba(255,255,255,.025) !important;
  color: var(--hvf-text) !important;
}
.hvf-real-form input:focus, .hvf-real-form select:focus, .hvf-real-form textarea:focus { border-color: var(--hvf-pink) !important; }
.hvf-real-form .um-button { min-height: 49px !important; border-radius: 8px !important; background: linear-gradient(135deg, #f64d94, #c00859) !important; box-shadow: 0 12px 28px rgba(211,12,93,.22) !important; font-weight: 700 !important; }
.hvf-real-form .um-button.um-alt { border: 1px solid var(--hvf-line) !important; background: rgba(255,255,255,.035) !important; box-shadow: none !important; color: white !important; }
.hvf-real-form .um-link-alt, .hvf-real-form .um-field-checkbox-option, .hvf-real-form .um-field-radio-option { color: var(--hvf-muted) !important; }
.hvf-real-form .um-icon-android-checkbox-outline-blank, .hvf-real-form .um-icon-android-radio-button-off { color: var(--hvf-muted) !important; }
.hvf-real-form .um-icon-android-checkbox-outline, .hvf-real-form .um-icon-android-radio-button-on { color: var(--hvf-pink) !important; }

/* Flow-driven public main */
.hvf-flow-page {
  background:
    radial-gradient(circle at 82% 33%, rgba(221,18,99,.17), transparent 28rem),
    radial-gradient(circle at 45% 75%, rgba(115,25,103,.1), transparent 25rem),
    #040305 !important;
}
.hvf-flow-shell { width: min(1580px, calc(100% - 24px)); }
.hvf-flow-layout { display: grid; grid-template-columns: 184px minmax(0, 1fr); gap: 14px; margin-top: 14px; }
.hvf-flow-rail { position: sticky; top: 100px; align-self: start; min-height: calc(100vh - 120px); padding: 14px 10px; border: 1px solid var(--hvf-line); border-radius: 17px; background: linear-gradient(180deg, rgba(22,10,18,.9), rgba(7,5,8,.92)); box-shadow: 0 25px 55px rgba(0,0,0,.34); }
.hvf-flow-rail nav { display: grid; gap: 5px; }
.hvf-flow-rail nav a { display: flex; align-items: center; gap: 11px; min-height: 43px; padding: 0 11px; border-radius: 9px; color: var(--hvf-muted); font-size: .79rem; }
.hvf-flow-rail nav a > span { display: grid; width: 24px; place-items: center; color: #eee2eb; font-size: 1.05rem; }
.hvf-flow-rail nav a:hover, .hvf-flow-rail nav a.is-active { background: linear-gradient(90deg, rgba(243,63,137,.22), rgba(243,63,137,.03)); color: #ff8fbd; }
.hvf-flow-vip { display: grid; margin-top: 25px; padding: 20px 13px 14px; border: 1px solid rgba(243,63,137,.35); border-radius: 13px; background: radial-gradient(circle at 80% 10%, rgba(240,172,75,.12), transparent 45%), rgba(255,255,255,.018); text-align: center; }
.hvf-flow-vip > span { color: var(--hvf-gold); font-size: 2.2rem; line-height: 1; filter: drop-shadow(0 0 12px rgba(240,172,75,.35)); }
.hvf-flow-vip strong { margin-top: 5px; font-family: var(--hvf-serif); font-size: 1.1rem; font-weight: 500; }
.hvf-flow-vip small { margin: 7px 0 13px; color: var(--hvf-muted); font-size: .65rem; line-height: 1.45; }
.hvf-flow-vip a { padding: 9px 8px; border-radius: 8px; background: linear-gradient(135deg, #ef4b91, #b90951); font-size: .7rem; font-weight: 750; text-transform: uppercase; }
.hvf-flow-language { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 15px; padding: 12px; border: 1px solid var(--hvf-line); border-radius: 10px; color: var(--hvf-muted); font-size: .75rem; }
.hvf-flow-content { min-width: 0; overflow: hidden; border: 1px solid var(--hvf-line); border-radius: 18px; background: linear-gradient(145deg, rgba(10,6,11,.7), rgba(3,3,4,.86)); }
.hvf-flow-hero { grid-template-columns: minmax(390px, .8fr) minmax(570px, 1.2fr); min-height: 700px; padding: 48px 24px 30px 46px; }
.hvf-flow-hero::before { position: absolute; top: 12%; right: 2%; width: 56%; height: 58%; content: ''; background: radial-gradient(circle, rgba(236,22,111,.2), transparent 65%); filter: blur(22px); }
.hvf-flow-copy { position: relative; z-index: 5; }
.hvf-flow-copy h1 { font-size: clamp(3.4rem, 5vw, 6.3rem); }
.hvf-flow-copy h1 em { color: #ffb65b; }
.hvf-flow-visual { min-height: 620px; }
.hvf-flow-visual .hvf-device-desktop { top: 3%; right: 22%; width: 68%; height: 76%; transform: rotate(5deg) translateZ(-20px); }
.hvf-flow-visual .hvf-device-tablet { right: 5%; bottom: 2%; width: 51%; height: 68%; transform: rotate(-2deg); }
.hvf-flow-visual .hvf-device-phone { right: -1%; bottom: 0; width: 25%; height: 57%; transform: rotate(3deg) translateZ(30px); }
.hvf-flow-orbit { position: absolute; z-index: -1; border: 1px solid rgba(255,68,149,.42); border-radius: 50%; pointer-events: none; }
.hvf-flow-orbit-one { top: 3%; right: -20%; width: 91%; height: 72%; box-shadow: 0 0 36px rgba(243,63,137,.12), inset 0 0 22px rgba(243,63,137,.1); transform: rotate(-19deg); }
.hvf-flow-orbit-two { right: -12%; bottom: 1%; width: 73%; height: 40%; border-color: rgba(240,172,75,.26); transform: rotate(14deg); }
.hvf-flow-phone-label { position: absolute; right: 9px; bottom: 13px; left: 9px; display: flex; align-items: center; gap: 7px; padding: 8px; border: 1px solid rgba(255,255,255,.16); border-radius: 10px; background: rgba(6,3,7,.76); backdrop-filter: blur(8px); }
.hvf-flow-phone-label span { color: var(--hvf-pink); font-size: 1.5rem; text-shadow: 0 0 10px var(--hvf-pink); }
.hvf-flow-phone-label strong { font-size: .67rem; }
.hvf-flow-proof { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0 18px 18px; border: 1px solid var(--hvf-line); border-radius: 15px; background: rgba(255,255,255,.018); }
.hvf-flow-proof article { display: flex; align-items: center; gap: 12px; min-height: 82px; padding: 14px 18px; border-right: 1px solid var(--hvf-line); }
.hvf-flow-proof article:last-child { border-right: 0; }
.hvf-flow-proof article > span { color: var(--hvf-gold); font-size: 1.4rem; }
.hvf-flow-proof article div { display: grid; }
.hvf-flow-proof strong { font-size: .78rem; }
.hvf-flow-proof small { color: var(--hvf-muted); font-size: .67rem; }
.hvf-flow-profiles { display: grid; grid-template-columns: .75fr 1.25fr; gap: 35px; margin: 0 18px 18px; padding: 45px; overflow: hidden; border: 1px solid var(--hvf-line); border-radius: 17px; background: radial-gradient(circle at 90% 0, rgba(243,63,137,.1), transparent 40%), #080609; }
.hvf-flow-profiles h2 { margin: 0; font-family: var(--hvf-serif); font-size: clamp(2.7rem, 4vw, 4.7rem); font-weight: 500; letter-spacing: -.04em; line-height: 1; }
.hvf-flow-profiles h2 em { color: #db8aff; font-style: normal; }
.hvf-flow-profile-links { display: grid; }
.hvf-flow-profile-links a { display: grid; grid-template-columns: 45px 1fr auto; align-items: center; gap: 14px; padding: 18px 10px; border-bottom: 1px solid var(--hvf-line); }
.hvf-flow-profile-links a:last-child { border-bottom: 0; }
.hvf-flow-profile-links span { color: var(--hvf-pink); font-size: .72rem; }
.hvf-flow-profile-links strong { font-family: var(--hvf-serif); font-size: 1.25rem; font-weight: 500; }
.hvf-flow-profile-links b { color: var(--hvf-gold); font-size: 1.3rem; font-weight: 400; transition: transform .2s ease; }
.hvf-flow-profile-links a:hover b { transform: translateX(5px); }

/* Universe-selection main */
body.hvf-universe-page { min-width: 320px; }
.hvf-universe {
  position: relative;
  width: min(1540px, 100%);
  min-height: 100vh;
  margin: 0 auto;
  padding: 22px 48px 30px;
  overflow: hidden;
  isolation: isolate;
}
.hvf-universe::before {
  position: absolute;
  inset: 0;
  z-index: -3;
  content: '';
  background:
    radial-gradient(circle at 14% 44%, rgba(210,22,106,.16), transparent 25%),
    radial-gradient(circle at 50% 48%, rgba(128,67,226,.11), transparent 24%),
    radial-gradient(circle at 86% 44%, rgba(228,137,54,.13), transparent 24%),
    linear-gradient(180deg, #050306, #020203);
}
.hvf-universe-curtain { position: absolute; top: -4%; z-index: -1; width: 28%; height: 64%; opacity: .28; filter: blur(.2px); pointer-events: none; }
.hvf-curtain-left { left: -10%; background: linear-gradient(125deg, transparent 30%, rgba(159,19,83,.55) 49%, rgba(25,5,17,.14) 64%, transparent 75%); transform: skewX(-11deg); }
.hvf-curtain-right { right: -10%; background: linear-gradient(235deg, transparent 30%, rgba(159,19,83,.55) 49%, rgba(25,5,17,.14) 64%, transparent 75%); transform: skewX(11deg); }
.hvf-universe-header { position: relative; display: flex; align-items: center; justify-content: center; min-height: 96px; }
.hvf-universe-brand { display: inline-flex; align-items: center; gap: 8px; font-size: clamp(2rem, 3.2vw, 3.5rem); font-weight: 300; letter-spacing: .03em; }
.hvf-universe-brand strong { color: #ff65b0; font-weight: 300; text-shadow: 0 0 22px rgba(255,101,176,.4); }
.hvf-universe-brand b { color: white; font-weight: 300; }
.hvf-universe-brand span:last-child { color: #ffc98d; }
.hvf-universe-crown { position: absolute; top: -2px; left: 50%; color: var(--hvf-pink); font-size: 1.8rem; filter: drop-shadow(0 0 10px rgba(243,63,137,.6)); transform: translateX(-10%); }
.hvf-universe-top-actions { position: absolute; top: 30px; right: 0; display: flex; align-items: center; gap: 18px; color: var(--hvf-muted); font-size: .76rem; }
.hvf-universe-top-actions a:hover { color: white; }
.hvf-universe-top-actions span { padding-left: 12px; border-left: 1px solid var(--hvf-line); }
.hvf-universe-intro { max-width: 820px; margin: 30px auto 28px; text-align: center; }
.hvf-universe-intro h1 { margin: 0; font-family: var(--hvf-serif); font-size: clamp(3.3rem, 5.6vw, 6rem); font-weight: 400; letter-spacing: -.045em; line-height: 1; }
.hvf-universe-intro h1 em { color: #d99cff; font-style: normal; text-shadow: 0 0 34px rgba(176,88,255,.22); }
.hvf-universe-ornament { display: block; margin: 18px 0 10px; color: #d690ec; letter-spacing: .18em; }
.hvf-universe-intro > p:last-child { max-width: 600px; margin: 0 auto; color: var(--hvf-muted); font-size: .94rem; }
.hvf-universe-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; max-width: 1420px; margin: 0 auto; }
.hvf-universe-card { position: relative; min-height: 540px; overflow: hidden; border: 1px solid var(--hvf-line); border-radius: 23px; background: #0c080d; box-shadow: 0 28px 70px rgba(0,0,0,.42); transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.hvf-universe-card > img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease, filter .55s ease; }
.hvf-universe-fan > img { object-position: 8% center; }
.hvf-universe-solo > img { object-position: 49% center; }
.hvf-universe-duo > img { object-position: 92% center; }
.hvf-universe-card-shade { position: absolute; inset: 0; background: linear-gradient(to top, rgba(4,2,5,1) 5%, rgba(5,3,7,.92) 31%, rgba(5,3,7,.12) 72%); }
.hvf-universe-card::after { position: absolute; inset: 0; border-radius: inherit; content: ''; box-shadow: inset 0 0 0 1px transparent, inset 0 -90px 70px rgba(0,0,0,.32); pointer-events: none; }
.hvf-universe-fan { border-color: rgba(243,63,137,.38); }
.hvf-universe-solo { border-color: rgba(162,89,255,.38); }
.hvf-universe-duo { border-color: rgba(240,172,75,.38); }
.hvf-universe-icon { position: absolute; bottom: 200px; left: 50%; z-index: 2; display: grid; width: 76px; height: 76px; place-items: center; border: 1px solid currentColor; border-radius: 50%; background: rgba(9,5,10,.76); font-family: var(--hvf-serif); font-size: 2.2rem; backdrop-filter: blur(10px); transform: translateX(-50%); }
.hvf-universe-fan .hvf-universe-icon { color: #ff65ad; box-shadow: 0 0 24px rgba(243,63,137,.22); }
.hvf-universe-solo .hvf-universe-icon { color: #bd7aff; box-shadow: 0 0 24px rgba(158,89,255,.22); }
.hvf-universe-duo .hvf-universe-icon { color: #ffc06d; box-shadow: 0 0 24px rgba(240,172,75,.22); }
.hvf-universe-card-copy { position: absolute; right: 22px; bottom: 22px; left: 22px; z-index: 2; display: grid; text-align: center; }
.hvf-universe-card-copy > strong { font-family: var(--hvf-serif); font-size: clamp(1.65rem, 2.3vw, 2.35rem); font-weight: 400; letter-spacing: -.025em; text-transform: uppercase; }
.hvf-universe-card-copy > small { min-height: 48px; margin: 5px 0 16px; color: var(--hvf-muted); font-size: .8rem; }
.hvf-universe-action { display: flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 18px; border: 1px solid rgba(255,255,255,.22); border-radius: 9px; color: white; font-size: .8rem; font-weight: 720; letter-spacing: .035em; text-transform: uppercase; }
.hvf-universe-action b { position: absolute; right: 18px; font-size: 1.3rem; font-weight: 400; }
.hvf-universe-fan .hvf-universe-action { background: linear-gradient(135deg, #a71659, #d82e78); }
.hvf-universe-solo .hvf-universe-action { background: linear-gradient(135deg, #57308a, #8152bd); }
.hvf-universe-duo .hvf-universe-action { background: linear-gradient(135deg, #8b522d, #c77d43); }
.hvf-universe-card:hover { transform: translateY(-5px); }
.hvf-universe-card:hover > img { transform: scale(1.035); filter: saturate(1.1); }
.hvf-universe-fan:hover { border-color: rgba(243,63,137,.8); box-shadow: 0 32px 80px rgba(184,16,84,.2); }
.hvf-universe-solo:hover { border-color: rgba(162,89,255,.8); box-shadow: 0 32px 80px rgba(98,49,176,.2); }
.hvf-universe-duo:hover { border-color: rgba(240,172,75,.8); box-shadow: 0 32px 80px rgba(180,99,31,.18); }
.hvf-universe-trust { display: grid; grid-template-columns: repeat(4, 1fr); max-width: 1320px; margin: 28px auto 0; }
.hvf-universe-trust article { display: flex; align-items: center; justify-content: center; gap: 12px; padding: 12px 22px; border-right: 1px solid var(--hvf-line); }
.hvf-universe-trust article:last-child { border-right: 0; }
.hvf-universe-trust article > span { color: #c47bea; font-size: 1.35rem; }
.hvf-universe-trust article div { display: grid; }
.hvf-universe-trust strong { font-size: .76rem; text-transform: uppercase; }
.hvf-universe-trust small { color: var(--hvf-muted); font-size: .68rem; }
.hvf-universe-login { margin: 20px 0 0; color: var(--hvf-muted); font-size: .78rem; text-align: center; }
.hvf-universe-login a { color: var(--hvf-pink); }

.hvf-cta { position: relative; margin: 30px 28px 70px; padding: 75px 30px; overflow: hidden; border: 1px solid var(--hvf-line-pink); border-radius: 26px; background: radial-gradient(circle at 80% 20%, rgba(243,63,137,.18), transparent 35%), linear-gradient(135deg, #120a12, #080609); text-align: center; }
.hvf-cta::before, .hvf-cta::after { position: absolute; width: 280px; height: 280px; border: 1px solid rgba(243,63,137,.18); border-radius: 50%; content: ''; }
.hvf-cta::before { top: -180px; left: -100px; }
.hvf-cta::after { right: -80px; bottom: -210px; }
.hvf-cta > * { position: relative; z-index: 1; }
.hvf-cta p:not(.hvf-eyebrow) { max-width: 600px; margin: 18px auto 0; color: var(--hvf-muted); }
.hvf-cta .hvf-hero-actions { justify-content: center; }

.hvf-footer { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 25px; padding: 26px 28px 40px; border-top: 1px solid var(--hvf-line); color: var(--hvf-muted); font-size: .78rem; }
.hvf-footer .hvf-brand { color: var(--hvf-text); font-size: 1rem; }
.hvf-footer p { margin: 0; text-align: center; }
.hvf-footer > div { display: flex; justify-content: flex-end; gap: 18px; }
.hvf-footer > div a:hover { color: white; }

@media (max-width: 1180px) {
  .hvf-hero { grid-template-columns: .9fr 1.1fr; padding-right: 0; padding-left: 20px; }
  .hvf-hero h1 { font-size: clamp(3rem, 5vw, 5rem); }
  .hvf-hero-visual { min-height: 560px; }
  .hvf-device-desktop { right: 12%; width: 76%; }
  .hvf-assurances { grid-template-columns: repeat(2, 1fr); }
  .hvf-assurances article:nth-child(2) { border-right: 0; }
  .hvf-assurances article:nth-child(-n+2) { border-bottom: 1px solid var(--hvf-line); }
  .hvf-payment-bar { grid-template-columns: 1.4fr repeat(3, auto); }
  .hvf-payment-bar > a { display: none; }
  .hvf-home .um-directory .um-members-wrapper .um-members.um-members-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .hvf-preview-profiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hvf-auth-layout { grid-template-columns: minmax(340px, .9fr) 1.1fr; }
  .hvf-auth-benefits { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
  .hvf-universe { padding-right: 28px; padding-left: 28px; }
  .hvf-universe-card { min-height: 500px; }
  .hvf-universe-trust { grid-template-columns: repeat(2, 1fr); }
  .hvf-universe-trust article:nth-child(2) { border-right: 0; }
  .hvf-flow-layout { grid-template-columns: 150px minmax(0, 1fr); }
  .hvf-flow-hero { grid-template-columns: .85fr 1.15fr; padding-left: 30px; }
  .hvf-flow-proof { grid-template-columns: repeat(2, 1fr); }
  .hvf-flow-proof article:nth-child(2) { border-right: 0; }
  .hvf-flow-proof article:nth-child(-n+2) { border-bottom: 1px solid var(--hvf-line); }
}

@media (max-width: 900px) {
  .hvf-shell { width: min(100% - 20px, 760px); }
  .hvf-header { grid-template-columns: auto auto 1fr; padding: 0 13px; }
  .hvf-menu-toggle { display: block; order: -1; margin-right: 10px; }
  .hvf-header-actions { justify-self: end; }
  .hvf-login { display: none; }
  .hvf-nav { position: absolute; top: calc(100% + 8px); right: 0; left: 0; display: none; flex-direction: column; gap: 0; padding: 10px; border: 1px solid var(--hvf-line); border-radius: 15px; background: rgba(8,6,9,.98); box-shadow: 0 20px 45px rgba(0,0,0,.55); }
  .hvf-menu-open .hvf-nav { display: flex; }
  .hvf-nav a { padding: 13px 15px; border-radius: 9px; }
  .hvf-nav a.is-active::after { display: none; }
  .hvf-nav a:hover, .hvf-nav a.is-active { background: rgba(243,63,137,.12); }
  .hvf-hero { grid-template-columns: 1fr; min-height: auto; padding: 80px 14px 20px; }
  .hvf-hero-copy { max-width: 680px; }
  .hvf-hero-visual { min-height: 640px; margin-top: 15px; }
  .hvf-category-grid { grid-template-columns: 1fr; }
  .hvf-category { min-height: 330px; }
  .hvf-category img { height: 450px; }
  .hvf-footer { grid-template-columns: 1fr; justify-items: center; text-align: center; }
  .hvf-footer > div { justify-content: center; }
  .hvf-payment-bar { grid-template-columns: repeat(3, 1fr); }
  .hvf-payment-bar > div { grid-column: 1 / -1; }
  .hvf-home .um-directory .um-members-wrapper .um-members.um-members-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hvf-preview-profile { min-height: 380px; }
  .hvf-auth-layout { grid-template-columns: 1fr; }
  .hvf-auth-photo { min-height: 450px; }
  .hvf-auth-benefits { grid-column: auto; grid-template-columns: repeat(2, 1fr); }
  .hvf-universe-header { justify-content: flex-start; }
  .hvf-universe-brand { font-size: 2rem; }
  .hvf-universe-crown { left: 37px; font-size: 1.2rem; }
  .hvf-universe-intro { margin-top: 50px; }
  .hvf-universe-grid { grid-template-columns: 1fr; max-width: 620px; }
  .hvf-universe-card { min-height: 580px; }
  .hvf-flow-shell { width: min(100% - 20px, 780px); }
  .hvf-flow-layout { grid-template-columns: 1fr; }
  .hvf-flow-rail { position: relative; top: 0; min-height: auto; padding: 8px; }
  .hvf-flow-rail nav { grid-template-columns: repeat(4, 1fr); }
  .hvf-flow-rail nav a { justify-content: center; min-height: 46px; padding: 0 5px; font-size: .68rem; }
  .hvf-flow-rail nav a:nth-child(5) { display: none; }
  .hvf-flow-rail nav a > span { width: auto; }
  .hvf-flow-vip, .hvf-flow-language { display: none; }
  .hvf-flow-hero { grid-template-columns: 1fr; padding: 65px 28px 20px; }
  .hvf-flow-visual { min-height: 640px; }
  .hvf-flow-profiles { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
  .hvf-shell { width: 100%; }
  .hvf-header { top: 0; margin: 0; border-width: 0 0 1px; border-radius: 0; }
  .hvf-brand { font-size: 1rem; }
  .hvf-brand-crown { font-size: 1.2rem; }
  .hvf-header .hvf-button-small { min-height: 38px; padding: 0 12px; font-size: .76rem; }
  .hvf-hero { padding: 58px 18px 10px; }
  .hvf-hero h1 { font-size: clamp(3rem, 16vw, 4.6rem); }
  .hvf-hero-actions { display: grid; grid-template-columns: 1fr; }
  .hvf-button { width: 100%; }
  .hvf-trust { display: grid; grid-template-columns: 1fr; gap: 10px; }
  .hvf-hero-visual { min-height: 470px; margin: 10px -8px 0; }
  .hvf-device-desktop { top: 9%; right: 14%; width: 76%; height: 70%; }
  .hvf-device-tablet { right: 4%; width: 54%; height: 63%; }
  .hvf-device-phone { right: 0; width: 31%; height: 55%; }
  .hvf-profile-chip { display: none; }
  .hvf-heart { font-size: 3rem; }
  .hvf-explore { padding: 50px 18px 25px; }
  .hvf-section-heading { align-items: start; }
  .hvf-section-heading > a { white-space: nowrap; }
  .hvf-category { min-height: 290px; border-radius: 16px; }
  .hvf-category img { height: 360px; }
  .hvf-assurances { grid-template-columns: 1fr; margin: 18px 18px 55px; }
  .hvf-assurances article { border-right: 0; border-bottom: 1px solid var(--hvf-line); }
  .hvf-assurances article:last-child { border-bottom: 0; }
  .hvf-cta { margin: 25px 18px 55px; padding: 55px 18px; }
  .hvf-footer { padding-right: 18px; padding-left: 18px; }
  .hvf-payment-bar { grid-template-columns: 1fr; margin-right: 18px; margin-left: 18px; }
  .hvf-payment-bar > div { grid-column: auto; }
  .hvf-coin { justify-content: space-between; }
  .hvf-directory-page { padding: 45px 18px 10px; }
  .hvf-directory-heading { align-items: flex-start; }
  .hvf-directory-heading h1 { font-size: 3.2rem; }
  .hvf-filter-button { margin-top: 25px; }
  .hvf-home .um-directory .um-members-wrapper .um-members.um-members-grid { grid-template-columns: 1fr; }
  .hvf-preview-profiles { grid-template-columns: 1fr; }
  .hvf-auth-layout { margin: 16px 10px 30px; border-radius: 16px; }
  .hvf-auth-panel { padding: 36px 20px; }
  .hvf-auth-photo { min-height: 360px; }
  .hvf-auth-benefits { grid-template-columns: 1fr; padding: 30px 22px; }
  .hvf-universe { padding: 12px 16px 28px; }
  .hvf-universe-header { align-items: flex-start; min-height: 78px; padding-top: 14px; }
  .hvf-universe-brand { font-size: 1.45rem; }
  .hvf-universe-crown { top: 3px; left: 24px; font-size: 1rem; }
  .hvf-universe-top-actions { top: 17px; right: 0; gap: 10px; }
  .hvf-universe-top-actions a:first-child { display: none; }
  .hvf-universe-intro { margin: 24px auto 24px; }
  .hvf-universe-intro h1 { font-size: clamp(3rem, 15vw, 4.2rem); }
  .hvf-universe-card { min-height: 500px; border-radius: 18px; }
  .hvf-universe-icon { bottom: 196px; width: 66px; height: 66px; }
  .hvf-universe-trust { grid-template-columns: 1fr; }
  .hvf-universe-trust article { justify-content: flex-start; border-right: 0; border-bottom: 1px solid var(--hvf-line); }
  .hvf-universe-trust article:last-child { border-bottom: 0; }
  .hvf-flow-shell { width: 100%; }
  .hvf-flow-layout { gap: 8px; margin-top: 8px; }
  .hvf-flow-rail { border-right: 0; border-left: 0; border-radius: 0; }
  .hvf-flow-rail nav a { display: grid; gap: 0; text-align: center; }
  .hvf-flow-content { border-right: 0; border-left: 0; border-radius: 0; }
  .hvf-flow-hero { padding: 50px 18px 8px; }
  .hvf-flow-copy h1 { font-size: clamp(3.4rem, 17vw, 4.8rem); }
  .hvf-flow-visual { min-height: 470px; margin: 0 -12px; }
  .hvf-flow-visual .hvf-device-desktop { right: 17%; width: 76%; height: 70%; }
  .hvf-flow-visual .hvf-device-tablet { right: 5%; width: 55%; height: 63%; }
  .hvf-flow-visual .hvf-device-phone { right: 1%; width: 31%; height: 55%; }
  .hvf-flow-proof { grid-template-columns: 1fr; margin: 0 10px 10px; }
  .hvf-flow-proof article { border-right: 0; border-bottom: 1px solid var(--hvf-line); }
  .hvf-flow-proof article:last-child { border-bottom: 0; }
  .hvf-flow-profiles { grid-template-columns: 1fr; margin: 0 10px 10px; padding: 38px 20px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Approved visual reference. This temporary scaffold keeps the composition
   pixel-perfect while the real interface is rebuilt progressively. */
.hvf-reference-page {
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
  overflow-x: auto;
  background: #05050b;
}

.hvf-reference-stage {
  min-height: 100vh;
  background: #05050b;
}

.hvf-reference-image {
  display: block;
  width: 100vw;
  height: auto;
  max-width: none;
}

/* Reconstructed home — first functional viewport */
body.hvf-rebuild-page {
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
  overflow-x: hidden;
  background: #05050a;
}

.hvf-rebuild-page::before {
  position: fixed;
  inset: 0;
  z-index: -1;
  content: '';
  background:
    radial-gradient(circle at 78% 22%, rgba(238, 37, 124, .16), transparent 30rem),
    radial-gradient(circle at 12% 76%, rgba(53, 16, 62, .26), transparent 26rem),
    #05050a;
}

.hvf-rebuild-shell { width: 100%; min-height: 100vh; color: #f8f3f5; }
.hvf-rebuild-shell a { color: inherit; text-decoration: none; }

.hvf-rebuild-header {
  position: relative;
  z-index: 50;
  display: grid;
  grid-template-columns: 34px 205px minmax(400px, 1fr) minmax(190px, 260px) auto auto;
  align-items: center;
  min-height: 78px;
  gap: 14px;
  padding: 0 24px;
  border-bottom: 1px solid rgba(255, 255, 255, .08);
  background: rgba(5, 5, 10, .92);
  box-shadow: 0 18px 55px rgba(0, 0, 0, .26);
  backdrop-filter: blur(18px);
}

.hvf-rebuild-menu-toggle {
  display: grid;
  width: 34px;
  height: 34px;
  place-content: center;
  gap: 5px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.hvf-rebuild-menu-toggle span { display: block; width: 22px; height: 1.5px; background: #fff; }

.hvf-rebuild-logo { position: relative; display: flex; align-items: center; font-size: 1.22rem; letter-spacing: -.04em; white-space: nowrap; }
.hvf-rebuild-logo > span { margin-right: 7px; color: var(--hvf-pink); font-size: 1.5rem; filter: drop-shadow(0 0 8px rgba(243, 63, 137, .52)); }
.hvf-rebuild-logo strong { margin-right: 1px; color: #fff7f1; }
.hvf-rebuild-logo b { color: var(--hvf-gold); font-weight: 700; }

.hvf-rebuild-nav { display: flex; align-items: stretch; justify-content: center; height: 78px; gap: clamp(12px, 1.45vw, 26px); }
.hvf-rebuild-nav a { position: relative; display: flex; align-items: center; color: #d6cfd5; font-size: .79rem; white-space: nowrap; }
.hvf-rebuild-nav a:hover, .hvf-rebuild-nav a.is-active { color: #fff; }
.hvf-rebuild-nav a.is-active::after { position: absolute; right: 0; bottom: 12px; left: 0; height: 2px; content: ''; background: var(--hvf-pink); box-shadow: 0 0 12px var(--hvf-pink); }
.hvf-rebuild-nav small, .hvf-rebuild-sidebar nav small { margin-left: 5px; padding: 2px 5px; border-radius: 6px; background: var(--hvf-pink); color: white; font-size: .5rem; font-weight: 800; }

.hvf-rebuild-search { display: grid; grid-template-columns: 1fr 34px; align-items: center; height: 44px; border: 1px solid rgba(255,255,255,.09); border-radius: 13px; background: rgba(255,255,255,.025); }
.hvf-rebuild-search input { min-width: 0; height: 100%; padding: 0 4px 0 15px; border: 0; outline: 0; background: transparent; color: #fff; font: inherit; font-size: .78rem; }
.hvf-rebuild-search input::placeholder { color: #766d75; }
.hvf-rebuild-search button { height: 100%; border: 0; background: transparent; color: #eee5eb; font-size: 1.45rem; cursor: pointer; }
.hvf-rebuild-login, .hvf-rebuild-vip-button { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; padding: 0 18px; border-radius: 10px; font-size: .8rem; white-space: nowrap; }
.hvf-rebuild-login { background: linear-gradient(135deg, #da346f, #a70d51); box-shadow: 0 8px 24px rgba(214, 25, 104, .24); }
.hvf-rebuild-vip-button { gap: 7px; border: 1px solid rgba(240, 172, 75, .68); background: rgba(240, 172, 75, .04); box-shadow: inset 0 0 20px rgba(240, 172, 75, .05); }
.hvf-rebuild-vip-button span { color: var(--hvf-gold); }

.hvf-rebuild-layout { display: grid; grid-template-columns: 210px minmax(0, 1fr); min-height: calc(100vh - 78px); }
.hvf-rebuild-sidebar { position: relative; z-index: 20; display: flex; flex-direction: column; gap: 16px; padding: 16px 14px 18px; border-right: 1px solid rgba(255,255,255,.07); background: linear-gradient(180deg, rgba(11,8,14,.96), rgba(5,5,10,.96)); }
.hvf-rebuild-sidebar nav { display: grid; gap: 3px; }
.hvf-rebuild-sidebar nav a { display: flex; min-height: 38px; align-items: center; padding: 0 12px; border-radius: 8px; color: #cbc3c9; font-size: .76rem; }
.hvf-rebuild-sidebar nav a > span { width: 28px; color: #e8dfe5; font-size: 1rem; }
.hvf-rebuild-sidebar nav a:hover, .hvf-rebuild-sidebar nav a.is-active { color: white; background: linear-gradient(90deg, rgba(215,46,105,.32), rgba(215,46,105,.03)); }
.hvf-rebuild-sidebar nav a.is-active > span { color: #ff6a9c; }

.hvf-rebuild-vip-card { padding: 17px 14px 13px; border: 1px solid rgba(243,63,137,.42); border-radius: 13px; background: linear-gradient(150deg, rgba(53,20,38,.55), rgba(8,7,12,.6)); }
.hvf-rebuild-vip-card h2 { margin: 0 0 13px; font-size: .88rem; font-weight: 600; }
.hvf-rebuild-vip-card h2 span { color: var(--hvf-gold); font-size: 1.35rem; }
.hvf-rebuild-vip-card ul { display: grid; gap: 7px; margin: 0 0 15px; padding: 0; list-style: none; color: #bfb4bb; font-size: .65rem; }
.hvf-rebuild-vip-card li::first-letter { color: var(--hvf-gold); }
.hvf-rebuild-vip-card > a { display: grid; min-height: 42px; place-items: center; border-radius: 8px; background: linear-gradient(135deg, #dd3476, #b30858); font-size: .72rem; font-weight: 700; }
.hvf-rebuild-language { position: relative; margin-top: auto; border: 1px solid rgba(255,255,255,.11); border-radius: 11px; background: rgba(255,255,255,.02); color: #ddd4da; font-size: .75rem; }
.hvf-rebuild-language summary { display: flex; min-height: 44px; align-items: center; justify-content: space-between; padding: 0 14px; cursor: pointer; list-style: none; }
.hvf-rebuild-language summary::-webkit-details-marker { display: none; }
.hvf-rebuild-language div { display: grid; grid-template-columns: repeat(3, 1fr); padding: 6px; border-top: 1px solid rgba(255,255,255,.08); }
.hvf-rebuild-language div a { padding: 7px; border-radius: 6px; text-align: center; }
.hvf-rebuild-language div a:hover { background: rgba(243,63,137,.2); color: white; }

.hvf-rebuild-main { min-width: 0; overflow: hidden; }
.hvf-rebuild-hero { position: relative; display: grid; grid-template-columns: minmax(360px, 37%) minmax(0, 63%); min-height: 630px; overflow: hidden; background: radial-gradient(circle at 70% 42%, rgba(235,35,118,.18), transparent 35%), #07060b; }
.hvf-rebuild-hero::after { position: absolute; inset: auto 0 0; z-index: 8; height: 120px; content: ''; pointer-events: none; background: linear-gradient(transparent, #08060b 86%); }
.hvf-rebuild-copy { position: relative; z-index: 12; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 44px 10px 74px 40px; }
.hvf-rebuild-age { display: flex; align-items: center; gap: 8px; margin-bottom: 24px; color: #aaa1a8; font-size: .65rem; }
.hvf-rebuild-age strong { padding: 5px 8px; border: 1px solid rgba(243,63,137,.38); border-radius: 8px; color: #ff5b91; font-size: .78rem; }
.hvf-rebuild-age span { padding: 5px 10px; border: 1px solid rgba(255,255,255,.09); border-radius: 8px; }
.hvf-rebuild-copy h1 { max-width: 510px; margin: 0; color: #fffdfa; font-family: var(--hvf-serif); font-size: clamp(3rem, 4.65vw, 5.4rem); font-weight: 500; line-height: .93; letter-spacing: -.045em; }
.hvf-rebuild-copy h1 em, .hvf-rebuild-copy h1 mark { display: inline; color: #e1457e; font-style: normal; background: none; }
.hvf-rebuild-copy h1 mark { color: #f0b75e; }
.hvf-rebuild-copy > p { max-width: 470px; margin: 22px 0 20px; color: #ded5db; font-size: .94rem; line-height: 1.5; }
.hvf-rebuild-benefits { display: flex; align-items: center; gap: 22px; margin-bottom: 22px; }
.hvf-rebuild-benefits > span { display: flex; align-items: center; gap: 8px; color: var(--hvf-gold); font-size: 1.25rem; }
.hvf-rebuild-benefits b { max-width: 95px; color: #f3edf1; font-size: .64rem; line-height: 1.25; }
.hvf-rebuild-primary { display: inline-flex; min-width: 320px; min-height: 58px; align-items: center; justify-content: center; gap: 18px; border: 1px solid #ed458a; border-radius: 11px; background: linear-gradient(135deg, #e82e7b, #c00461); box-shadow: 0 13px 35px rgba(220,22,108,.3), inset 0 1px rgba(255,255,255,.3); font-size: 1rem; font-weight: 700; }
.hvf-rebuild-primary:hover { transform: translateY(-2px); box-shadow: 0 17px 42px rgba(220,22,108,.4); }
.hvf-rebuild-payments { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin-top: 22px; color: #d0c7cd; font-size: .69rem; }
.hvf-rebuild-payments small { flex-basis: 100%; color: #8c8289; }
.hvf-rebuild-payments span { display: inline-flex; align-items: center; gap: 5px; }
.hvf-rebuild-payments b { color: var(--hvf-gold); font-size: 1rem; }

.hvf-rebuild-visual {
  --focus-x: 29%;
  --focus-y: 42%;
  position: relative;
  z-index: 3;
  min-width: 0;
  min-height: 630px;
  overflow: hidden;
  touch-action: pan-y;
}
.hvf-rebuild-visual::before { position: absolute; inset: 0; z-index: 2; content: ''; pointer-events: none; background: linear-gradient(90deg, #07060b 0%, transparent 11%, transparent 80%, rgba(7,6,11,.35) 100%); }
.hvf-rebuild-visual::after {
  position: absolute;
  inset: 0;
  z-index: 3;
  content: '';
  pointer-events: none;
  background: radial-gradient(circle at var(--focus-x) var(--focus-y), rgba(255, 83, 153, .18), transparent 20rem);
  transition: background-position .8s ease;
}
.hvf-rebuild-visual img {
  position: absolute;
  top: -9%;
  left: -69%;
  width: 170%;
  height: auto;
  max-width: none;
  filter: saturate(1.06) contrast(1.03);
  transform: translate3d(0, 0, 0) scale(1.015);
  transform-origin: center;
  transition: transform .95s cubic-bezier(.2,.75,.25,1), filter .75s ease;
}
.hvf-rebuild-visual[data-active="male"] { --focus-x: 29%; --focus-y: 42%; }
.hvf-rebuild-visual[data-active="muse"] { --focus-x: 56%; --focus-y: 48%; }
.hvf-rebuild-visual[data-active="duo"] { --focus-x: 83%; --focus-y: 55%; }
.hvf-rebuild-visual[data-active="male"] img { transform: translate3d(1%, 0, 0) scale(1.015); }
.hvf-rebuild-visual[data-active="muse"] img { transform: translate3d(-.6%, -.4%, 0) scale(1.028); }
.hvf-rebuild-visual[data-active="duo"] img { transform: translate3d(-2.2%, -.8%, 0) scale(1.042); }

.hvf-device-hotspot {
  position: absolute;
  z-index: 6;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 30px;
  background: transparent;
  color: white;
  cursor: pointer;
  transition: border-color .35s ease, box-shadow .35s ease, background-color .35s ease;
}
.hvf-device-hotspot:hover, .hvf-device-hotspot:focus-visible, .hvf-device-hotspot.is-active {
  border-color: rgba(255, 107, 168, .54);
  background: rgba(255, 54, 136, .025);
  box-shadow: inset 0 0 45px rgba(255, 54, 136, .08), 0 0 28px rgba(255, 54, 136, .12);
}
.hvf-device-hotspot > span {
  position: absolute;
  right: 50%;
  bottom: 9px;
  max-width: 170px;
  padding: 7px 11px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  background: rgba(10, 6, 12, .78);
  box-shadow: 0 8px 25px rgba(0,0,0,.35);
  color: #d9ced5;
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .02em;
  text-overflow: ellipsis;
  white-space: nowrap;
  transform: translateX(50%);
  backdrop-filter: blur(12px);
}
.hvf-device-hotspot.is-active > span { border-color: rgba(255,93,158,.62); color: white; background: rgba(148, 8, 72, .78); }
.hvf-device-hotspot-male { top: 15%; left: 10%; width: 35%; height: 66%; transform: rotate(-2deg); }
.hvf-device-hotspot-muse { top: 24%; left: 38%; width: 35%; height: 65%; transform: rotate(1deg); }
.hvf-device-hotspot-duo { top: 32%; right: 3%; width: 25%; height: 59%; transform: rotate(2deg); }

.hvf-device-caption {
  position: absolute;
  right: 4%;
  bottom: 5%;
  z-index: 8;
  display: grid;
  width: min(280px, 40%);
  gap: 3px;
  padding: 15px 17px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  background: rgba(10, 6, 13, .78);
  box-shadow: 0 18px 45px rgba(0,0,0,.35);
  backdrop-filter: blur(18px);
}
.hvf-device-caption small { color: #d75087; font-size: .59rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.hvf-device-caption strong { font-family: var(--hvf-serif); font-size: 1.22rem; font-weight: 500; }
.hvf-device-caption p { margin: 0; color: #bcb1b8; font-size: .69rem; }
.hvf-device-caption a { display: flex; align-items: center; justify-content: space-between; margin-top: 7px; color: #f4b763; font-size: .68rem; font-weight: 750; }
.hvf-device-caption a span { font-size: 1rem; }

.hvf-rebuild-stats { position: relative; z-index: 15; display: grid; grid-template-columns: repeat(5, 1fr); min-height: 112px; margin: -28px 30px 20px; border: 1px solid rgba(255,255,255,.1); border-radius: 18px; background: rgba(11,8,14,.9); box-shadow: 0 20px 45px rgba(0,0,0,.35); backdrop-filter: blur(18px); }
.hvf-rebuild-stats article { display: flex; align-items: center; justify-content: center; gap: 13px; border-right: 1px solid rgba(255,255,255,.07); }
.hvf-rebuild-stats article:last-child { border-right: 0; }
.hvf-rebuild-stats article > span { display: grid; width: 50px; height: 50px; place-items: center; border-radius: 50%; background: rgba(243,63,137,.08); color: var(--hvf-pink); font-size: 1.45rem; }
.hvf-rebuild-stats div { display: grid; gap: 2px; }
.hvf-rebuild-stats strong { color: #ee477f; font-size: 1.35rem; }
.hvf-rebuild-stats small { color: #968b93; font-size: .58rem; }

@media (max-width: 1280px) {
  .hvf-rebuild-header { grid-template-columns: 34px 190px minmax(370px, 1fr) auto auto; }
  .hvf-rebuild-search { display: none; }
  .hvf-rebuild-nav { gap: 13px; }
  .hvf-rebuild-copy { padding-left: 28px; }
}

@media (max-width: 1040px) {
  .hvf-rebuild-header { grid-template-columns: 34px 1fr auto auto; }
  .hvf-rebuild-nav { position: absolute; top: 78px; right: 0; left: 0; display: none; height: auto; flex-wrap: wrap; justify-content: flex-start; gap: 0; padding: 14px 20px; border-bottom: 1px solid rgba(255,255,255,.1); background: #0b080e; }
  .hvf-rebuild-nav a { min-height: 42px; padding: 0 14px; }
  .hvf-menu-open .hvf-rebuild-nav { display: flex; }
  .hvf-rebuild-nav a.is-active::after { bottom: 4px; }
  .hvf-rebuild-layout { grid-template-columns: 176px minmax(0, 1fr); }
  .hvf-rebuild-sidebar { padding-right: 9px; padding-left: 9px; }
  .hvf-rebuild-sidebar nav a { padding: 0 8px; font-size: .7rem; }
  .hvf-rebuild-hero { grid-template-columns: 46% 54%; }
  .hvf-rebuild-copy h1 { font-size: clamp(3rem, 6vw, 4.3rem); }
  .hvf-rebuild-benefits { align-items: flex-start; gap: 12px; }
  .hvf-rebuild-benefits > span { display: grid; gap: 2px; }
  .hvf-rebuild-primary { min-width: 280px; }
  .hvf-rebuild-visual img { left: -80%; width: 190%; }
  .hvf-rebuild-stats { margin-right: 16px; margin-left: 16px; }
  .hvf-rebuild-stats article { gap: 7px; }
  .hvf-rebuild-stats article > span { width: 38px; height: 38px; }
}

@media (max-width: 760px) {
  .hvf-rebuild-header { position: sticky; top: 0; grid-template-columns: 30px 1fr auto; min-height: 64px; padding: 0 14px; }
  .hvf-rebuild-login { display: none; }
  .hvf-rebuild-vip-button { min-height: 38px; padding: 0 11px; font-size: .7rem; }
  .hvf-rebuild-nav { top: 64px; }
  .hvf-rebuild-logo { font-size: 1rem; }
  .hvf-rebuild-logo > span { font-size: 1.2rem; }
  .hvf-rebuild-layout { display: block; }
  .hvf-rebuild-sidebar { display: none; }
  .hvf-rebuild-hero { grid-template-columns: 1fr; min-height: auto; }
  .hvf-rebuild-copy { padding: 52px 20px 10px; }
  .hvf-rebuild-copy h1 { max-width: 620px; font-size: clamp(3rem, 14vw, 4.6rem); }
  .hvf-rebuild-benefits { display: grid; grid-template-columns: repeat(3, 1fr); width: 100%; }
  .hvf-rebuild-primary { width: 100%; min-width: 0; }
  .hvf-rebuild-visual { min-height: 520px; }
  .hvf-rebuild-visual img { top: -6%; left: -66%; width: 169%; }
  .hvf-device-hotspot > span { font-size: .52rem; }
  .hvf-device-caption { right: 16px; bottom: 16px; width: min(260px, 58%); }
  .hvf-rebuild-stats { grid-template-columns: repeat(2, 1fr); margin-top: -20px; }
  .hvf-rebuild-stats article { min-height: 90px; border-right: 1px solid rgba(255,255,255,.07); border-bottom: 1px solid rgba(255,255,255,.07); }
  .hvf-rebuild-stats article:last-child { grid-column: 1 / -1; border-bottom: 0; }
}

@media (max-width: 430px) {
  .hvf-rebuild-copy h1 { font-size: 3.15rem; }
  .hvf-rebuild-age span { font-size: .56rem; }
  .hvf-rebuild-benefits b { font-size: .55rem; }
  .hvf-rebuild-payments { gap: 12px; }
  .hvf-rebuild-visual { min-height: 390px; }
  .hvf-rebuild-visual img { top: 0; left: -84%; width: 205%; }
  .hvf-device-hotspot-male { left: 4%; width: 37%; }
  .hvf-device-hotspot-muse { left: 34%; width: 38%; }
  .hvf-device-hotspot-duo { right: 0; width: 29%; }
  .hvf-device-hotspot > span { bottom: 5px; max-width: 95px; padding: 5px 7px; }
  .hvf-device-caption { right: 10px; bottom: 9px; width: 62%; padding: 11px 13px; }
  .hvf-device-caption strong { font-size: 1rem; }
  .hvf-device-caption p { display: none; }
  .hvf-rebuild-stats { margin-right: 10px; margin-left: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  .hvf-rebuild-visual img, .hvf-device-hotspot { transition: none !important; }
}
