/*
 * Vak Luxury Elementor Widgets
 * Version 6.2.5
 */

/* Shared */
[class*="vak-"] { box-sizing: border-box; }
[class*="vak-"] *, [class*="vak-"] *::before, [class*="vak-"] *::after { box-sizing: border-box; }
.vak-empty-state { min-height: 130px; display:flex; align-items:center; justify-content:center; padding:24px; border:1px dashed rgba(0,0,0,.18); border-radius:16px; color:#777; text-align:center; }
.vak-reveal-item { opacity:0; transform:translateY(28px); transition:opacity .65s ease, transform .65s cubic-bezier(.2,.8,.2,1); }
.vak-reveal-item.is-visible { opacity:1; transform:none; }
.vak-drag-scroll { cursor:grab; user-select:none; -webkit-user-select:none; }
.vak-drag-scroll.is-dragging { cursor:grabbing; }

/* Logo Carousel */
.vak-logo-carousel { --vak-logo-accent:#ff3b30; width:100%; overflow-x:auto; overflow-y:visible; scrollbar-width:none; -ms-overflow-style:none; -webkit-overflow-scrolling:touch; overscroll-behavior-x:contain; scroll-behavior:auto; padding:8px 0 18px; touch-action:pan-x pan-y; }
.vak-logo-carousel::-webkit-scrollbar { display:none; }
.vak-logo-track { display:flex; align-items:stretch; gap:18px; width:max-content; min-width:100%; }
.vak-logo-card { position:relative; flex:0 0 220px; min-height:110px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; padding:16px 20px; overflow:hidden; background:#fff; border:1px solid rgba(0,0,0,.08); border-radius:20px; text-decoration:none; transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.vak-logo-card::after { content:""; position:absolute; left:50%; right:auto; bottom:0; width:0; height:4px; transform:translateX(-50%); transform-origin:center; background:var(--vak-logo-accent); border-radius:99px 99px 0 0; transition:width .35s ease; }
.vak-logo-card::before { content:""; position:absolute; inset:-70% auto -70% -40%; width:30%; transform:rotate(18deg); background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent); opacity:0; }
@keyframes vak-logo-shine { to { left:120%; } }
.vak-logo-image-wrap { display:flex; align-items:center; justify-content:center; width:100%; min-height:55px; }
.vak-logo-card img { display:block; max-width:100%; max-height:55px; width:auto; height:auto; object-fit:contain; pointer-events:none; }
.vak-logo-title { color:#111; font-size:14px; font-weight:600; line-height:1.3; text-align:center; }

/* Feature Cards */
.vak-feature-cards { --vak-feature-columns:3; --vak-feature-gap:28px; --vak-feature-hover-lift:10px; --vak-feature-image-size:160px; --vak-feature-image-bg:#fff; display:grid; grid-template-columns:repeat(var(--vak-feature-columns),minmax(0,1fr)); gap:var(--vak-feature-gap); width:100%; padding-top:calc(var(--vak-feature-image-size)/2); }
.vak-feature-card { position:relative; min-width:0; padding:90px 28px 32px; background:#fff; border-radius:24px; text-decoration:none; color:inherit; transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease, background-color .35s ease; }
.vak-feature-image-wrap { --vak-feature-image-x:0px; --vak-feature-image-y:0px; position:absolute; left:50%; top:0; width:var(--vak-feature-image-size); height:var(--vak-feature-image-size); transform:translate(calc(-50% + var(--vak-feature-image-x)),calc(-50% + var(--vak-feature-image-y))); display:flex; align-items:center; justify-content:center; padding:14px; overflow:hidden; border-radius:50%; background:var(--vak-feature-image-bg); box-shadow:0 14px 32px rgba(0,0,0,.12); transition:transform .35s ease, box-shadow .35s ease; }
.vak-feature-image-wrap img { width:100%; height:100%; object-fit:contain; display:block; }
.vak-feature-image-frame-hide .vak-feature-image-wrap { padding:0 !important; background:transparent !important; box-shadow:none !important; border-radius:0 !important; overflow:visible !important; }
.vak-feature-title { margin:0 0 12px; color:#111; font-size:24px; line-height:1.2; }
.vak-feature-description { color:#666; font-size:15px; line-height:1.8; }

/* Template Tabs */
.vak-template-tabs-card { display:flex; flex-direction:column; gap:12px; width:100%; padding:14px; background:#fff; border-radius:28px; overflow:hidden; }
.vak-template-tabs-header { align-self:flex-end; display:flex; align-items:center; gap:6px; max-width:100%; width:max-content; padding:6px; overflow-x:auto; scrollbar-width:none; background:#f1f1f1; border-radius:999px; }
.vak-template-tabs-header::-webkit-scrollbar { display:none; }
.vak-template-tab-button { flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; padding:10px 18px; border:0; border-radius:999px; background:transparent; color:#333; font:inherit; font-weight:600; cursor:pointer; white-space:nowrap; transition:background-color .25s ease,color .25s ease,transform .25s ease; }
.vak-template-tab-button.is-active { background:#111; color:#fff; }
.vak-template-tab-button:focus-visible { outline:2px solid currentColor; outline-offset:2px; }
.vak-template-tabs-content { min-height:180px; padding:28px; background:#f8f8f8; border-radius:22px; overflow:hidden; }
.vak-template-tab-panel { opacity:0; transform:translateY(8px); }
.vak-template-tab-panel[hidden] { display:none !important; }
.vak-template-tab-panel.is-active { opacity:1; transform:none; animation:vak-tab-in .32s ease both; }
@keyframes vak-tab-in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }

/* Scroll Progress */
.vak-scroll-progress { --vak-scroll-size:54px; --vak-scroll-horizontal:28px; --vak-scroll-bottom:28px; --vak-scroll-progress:0%; --vak-scroll-ring-width:4px; --vak-scroll-icon-color:#111; --vak-scroll-hover-icon-color:#fff; --vak-scroll-track-color:#e6e6e6; --vak-scroll-progress-color:#ffcc00; position:fixed; z-index:999; right:var(--vak-scroll-horizontal); bottom:var(--vak-scroll-bottom); width:var(--vak-scroll-size); height:var(--vak-scroll-size); margin:0; padding:0; opacity:0; visibility:hidden; pointer-events:none; transform:translateY(14px) scale(.88); transform-origin:center; transition:opacity .28s ease,visibility .28s ease,transform .28s ease; }
.vak-scroll-position-right .vak-scroll-progress { right:var(--vak-scroll-horizontal); left:auto; }
.vak-scroll-position-left .vak-scroll-progress { right:auto; left:var(--vak-scroll-horizontal); }
.vak-scroll-progress.is-visible { opacity:1; visibility:visible; pointer-events:auto; transform:none; }
.vak-scroll-progress-button { position:relative; isolation:isolate; display:flex; align-items:center; justify-content:center; width:100%; height:100%; min-width:0; min-height:0; margin:0; padding:0; border:0; border-radius:50% !important; background:transparent !important; color:var(--vak-scroll-icon-color); cursor:pointer; appearance:none; -webkit-appearance:none; outline:none; overflow:visible; transform:translateZ(0); transform-origin:center; transition:transform .25s ease,color .25s ease,box-shadow .25s ease; }
.vak-scroll-progress-ring { position:absolute; z-index:0; inset:0; display:block; border-radius:50%; overflow:hidden; -webkit-clip-path:circle(50% at 50% 50%); clip-path:circle(50% at 50% 50%); background:conic-gradient(from -90deg,var(--vak-scroll-progress-color) 0%,var(--vak-scroll-progress-color) var(--vak-scroll-progress),var(--vak-scroll-track-color) var(--vak-scroll-progress),var(--vak-scroll-track-color) 100%); pointer-events:none; transform:translateZ(0); }
.vak-scroll-progress-button::before,.vak-scroll-progress-button::after { content:""; position:absolute; inset:var(--vak-scroll-ring-width); display:block; border:0; border-radius:50%; background-position:center; background-repeat:no-repeat; background-size:cover; pointer-events:none; transform:none; transition:opacity .3s ease; }
.vak-scroll-progress-button::before { z-index:1; background-color:#fff; opacity:1; }
.vak-scroll-progress-button::after { z-index:2; background-color:#111; opacity:0; }
.vak-scroll-progress-icon { position:relative; z-index:3; display:inline-flex; align-items:center; justify-content:center; color:inherit; font-size:17px; line-height:1; pointer-events:none; transition:color .25s ease,transform .25s ease; }
.vak-scroll-progress-icon i { color:inherit; font-size:inherit; }
.vak-scroll-progress-icon svg { display:block; width:1em; height:1em; color:inherit; fill:currentColor; }
@media (hover:hover) and (pointer:fine) { .vak-scroll-progress-button.is-vak-hovered { color:var(--vak-scroll-hover-icon-color); transform:translateY(-3px) scale(1.04); } .vak-scroll-progress-button.is-vak-hovered::before { opacity:1; } .vak-scroll-progress-button.is-vak-hovered::after { opacity:1; } .vak-scroll-progress-button.is-vak-hovered .vak-scroll-progress-icon { transform:translateY(-1px); } }
.vak-scroll-progress-button:active { transform:scale(.94); }
.vak-scroll-progress-button:focus-visible { outline:3px solid var(--vak-scroll-progress-color); outline-offset:4px; }
.elementor-editor-active .vak-scroll-progress { opacity:1; visibility:visible; pointer-events:auto; transform:none; }
.elementor-widget-vak-scroll-progress.vak-scroll-progress-portal { position:static !important; display:block !important; width:0 !important; height:0 !important; min-width:0 !important; min-height:0 !important; max-width:0 !important; max-height:0 !important; margin:0 !important; padding:0 !important; border:0 !important; transform:none !important; translate:none !important; rotate:none !important; scale:none !important; filter:none !important; backdrop-filter:none !important; perspective:none !important; overflow:visible !important; contain:none !important; content-visibility:visible !important; opacity:1 !important; visibility:visible !important; pointer-events:none !important; }
.elementor-widget-vak-scroll-progress.vak-scroll-progress-portal .vak-scroll-progress { pointer-events:none; }
.elementor-widget-vak-scroll-progress.vak-scroll-progress-portal .vak-scroll-progress.is-visible { pointer-events:auto; }

/* Glass Service Card */
.vak-glass-card { --vak-glass-accent:#8b5cf6; position:relative; isolation:isolate; display:flex; flex-direction:column; align-items:flex-start; min-height:360px; padding:36px; overflow:hidden; border:1px solid rgba(255,255,255,.22); border-radius:28px; background:linear-gradient(135deg,#15172a,#090a12); color:#fff; text-decoration:none; backdrop-filter:blur(22px); -webkit-backdrop-filter:blur(22px); transform-style:preserve-3d; transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease; }
.vak-glass-card::before { content:""; position:absolute; z-index:-2; inset:0; background:rgba(255,255,255,.12); }
.vak-glass-card::after { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(125deg,rgba(255,255,255,.18),transparent 35%,transparent 65%,rgba(255,255,255,.06)); pointer-events:none; }
.vak-glass-orb { position:absolute; z-index:-1; top:-90px; right:-70px; width:240px; height:240px; border-radius:50%; background:radial-gradient(circle,var(--vak-glass-accent),transparent 68%); filter:blur(8px); opacity:.65; transition:transform .5s ease; }
.vak-glass-badge { display:inline-flex; padding:7px 12px; border:1px solid rgba(255,255,255,.2); border-radius:999px; background:rgba(255,255,255,.08); color:#fff; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.vak-glass-icon { display:inline-flex; align-items:center; justify-content:center; width:64px; height:64px; margin:34px 0 26px; border-radius:20px; background:color-mix(in srgb,var(--vak-glass-accent) 22%,transparent); color:#fff; font-size:26px; }
.vak-glass-icon svg { width:1em; height:1em; fill:currentColor; }
.vak-glass-title { margin:0 0 14px; color:#fff; font-size:32px; line-height:1.15; }
.vak-glass-text { margin-bottom:28px; color:rgba(255,255,255,.78); line-height:1.75; }
.vak-glass-link { margin-top:auto; display:inline-flex; align-items:center; gap:8px; color:#fff; font-weight:700; }

/* Magnetic Button */
.vak-magnetic-button { display:inline-flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#7c3aed,#4f46e5); color:#fff; border-radius:999px; padding:18px 32px; text-decoration:none; transform:translate3d(0,0,0); will-change:transform; transition:background .3s ease,color .3s ease,box-shadow .3s ease; }
.vak-magnetic-button-inner { display:inline-flex; align-items:center; justify-content:center; gap:12px; will-change:transform; }
.vak-magnetic-icon { display:inline-flex; transition:transform .3s ease; }
.vak-magnetic-icon svg { width:1em; height:1em; fill:currentColor; }

/* Spotlight Card */
.vak-spotlight-card { --vak-spotlight-color:rgba(124,58,237,.55); --vak-spotlight-size:340px; --vak-spotlight-x:50%; --vak-spotlight-y:50%; position:relative; isolation:isolate; display:block; min-height:340px; overflow:hidden; padding:44px; border:1px solid rgba(255,255,255,.1); border-radius:28px; background:#0b0d16; color:#fff; text-decoration:none; }
.vak-spotlight-card::before { content:""; position:absolute; z-index:-1; inset:0; background:radial-gradient(var(--vak-spotlight-size) circle at var(--vak-spotlight-x) var(--vak-spotlight-y),var(--vak-spotlight-color),transparent 62%); opacity:0; transition:opacity .3s ease; }
.vak-spotlight-glow { position:absolute; z-index:-2; inset:1px; border-radius:inherit; background:linear-gradient(135deg,rgba(255,255,255,.05),transparent); }
.vak-spotlight-icon { display:inline-flex; align-items:center; justify-content:center; width:60px; height:60px; margin-bottom:48px; border:1px solid rgba(255,255,255,.12); border-radius:18px; background:rgba(255,255,255,.06); font-size:24px; }
.vak-spotlight-icon svg { width:1em; height:1em; fill:currentColor; }
.vak-spotlight-eyebrow { display:block; margin-bottom:12px; color:#9ca3af; font-size:11px; font-weight:800; letter-spacing:.16em; }
.vak-spotlight-title { margin:0 0 14px; color:#fff; font-size:32px; line-height:1.15; }
.vak-spotlight-text { color:#aeb3c2; line-height:1.75; }

/* Bento Grid */
.vak-bento-grid { --vak-bento-columns:4; --vak-bento-row:220px; --vak-bento-accent:#7c3aed; display:grid; grid-template-columns:repeat(var(--vak-bento-columns),minmax(0,1fr)); grid-auto-rows:var(--vak-bento-row); gap:20px; }
.vak-bento-item { position:relative; isolation:isolate; min-width:0; overflow:hidden; padding:28px; border:1px solid rgba(0,0,0,.07); border-radius:28px; background:#f4f4f5; color:#111; text-decoration:none; transition:transform .35s ease,box-shadow .35s ease; }
.vak-bento-wide { grid-column:span 2; }
.vak-bento-tall { grid-row:span 2; }
.vak-bento-large { grid-column:span 2; grid-row:span 2; }
.vak-bento-image { position:absolute; z-index:-1; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.vak-bento-item:has(.vak-bento-image)::after { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(180deg,transparent,rgba(0,0,0,.72)); }
.vak-bento-item:has(.vak-bento-image) { color:#fff; }
.vak-bento-content { height:100%; display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-end; }
.vak-bento-icon { display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px; margin-bottom:auto; border-radius:15px; background:color-mix(in srgb,var(--vak-bento-accent) 15%,transparent); color:var(--vak-bento-accent); }
.vak-bento-icon svg { width:1em; height:1em; fill:currentColor; }
.vak-bento-content h3 { margin:0 0 10px; font-size:26px; line-height:1.15; }
.vak-bento-content p { margin:0; max-width:520px; opacity:.72; line-height:1.65; }

/* Animated Border Card */
.vak-animated-border-card { --vak-border-c1:#7c3aed; --vak-border-c2:#06b6d4; --vak-border-c3:#f43f5e; --vak-border-width:2px; --vak-border-speed:6s; position:relative; isolation:isolate; display:block; padding:var(--vak-border-width); overflow:hidden; border-radius:28px; color:#fff; text-decoration:none; }
.vak-animated-border-card::before { content:""; position:absolute; z-index:-2; inset:-70%; background:conic-gradient(from 0deg,var(--vak-border-c1),var(--vak-border-c2),var(--vak-border-c3),var(--vak-border-c1)); animation:vak-border-spin var(--vak-border-speed) linear infinite; }
.vak-animated-border-card::after { content:""; position:absolute; z-index:-1; inset:var(--vak-border-width); border-radius:inherit; box-shadow:0 0 40px color-mix(in srgb,var(--vak-border-c1) 20%,transparent); pointer-events:none; }
@keyframes vak-border-spin { to { transform:rotate(360deg); } }
.vak-border-card-inner { min-height:320px; padding:44px; border-radius:26px; background:#0b0d16; }
.vak-border-card-icon { display:inline-flex; align-items:center; justify-content:center; width:62px; height:62px; margin-bottom:48px; border-radius:20px; background:linear-gradient(135deg,color-mix(in srgb,var(--vak-border-c1) 30%,transparent),color-mix(in srgb,var(--vak-border-c2) 25%,transparent)); font-size:26px; }
.vak-border-card-icon svg { width:1em; height:1em; fill:currentColor; }
.vak-border-card-inner h3 { margin:0 0 14px; font-size:32px; line-height:1.15; }
.vak-border-card-inner p { margin:0 0 28px; color:#aeb3c2; line-height:1.75; }
.vak-border-card-link { font-weight:700; }

/* Premium Testimonial */
.vak-premium-testimonial { --vak-testimonial-accent:#7c3aed; width:100%; }
.vak-testimonial-shell { position:relative; overflow:hidden; padding:48px; border-radius:32px; background:#f5f5f7; }
.vak-testimonial-track { position:relative; min-height:320px; }
.vak-testimonial-slide { position:absolute; inset:0; display:flex; flex-direction:column; opacity:0; visibility:hidden; transform:translateX(32px); transition:opacity .45s ease,transform .45s ease,visibility .45s; }
.vak-testimonial-slide.is-active { position:relative; opacity:1; visibility:visible; transform:none; }
.vak-testimonial-quote-mark { position:absolute; top:-28px; right:0; color:color-mix(in srgb,var(--vak-testimonial-accent) 16%,transparent); font:800 180px/1 serif; }
.vak-testimonial-stars { position:relative; color:var(--vak-testimonial-accent); letter-spacing:.15em; }
.vak-testimonial-slide blockquote { position:relative; max-width:900px; margin:30px 0 42px; color:#111; font-size:clamp(26px,4vw,52px); font-weight:650; line-height:1.25; }
.vak-testimonial-person { margin-top:auto; display:flex; align-items:center; gap:14px; }
.vak-testimonial-person img { width:54px; height:54px; border-radius:50%; object-fit:cover; }
.vak-testimonial-person strong,.vak-testimonial-person span { display:block; }
.vak-testimonial-person span { margin-top:4px; color:#777; font-size:13px; }
.vak-testimonial-nav { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:24px; }
.vak-testimonial-prev,.vak-testimonial-next { width:44px; height:44px; border:0; border-radius:50%; background:#111; color:#fff; cursor:pointer; }
.vak-testimonial-dots { display:flex; align-items:center; gap:8px; }
.vak-testimonial-dot { width:8px; height:8px; padding:0; border:0; border-radius:99px; background:#c4c4c4; cursor:pointer; transition:width .25s ease,background .25s ease; }
.vak-testimonial-dot.is-active { width:30px; background:var(--vak-testimonial-accent); }

/* Horizontal Showcase */
.vak-horizontal-showcase { --vak-showcase-overlay:rgba(0,0,0,.55); width:100%; overflow-x:auto; scrollbar-width:none; -ms-overflow-style:none; -webkit-overflow-scrolling:touch; overscroll-behavior-x:contain; scroll-behavior:auto; scroll-snap-type:x mandatory; touch-action:pan-x pan-y; padding:6px 0 20px; }
.vak-horizontal-showcase::-webkit-scrollbar { display:none; }
.vak-showcase-track { display:flex; gap:24px; width:max-content; }
.vak-showcase-card { position:relative; isolation:isolate; flex:0 0 520px; min-height:560px; overflow:hidden; border-radius:30px; background:#151515 center/cover no-repeat; color:#fff; text-decoration:none; scroll-snap-align:start; transition:transform .4s ease; }
.vak-showcase-card::before { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(180deg,transparent 25%,var(--vak-showcase-overlay)); }
.vak-showcase-card::after { content:""; position:absolute; z-index:-2; inset:0; background:inherit; transition:transform .7s ease; }
.vak-showcase-number { position:absolute; top:28px; left:28px; padding:7px 11px; border:1px solid rgba(255,255,255,.3); border-radius:999px; backdrop-filter:blur(8px); font-size:12px; }
.vak-showcase-content { position:absolute; inset:auto 32px 32px; }
.vak-showcase-content h3 { margin:0 0 12px; font-size:38px; line-height:1.1; }
.vak-showcase-content p { max-width:430px; margin:0; color:rgba(255,255,255,.75); line-height:1.65; }
.vak-showcase-arrow { position:absolute; right:0; bottom:0; display:flex; align-items:center; justify-content:center; width:54px; height:54px; border-radius:50%; background:#fff; color:#111; font-size:22px; }

/* Image Reveal */
.vak-image-reveal {
    --vak-reveal-position:50%;
    --vak-reveal-handle:#fff;
    --vak-reveal-label-bg:rgba(0,0,0,.55);
    position:relative;
    direction:ltr;
    height:520px;
    overflow:hidden;
    border-radius:28px;
    background:#ddd;
    /* Vertical page scrolling always remains available. */
    touch-action:pan-y;
}
.vak-image-reveal img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; user-select:none; pointer-events:none; }
.vak-reveal-before-wrap { position:absolute; inset:0; overflow:hidden; }
/* LTR: before image is revealed on the physical left. */
.vak-reveal-horizontal:not(.vak-is-rtl) .vak-reveal-before-wrap { clip-path:inset(0 calc(100% - var(--vak-reveal-position)) 0 0); }
/* RTL: before image is revealed on the physical right. */
.vak-reveal-horizontal.vak-is-rtl .vak-reveal-before-wrap { clip-path:inset(0 0 0 var(--vak-reveal-position)); }
/* Vertical layout is independent from text direction. */
.vak-reveal-vertical .vak-reveal-before-wrap { clip-path:inset(0 0 calc(100% - var(--vak-reveal-position)) 0); }
.vak-reveal-divider { position:absolute; z-index:3; display:flex; align-items:center; justify-content:center; background:var(--vak-reveal-handle); pointer-events:none; }
.vak-reveal-horizontal .vak-reveal-divider { top:0; bottom:0; left:var(--vak-reveal-position); width:2px; transform:translateX(-1px); }
.vak-reveal-vertical .vak-reveal-divider { left:0; right:0; top:var(--vak-reveal-position); height:2px; transform:translateY(-1px); }
.vak-reveal-handle { display:flex; align-items:center; justify-content:center; flex:0 0 48px; width:48px; height:48px; border:2px solid var(--vak-reveal-handle); border-radius:50%; background:rgba(0,0,0,.35); color:#fff; backdrop-filter:blur(8px); box-shadow:0 8px 24px rgba(0,0,0,.22); }
.vak-reveal-range { position:absolute; z-index:5; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:ew-resize; direction:ltr; touch-action:pan-y; }
.vak-reveal-vertical .vak-reveal-range { cursor:ns-resize; writing-mode:vertical-lr; direction:rtl; appearance:slider-vertical; }
.vak-reveal-label { position:absolute; z-index:4; padding:8px 12px; border-radius:999px; background:var(--vak-reveal-label-bg); color:#fff; font-size:12px; font-weight:700; backdrop-filter:blur(8px); direction:rtl; unicode-bidi:plaintext; }
.vak-reveal-horizontal .vak-reveal-label { top:20px; }
.vak-reveal-horizontal:not(.vak-is-rtl) .vak-reveal-label-before { left:20px; right:auto; }
.vak-reveal-horizontal:not(.vak-is-rtl) .vak-reveal-label-after { right:20px; left:auto; }
.vak-reveal-horizontal.vak-is-rtl .vak-reveal-label-before { right:20px; left:auto; }
.vak-reveal-horizontal.vak-is-rtl .vak-reveal-label-after { left:20px; right:auto; }
.vak-reveal-vertical .vak-reveal-label-before { top:20px; right:20px; }
.vak-reveal-vertical .vak-reveal-label-after { bottom:20px; left:20px; }

/* Counters */
.vak-counter-grid { --vak-counter-columns:3; --vak-counter-accent:#7c3aed; display:grid; grid-template-columns:repeat(var(--vak-counter-columns),minmax(0,1fr)); gap:20px; }
.vak-counter-card { position:relative; overflow:hidden; padding:30px; border:1px solid rgba(0,0,0,.07); border-radius:24px; background:#fff; }
.vak-counter-card::after { content:""; position:absolute; right:-28px; bottom:-28px; width:100px; height:100px; border-radius:50%; background:radial-gradient(circle,color-mix(in srgb,var(--vak-counter-accent) 22%,transparent),transparent 70%); }
.vak-counter-icon { display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px; margin-bottom:28px; border-radius:15px; background:color-mix(in srgb,var(--vak-counter-accent) 12%,transparent); color:var(--vak-counter-accent); }
.vak-counter-icon svg { width:1em; height:1em; fill:currentColor; }
.vak-counter-number { display:flex; align-items:baseline; gap:2px; color:#111; font-size:clamp(38px,5vw,64px); font-weight:800; line-height:1; letter-spacing:-.04em; }
.vak-counter-label { margin-top:12px; color:#6b7280; }

/* Timeline */
.vak-timeline { --vak-timeline-line:#e5e7eb; --vak-timeline-progress:#7c3aed; --vak-timeline-gap:44px; position:relative; }
.vak-timeline-items { display:flex; flex-direction:column; gap:var(--vak-timeline-gap); }
.vak-timeline-line { position:absolute; top:0; bottom:0; left:25px; width:2px; background:var(--vak-timeline-line); }
.vak-timeline-progress { display:block; width:100%; height:var(--vak-timeline-progress-size,0%); background:var(--vak-timeline-progress); transition:height .15s linear,width .15s linear; }
.vak-timeline-item { position:relative; display:grid; grid-template-columns:52px minmax(0,1fr); gap:22px; align-items:start; color:inherit; text-decoration:none; }
.vak-timeline-dot { position:relative; z-index:2; display:flex; align-items:center; justify-content:center; width:52px; height:52px; border:2px solid var(--vak-timeline-line); border-radius:50%; background:#fff; color:#999; transition:border-color .35s ease,color .35s ease,transform .35s ease; }
.vak-timeline-dot svg { width:1em; height:1em; fill:currentColor; }
.vak-timeline-item.is-active .vak-timeline-dot { border-color:var(--vak-timeline-progress); color:var(--vak-timeline-progress); transform:scale(1.08); }
.vak-timeline-card { padding:24px; border-radius:22px; background:#f7f7f8; }
.vak-timeline-date { color:var(--vak-timeline-progress); font-size:12px; font-weight:800; letter-spacing:.12em; }
.vak-timeline-card h3 { margin:10px 0 10px; font-size:24px; }
.vak-timeline-card p { margin:0; color:#6b7280; line-height:1.7; }
.vak-timeline-layout-horizontal .vak-timeline-items { flex-direction:row; align-items:stretch; overflow-x:auto; padding-top:52px; scrollbar-width:none; }
.vak-timeline-layout-horizontal .vak-timeline-items::-webkit-scrollbar { display:none; }
.vak-timeline-layout-horizontal .vak-timeline-line { top:25px; left:0; right:0; bottom:auto; width:auto; height:2px; }
.vak-timeline-layout-horizontal .vak-timeline-progress { width:var(--vak-timeline-progress-size,0%); height:100%; }
.vak-timeline-layout-horizontal .vak-timeline-item { flex:0 0 min(360px,80vw); display:block; }
.vak-timeline-layout-horizontal .vak-timeline-dot { position:absolute; top:-52px; left:0; }

/* Floating Contact Dock */
.vak-contact-dock { --vak-dock-size:58px; --vak-dock-x:28px; --vak-dock-bottom:100px; position:fixed; z-index:998; right:var(--vak-dock-x); bottom:var(--vak-dock-bottom); display:flex; flex-direction:column; align-items:flex-end; gap:12px; pointer-events:none; }
.vak-dock-position-left .vak-contact-dock { right:auto; left:var(--vak-dock-x); align-items:flex-start; }
.vak-contact-trigger,.vak-contact-item { width:var(--vak-dock-size); height:var(--vak-dock-size); border:0; border-radius:50%; display:flex; align-items:center; justify-content:center; text-decoration:none; box-shadow:0 12px 30px rgba(0,0,0,.16); }
.vak-contact-trigger { position:relative; z-index:3; background:linear-gradient(135deg,#7c3aed,#4f46e5); color:#fff; cursor:pointer; pointer-events:auto; }
.vak-contact-trigger span { position:absolute; display:flex; transition:opacity .25s ease,transform .25s ease; }
.vak-contact-trigger-close { opacity:0; transform:rotate(-90deg) scale(.6); }
.vak-contact-dock.is-open .vak-contact-trigger-open { opacity:0; transform:rotate(90deg) scale(.6); }
.vak-contact-dock.is-open .vak-contact-trigger-close { opacity:1; transform:none; }
.vak-contact-trigger svg,.vak-contact-item svg { width:1em; height:1em; fill:currentColor; }
.vak-contact-list { display:flex; flex-direction:column; align-items:flex-end; gap:10px; opacity:0; visibility:hidden; transform:translateY(16px); transition:opacity .25s ease,visibility .25s ease,transform .25s ease; }
.vak-dock-position-left .vak-contact-list { align-items:flex-start; }
.vak-contact-dock.is-open .vak-contact-list { opacity:1; visibility:visible; transform:none; pointer-events:auto; }
.vak-contact-item { position:relative; background:var(--vak-contact-color,#111); color:#fff; transform:scale(.75); opacity:0; transition:transform .3s cubic-bezier(.2,.8,.2,1),opacity .3s ease; }
.vak-contact-dock.is-open .vak-contact-item { transform:scale(1); opacity:1; }
.vak-contact-item:nth-child(2) { transition-delay:.04s; }
.vak-contact-item:nth-child(3) { transition-delay:.08s; }
.vak-contact-item:nth-child(4) { transition-delay:.12s; }
.vak-contact-label { position:absolute; right:calc(100% + 12px); padding:7px 10px; border-radius:8px; background:#111; color:#fff; font-size:12px; white-space:nowrap; opacity:0; transform:translateX(6px); transition:opacity .2s ease,transform .2s ease; }
.vak-dock-position-left .vak-contact-label { right:auto; left:calc(100% + 12px); transform:translateX(-6px); }

/* Pricing Card */
.vak-pricing-card { --vak-pricing-accent:#7c3aed; position:relative; overflow:hidden; padding:38px; border:1px solid rgba(0,0,0,.08); border-radius:30px; background:#fff; color:#111; }
.vak-pricing-card::before { content:""; position:absolute; top:-100px; right:-100px; width:280px; height:280px; border-radius:50%; background:radial-gradient(circle,color-mix(in srgb,var(--vak-pricing-accent) 18%,transparent),transparent 70%); pointer-events:none; }
.vak-pricing-badge { position:relative; display:inline-flex; margin-bottom:24px; padding:7px 11px; border-radius:999px; background:var(--vak-pricing-accent); color:#fff; font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.vak-pricing-top h3 { position:relative; margin:0 0 10px; font-size:34px; }
.vak-pricing-top p { position:relative; margin:0; color:#6b7280; line-height:1.65; }
.vak-pricing-switch { display:grid; grid-template-columns:1fr 1fr; gap:4px; margin:28px 0; padding:4px; border-radius:999px; background:#f1f1f3; }
.vak-pricing-switch button { position:relative; min-height:44px; border:0; border-radius:999px; background:transparent; color:#6b7280; font:inherit; font-weight:700; cursor:pointer; }
.vak-pricing-switch button.is-active { background:#fff; color:#111; box-shadow:0 4px 14px rgba(0,0,0,.08); }
.vak-pricing-switch button span { display:block; color:var(--vak-pricing-accent); font-size:9px; line-height:1; }
.vak-pricing-price { display:flex; align-items:flex-start; gap:4px; margin:18px 0 28px; }
.vak-pricing-currency { margin-top:10px; font-size:20px; font-weight:700; }
.vak-pricing-value { font-size:68px; line-height:1; letter-spacing:-.05em; }
.vak-pricing-period { align-self:flex-end; margin-bottom:9px; color:#6b7280; }
.vak-pricing-features { display:flex; flex-direction:column; gap:14px; margin:0 0 32px; padding:0; list-style:none; }
.vak-pricing-features li { display:flex; align-items:center; gap:10px; color:#4b5563; }
.vak-pricing-features li span { display:flex; color:var(--vak-pricing-accent); }
.vak-pricing-features svg { width:1em; height:1em; fill:currentColor; }
.vak-pricing-button { display:flex; align-items:center; justify-content:center; min-height:54px; border-radius:999px; background:var(--vak-pricing-accent); color:#fff; font-weight:800; text-decoration:none; transition:transform .25s ease,box-shadow .25s ease; }

/* Parallax Card */
.vak-parallax-card { --vak-parallax-overlay:rgba(5,8,20,.5); --vak-parallax-x:0; --vak-parallax-y:0; position:relative; isolation:isolate; display:flex; align-items:flex-end; min-height:560px; overflow:hidden; padding:44px; border-radius:30px; background:#10131d; color:#fff; text-decoration:none; perspective:1000px; }
.vak-parallax-bg,.vak-parallax-overlay,.vak-parallax-foreground { position:absolute; inset:-5%; }
.vak-parallax-bg { z-index:-3; background:center/cover no-repeat; transform:translate(calc(var(--vak-parallax-x)*-1px),calc(var(--vak-parallax-y)*-1px)) scale(1.1); transition:transform .15s ease-out; }
.vak-parallax-overlay { z-index:-2; inset:0; background:var(--vak-parallax-overlay); }
.vak-parallax-foreground { z-index:-1; display:flex; align-items:center; justify-content:flex-end; pointer-events:none; transform:translate(calc(var(--vak-parallax-x)*1.4px),calc(var(--vak-parallax-y)*1.4px)); transition:transform .15s ease-out; }
.vak-parallax-foreground img { display:block; width:58%; max-height:90%; object-fit:contain; }
.vak-parallax-content { max-width:55%; transform:translate(calc(var(--vak-parallax-x)*.35px),calc(var(--vak-parallax-y)*.35px)); transition:transform .15s ease-out; }
.vak-parallax-content > span { font-size:11px; font-weight:800; letter-spacing:.18em; }
.vak-parallax-content h3 { margin:14px 0; font-size:clamp(38px,6vw,76px); line-height:.98; letter-spacing:-.05em; }
.vak-parallax-content p { margin:0; max-width:520px; color:rgba(255,255,255,.75); line-height:1.7; }

/* Accordion Showcase */
.vak-accordion-showcase { --vak-accordion-accent:#7c3aed; --vak-accordion-line:#e5e7eb; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:48px; align-items:stretch; }
.vak-accordion-image-panel { position:relative; min-height:560px; overflow:hidden; border-radius:28px; background:#eee; }
.vak-accordion-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transform:scale(1.05); transition:opacity .5s ease,transform .7s ease; }
.vak-accordion-image.is-active { opacity:1; transform:scale(1); }
.vak-accordion-list { display:flex; flex-direction:column; }
.vak-accordion-item { border-bottom:1px solid var(--vak-accordion-line); }
.vak-accordion-header { width:100%; display:grid; grid-template-columns:48px minmax(0,1fr) 32px; gap:14px; align-items:center; padding:24px 0; border:0; background:transparent; color:inherit; text-align:start; cursor:pointer; }
.vak-accordion-number { color:var(--vak-accordion-accent); font-size:12px; font-weight:800; }
.vak-accordion-title { font-size:26px; font-weight:750; }
.vak-accordion-plus { display:flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:50%; background:#f2f2f3; font-size:20px; transition:transform .3s ease,background .3s ease,color .3s ease; }
.vak-accordion-item.is-active .vak-accordion-plus { transform:rotate(45deg); background:var(--vak-accordion-accent); color:#fff; }
.vak-accordion-body { display:grid; grid-template-rows:0fr; transition:grid-template-rows .4s ease; }
.vak-accordion-body > div { overflow:hidden; }
.vak-accordion-item.is-active .vak-accordion-body { grid-template-rows:1fr; }
.vak-accordion-body p { margin:0 0 18px; padding-inline-start:62px; color:#6b7280; line-height:1.75; }
.vak-accordion-link { display:inline-flex; margin:0 0 24px; margin-inline-start:62px; color:var(--vak-accordion-accent); font-weight:750; text-decoration:none; }

/* Cursor Marquee */
.vak-cursor-marquee { --vak-marquee-duration:26s; direction:ltr; overflow:hidden; padding:20px 0; background:#f4f4f5; color:#111; }
.vak-marquee-track { display:flex; direction:ltr; width:max-content; will-change:transform; animation:vak-marquee-left var(--vak-marquee-duration) linear infinite; }
.vak-marquee-right .vak-marquee-track { animation-name:vak-marquee-right; }
.vak-marquee-group { display:flex; direction:ltr; align-items:center; gap:48px; padding-inline-end:48px; }
.vak-marquee-item { display:inline-flex; align-items:center; gap:14px; color:inherit; text-decoration:none; white-space:nowrap; font-size:clamp(28px,5vw,72px); font-weight:800; line-height:1; letter-spacing:-.04em; }
.vak-cursor-marquee.vak-is-rtl .vak-marquee-item { direction:rtl; unicode-bidi:plaintext; text-align:right; }
.vak-marquee-icon { display:inline-flex; color:#7c3aed; font-size:.55em; }
.vak-marquee-icon svg { width:1em; height:1em; fill:currentColor; }
/* Direction names are always physical and never flip with page RTL. */
@keyframes vak-marquee-left { from { transform:translateX(0); } to { transform:translateX(-50%); } }
@keyframes vak-marquee-right { from { transform:translateX(-50%); } to { transform:translateX(0); } }

/* Desktop-only hover states.
 * JavaScript adds .is-vak-hovered only for a real fine pointer.
 * Touch taps never receive this class, preventing sticky mobile hover.
 */
@media (hover:hover) and (pointer:fine) {
    .vak-logo-card.is-vak-hovered {
        transform:translateY(-5px);
        box-shadow:0 18px 45px rgba(0,0,0,.12);
        border-color:color-mix(in srgb,var(--vak-logo-accent) 35%,transparent);
    }
    .vak-logo-card.is-vak-hovered::after { width:72%; }
    .vak-logo-card.is-vak-hovered::before { opacity:1; animation:vak-logo-shine .85s ease forwards; }

    .vak-feature-card.is-vak-hovered {
        transform:translateY(calc(var(--vak-feature-hover-lift)*-1)) !important;
        box-shadow:0 24px 55px rgba(0,0,0,.14) !important;
    }
    .vak-feature-card.is-vak-hovered .vak-feature-image-wrap {
        transform:translate(calc(-50% + var(--vak-feature-image-x)),calc(-54% + var(--vak-feature-image-y))) scale(1.035);
        box-shadow:0 20px 40px rgba(0,0,0,.18);
    }

    .vak-template-tab-button.is-vak-hovered { transform:translateY(-1px); }

    .vak-glass-card.is-vak-hovered {
        box-shadow:0 30px 70px color-mix(in srgb,var(--vak-glass-accent) 22%,rgba(0,0,0,.35));
        border-color:color-mix(in srgb,var(--vak-glass-accent) 50%,#fff);
    }
    .vak-glass-card.is-vak-hovered .vak-glass-orb { transform:scale(1.18) translate(-8px,10px); }

    .vak-magnetic-button.is-vak-hovered { box-shadow:0 18px 40px rgba(79,70,229,.3); }
    .vak-magnetic-button.is-vak-hovered .vak-magnetic-icon { transform:translateX(3px); }

    .vak-spotlight-card.is-vak-hovered::before { opacity:1; }

    .vak-bento-item.is-vak-hovered {
        transform:translateY(-6px);
        box-shadow:0 24px 55px rgba(0,0,0,.12);
    }
    .vak-bento-item.is-vak-hovered .vak-bento-image { transform:scale(1.06); }

    .vak-showcase-card.is-vak-hovered { transform:translateY(-5px); }
    .vak-showcase-card.is-vak-hovered::after { transform:scale(1.06); }

    .vak-contact-item.is-vak-hovered .vak-contact-label { opacity:1; transform:none; }

    .vak-pricing-button.is-vak-hovered {
        transform:translateY(-2px);
        box-shadow:0 14px 30px color-mix(in srgb,var(--vak-pricing-accent) 35%,transparent);
    }

    .vak-marquee-pause-hover.is-vak-hovered .vak-marquee-track { animation-play-state:paused; }
}

/* RTL compatibility */
html[dir="rtl"] .vak-template-tabs-card,
body.rtl .vak-template-tabs-card,
html[dir="rtl"] .vak-feature-card,
body.rtl .vak-feature-card,
html[dir="rtl"] .vak-showcase-card,
body.rtl .vak-showcase-card,
html[dir="rtl"] .vak-timeline-card,
body.rtl .vak-timeline-card,
html[dir="rtl"] .vak-accordion-showcase,
body.rtl .vak-accordion-showcase { direction:rtl; text-align:right; }

/* Keep horizontal scrolling geometry predictable while card content remains RTL. */
html[dir="rtl"] .vak-logo-carousel,
body.rtl .vak-logo-carousel,
html[dir="rtl"] .vak-horizontal-showcase,
body.rtl .vak-horizontal-showcase,
html[dir="rtl"] .vak-timeline-layout-horizontal .vak-timeline-items,
body.rtl .vak-timeline-layout-horizontal .vak-timeline-items { direction:ltr; }
html[dir="rtl"] .vak-logo-card,
body.rtl .vak-logo-card,
html[dir="rtl"] .vak-horizontal-showcase .vak-showcase-card,
body.rtl .vak-horizontal-showcase .vak-showcase-card,
html[dir="rtl"] .vak-timeline-layout-horizontal .vak-timeline-card,
body.rtl .vak-timeline-layout-horizontal .vak-timeline-card { direction:rtl; text-align:right; }
html[dir="rtl"] .vak-template-tabs-header,
body.rtl .vak-template-tabs-header { align-self:flex-start; }
html[dir="rtl"] .vak-showcase-number,
body.rtl .vak-showcase-number { left:auto; right:28px; }
html[dir="rtl"] .vak-showcase-arrow,
body.rtl .vak-showcase-arrow { right:auto; left:0; }
html[dir="rtl"] .vak-glass-card,
body.rtl .vak-glass-card,
html[dir="rtl"] .vak-spotlight-card,
body.rtl .vak-spotlight-card,
html[dir="rtl"] .vak-bento-item,
body.rtl .vak-bento-item,
html[dir="rtl"] .vak-pricing-card,
body.rtl .vak-pricing-card,
html[dir="rtl"] .vak-parallax-card,
body.rtl .vak-parallax-card { direction:rtl; text-align:right; }

/* Explicit item direction — independent from autoplay/movement direction. */
.vak-items-direction-rtl { direction:rtl !important; }
.vak-items-direction-ltr { direction:ltr !important; }

/* Explicit roots must win over WordPress/Elementor global RTL rules. */
.vak-feature-cards.vak-items-direction-rtl,
.vak-template-tabs-card.vak-items-direction-rtl,
.vak-bento-grid.vak-items-direction-rtl,
.vak-premium-testimonial.vak-items-direction-rtl,
.vak-counter-grid.vak-items-direction-rtl,
.vak-timeline.vak-items-direction-rtl,
.vak-accordion-showcase.vak-items-direction-rtl { direction:rtl !important; text-align:right !important; }

.vak-feature-cards.vak-items-direction-ltr,
.vak-template-tabs-card.vak-items-direction-ltr,
.vak-bento-grid.vak-items-direction-ltr,
.vak-premium-testimonial.vak-items-direction-ltr,
.vak-counter-grid.vak-items-direction-ltr,
.vak-timeline.vak-items-direction-ltr,
.vak-accordion-showcase.vak-items-direction-ltr { direction:ltr !important; text-align:left !important; }

/* Keep native horizontal scrolling math physical and predictable. */
.vak-logo-carousel.vak-items-direction-rtl,
.vak-logo-carousel.vak-items-direction-ltr,
.vak-horizontal-showcase.vak-items-direction-rtl,
.vak-horizontal-showcase.vak-items-direction-ltr,
.vak-cursor-marquee.vak-items-direction-rtl,
.vak-cursor-marquee.vak-items-direction-ltr { direction:ltr !important; }

/* Item order and the side where the first card appears. */
.vak-logo-carousel.vak-items-direction-rtl .vak-logo-track,
.vak-horizontal-showcase.vak-items-direction-rtl .vak-showcase-track,
.vak-timeline-layout-horizontal .vak-timeline.vak-items-direction-rtl .vak-timeline-items { flex-direction:row-reverse; }

.vak-logo-carousel.vak-items-direction-ltr .vak-logo-track,
.vak-horizontal-showcase.vak-items-direction-ltr .vak-showcase-track,
.vak-timeline-layout-horizontal .vak-timeline.vak-items-direction-ltr .vak-timeline-items { flex-direction:row; }

.vak-items-direction-rtl .vak-logo-card,
.vak-items-direction-rtl .vak-feature-card,
.vak-items-direction-rtl .vak-template-tab-button,
.vak-items-direction-rtl .vak-template-tab-panel,
.vak-items-direction-rtl .vak-bento-item,
.vak-items-direction-rtl .vak-showcase-card,
.vak-items-direction-rtl .vak-testimonial-slide,
.vak-items-direction-rtl .vak-counter-card,
.vak-items-direction-rtl .vak-timeline-card,
.vak-items-direction-rtl .vak-accordion-item,
.vak-items-direction-rtl .vak-marquee-item { direction:rtl !important; text-align:right !important; }

.vak-items-direction-ltr .vak-logo-card,
.vak-items-direction-ltr .vak-feature-card,
.vak-items-direction-ltr .vak-template-tab-button,
.vak-items-direction-ltr .vak-template-tab-panel,
.vak-items-direction-ltr .vak-bento-item,
.vak-items-direction-ltr .vak-showcase-card,
.vak-items-direction-ltr .vak-testimonial-slide,
.vak-items-direction-ltr .vak-counter-card,
.vak-items-direction-ltr .vak-timeline-card,
.vak-items-direction-ltr .vak-accordion-item,
.vak-items-direction-ltr .vak-marquee-item { direction:ltr !important; text-align:left !important; }

/* Direction-dependent details. */
.vak-template-tabs-card.vak-items-direction-rtl .vak-template-tabs-header { align-self:flex-start !important; }
.vak-template-tabs-card.vak-items-direction-ltr .vak-template-tabs-header { align-self:flex-end !important; }

.vak-horizontal-showcase.vak-items-direction-rtl .vak-showcase-number { left:auto !important; right:28px !important; }
.vak-horizontal-showcase.vak-items-direction-rtl .vak-showcase-arrow { right:auto !important; left:0 !important; }
.vak-horizontal-showcase.vak-items-direction-ltr .vak-showcase-number { left:28px !important; right:auto !important; }
.vak-horizontal-showcase.vak-items-direction-ltr .vak-showcase-arrow { right:0 !important; left:auto !important; }

.vak-premium-testimonial.vak-items-direction-rtl .vak-testimonial-quote-mark { right:auto !important; left:0 !important; }
.vak-premium-testimonial.vak-items-direction-ltr .vak-testimonial-quote-mark { right:0 !important; left:auto !important; }
.vak-premium-testimonial.vak-items-direction-rtl .vak-testimonial-person { flex-direction:row; }
.vak-premium-testimonial.vak-items-direction-ltr .vak-testimonial-person { flex-direction:row; }

.vak-timeline.vak-items-direction-rtl .vak-timeline-line { left:auto !important; right:25px !important; }
.vak-timeline.vak-items-direction-ltr .vak-timeline-line { left:25px !important; right:auto !important; }
.vak-timeline-layout-horizontal .vak-timeline.vak-items-direction-rtl .vak-timeline-line,
.vak-timeline-layout-horizontal .vak-timeline.vak-items-direction-ltr .vak-timeline-line { left:0 !important; right:0 !important; }
.vak-timeline-layout-horizontal .vak-timeline.vak-items-direction-rtl .vak-timeline-items,
.vak-timeline-layout-horizontal .vak-timeline.vak-items-direction-ltr .vak-timeline-items { direction:ltr !important; }

.vak-cursor-marquee.vak-items-direction-rtl .vak-marquee-group { flex-direction:row-reverse; }
.vak-cursor-marquee.vak-items-direction-ltr .vak-marquee-group { flex-direction:row; }
.vak-cursor-marquee.vak-items-direction-rtl .vak-marquee-item { direction:rtl !important; text-align:right !important; unicode-bidi:plaintext; }
.vak-cursor-marquee.vak-items-direction-ltr .vak-marquee-item { direction:ltr !important; text-align:left !important; }

/* Responsive */
@media (max-width:1024px) {
    .vak-bento-large,.vak-bento-wide { grid-column:span min(2,var(--vak-bento-columns)); }
    .vak-parallax-content { max-width:68%; }
    .vak-accordion-showcase { grid-template-columns:1fr 1fr; gap:28px; }
}
@media (max-width:767px) {
    .vak-feature-cards { --vak-feature-columns:1; }
    .vak-template-tabs-header { align-self:stretch; width:100%; }
    .vak-template-tabs-content { padding:18px; }
    .vak-scroll-progress { --vak-scroll-size:48px; --vak-scroll-horizontal:18px; --vak-scroll-bottom:18px; }
    .vak-bento-grid { --vak-bento-columns:1 !important; grid-auto-rows:auto; }
    .vak-bento-item,.vak-bento-wide,.vak-bento-tall,.vak-bento-large { grid-column:auto; grid-row:auto; min-height:260px; }
    .vak-testimonial-shell { padding:28px; }
    .vak-testimonial-track { min-height:390px; }
    .vak-testimonial-slide blockquote { font-size:28px; }
    .vak-showcase-card { flex-basis:84vw; min-height:460px; }
    .vak-showcase-content h3 { font-size:30px; }
    .vak-counter-grid { --vak-counter-columns:1 !important; }
    .vak-timeline-layout-horizontal .vak-timeline-items { padding-top:52px; }
    .vak-pricing-card { padding:28px; }
    .vak-pricing-value { font-size:56px; }
    .vak-parallax-card { min-height:520px; padding:28px; }
    .vak-parallax-foreground { align-items:flex-start; justify-content:center; padding-top:20px; }
    .vak-parallax-foreground img { width:78%; max-height:54%; }
    .vak-parallax-content { max-width:100%; }
    .vak-accordion-showcase { grid-template-columns:1fr; }
    .vak-accordion-image-panel { min-height:360px; }
    .vak-accordion-body p { padding-inline-start:0; }
    .vak-accordion-link { margin-inline-start:0; }
    .vak-accordion-title { font-size:21px; }
}

@media (prefers-reduced-motion:reduce) {
    .vak-reveal-item,.vak-logo-card,.vak-feature-card,.vak-scroll-progress,.vak-scroll-progress-button,.vak-scroll-progress-ring,.vak-scroll-progress-button::before,.vak-scroll-progress-button::after,.vak-glass-card,.vak-magnetic-button,.vak-spotlight-card,.vak-bento-item,.vak-testimonial-slide,.vak-showcase-card,.vak-timeline-dot,.vak-contact-list,.vak-contact-item,.vak-parallax-bg,.vak-parallax-foreground,.vak-parallax-content,.vak-accordion-image,.vak-accordion-body,.vak-marquee-track { transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; }
}

/* Floating dock portal fix */
.elementor-widget-vak-floating-contact-dock.vak-contact-dock-portal { position:static !important; display:block !important; width:0 !important; height:0 !important; min-width:0 !important; min-height:0 !important; max-width:0 !important; max-height:0 !important; margin:0 !important; padding:0 !important; border:0 !important; transform:none !important; translate:none !important; rotate:none !important; scale:none !important; filter:none !important; backdrop-filter:none !important; perspective:none !important; overflow:visible !important; contain:none !important; content-visibility:visible !important; opacity:1 !important; visibility:visible !important; pointer-events:none !important; }
.elementor-widget-vak-floating-contact-dock.vak-contact-dock-portal .vak-contact-dock { pointer-events:none; }
.elementor-widget-vak-floating-contact-dock.vak-contact-dock-portal .vak-contact-trigger,
.elementor-widget-vak-floating-contact-dock.vak-contact-dock-portal .vak-contact-list { pointer-events:auto; }
