:root{--navy:#0E1E30;--navy-950:#08111A;--navy-900:#0A1522;--navy-800:#0C1A2A;--blue:#394755;--yellow:#E4572E;--on-accent:#0E0B2A;--lb:#ED9277;--initials:#E4572E;--hero-bg:#FFFFFF;--hero-hi:#FFFFFF;--hero-lo:#F0F0F0;--on-hero:#0E0B2A;--hero-soft:#434159;--kicker:#E4572E;--logo-h:37px;--logo-maxw:207px;--logo-h-rec:32px;--logo-maxw-rec:184px}



.vh-hero { background: radial-gradient(130% 90% at 50% 0%, var(--hero-hi) 0%, var(--hero-bg) 45%, var(--hero-lo) 100%); color: var(--on-hero); }
.vh-hero h1, .vh-hero .vh-msg h1 { color: var(--on-hero); }
.vh-hero .vh-kicker { color: var(--kicker); }
.vh-when { color: var(--hero-soft); }
.vh-when strong { color: var(--on-hero); }
.vh-gone .vh-msg h1 { color: var(--navy); }


.vh-top { justify-content: center; }
.vh-logo-img { height: var(--logo-h); width: auto; max-width: min(var(--logo-maxw), 80vw); object-fit: contain; display: block; margin: 0 auto; }
.vh-logo-text { display: block; font-family: var(--display); font-weight: 600; font-size: 1.15rem; letter-spacing: .01em; color: var(--on-hero);
  max-width: 80vw; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-align: center; }

.vi-logo-img { height: var(--logo-h-rec); width: auto; max-width: min(var(--logo-maxw-rec), 60vw); object-fit: contain; display: block;
  background: var(--hero-bg); padding: 6px 10px; border-radius: 10px; box-sizing: content-box; }
.vi-logo-text { display: block; font-family: var(--display); font-weight: 600; font-size: 1.05rem; color: #fff; max-width: 60vw; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }


.vh-retry, .vh-preview, .vi-primary { color: var(--on-accent); }
.vh-initials { color: var(--initials); }


.vh-rep-role { display: block; font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--blue); margin-bottom: 2px; }
.vh-rep-title { display: block; font-size: .9rem; color: var(--ink-2); }
.vh-social { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 12px; }
.vh-social a { display: inline-flex; align-items: center; min-height: 36px; padding: 6px 12px; border-radius: 999px; border: 1px solid var(--line);
  background: var(--card); color: var(--navy); font-size: .85rem; font-weight: 600; text-decoration: none; }
.vh-social a:focus-visible { outline: 3px solid var(--lb); outline-offset: 2px; }


.vh-rep-ach { margin: 12px 0 0; text-align: center; font-size: .9rem; font-weight: 600; color: var(--navy); }
.vh-rep-review { margin: 12px 0 0; padding: 12px 14px; border-radius: 12px; background: var(--card); border: 1px solid var(--line); font-size: .9rem; color: var(--ink-2); }
.vh-rep-review p { margin: 0; font-style: italic; }
.vh-rep-review footer { margin-top: 6px; font-size: .8rem; font-weight: 600; color: var(--navy); font-style: normal; }


.vh-mail { display: inline-block; margin-top: 12px; color: var(--blue); font-weight: 600; text-decoration: none; }
.vh-review-link { display: inline-block; margin-top: 8px; font-size: .86rem; font-weight: 600; color: var(--blue); }


.vh-powered { display: flex; justify-content: center; margin: 32px auto 8px; padding: 0 var(--pad); }
.vh-powered img { height: 14px; width: auto; display: block; opacity: .9; }


body.vi { background: radial-gradient(120% 60% at 50% 0%, var(--navy-800) 0%, var(--navy-950) 60%) fixed, var(--navy-950); }
