/* VeKanban shared site styles: accessibility, mobile CTA, comparison table, in-theme content pages */
:root{--vk-blue:#2192ff;--vk-dblue:#006fe5;--vk-green:#38e54d;--vk-ink:#353842;--vk-mute:#696a6e;--vk-bg:#f5faff;--vk-line:#e4edf7}

/* ---------- accessibility + mobile CTA ---------- */
.vk-skip{position:fixed;left:12px;top:-60px;z-index:100000;background:#006fe5;color:#fff;padding:10px 16px;border-radius:8px;font:500 16px/1.2 Rubik,system-ui,sans-serif;text-decoration:none;transition:top .15s}
.vk-skip:focus{top:12px}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #2192ff;outline-offset:3px;border-radius:6px}
.vk-sticky{display:none}
@media (max-width:767px){
  .vk-sticky{display:block;position:fixed;left:16px;right:16px;bottom:14px;z-index:9990;text-align:center;background:#2192ff;color:#fff;padding:14px 18px;border-radius:12px;font:500 16px/1.2 Rubik,system-ui,sans-serif;text-decoration:none;box-shadow:0 8px 24px rgba(0,111,229,.35)}
  .vk-sticky:active{background:#006fe5}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* ---------- Comparison table ("How VeKanban leaves traditional Kanban behind") ---------- */
.vk-compare-wrap{overflow-x:auto!important;overflow-y:visible!important;width:100%!important;max-width:1120px;padding:8px 4px 16px;margin:0 auto;-webkit-overflow-scrolling:touch}
.vk-compare{border-collapse:separate!important;border-spacing:0 12px;width:100%!important;min-width:680px;margin:0 auto}
.vk-compare tr{transition:transform .28s cubic-bezier(.2,.8,.2,1),filter .28s}
.vk-compare th,.vk-compare td{border:0!important;text-align:left!important;font-size:1.02rem;line-height:1.45;padding:16px 22px!important;vertical-align:middle;transition:background .28s,box-shadow .28s,color .28s}
/* header row */
.vk-compare tr:first-child th{color:#fff;font-family:Alegreya,Georgia,serif;font-weight:700;font-size:1.2rem;background:transparent}
.vk-compare tr:first-child th:nth-child(2){background:linear-gradient(135deg,#353842,#4d5160);border-radius:16px 0 0 16px}
.vk-compare tr:first-child th:nth-child(3){background:linear-gradient(135deg,#2192ff,#38e54d);border-radius:0 16px 16px 0}
.vk-compare:not(.vk-two) tr:first-child th:nth-child(2){border-radius:16px 0 0 16px}
/* label column */
.vk-compare tr:not(:first-child) th{background:#fff;color:#353842;font-family:Alegreya,Georgia,serif;font-weight:700;font-size:1.12rem;border-radius:16px 0 0 16px;width:27%}
/* traditional column */
.vk-compare tr:not(:first-child) td:nth-child(2){background:#f4f5f8;color:#6b6e78}
.vk-compare tr:not(:first-child) td:nth-child(2)::before{content:"\2715";position:absolute;left:20px;top:50%;margin-top:-.85em;width:1.7em;height:1.7em;line-height:1.7em;text-align:center;border-radius:50%;background:rgba(229,72,77,.12);color:#e5484d;font-size:.78rem;font-weight:700}
/* digital column */
.vk-compare tr:not(:first-child) td:nth-child(3){background:linear-gradient(90deg,rgba(33,146,255,.09),rgba(56,229,77,.14));color:#1f2a37;font-weight:500;border-radius:0 16px 16px 0}
.vk-compare tr:not(:first-child) td:nth-child(3)::before{content:"\2713";position:absolute;left:20px;top:50%;margin-top:-.85em;width:1.7em;height:1.7em;line-height:1.7em;text-align:center;border-radius:50%;background:#38e54d;color:#fff;font-size:.82rem;font-weight:700;box-shadow:0 4px 10px -2px rgba(56,229,77,.55)}
/* two-column variant (Without / With) */
.vk-compare.vk-two tr:first-child th:nth-child(1){background:linear-gradient(135deg,#353842,#4d5160);border-radius:16px 0 0 16px}
.vk-compare.vk-two tr:first-child th:nth-child(2){background:linear-gradient(135deg,#2192ff,#38e54d);border-radius:0 16px 16px 0}
.vk-compare.vk-two tr:not(:first-child) td:nth-child(1){background:#f4f5f8;color:#6b6e78;border-radius:16px 0 0 16px}
.vk-compare.vk-two tr:not(:first-child) td:nth-child(1)::before{content:"\2715";position:absolute;left:20px;top:50%;margin-top:-.85em;width:1.7em;height:1.7em;line-height:1.7em;text-align:center;border-radius:50%;background:rgba(229,72,77,.12);color:#e5484d;font-size:.78rem;font-weight:700}
.vk-compare.vk-two tr:not(:first-child) td:nth-child(2){background:linear-gradient(90deg,rgba(33,146,255,.09),rgba(56,229,77,.14));color:#1f2a37;font-weight:500;border-radius:0 16px 16px 0}
.vk-compare.vk-two tr:not(:first-child) td:nth-child(2)::before{content:"\2713";position:absolute;left:20px;top:50%;margin-top:-.85em;width:1.7em;height:1.7em;line-height:1.7em;text-align:center;border-radius:50%;background:#38e54d;color:#fff;font-size:.82rem;font-weight:700;box-shadow:0 4px 10px -2px rgba(56,229,77,.55)}
.vk-compare tr:not(:first-child) td{position:relative;padding-left:62px!important}
.vk-compare.vk-two tr:not(:first-child) td{padding-left:62px!important}
/* hover interaction */
.vk-compare tr:not(:first-child):hover{transform:translateY(-3px) scale(1.012);filter:drop-shadow(0 14px 18px rgba(0,111,229,.16))}
.vk-compare tr:not(:first-child):hover th{color:#006fe5}
.vk-compare tr:not(:first-child):hover td:nth-child(3),.vk-compare.vk-two tr:not(:first-child):hover td:nth-child(2){background:linear-gradient(90deg,rgba(33,146,255,.16),rgba(56,229,77,.28))}
.vk-compare tr:not(:first-child):hover td:nth-child(2),.vk-compare.vk-two tr:not(:first-child):hover td:nth-child(1){background:#ecedf2}
/* scroll reveal (only active when JS adds .vk-ready) */
.vk-compare.vk-ready tr{opacity:0;transform:translateY(18px)}
.vk-compare.vk-ready tr.vk-in{opacity:1;transform:none;transition:opacity .6s ease,transform .6s cubic-bezier(.2,.8,.2,1),filter .28s}
.vk-compare.vk-ready tr.vk-in:not(:first-child):hover{transform:translateY(-3px) scale(1.012)}
@media (max-width:767px){.vk-compare th,.vk-compare td{padding:12px 14px!important;font-size:.95rem}}

/* ---------- In-theme content pages (FAQ, Guide, module pages) ---------- */
.vk-crumb{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;font-size:.92rem;color:#696a6e}
.vk-crumb a{color:#696a6e;text-decoration:none}.vk-crumb a:hover{color:#2192ff}.vk-crumb span[aria-current]{color:#353842;font-weight:500}
.vk-eyebrow{display:inline-block;background:rgba(33,146,255,.1);color:#006fe5;border-radius:999px;padding:6px 16px;font-size:.92rem;font-weight:500}
.vk-hero-icon{width:84px;height:84px;border-radius:22px;box-shadow:0 14px 30px -10px rgba(0,111,229,.45)}
.vk-sec{padding:56px clamp(20px,5vw,96px)}.vk-alt{background:#f5faff}
.vk-inner{max-width:1100px;margin:0 auto}
.vk-head{margin-bottom:28px;text-align:center}
.vk-head h2{font-family:Alegreya,Georgia,serif;font-weight:700;font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1.2;color:#353842;margin:0}
.vk-head p{max-width:760px;margin:12px auto 0;color:#696a6e;font-size:1.08rem;line-height:1.7}
.vk-p{max-width:820px;margin:0 auto 16px;color:#696a6e;font-size:1.1rem;line-height:1.8}.vk-p a,.vk-ans a{color:#006fe5}
.vk-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.vk-card{position:relative;display:block;text-decoration:none;background:#fff;border:1px solid #e4edf7;border-radius:18px;padding:24px;box-shadow:0 10px 30px -18px rgba(0,111,229,.25);transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s,border-color .3s,background .3s;overflow:hidden}
.vk-alt .vk-card{background:#fff}
.vk-card::after{content:"";position:absolute;left:0;top:0;height:4px;width:100%;background:linear-gradient(90deg,#2192ff,#38e54d);transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.vk-card:hover{transform:translateY(-6px);box-shadow:0 22px 40px -18px rgba(0,111,229,.4);border-color:rgba(33,146,255,.4)}
.vk-card:hover::after{transform:scaleX(1)}
.vk-card h3{font-family:Alegreya,Georgia,serif;font-weight:700;font-size:1.45rem;line-height:1.25;color:#353842;margin:0 0 8px}
.vk-card p{margin:0;color:#696a6e;line-height:1.65}
.vk-more{display:inline-flex;align-items:center;gap:6px;margin-top:14px;color:#2192ff;font-weight:500}
.vk-more::after{content:"\2192";transition:transform .25s}.vk-card:hover .vk-more::after{transform:translateX(5px)}
.vk-num{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:12px;background:linear-gradient(135deg,#2192ff,#38e54d);color:#fff;font-weight:700;margin-bottom:12px}
.vk-mod img{width:52px;height:52px;border-radius:14px;margin-bottom:14px;box-shadow:0 8px 18px -8px rgba(0,111,229,.5);transition:transform .3s}
.vk-mod:hover img{transform:rotate(-6deg) scale(1.08)}
.vk-fit{display:flex;gap:20px;align-items:center;background:#fff;border:1px solid #e4edf7;border-radius:18px;padding:24px;margin:0 auto 22px;max-width:820px;box-shadow:0 10px 30px -18px rgba(0,111,229,.25)}
.vk-fit img{width:64px;height:64px;border-radius:18px;flex:none}.vk-fit h3{font-family:Alegreya,Georgia,serif;font-size:1.5rem;margin:0 0 4px;color:#353842}.vk-fit p{margin:0;color:#696a6e;line-height:1.65}
/* FAQ accordion */
.vk-faq{max-width:860px;margin:0 auto}
.vk-faq details{background:rgba(33,146,255,.05);border:1px solid #e4edf7;border-radius:18px;margin:0 0 14px;transition:background .3s,box-shadow .3s,border-color .3s}
.vk-faq details:hover{border-color:rgba(33,146,255,.4);box-shadow:0 14px 28px -18px rgba(0,111,229,.4)}
.vk-faq details[open]{background:#fff;border-color:rgba(33,146,255,.45);box-shadow:inset 5px 0 0 #2192ff,0 14px 28px -18px rgba(0,111,229,.4)}
.vk-faq summary{display:flex;justify-content:space-between;align-items:center;gap:16px;cursor:pointer;list-style:none;padding:20px 24px;font-family:Alegreya,Georgia,serif;font-weight:700;font-size:1.28rem;color:#353842}
.vk-faq summary::-webkit-details-marker{display:none}
.vk-faq summary i{flex:none;width:32px;height:32px;border-radius:50%;background:#2192ff;position:relative;transition:transform .3s,background .3s}
.vk-faq summary i::before,.vk-faq summary i::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2px;background:#fff;transform:translate(-50%,-50%);border-radius:2px;transition:transform .3s}
.vk-faq summary i::after{transform:translate(-50%,-50%) rotate(90deg)}
.vk-faq details[open] summary i{background:#38e54d;transform:rotate(180deg)}.vk-faq details[open] summary i::after{transform:translate(-50%,-50%) rotate(0)}
.vk-ans{padding:0 24px 22px}.vk-ans p{margin:0;color:#696a6e;font-size:1.08rem;line-height:1.75}
/* checklist */
.vk-check{list-style:none;margin:0 auto;padding:0;max-width:860px;display:grid;gap:12px}
.vk-check li{position:relative;background:#fff;border:1px solid #e4edf7;border-radius:14px;padding:16px 20px 16px 58px;color:#353842;font-size:1.06rem;transition:transform .25s,box-shadow .25s}
.vk-check li::before{content:"\2713";position:absolute;left:18px;top:50%;transform:translateY(-50%);width:28px;height:28px;line-height:28px;text-align:center;border-radius:50%;background:#38e54d;color:#fff;font-weight:700}
.vk-check li:hover{transform:translateX(6px);box-shadow:0 14px 26px -16px rgba(0,111,229,.4)}
/* scroll reveal for content blocks (JS adds .vk-reveal-on to body, then .vk-visible per element) */
.vk-reveal-on .vk-reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.8,.2,1),box-shadow .3s,border-color .3s,background .3s}
.vk-reveal-on .vk-reveal.vk-visible{opacity:1;transform:none}
.vk-reveal-on .vk-card.vk-visible:hover{transform:translateY(-6px)}
@media (max-width:767px){.vk-sec{padding:40px 20px 56px}.vk-fit{flex-direction:column;text-align:center}.vk-faq summary{font-size:1.12rem;padding:16px 18px}main{padding-bottom:70px}}

/* Accessibility: visitors who ask for reduced motion should still SEE the content that the page animates in
   (the site's animation library leaves such elements stuck at opacity 0 in that mode). */
@media (prefers-reduced-motion:reduce){
  [style*="opacity:0;"],[style*="opacity: 0;"]{opacity:1!important;transform:none!important}
}

/* "And much more" note under module lists */
.vk-much-more{width:100%;max-width:1100px;margin:34px auto 0;padding:30px 24px;text-align:center;border-radius:20px;background:linear-gradient(135deg,rgba(33,146,255,.08),rgba(56,229,77,.12));border:1px dashed rgba(33,146,255,.45);position:relative;z-index:50}
.vk-much-more h3{font-family:Alegreya,Georgia,serif;font-weight:700;font-size:clamp(1.5rem,2.6vw,2rem);color:#353842;margin:0 0 6px}
.vk-much-more h3::after{content:"";display:block;width:56px;height:4px;border-radius:4px;margin:10px auto 0;background:linear-gradient(90deg,#2192ff,#38e54d)}
.vk-much-more p{margin:12px auto 16px;max-width:620px;color:#696a6e;font-size:1.06rem;line-height:1.7}
.vk-much-more a{display:inline-flex;align-items:center;gap:8px;color:#006fe5;font-weight:500;text-decoration:none;border-bottom:2px solid transparent;transition:border-color .25s,gap .25s}
.vk-much-more a::after{content:"\2197";font-size:1.05em}
.vk-much-more a:hover{border-color:#2192ff;gap:12px}
