html.vx-auth-checking body > header,
html.vx-auth-checking body > .wrap,
html.vx-auth-checking #auth-gate,
html.vx-auth-checking #vx-user-block-overlay,
html.vx-auth-checking #vx-public-guest { display:none !important; }

body.vx-public-guest { margin:0; min-height:100vh; background:#060910; color:#f5f7fb; }
body.vx-public-guest > header,
body.vx-public-guest > .wrap,
body.vx-public-guest #auth-gate,
body.vx-public-guest #vx-user-block-overlay,
body.vx-public-guest #notify-panel,
body.vx-public-guest #vx-news-overlay,
body.vx-public-guest #vx-news-admin-overlay { display:none !important; }

#vx-public-guest { display:none; min-height:100vh; background:
  radial-gradient(circle at 15% 0%, rgba(255,196,0,.14), transparent 34%),
  radial-gradient(circle at 85% 15%, rgba(94,92,230,.13), transparent 31%),
  #060910; }
body.vx-public-guest #vx-public-guest { display:block; }

.vx-public-shell { width:min(1160px, calc(100% - 32px)); margin:0 auto; }
.vx-public-header { position:sticky; top:0; z-index:40; border-bottom:1px solid rgba(255,255,255,.08); background:rgba(6,9,16,.88); backdrop-filter:blur(18px); }
.vx-public-header__inner { min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:18px; }
.vx-public-brand { display:flex; align-items:center; gap:12px; color:#fff; text-decoration:none; font-size:19px; font-weight:850; letter-spacing:.01em; }
.vx-public-brand img { width:42px; height:42px; border-radius:12px; object-fit:cover; box-shadow:0 0 24px rgba(255,196,0,.23); }
.vx-public-nav { display:flex; align-items:center; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.vx-public-nav a,.vx-public-nav button { border:1px solid rgba(255,255,255,.13); border-radius:11px; padding:10px 14px; background:rgba(255,255,255,.045); color:#f7f8fb; font:inherit; text-decoration:none; cursor:pointer; }
.vx-public-nav .primary { border-color:#ffcc16; background:linear-gradient(135deg,#ffd51c,#ffad00); color:#171200; font-weight:850; }

.vx-public-hero { padding:88px 0 54px; display:grid; grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr); align-items:center; gap:54px; }
.vx-public-kicker { display:inline-flex; padding:7px 11px; border:1px solid rgba(255,209,32,.33); border-radius:999px; background:rgba(255,196,0,.08); color:#ffd43b; font-size:12px; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
.vx-public-hero h1 { margin:18px 0 18px; max-width:760px; font-size:clamp(42px,7vw,78px); line-height:.98; letter-spacing:-.055em; }
.vx-public-hero p { max-width:690px; margin:0; color:#aeb7c8; font-size:clamp(17px,2.2vw,21px); line-height:1.6; }
.vx-public-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:30px; }
.vx-public-actions a,.vx-public-actions button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 19px; border-radius:12px; border:1px solid rgba(255,255,255,.14); background:#111827; color:#fff; font:inherit; font-weight:800; text-decoration:none; cursor:pointer; }
.vx-public-actions .primary { border-color:#ffcc16; background:linear-gradient(135deg,#ffd51c,#ffad00); color:#171200; }
.vx-public-visual { display:flex; justify-content:center; }
.vx-public-visual img { width:min(100%,460px); aspect-ratio:1; object-fit:cover; border-radius:30px; box-shadow:0 36px 90px rgba(0,0,0,.52),0 0 52px rgba(255,196,0,.16); }

.vx-public-section { padding:42px 0; }
.vx-public-section h2 { margin:0 0 10px; font-size:clamp(28px,4vw,42px); letter-spacing:-.035em; }
.vx-public-lead { margin:0 0 24px; max-width:760px; color:#9fa9ba; line-height:1.6; }
.vx-public-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.vx-public-card { padding:22px; border:1px solid rgba(255,255,255,.09); border-radius:18px; background:linear-gradient(150deg,rgba(255,255,255,.055),rgba(255,255,255,.022)); box-shadow:0 14px 45px rgba(0,0,0,.18); }
.vx-public-card__icon { font-size:27px; }
.vx-public-card h3 { margin:14px 0 8px; font-size:19px; }
.vx-public-card p { margin:0; color:#9da7b8; line-height:1.55; }
.vx-public-product { position:relative; overflow:hidden; }
.vx-public-product::after { content:""; position:absolute; inset:auto -45px -65px auto; width:150px; height:150px; border-radius:50%; background:rgba(255,199,0,.08); filter:blur(5px); }
.vx-public-product strong { display:block; margin-top:15px; color:#ffd43b; }
.vx-public-card a { color:#ffd43b; }

.vx-public-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; counter-reset:step; }
.vx-public-step { counter-increment:step; padding:22px; border-left:3px solid #f7c515; border-radius:0 15px 15px 0; background:rgba(255,255,255,.035); }
.vx-public-step::before { content:counter(step,decimal-leading-zero); display:block; margin-bottom:13px; color:#ffd43b; font-size:13px; font-weight:900; letter-spacing:.12em; }
.vx-public-step b { display:block; margin-bottom:7px; }
.vx-public-step span { color:#9da7b8; line-height:1.5; }

.vx-public-footer { margin-top:44px; padding:30px 0 40px; border-top:1px solid rgba(255,255,255,.08); }
.vx-public-footer__inner { display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; color:#8f99aa; font-size:14px; }
.vx-public-footer a { color:#cbd2de; }

@media (max-width:860px) {
  .vx-public-hero { grid-template-columns:1fr; padding-top:58px; gap:34px; }
  .vx-public-visual { order:-1; }
  .vx-public-visual img { width:min(72vw,330px); border-radius:24px; }
  .vx-public-grid,.vx-public-steps { grid-template-columns:1fr; }
  .vx-public-header__inner { min-height:64px; }
  .vx-public-nav a:not(.primary) { display:none; }
}
@media (max-width:520px) {
  .vx-public-shell { width:min(100% - 22px,1160px); }
  .vx-public-brand { font-size:17px; }
  .vx-public-brand img { width:36px; height:36px; }
  .vx-public-nav button { padding:9px 11px; }
  .vx-public-hero { padding-top:36px; }
  .vx-public-hero h1 { font-size:43px; }
  .vx-public-actions > * { width:100%; }
}

/* Auth synchronization hotfix v2 */
body.vx-authenticated #vx-public-guest { display:none !important; }
body.vx-authenticated > header { display:flex; }
body.vx-authenticated > .wrap { display:block; }
body.vx-authenticated #auth-gate { display:none !important; }
