@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=Orbitron:wght@500;600;700;800&display=swap');

:root {
    color-scheme: light;
    --vh-background: #e7eaee;
    --vh-backdrop-opacity: .035;
    --vh-ambient-opacity: .35;
    --vh-surface: #f9fafb;
    --vh-raised: #dfe4ea;
    --vh-input: #f0f3f6;
    --vh-text: #19212b;
    --vh-muted: #586273;
    --vh-border: rgba(34, 46, 61, .17);
    --vh-accent: #b92318;
    --vh-accent-soft: rgba(185, 35, 24, .065);
    --vh-grid: rgba(34, 46, 61, .07);
    --vh-header: rgba(236, 240, 244, .95);
    --vh-glass: rgba(240, 243, 247, .88);
    --vh-glass-edge: rgba(34, 46, 61, .18);
    --vh-glass-highlight: rgba(255, 255, 255, .7);
    --vh-glass-inset: rgba(34, 46, 61, .045);
    --vh-shadow: 0 2px 5px rgba(24, 38, 56, .06), 0 14px 32px -8px rgba(24, 38, 56, .18), inset 0 1px rgba(255, 255, 255, .8);
    --vh-shadow-hover: 0 4px 8px rgba(24, 38, 56, .08), 0 22px 42px -10px rgba(24, 38, 56, .24), inset 0 1px rgba(255, 255, 255, .8);
    --vh-display: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --vh-mono: 'Cascadia Code', Consolas, monospace;
}

html.dark,
html[data-bs-theme="dark"],
body[data-bs-theme="dark"] {
    color-scheme: dark;
    --vh-background: #090b0f;
    --vh-backdrop-opacity: .16;
    --vh-ambient-opacity: .8;
    --vh-surface: #11141a;
    --vh-raised: #191d25;
    --vh-input: #0c0f14;
    --vh-text: #f4f4f5;
    --vh-muted: #a0a6b2;
    --vh-border: #292d36;
    --vh-accent: #ff454d;
    --vh-accent-soft: rgba(239, 48, 56, .09);
    --vh-grid: rgba(239, 48, 56, .10);
    --vh-header: rgba(3, 4, 5, .96);
    --vh-glass: rgba(9, 12, 19, .68);
    --vh-glass-edge: rgba(255, 255, 255, .10);
    --vh-glass-highlight: rgba(255, 255, 255, .075);
    --vh-glass-inset: rgba(255, 255, 255, .035);
    --vh-shadow: 0 4px 24px rgba(0, 0, 0, .12);
}

.vaded-theme {
    position: relative;
    isolation: isolate;
    min-height: 100svh;
    color: var(--vh-text);
    background-color: var(--vh-background);
    background-image: radial-gradient(ellipse at 85% 10%, rgba(220, 30, 35, .08), transparent 55%);
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-feature-settings: 'cv03', 'cv04', 'cv11';
    -webkit-font-smoothing: antialiased;
    scrollbar-color: #51444b var(--vh-background);
}

