/* vegus666 - onyx / blood red / silver, gothic luxury */
:root { --vg-red: 163, 17, 31; --vg-silver: 201, 204, 211; }
html { scroll-behavior: smooth; scroll-padding-top: 84px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { background: #0a0708; color: #cfd1d8; }
::selection { background: #a3111f; color: #f1f2f5; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 2px solid #ee6b78; outline-offset: 3px; }

/* ornaments */
.vg-kicker { display: inline-flex; align-items: center; gap: .7rem; font-size: .78rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: #ee6b78; }
.vg-kicker::before, .vg-kicker::after { content: ""; width: 22px; height: 1px; background: linear-gradient(90deg, transparent, currentColor); }
.vg-kicker::after { transform: scaleX(-1); }
.vg-orn { display: flex; align-items: center; justify-content: center; gap: .8rem; color: #a3111f; }
.vg-orn::before, .vg-orn::after { content: ""; height: 1px; width: min(120px, 22vw); background: linear-gradient(90deg, transparent, rgba(var(--vg-silver), .55)); }
.vg-orn::after { transform: scaleX(-1); }
.vg-orn i { width: 9px; height: 9px; transform: rotate(45deg); background: currentColor; box-shadow: 0 0 12px rgba(var(--vg-red), .9); }
.vg-silver-text { background: linear-gradient(180deg, #f1f2f5 0%, #c9ccd3 55%, #8d919c 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* buttons */
.vg-btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; padding: .8rem 1.6rem; font-weight: 600; color: #f1f2f5; border-radius: .3rem;
  background: linear-gradient(180deg, #c21b2c 0%, #7a0a14 100%); border: 1px solid rgba(238, 107, 120, .55);
  box-shadow: 0 0 0 1px rgba(0,0,0,.6), 0 10px 26px -10px rgba(var(--vg-red), .95), inset 0 1px 0 rgba(255,255,255,.25); transition: transform .18s ease, box-shadow .18s ease, filter .18s ease; }
.vg-btn:hover { transform: translateY(-2px); filter: brightness(1.12); box-shadow: 0 0 0 1px rgba(0,0,0,.6), 0 16px 32px -10px rgba(var(--vg-red), 1), inset 0 1px 0 rgba(255,255,255,.3); }
.vg-ghost { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; padding: .78rem 1.5rem; font-weight: 600; color: #dfe1e6; border-radius: .3rem; border: 1px solid rgba(var(--vg-silver), .45); transition: background .18s ease, border-color .18s ease; }
.vg-ghost:hover { background: rgba(var(--vg-silver), .1); border-color: rgba(var(--vg-silver), .8); }

/* card: dark with glowing blood-red edge and silver corner marks */
.vg-card { position: relative; background: linear-gradient(165deg, #1c1013 0%, #0d0708 75%); border-radius: .5rem; border: 1px solid rgba(var(--vg-red), .75);
  box-shadow: 0 0 0 1px rgba(0,0,0,.7), 0 0 26px -6px rgba(var(--vg-red), .55), inset 0 0 36px -22px rgba(var(--vg-red), .9); }
.vg-card::before, .vg-card::after { content: ""; position: absolute; width: 16px; height: 16px; pointer-events: none; border: 1px solid rgba(var(--vg-silver), .6); }
.vg-card::before { top: 6px; left: 6px; border-right: 0; border-bottom: 0; }
.vg-card::after { bottom: 6px; right: 6px; border-left: 0; border-top: 0; }
a.vg-card { transition: transform .2s ease, box-shadow .2s ease; }
a.vg-card:hover, .vg-card.is-lift:hover { transform: translateY(-3px); box-shadow: 0 0 0 1px rgba(0,0,0,.7), 0 0 38px -4px rgba(var(--vg-red), .85), inset 0 0 36px -22px rgba(var(--vg-red), .9); }

/* gothic arch frame */
.vg-arch { position: relative; padding: 10px; border-radius: 50% 50% .6rem .6rem / 34% 34% .6rem .6rem; background: linear-gradient(180deg, #dfe1e6, #6b6f7a 60%, #a3111f);
  box-shadow: 0 0 0 1px #000, 0 0 60px -6px rgba(var(--vg-red), .8), 0 30px 60px -30px #000; }
.vg-arch::before { content: ""; position: absolute; inset: 4px; border-radius: inherit; border: 1px solid rgba(10, 7, 8, .85); pointer-events: none; z-index: 2; }
.vg-arch > img { display: block; width: 100%; height: auto; border-radius: 50% 50% .35rem .35rem / 33% 33% .35rem .35rem; background: #120a0c; }

.vg-frame { background: linear-gradient(135deg, #2a1a1e, #0a0708); overflow: hidden; }

/* hero */
.vg-hero { position: relative; overflow: hidden; background:
  radial-gradient(ellipse 60% 55% at 50% 0%, rgba(var(--vg-red), .5), transparent 70%),
  repeating-linear-gradient(90deg, transparent 0 118px, rgba(var(--vg-silver), .035) 118px 119px), #0a0708; }
.vg-hero::after { content: ""; position: absolute; inset: auto 0 0 0; height: 90px; background: linear-gradient(transparent, #0a0708); pointer-events: none; }

/* navbar */
.vg-bar { background: rgba(10, 7, 8, .88); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-bottom: 1px solid transparent;
  border-image: linear-gradient(90deg, transparent, rgba(var(--vg-red), .9), rgba(var(--vg-silver), .5), rgba(var(--vg-red), .9), transparent) 1; transition: box-shadow .2s ease; }
.vg-bar.is-scrolled { box-shadow: 0 12px 30px -16px rgba(var(--vg-red), .6); }
.vg-nav a { position: relative; display: block; padding: .5rem .9rem; color: #a2a6b0; transition: color .15s ease; }
.vg-nav a:hover, .vg-nav a[aria-current="page"] { color: #f1f2f5; }
.vg-nav a[aria-current="page"]::after { content: ""; position: absolute; left: 50%; bottom: -3px; width: 7px; height: 7px; margin-left: -3px; transform: rotate(45deg); background: #c21b2c; box-shadow: 0 0 10px #c21b2c; }
.vg-scrim { position: fixed; inset: 0; z-index: 58; background: rgba(0,0,0,.7); opacity: 0; pointer-events: none; transition: opacity .25s ease; }
.vg-scrim.is-open { opacity: 1; pointer-events: auto; }
.vg-drawer { position: fixed; top: 0; right: 0; bottom: 0; z-index: 60; width: min(330px, 86vw); padding: 1.25rem 1.5rem; background: linear-gradient(180deg, #1c1013, #050304); border-left: 1px solid rgba(var(--vg-red), .8);
  box-shadow: -20px 0 50px -10px rgba(var(--vg-red), .5); transform: translateX(105%); visibility: hidden; transition: transform .3s ease, visibility 0s linear .3s; }
.vg-drawer.is-open { transform: none; visibility: visible; transition: transform .3s ease; }
@media (prefers-reduced-motion: reduce) { .vg-drawer, .vg-scrim { transition: none; } }

/* Provider Logo Slider */
.vg-marquee { overflow: hidden; display: grid; gap: 14px; -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); }
.vg-track { display: flex; gap: 14px; width: max-content; margin: 0; padding: 0; list-style: none; animation: vg-scroll 46s linear infinite; animation-play-state: paused; will-change: transform; }
.vg-track.is-rev { animation-direction: reverse; animation-duration: 54s; }
.vg-marquee.is-active .vg-track { animation-play-state: running; }
.vg-marquee.is-active:hover .vg-track { animation-play-state: paused; }
.vg-track li { flex: none; padding: 4px; border-radius: .45rem; background: linear-gradient(145deg, rgba(var(--vg-red), .9), rgba(var(--vg-silver), .25) 50%, rgba(var(--vg-red), .7)); transition: transform .2s ease, box-shadow .2s ease; }
.vg-track li:hover { transform: translateY(-3px); box-shadow: 0 0 26px -4px rgba(var(--vg-red), 1); }
.vg-track img { width: 188px; height: 120px; display: block; border-radius: .3rem; background: #120a0c; }
@keyframes vg-scroll { from { transform: translateX(0); } to { transform: translateX(calc(-50% - 7px)); } }
@media (prefers-reduced-motion: reduce) { .vg-track { animation: none; } .vg-marquee { overflow-x: auto; -webkit-mask-image: none; mask-image: none; } }

/* reveal */
.no-js .vg-reveal, .vg-reveal.is-in { opacity: 1; transform: none; }
.vg-reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); }
@media (prefers-reduced-motion: reduce) { .vg-reveal { opacity: 1; transform: none; transition: none; } }

/* roman numeral badge + stepper */
.vg-num { display: inline-flex; align-items: center; justify-content: center; width: 3rem; height: 3.6rem; font-family: "Taviraj", serif; font-weight: 700; font-size: 1.15rem; color: #f1f2f5;
  border-radius: 50% 50% .25rem .25rem / 40% 40% .25rem .25rem; border: 1px solid rgba(var(--vg-silver), .6); background: linear-gradient(180deg, #7a0a14, #1c1013); box-shadow: 0 0 18px -4px rgba(var(--vg-red), .9); }
.vg-steps > li { position: relative; padding-left: 4.5rem; }
.vg-steps > li:not(:last-child)::after { content: ""; position: absolute; left: 1.5rem; top: 3.9rem; bottom: -2rem; width: 1px; background: linear-gradient(rgba(var(--vg-red), .9), transparent); }
.vg-steps > li > .vg-num { position: absolute; left: 0; top: 0; }

.vg-dropcap::first-letter { float: left; font-family: "Taviraj", serif; font-size: 3.6rem; line-height: .9; padding: .25rem .6rem 0 0; color: #ee6b78; font-weight: 700; }

/* FAQ */
.vg-faq summary { list-style: none; cursor: pointer; }
.vg-faq summary::-webkit-details-marker { display: none; }
.vg-faq .vg-plus { transition: transform .25s ease; }
.vg-faq details[open] .vg-plus { transform: rotate(45deg); }

.vg-chip { display: inline-flex; align-items: center; gap: .4rem; padding: .15rem .7rem; font-size: .74rem; font-weight: 600; letter-spacing: .04em; color: #ee6b78; border: 1px solid rgba(var(--vg-red), .8); border-radius: 999px; background: rgba(var(--vg-red), .12); }

/* article prose */
.vg-prose { font-size: 1.06rem; line-height: 1.95; color: #cfd1d8; }
.vg-prose > * + * { margin-top: 1.15rem; }
.vg-prose h2 { margin-top: 2.6rem; font-family: "Taviraj", serif; font-weight: 700; font-size: 1.65rem; line-height: 1.35; color: #f1f2f5; padding-bottom: .5rem; border-bottom: 1px solid rgba(var(--vg-red), .55); }
.vg-prose h3 { margin-top: 1.8rem; font-family: "Taviraj", serif; font-weight: 600; font-size: 1.25rem; color: #ee6b78; }
.vg-prose a { color: #ee6b78; text-decoration: underline; text-decoration-color: rgba(var(--vg-red), .9); text-underline-offset: 3px; font-weight: 600; overflow-wrap: anywhere; }
.vg-prose a:hover { color: #f1f2f5; }
.vg-prose ul, .vg-prose ol { padding-left: 0; }
.vg-prose ul { list-style: none; }
.vg-prose ul li { position: relative; padding-left: 1.7rem; }
.vg-prose ul li::before { content: ""; position: absolute; left: .25rem; top: .8rem; width: .5rem; height: .5rem; transform: rotate(45deg); background: #c21b2c; box-shadow: 0 0 8px #c21b2c; }
.vg-prose ol { list-style: decimal; padding-left: 1.5rem; }
.vg-prose ol li::marker { color: #ee6b78; font-weight: 700; }
.vg-prose li + li { margin-top: .5rem; }
.vg-prose blockquote { position: relative; padding: 1.2rem 1.4rem 1.2rem 1.6rem; border: 1px solid rgba(var(--vg-red), .7); border-left-width: 4px; border-radius: .4rem; background: rgba(var(--vg-red), .09); font-family: "Taviraj", serif; font-size: 1.15rem; color: #f1f2f5; }
.vg-prose strong { color: #f1f2f5; }

#vg-progress { position: fixed; top: 0; left: 0; height: 3px; width: 100%; transform-origin: left; transform: scaleX(0); background: linear-gradient(90deg, #7a0a14, #c21b2c, #dfe1e6); z-index: 70; }
.vg-float { position: fixed; right: 16px; bottom: 16px; z-index: 40; transition: transform .3s ease, opacity .3s ease; }
.vg-float.is-hidden { transform: translateY(140%); opacity: 0; pointer-events: none; }
.vg-field { width: 100%; background: #050304; border: 1px solid rgba(var(--vg-silver), .3); border-radius: .3rem; padding: .7rem .9rem; color: #f1f2f5; }
.vg-field:focus { outline: none; border-color: #ee6b78; box-shadow: 0 0 0 3px rgba(var(--vg-red), .4); }

/* pbn: provider slider always auto-scrolls */
.vg-marquee { overflow: hidden !important; }
.vg-marquee .vg-track { animation-name: vg-scroll !important; animation-duration: 46s !important; animation-timing-function: linear !important; animation-iteration-count: infinite !important; animation-play-state: running !important; }
@media (hover: hover) { .vg-marquee:hover .vg-marquee .vg-track { animation-play-state: paused !important; } }

/* conversion pass: final CTA band, large hero button, age badge */
.vg-band { position: relative; overflow: hidden; border-top: 1px solid rgba(var(--vg-red), .8); background: radial-gradient(ellipse at 50% 0%, rgba(var(--vg-red), .45), transparent 65%), linear-gradient(180deg, #1c1013, #050304); }
.vg-band::before { content: ""; position: absolute; inset: 10px; border: 1px solid rgba(var(--vg-silver), .22); border-radius: .4rem; pointer-events: none; }
.vg-btn-lg { padding: 1rem 2.2rem; font-size: 1.1rem; }
.vg-age { display: inline-flex; flex: none; align-items: center; justify-content: center; width: 2.8rem; height: 2.8rem; border-radius: 50%; border: 1px solid rgba(var(--vg-red), .9); color: #ee6b78; font-weight: 700; font-size: .85rem; }

/* pbn: search-topic section */
.pbn-kw { max-width: 48rem; margin: 2.5rem auto 0; padding: 1.5rem 1.25rem; border: 1px solid rgba(128,128,128,.35); border-radius: 14px; line-height: 1.9; }
.pbn-kw h2 { font-size: 1.35rem; font-weight: 700; line-height: 1.4; margin: 0 0 .75rem; }
.pbn-kw h3 { font-size: 1.05rem; font-weight: 700; margin: 1.1rem 0 .25rem; }
.pbn-kw p { margin: .35rem 0; }
.pbn-kw a { text-decoration: underline; font-weight: 600; }

/* pbn: liquid-metal buttons */
body .vg-btn {
  position: relative !important; isolation: isolate; overflow: hidden !important;
  border: 2px solid transparent !important; border-radius: 999px !important; clip-path: none !important;
  color: #f1f2f5 !important; text-shadow: 0 1px 2px rgba(0, 0, 0, .65) !important;
  background: linear-gradient(180deg, #1b0d10 0%, #030102 100%) padding-box, linear-gradient(116deg, #520610 0%, #f4f4f7 6%, #c21b2c 12%, #ffdadd 18%, #c21b2c 24%, #c9ccd3 30%, #520610 38%, #c9ccd3 44%, #520610 50%, #f4f4f7 56%, #c21b2c 62%, #ffdadd 68%, #c21b2c 74%, #c9ccd3 80%, #520610 88%, #c9ccd3 94%, #520610 100%) border-box !important;
  background-size: 100% 100%, 200% 100% !important; background-position: 0 0, 0% 50% !important;
  animation: vg-liq 10s linear infinite !important;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .3), 0 20px 12px -12px rgba(0, 0, 0, .25), 0 9px 9px -6px rgba(0, 0, 0, .2), 0 2px 5px rgba(0, 0, 0, .2) !important;
  transition: transform .45s cubic-bezier(.34, 1.56, .64, 1), box-shadow .2s ease !important;
}
body .vg-btn::before, body .vg-btn::after { display: none !important; }
body .vg-btn:hover { transform: translateY(-1px) !important; animation-duration: 5s !important;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .4), 0 12px 6px -6px rgba(0, 0, 0, .08), 0 8px 5px -4px rgba(0, 0, 0, .14), 0 4px 4px rgba(0, 0, 0, .18), 0 1px 2px rgba(0, 0, 0, .22) !important; }
body .vg-btn:active { transform: translateY(1px) scale(.98) !important; animation-duration: 1.6s !important;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .5), 0 1px 2px rgba(0, 0, 0, .3), inset 0 2px 4px rgba(0, 0, 0, .4) !important; }
@keyframes vg-liq { to { background-position: 0 0, 100% 50%; } }
.vg-rip { position: absolute; width: 20px; height: 20px; border-radius: 50%; pointer-events: none; z-index: 1;
  background: radial-gradient(circle, rgba(255, 255, 255, .45) 0%, rgba(255, 255, 255, 0) 70%); animation: vg-rip .6s ease-out forwards; }
@keyframes vg-rip { from { transform: translate(-50%, -50%) scale(0); opacity: .6; } to { transform: translate(-50%, -50%) scale(4); opacity: 0; } }

/* pbn:mobile-nav */
.vg-mnav{display:none}
@media (max-width:767px){
  body{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
  .vg-mnav{display:grid;grid-template-columns:repeat(4,1fr) 1.25fr;align-items:center;gap:2px;position:fixed;left:0;right:0;bottom:0;z-index:60;
    padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:rgba(12,12,16,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
    border-top:1px solid rgba(255,255,255,.14)}
  .vg-mnav a.vg-mi{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:48px;padding:4px 2px;border-radius:10px;
    color:rgba(255,255,255,.72);font-size:11px;line-height:1.2;text-decoration:none;-webkit-tap-highlight-color:transparent}
  .vg-mnav a.vg-mi[aria-current="page"]{color:#fff;background:rgba(255,255,255,.12)}
  .vg-mnav a.vg-btn{display:flex;align-items:center;justify-content:center;min-height:44px;margin-left:4px;padding:0 6px!important;font-size:14px!important;white-space:nowrap}
}