.vaded-theme::before,
.vaded-theme::after { content: ''; position: fixed; inset: 0; pointer-events: none; }
.vaded-theme::before { z-index: -2; opacity: var(--vh-backdrop-opacity); background: url('../img/vaded-archive-background.png') center / cover no-repeat; mask-image: linear-gradient(110deg,#000,transparent 55%,#000); }
.vaded-theme::after { z-index: -1; opacity: var(--vh-ambient-opacity); background: radial-gradient(ellipse at 90% 20%,rgba(164,25,46,.22),transparent 52%),radial-gradient(ellipse at 8% 85%,rgba(120,35,59,.14),transparent 45%),linear-gradient(120deg,transparent 35%,rgba(227,54,68,.025) 50%,transparent 65%); }
.vaded-theme.vaded-admin :is(.page, .page-wrapper, .page-body),
.vaded-theme.vaded-client > main { background-color: transparent; }

@media (prefers-reduced-motion: no-preference) {
    @keyframes vh-ambient-drift { 50% { transform: translate3d(-2%,2%,0) scale(1.04); opacity: calc(var(--vh-ambient-opacity) * .65); } }
    @keyframes vh-premium-enter { from { opacity: 0; transform: translate3d(0,18px,0); } to { opacity: 1; transform: none; } }
    .vaded-theme::after { animation: vh-ambient-drift 22s ease-in-out infinite; }
    .vaded-theme [data-vh-reveal="visible"] { animation: vh-premium-enter .7s cubic-bezier(.16,1,.3,1) backwards; }
}
@media print {
    .vaded-theme::before, .vaded-theme::after { display: none; }
}

.vaded-theme ::selection { background: #8b2333; color: #fff; }
.vaded-theme :focus-visible { outline: 2px solid var(--vh-accent); outline-offset: 3px; }
.vaded-theme :is(h1, h2, .page-title, .vh-brand, .navbar-brand) { font-family: var(--vh-display); letter-spacing: -.025em; }
.vaded-theme :is(h1, h2, h3, h4) { color: var(--vh-text); }
.vaded-theme :is(button, a, input, select, textarea) { -webkit-tap-highlight-color: transparent; }
.vaded-theme :is(button, input[type="checkbox"], input[type="radio"]) { accent-color: #ef4454; }

.vh-brand { display: inline-flex; align-items: center; gap: 8px; font-weight: 800; letter-spacing: -.025em; text-transform: uppercase; }
.vaded-theme :is(.vh-client-header .vh-brand, .navbar-vertical .navbar-brand) > span {
    color: var(--vh-text);
    font-family: 'Orbitron', var(--vh-display);
    font-size: 16px;
    font-weight: 800;
    letter-spacing: .065em;
    line-height: 1.4;
    text-transform: uppercase;
    background: linear-gradient(110deg, var(--vh-text) 45%, var(--vh-accent) 100%);
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.vaded-theme .navbar-vertical .navbar-brand > span { font-size: 12px; letter-spacing: .045em; }
.vaded-theme :is(.vh-client-header .vh-brand, .navbar-vertical .navbar-brand) img {
    border: 1px solid var(--vh-glass-edge);
    border-radius: 9px;
    padding: 3px;
    background: var(--vh-glass-inset);
    box-shadow: inset 0 1px var(--vh-glass-highlight);
}
.vaded-theme :is(.vh-client-header .vh-brand, .navbar-vertical .navbar-brand):hover img { border-color: var(--vh-muted); }
@media (max-width: 639px) {
    .vaded-theme .vh-client-header .vh-brand > span { font-size: 12px; letter-spacing: .045em; }
}
.vh-brand-mark { color: var(--vh-accent); font: 700 24px var(--vh-mono); letter-spacing: -4px; padding-right: 4px; }
.vh-eyebrow { display: block; margin-bottom: 12px; color: var(--vh-accent); font: 700 10px var(--vh-display); letter-spacing: .11em; text-transform: uppercase; }
.vh-window-bar { display: flex; align-items: center; gap: 7px; padding: 15px 20px; border-bottom: 1px solid var(--vh-border); color: var(--vh-muted); font: 11px var(--vh-mono); letter-spacing: .06em; }
.vh-window-bar > i { width: 8px; height: 8px; border-radius: 50%; background: #ef4454; }
.vh-window-bar > i:nth-child(2) { background: #eebf46; }
.vh-window-bar > i:nth-child(3) { background: #28bd77; }
.vh-window-bar > span { margin-left: 10px; }

.vaded-theme .vh-auth-shell { min-height: 100svh; display: grid; align-items: center; padding: 64px 32px; background: transparent; }
.vh-auth-layout { width: 100%; max-width: 1080px; margin: auto; display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 90px; }
.vh-auth-intro .vh-brand { color: var(--vh-text); font-size: 18px; margin-bottom: 64px; text-decoration: none; }
.vh-auth-intro .vh-brand img { width: 30px; height: 30px; border-radius: 5px; }
.vh-auth-intro h1 { font-size: clamp(36px, 4vw, 56px); font-weight: 900; line-height: 1.08; margin: 0 0 24px; text-transform: uppercase; }
.vh-auth-intro h1 span { color: var(--vh-accent); background: linear-gradient(105deg, #ef3038, #ff792d); background-clip: text; -webkit-text-fill-color: transparent; }
.vh-auth-intro p { color: var(--vh-muted); font-size: 15px; line-height: 1.8; max-width: 360px; }
.vh-auth-intro .vh-auth-line { width: 64px; height: 3px; margin-top: 32px; background: #ef4454; box-shadow: 0 0 18px rgba(239, 68, 84, .24); }
.vh-auth-card { min-width: 0; border: 1px solid var(--vh-border); border-top-color: rgba(239, 48, 56, .4); border-radius: 8px; background: var(--vh-surface); box-shadow: var(--vh-shadow), 0 0 80px rgba(220, 30, 40, .06); overflow: hidden; }
.vh-auth-card .vh-window-bar { font-family: var(--vh-display); font-weight: 600; text-transform: uppercase; }
.vh-auth-card h1 { font-size: 23px; line-height: 1.45; }
.vh-auth-footer { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 18px 4px; color: var(--vh-muted); font: 11px var(--vh-mono); }
.vh-auth-theme { padding: 6px 10px; border: 1px solid var(--vh-border); border-radius: 6px; color: var(--vh-muted); background: var(--vh-surface); }

.vh-hosting-hero { position: relative; isolation: isolate; display: grid; grid-template-columns: 1.3fr .7fr; min-height: 310px; align-items: center; overflow: hidden; margin: 0 8px 26px; padding: 38px 46px; border: 1px solid var(--vh-border); border-radius: 8px; background: radial-gradient(ellipse at 65% 50%, rgba(210, 37, 32, .27), transparent 72%), var(--vh-surface); }
.vh-hosting-hero::before { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: .5; background-image: linear-gradient(var(--vh-grid) 1px, transparent 1px), linear-gradient(90deg, var(--vh-grid) 1px, transparent 1px); background-size: 34px 34px; mask-image: radial-gradient(ellipse at center, #000, transparent 75%); }
.vh-hosting-hero::after { content: 'V'; position: absolute; z-index: -1; left: 45%; top: 4%; color: rgba(239, 48, 56, .055); font: 900 270px/1 var(--vh-display); transform: skew(-12deg); pointer-events: none; }
.vh-hero-copy { position: relative; z-index: 1; max-width: 550px; }
.vh-hero-badge { display: inline-flex; padding: 5px 9px; margin-bottom: 17px; border: 1px solid rgba(239, 48, 56, .16); border-radius: 4px; color: var(--vh-accent); background: var(--vh-accent-soft); font-size: 10px; font-weight: 600; }
.vaded-theme .vh-hosting-hero h1 { color: var(--vh-text); font-size: clamp(30px, 3.2vw, 45px); font-weight: 900; line-height: 1.08; letter-spacing: -.035em; text-transform: uppercase; margin: 0 0 16px; }
.vh-hosting-hero h1 span { color: #f13a34; background: linear-gradient(110deg, #ef3038, #ff792d); background-clip: text; -webkit-text-fill-color: transparent; }
.vh-hosting-hero p { color: var(--vh-muted); font-size: 13px; line-height: 1.8; max-width: 405px; }
.vh-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 23px; }
.vaded-theme .vh-action { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 42px; padding: 10px 14px; font-size: 12px; text-decoration: none; }
.vaded-theme :is(.vh-action, .vh-button, .btn:not(.btn-link), :where(a, button)[class*="bg-primary-"]) { border-radius: 6px; font-weight: 600; letter-spacing: .025em; -webkit-tap-highlight-color: transparent; }

.vaded-theme :is(.vh-action, .vh-button, .btn-primary, :where(a, button)[class*="bg-primary-"]) {
    min-height: 44px; border: 1px solid #c72b38; color: #fff; background: #d82e3d;
    font-family: var(--vh-display); font-weight: 650; letter-spacing: 0;
    box-shadow: inset 0 1px rgba(255,255,255,.12),0 3px 10px rgba(210,40,50,.12);
}
.vaded-theme :is(.vh-action, .vh-button, .btn-primary, :where(a, button)[class*="bg-primary-"]):hover {
    background: #be2432; border-color: #e34550; color: #fff; box-shadow: 0 4px 14px rgba(210,40,50,.2);
}
.vaded-theme :is(.vh-action-secondary, .btn-secondary, .btn-outline-secondary) {
    border: 1px solid var(--vh-border); background: var(--vh-surface); color: var(--vh-text); box-shadow: none;
}
.vaded-theme :is(.vh-action-secondary, .btn-secondary, .btn-outline-secondary):hover {
    border-color: var(--vh-muted); background: var(--vh-raised); color: var(--vh-text); box-shadow: none;
}
.vaded-theme .vh-action-tile { justify-content: flex-start; gap: 10px; min-height: 46px; padding: 8px 12px; text-align: left; }
.vh-action-icon { flex-shrink: 0; width: 20px; height: 20px; color: inherit; }
.vh-action-copy { display: grid; gap: 3px; min-width: 0; }
.vh-action-label { color: inherit; font-size: 11px; font-weight: 600; line-height: 1.2; letter-spacing: .06em; text-transform: uppercase; }
.vh-action-description { color: inherit; opacity: .8; font-size: 10px; font-weight: 600; line-height: 1.3; letter-spacing: 0; }
.vh-action-chevron { flex-shrink: 0; width: 13px; height: 13px; margin-left: auto; color: inherit; }
.vh-action-tile:hover .vh-action-chevron { color: #e2dfe3; }
.vaded-theme :is(.vh-action, .vh-button, .btn:not(.btn-link), :where(a, button)[class*="bg-primary-"]):focus-visible { outline: 2px solid var(--vh-accent); outline-offset: 4px; }
.vaded-theme :is(.vh-action, .vh-button, .btn:not(.btn-link), :where(a, button)[class*="bg-primary-"]):active { transform: translateY(1px); box-shadow: inset 0 2px 5px rgba(0, 0, 0, .16); }
.vaded-theme :is(.vh-action, .vh-button, .btn:not(.btn-link), :where(a, button)[class*="bg-primary-"]):is(:disabled, .disabled, [aria-disabled="true"]) { opacity: .5; cursor: not-allowed; box-shadow: none; transform: none; }
@media (prefers-reduced-motion: no-preference) {
    .vaded-theme :is(.vh-action, .vh-button, .btn:not(.btn-link), :where(a, button)[class*="bg-primary-"]) { transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease; }
    .vaded-theme :is(.vh-action, .vh-button, .btn:not(.btn-link), :where(a, button)[class*="bg-primary-"]):hover:not(:active, :disabled, .disabled, [aria-disabled="true"]) { transform: translateY(-1px); }
}
.vh-hero-art { position: relative; display: flex; justify-content: center; align-items: center; min-width: 0; height: 270px; }
.vh-hero-art img { width: auto; max-width: 100%; height: 310px; object-fit: contain; filter: drop-shadow(0 10px 25px rgba(0, 0, 0, .2)); }

@media (prefers-reduced-motion: no-preference) {
    .vh-hero-art img { animation: vaded-server-float 7s ease-in-out infinite; }
    @keyframes vaded-server-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
}

@media (max-width: 767px) {
    .vh-hosting-hero { min-height: 270px; padding: 25px; grid-template-columns: 1fr; margin: 0 0 22px; }
    .vh-hero-copy { max-width: 100%; }
    .vaded-theme .vh-hosting-hero h1 { font-size: 29px; }
    .vh-hero-art { position: absolute; right: -25px; top: 30px; width: 160px; height: 220px; opacity: .15; z-index: 0; }
    .vh-hero-art img { height: 230px; }
    .vh-hosting-hero::after { left: 45%; top: 20%; font-size: 200px; }
    .vh-hero-actions { width: 100%; }
}

@media (max-width: 767px) {
    .vaded-theme .vh-auth-shell { padding: 28px 18px; }
    .vh-auth-layout { grid-template-columns: minmax(0, 1fr); max-width: 480px; gap: 28px; }
    .vh-auth-intro .vh-brand { margin-bottom: 26px; font-size: 18px; }
    .vh-auth-intro h1 { font-size: 28px; margin-bottom: 12px; }
    .vh-auth-intro p { display: none; }
    .vh-auth-intro .vh-auth-line { margin-top: 18px; }
}

@media (prefers-reduced-motion: no-preference) {
    .vaded-theme :is(.btn, button, .nav-link, input, select, textarea) { transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease; }
}

@media print {
    .vaded-theme { background: #fff !important; color: #111 !important; }
}

.vaded-theme :focus-visible { outline: 2px solid var(--vh-accent); outline-offset: 3px; }
.vaded-theme button:disabled { cursor: not-allowed; opacity: .55; }

html:not(.dark):not([data-bs-theme="dark"]) .vaded-theme:not([data-bs-theme="dark"]) {
    background-image: radial-gradient(ellipse at 85% 10%, rgba(45, 65, 90, .09), transparent 55%);
    scrollbar-color: #768190 var(--vh-background);
}
html:not(.dark):not([data-bs-theme="dark"]) .vaded-theme:not([data-bs-theme="dark"])::after {
    background: radial-gradient(ellipse at 90% 20%, rgba(45, 65, 90, .18), transparent 52%), radial-gradient(ellipse at 8% 85%, rgba(45, 65, 90, .1), transparent 45%);
}
.vaded-theme[data-bs-theme="light"] ::selection { background: var(--vh-accent); color: #fff; }
.vaded-theme[data-bs-theme="light"] :is(button, input[type="checkbox"], input[type="radio"]) { accent-color: var(--vh-accent); }
.vaded-theme[data-bs-theme="light"] :is(.vh-window-bar > i:first-child, .vh-auth-line) { background: var(--vh-accent); }
.vaded-theme[data-bs-theme="light"] :is(.vh-auth-intro h1 span, .vh-hosting-hero h1 span) { background-image: linear-gradient(105deg, var(--vh-accent), #df3b16); }
.vaded-theme[data-bs-theme="light"] .vh-hosting-hero { background: radial-gradient(ellipse at 65% 50%, rgba(45, 65, 90, .12), transparent 72%), var(--vh-surface); box-shadow: var(--vh-shadow); }
.vaded-theme[data-bs-theme="light"] .vh-auth-card { border-top-color: var(--vh-accent); box-shadow: var(--vh-shadow); }
.vaded-theme[data-bs-theme="light"] :is(.vh-action, .vh-button, .btn-primary, :where(a, button)[class*="bg-primary-"]):not(.vh-action-secondary) {
    border-color: #a71f14;
    background: linear-gradient(135deg, #c52a1b, #a71f14);
    box-shadow: inset 0 1px rgba(255, 255, 255, .16), 0 5px 12px rgba(105, 30, 20, .18);
}
.vaded-theme[data-bs-theme="light"] :is(.vh-action, .vh-button, .btn-primary, :where(a, button)[class*="bg-primary-"]):not(.vh-action-secondary):hover {
    border-color: #8e1b12;
    background: linear-gradient(135deg, #ad2216, #8e1b12);
    box-shadow: inset 0 1px rgba(255, 255, 255, .12), 0 7px 16px rgba(105, 30, 20, .24);
}
.vaded-theme[data-bs-theme="light"] :is(.vh-action, .vh-button, .btn-primary, :where(a, button)[class*="bg-primary-"]):is(:disabled, .disabled, [aria-disabled="true"]) { box-shadow: none; }
.vaded-theme[data-bs-theme="light"] :is(.vh-action, .vh-button, .btn-primary, :where(a, button)[class*="bg-primary-"]):active { box-shadow: inset 0 2px 5px rgba(0, 0, 0, .16); }

.vaded-theme { overflow-wrap: anywhere; }
.vaded-theme :is(input, select, textarea) { max-width: 100%; }
.vaded-theme :is(img, video, canvas, iframe) { max-width: 100%; }
.vaded-theme :is(pre, code) { overflow-wrap: normal; }
.vaded-theme pre { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; }
@media (max-width: 767px) {
    .vh-auth-footer { flex-wrap: wrap; }
    .vh-auth-theme { min-height: 44px; }
}

.vh-seasonal-logo { position: relative; display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; isolation: isolate; }
[data-logo-theme] { --vh-seasonal-color: #c69c69; --vh-seasonal-glow: rgba(198,156,105,.16); }
[data-logo-theme="spring"] { --vh-seasonal-color: #d78aa9; --vh-seasonal-glow: rgba(215,138,169,.16); }
[data-logo-theme="summer"] { --vh-seasonal-color: #dca34e; --vh-seasonal-glow: rgba(220,163,78,.16); }
[data-logo-theme="autumn"] { --vh-seasonal-color: #c99152; --vh-seasonal-glow: rgba(209,145,72,.2); }
[data-logo-theme="winter"] { --vh-seasonal-color: #91bcd2; --vh-seasonal-glow: rgba(145,188,210,.16); }
[data-logo-theme="newYear"] { --vh-seasonal-color: #c9a563; --vh-seasonal-glow: rgba(201,165,99,.18); }
[data-logo-theme="valentines"] { --vh-seasonal-color: #cf87a0; --vh-seasonal-glow: rgba(207,135,160,.16); }
[data-logo-theme="stPatrickDay"] { --vh-seasonal-color: #7ead8f; --vh-seasonal-glow: rgba(126,173,143,.16); }
[data-logo-theme="easter"] { --vh-seasonal-color: #b29cc9; --vh-seasonal-glow: rgba(178,156,201,.18); }
[data-logo-theme="july4"] { --vh-seasonal-color: #97afd3; --vh-seasonal-glow: rgba(151,175,211,.16); }
[data-logo-theme="halloween"] { --vh-seasonal-color: #ac91c2; --vh-seasonal-glow: rgba(172,145,194,.18); }
[data-logo-theme="christmas"] { --vh-seasonal-color: #b89768; --vh-seasonal-glow: rgba(184,151,104,.18); }
[data-logo-theme="none"] { --vh-seasonal-color: var(--vh-muted); --vh-seasonal-glow: transparent; }
.vh-seasonal-logo::before { content: ''; position: absolute; z-index: -1; inset: -36%; pointer-events: none; border-radius: 50%; background: radial-gradient(circle, var(--vh-seasonal-glow, transparent), transparent 70%); }
.vaded-theme .vh-brand > .vh-seasonal-logo { background: none; -webkit-text-fill-color: currentColor; }
.vh-seasonal-logo > img { display: block; margin: 0; object-fit: contain; }
.vh-logo-artwork { position: absolute; inset: -18%; width: 136%; height: 136%; max-width: none !important; overflow: visible; pointer-events: none; filter: drop-shadow(0 1px 1px rgba(20,15,25,.18)); }
.vh-logo-artwork > [data-edition] { display: none; }
.vh-seasonal-logo[data-logo-theme="spring"] [data-edition="spring"],
.vh-seasonal-logo[data-logo-theme="summer"] [data-edition="summer"],
.vh-seasonal-logo[data-logo-theme="autumn"] [data-edition="autumn"],
.vh-seasonal-logo[data-logo-theme="winter"] [data-edition="winter"],
.vh-seasonal-logo[data-logo-theme="newYear"] [data-edition="newYear"],
.vh-seasonal-logo[data-logo-theme="valentines"] [data-edition="valentines"],
.vh-seasonal-logo[data-logo-theme="stPatrickDay"] [data-edition="stPatrickDay"],
.vh-seasonal-logo[data-logo-theme="easter"] [data-edition="easter"],
.vh-seasonal-logo[data-logo-theme="july4"] [data-edition="july4"],
.vh-seasonal-logo[data-logo-theme="halloween"] [data-edition="halloween"],
.vh-seasonal-logo[data-logo-theme="thanksgiving"] [data-edition="thanksgiving"],
.vh-seasonal-logo[data-logo-theme="christmas"] [data-edition="christmas"] { display: inline; }
.vh-logo-artwork :is(.vh-logo-sway, .vh-logo-leaf, .vh-logo-crystal, .vh-logo-heart, .vh-logo-egg, .vh-logo-butterfly, .vh-logo-coin, .vh-logo-firework, .vh-logo-firework-ring, .vh-logo-sun-rays, .vh-logo-flame) { transform-box: fill-box; transform-origin: center; }
.vh-logo-phase { --vh-logo-delay: -4s; }
.vh-logo-phase-late { --vh-logo-delay: -7s; }
.vh-logo-artwork :is(.vh-logo-autumn-maple, .vh-logo-autumn-oak, .vh-logo-autumn-russet, .vh-logo-autumn-acorn, .vh-logo-autumn-falling) { transform-box: fill-box; transform-origin: 50% 85%; }
.vh-seasonal-logo[data-logo-theme="autumn"]::before { background: radial-gradient(ellipse at 38% 28%, rgba(214,155,77,.19), transparent 64%), radial-gradient(ellipse at 72% 76%, rgba(169,81,55,.12), transparent 65%); }
@media (prefers-reduced-motion: no-preference) {
    [data-logo-motion="on"] .vh-logo-artwork [class*="vh-logo-"] { animation-delay: var(--vh-logo-delay, 0s); }
    [data-logo-motion="on"] .vh-logo-sway { animation: vh-logo-sway 9s cubic-bezier(.45,0,.55,1) infinite; }
    [data-logo-motion="on"] .vh-logo-petal { animation: vh-logo-petal 12s linear infinite; }
    [data-logo-motion="on"] .vh-logo-butterfly { animation: vh-logo-butterfly 8s ease-in-out infinite; }
    [data-logo-motion="on"] .vh-logo-sun-rays { animation: vh-logo-sun 40s linear infinite; }
    [data-logo-motion="on"] .vh-logo-aura { animation: vh-logo-aura 8s ease-in-out infinite; }
    [data-logo-motion="on"] .vh-logo-wave { animation: vh-logo-wave 7s ease-in-out infinite; }
    [data-logo-motion="on"] .vh-logo-leaf { animation: vh-logo-leaf 13s cubic-bezier(.45,0,.55,1) infinite; }
    [data-logo-motion="on"] .vh-logo-snow { animation: vh-logo-snow 14s linear infinite; }
    [data-logo-motion="on"] .vh-logo-crystal { animation: vh-logo-crystal 18s ease-in-out infinite; }
    [data-logo-motion="on"] .vh-logo-firework { animation: vh-logo-firework 11s cubic-bezier(.16,1,.3,1) infinite; }
    [data-logo-motion="on"] .vh-logo-firework-ring { animation: vh-logo-firework-ring 11s ease-out infinite; }
    [data-logo-motion="on"] .vh-logo-firework-rays { stroke-dasharray: 9; animation: vh-logo-firework-rays 11s ease-out infinite; }
    [data-logo-motion="on"] .vh-logo-confetti { animation: vh-logo-confetti 12s ease-in-out infinite; }
    [data-logo-motion="on"] .vh-logo-heart { animation: vh-logo-heart 8s cubic-bezier(.45,0,.55,1) infinite; }
    [data-logo-motion="on"] .vh-logo-ribbon { animation: vh-logo-wave 10s ease-in-out infinite; }
    [data-logo-motion="on"] .vh-logo-coin { animation: vh-logo-coin 12s ease-in-out infinite; }
    [data-logo-motion="on"] .vh-logo-egg { animation: vh-logo-egg 10s cubic-bezier(.45,0,.55,1) infinite; }
    [data-logo-motion="on"] .vh-logo-ghost { animation: vh-logo-ghost 10s cubic-bezier(.45,0,.55,1) infinite; }
    [data-logo-motion="on"] .vh-logo-wing-left { transform-origin: 0 0; animation: vh-logo-wing-left 9s ease-in-out infinite; }
    [data-logo-motion="on"] .vh-logo-wing-right { transform-origin: 0 0; animation: vh-logo-wing-right 9s ease-in-out infinite; }
    [data-logo-motion="on"] .vh-logo-flame { animation: vh-logo-flame 4s ease-in-out infinite; }
    [data-logo-motion="on"] .vh-logo-mist { animation: vh-logo-mist 13s ease-in-out infinite; }
    [data-logo-motion="on"] .vh-logo-steam { animation: vh-logo-steam 8s ease-out infinite; }
    [data-logo-motion="on"] .vh-logo-bulb { animation: vh-logo-bulb 8s ease-in-out infinite; }
    [data-logo-motion="on"] .vh-logo-twinkle { animation: vh-logo-twinkle 9s ease-in-out infinite; }
    [data-logo-motion="on"] .vh-logo-mote { animation: vh-logo-mote 11s ease-in-out infinite; }
    [data-logo-motion="on"] .vh-logo-trail { stroke-dasharray: 36 12; animation: vh-logo-trail 24s linear infinite; }
    [data-logo-motion="on"] .vh-logo-autumn-maple { animation: vh-autumn-maple 12s cubic-bezier(.45,0,.55,1) infinite; }
    [data-logo-motion="on"] .vh-logo-autumn-oak { animation: vh-autumn-oak 15s cubic-bezier(.45,0,.55,1) infinite; }
    [data-logo-motion="on"] .vh-logo-autumn-russet { animation: vh-autumn-russet 14s cubic-bezier(.45,0,.55,1) infinite; }
    [data-logo-motion="on"] .vh-logo-autumn-acorn { animation: vh-autumn-acorn 17s cubic-bezier(.45,0,.55,1) infinite; }
    [data-logo-motion="on"] .vh-logo-autumn-falling { animation: vh-autumn-falling 16s linear infinite; }
    [data-logo-motion="on"] .vh-logo-autumn-dust { animation: vh-autumn-dust 13s ease-in-out infinite; }
    [data-logo-motion="on"] .vh-logo-autumn-wind { stroke-dasharray: 22 34; animation: vh-autumn-wind 20s linear infinite; }
    @keyframes vh-autumn-maple { 0%,100% { transform: rotate(-5deg); } 40% { transform: rotate(4deg) translateY(-.6px); } 70% { transform: rotate(-1deg); } }
    @keyframes vh-autumn-oak { 0%,100% { transform: rotate(-3deg); } 50% { transform: rotate(5deg) translateX(.5px); } }
    @keyframes vh-autumn-russet { 0%,100% { transform: rotate(3deg); } 45% { transform: rotate(-5deg) translateY(.8px); } 75% { transform: rotate(-1deg); } }
    @keyframes vh-autumn-acorn { 0%,100% { transform: rotate(-2deg); } 50% { transform: rotate(3deg); } }
    @keyframes vh-autumn-falling { 0% { opacity: 0; transform: translate(-1px,-6px) rotate(-15deg); } 15% { opacity: .85; } 45% { transform: translate(1px,0) rotate(8deg); } 70% { opacity: .8; transform: translate(-1px,4px) rotate(-5deg); } 100% { opacity: 0; transform: translate(2px,9px) rotate(20deg); } }
    @keyframes vh-autumn-dust { 0%,100% { opacity: .2; transform: translate(-.5px,1px); } 50% { opacity: .7; transform: translate(1px,-2px); } }
    @keyframes vh-autumn-wind { 0% { opacity: .15; stroke-dashoffset: 0; } 40% { opacity: .5; } 100% { opacity: .15; stroke-dashoffset: -112; } }
    @keyframes vh-logo-sway { 0%,100% { transform: rotate(-4deg); } 50% { transform: rotate(5deg) translateY(-.7px); } }
    @keyframes vh-logo-petal { 0% { opacity: 0; transform: translate(-1px,-5px) rotate(-4deg); } 18%,65% { opacity: .9; } 100% { opacity: 0; transform: translate(3px,9px) rotate(12deg); } }
    @keyframes vh-logo-butterfly { 0%,100% { transform: translateY(1px) rotate(-4deg) scaleX(.85); } 45% { transform: translateY(-2px) rotate(4deg) scaleX(1); } 55% { transform: translateY(-2px) rotate(4deg) scaleX(.8); } }
    @keyframes vh-logo-sun { to { transform: rotate(360deg); } }
    @keyframes vh-logo-aura { 0%,100% { opacity: .1; } 50% { opacity: .24; } }
    @keyframes vh-logo-wave { 0%,100% { transform: translateX(-1px); opacity: .5; } 50% { transform: translateX(1px); opacity: .9; } }
    @keyframes vh-logo-leaf { 0%,100% { transform: translate(-1px,-1px) rotate(-9deg); } 45% { transform: translate(2px,3px) rotate(9deg); } 75% { transform: translate(0,1px) rotate(2deg); } }
    @keyframes vh-logo-snow { 0% { opacity: 0; transform: translate(-1px,-5px); } 20%,70% { opacity: .9; } 100% { opacity: 0; transform: translate(2px,10px); } }
    @keyframes vh-logo-crystal { 0%,100% { transform: rotate(-10deg); opacity: .6; } 50% { transform: rotate(15deg); opacity: 1; } }
    @keyframes vh-logo-firework { 0%,7% { transform: scale(.55); opacity: .2; } 16% { transform: scale(1.06); opacity: 1; } 27% { transform: scale(1); opacity: .8; } 46%,85% { transform: scale(.96); opacity: .25; } 100% { transform: scale(.55); opacity: .2; } }
    @keyframes vh-logo-firework-ring { 0%,7% { transform: scale(.3); opacity: 0; } 15% { opacity: .6; } 32%,100% { transform: scale(1.2); opacity: 0; } }
    @keyframes vh-logo-firework-rays { 0%,7% { stroke-dashoffset: 9; } 16%,85% { stroke-dashoffset: 0; } 100% { stroke-dashoffset: 9; } }
    @keyframes vh-logo-confetti { 0%,100% { transform: translateY(-2px) rotate(-2deg); opacity: .4; } 50% { transform: translateY(3px) rotate(2deg); opacity: .95; } }
    @keyframes vh-logo-heart { 0%,100% { transform: translateY(1px) rotate(-3deg) scale(.98); } 50% { transform: translateY(-2px) rotate(3deg) scale(1.02); } }
    @keyframes vh-logo-coin { 0%,65%,100% { transform: scaleX(1) rotate(-5deg); } 78% { transform: scaleX(.7) rotate(5deg); } 88% { transform: scaleX(1) rotate(0); } }
    @keyframes vh-logo-egg { 0%,65%,100% { transform: rotate(0); } 75% { transform: rotate(-7deg); } 85% { transform: rotate(4deg); } 93% { transform: rotate(-2deg); } }
    @keyframes vh-logo-ghost { 0%,100% { transform: translate(0,2px) rotate(-2deg); } 50% { transform: translate(-1px,-2px) rotate(2deg); } }
    @keyframes vh-logo-wing-left { 0%,60%,100% { transform: rotate(0); } 72% { transform: rotate(9deg) scaleY(.85); } 84% { transform: rotate(-4deg); } }
    @keyframes vh-logo-wing-right { 0%,60%,100% { transform: rotate(0); } 72% { transform: rotate(-9deg) scaleY(.85); } 84% { transform: rotate(4deg); } }
    @keyframes vh-logo-flame { 0%,100% { transform: scaleX(.85) rotate(-3deg); opacity: .8; } 35% { transform: scaleX(1) rotate(3deg); opacity: 1; } 65% { transform: scaleX(.9) scaleY(.95); opacity: .9; } }
    @keyframes vh-logo-mist { 0%,100% { transform: translateX(-2px); opacity: .25; } 50% { transform: translateX(2px); opacity: .6; } }
    @keyframes vh-logo-steam { 0% { transform: translateY(2px); opacity: 0; } 30% { opacity: .8; } 100% { transform: translateY(-5px); opacity: 0; } }
    @keyframes vh-logo-bulb { 0%,100% { opacity: .55; } 35%,55% { opacity: 1; } }
    @keyframes vh-logo-twinkle { 0%,100% { opacity: .35; } 35% { opacity: .9; } 65% { opacity: .5; } }
    @keyframes vh-logo-mote { 0%,100% { transform: translateY(1px); opacity: .3; } 50% { transform: translateY(-2px); opacity: .8; } }
    @keyframes vh-logo-trail { to { stroke-dashoffset: -96; } }
}
.vaded-theme[data-motion="off"]::after,
.vaded-theme[data-motion="off"] :is([data-vh-reveal], .vh-hero-art img, .vh-technology-track, .vh-payment-check, .vh-payment-ripple, .vh-payment-check-ring, .vh-payment-check-tick) { animation: none !important; }
:is(html, body)[data-accent="emerald"] { --vh-accent: #15803d; --vh-accent-soft: rgba(21,128,61,.12); }
:is(html, body)[data-accent="violet"] { --vh-accent: #7c3aed; --vh-accent-soft: rgba(124,58,237,.12); }
:is(html, body)[data-accent="amber"] { --vh-accent: #b45309; --vh-accent-soft: rgba(180,83,9,.12); }
:is(html, body)[data-bs-theme="dark"][data-accent="emerald"] { --vh-accent: #4ade80; }
:is(html, body)[data-bs-theme="dark"][data-accent="violet"] { --vh-accent: #c4b5fd; }
:is(html, body)[data-bs-theme="dark"][data-accent="amber"] { --vh-accent: #fbbf24; }
.vaded-theme[data-accent]:not([data-accent="vaded"]) :is(.vh-action:not(.vh-action-secondary), .btn-primary, :where(a,button)[class*="bg-primary-"]) { background: var(--vh-accent); border-color: var(--vh-accent); color: #111827; }
.vaded-theme[data-bs-theme="light"][data-accent]:not([data-accent="vaded"]) :is(.vh-action:not(.vh-action-secondary), .btn-primary, :where(a,button)[class*="bg-primary-"]) { color: #fff; }
