/* Knight Visuals blog (Sept 2026) — loaded after index.css on blog pages */
/* desktop nav: the mobile-menu icons/chevrons were leaking onto desktop */
@media (min-width:821px){ .nav-links .nav-link-ic,.nav-links .nav-link-chev,.nav-links .nav-link-cta{display:none;} }
.footer ul{list-style:none;}
.nav-links .nav-link-cta a{color:#fff;}

/* footer: social icons on every screen size */
.footer-social{display:flex;gap:10px;margin-top:18px;}
.footer-social a{width:38px;height:38px;border-radius:50%;border:1px solid var(--rule-dark);display:flex;align-items:center;justify-content:center;color:var(--on-dark-dim);transition:color .15s ease,border-color .15s ease;}
.footer-social a:hover{color:#fff;border-color:rgba(255,255,255,0.35);}
.footer-social .icon{width:17px;height:17px;}
@media (max-width:640px){
  .footer-grid > .footer-brand{display:flex;flex-direction:column;align-items:center;text-align:center;}
  .footer-tagline{margin-inline:auto;}
  .footer-social{justify-content:center;}
  .footer-bottom{align-items:center!important;text-align:center;}
}

:root{--gut:32px;--ink:#0A0E27;--hl:#181341;--bl:#4B5170;--dim:#A5AEC9;--vio:#6D28D9;--indigo:#4338CA}
h1,h2,h3{text-wrap:balance}
a:focus-visible,button:focus-visible{outline:2px solid #A78BFA;outline-offset:3px;border-radius:8px}
article p a,article li a{text-decoration:underline;text-underline-offset:2px}
.kvb-progress{position:fixed;left:0;right:0;top:0;z-index:60;height:3px;pointer-events:none}
.kvb-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,#4338CA,#8B5CF6);transition:width .1s linear}

/* header */
.kvh{position:relative;box-sizing:border-box;overflow:hidden;background:var(--ink);padding:96px var(--gut) 88px;min-height:440px;display:flex;align-items:center;justify-content:center;text-align:center}
.kvh-glow{position:absolute;inset:-10%;pointer-events:none;background:radial-gradient(40% 55% at 22% 30%,rgba(217,119,6,.16),transparent 60%),radial-gradient(45% 60% at 78% 70%,rgba(139,92,246,.26),transparent 60%),radial-gradient(35% 50% at 88% 10%,rgba(37,99,235,.2),transparent 60%);animation:kvGlow 18s ease-in-out infinite alternate}
@keyframes kvGlow{from{transform:translate(-3%,-2%) scale(1)}to{transform:translate(3%,2%) scale(1.08)}}
.kvh-decor{position:absolute;top:0;bottom:0;left:50%;width:1440px;margin-left:-720px;pointer-events:none}
.kvh-decor .kv-in{position:absolute}
.kvh-chip{display:block;font-family:'JetBrains Mono',ui-monospace,Menlo,monospace;font-size:13px;font-weight:500;color:#A78BFA;padding:6px 10px;border:1px solid rgba(167,139,250,.35);border-radius:8px;background:rgba(255,255,255,.03);white-space:nowrap;opacity:.7}
.kvh-decor svg{opacity:.5}
.kvh-panel,.kv-toast{background:rgba(15,23,42,.72);border:1px solid rgba(255,255,255,.1);border-radius:14px;box-shadow:0 18px 35px -18px rgba(0,0,0,.6)}
.kvh-panel{padding:12px 14px 14px;text-align:left}
.kvh-panel-top{display:flex;align-items:center;justify-content:space-between;font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--dim);margin-bottom:10px}
.kvh-dots{display:flex;gap:6px}.kvh-dots i{width:8px;height:8px;border-radius:50%;background:#F87171}.kvh-dots i:nth-child(2){background:#FBBF24}.kvh-dots i:nth-child(3){background:#34D399}
.kvh-tag{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#B9AEFB;margin-bottom:6px}
.kvh-typing{font-size:13.5px;font-weight:700;color:#fff;white-space:nowrap;margin-bottom:10px}
.kv-type{display:inline-block;overflow:hidden;white-space:nowrap;vertical-align:bottom;animation:kvType 9s steps(30,end) infinite}
@keyframes kvType{0%{max-width:0}40%,85%{max-width:220px}95%,100%{max-width:0}}
.kv-caret{display:inline-block;width:2px;height:14px;background:#A78BFA;vertical-align:-2px;margin-left:1px;animation:kvCaret 1s steps(1) infinite}
@keyframes kvCaret{50%{opacity:0}}
.kvh-line{height:7px;border-radius:4px;background:rgba(255,255,255,.1);margin-top:7px}
.kv-toast{position:absolute;left:0;right:0;top:0;padding:11px 12px;display:flex;align-items:center;gap:10px;text-align:left;animation:kvToast 12s cubic-bezier(.2,.7,.2,1) infinite both}
.kv-t2{animation-delay:3s}.kv-t3{animation-delay:6s}.kv-t4{animation-delay:9s}
@keyframes kvToast{0%{opacity:0;transform:translateX(-24px) scale(.96)}4%,22%{opacity:1;transform:none}26%,100%{opacity:0;transform:translateY(-12px) scale(.98)}}
.kvh-ticon{width:32px;height:32px;border-radius:9px;background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;flex:none}
.kvh-tt{display:flex;flex-direction:column;gap:1px}.kvh-tt b{font-size:13px;color:#fff}.kvh-tt small{font-size:11px;color:var(--dim)}
.kv-in{animation:kvIn 1.2s cubic-bezier(.2,.7,.2,1) both}
@keyframes kvIn{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}
.kv-float{animation:kvFloat 10s ease-in-out infinite}
@keyframes kvFloat{0%,100%{translate:0 0;rotate:0deg}25%{translate:6px -14px;rotate:3deg}50%{translate:-4px -20px;rotate:-2deg}75%{translate:-8px -8px;rotate:2deg}}
.kvh-inner{position:relative;z-index:1;max-width:760px;display:flex;flex-direction:column;align-items:center}
.kvh-eyebrow{font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#B9AEFB;margin-bottom:18px}
.kvh h1{margin:0;font-size:56px;line-height:1.1;font-weight:700;letter-spacing:-.02em;color:#fff}
.kvh-rot{display:block;position:relative;height:1.45em;margin-bottom:-.3em;overflow:hidden}
.kvh-word{position:absolute;left:0;right:0;top:0;padding-bottom:.3em;background:linear-gradient(135deg,#667EEA,#A78BFA);-webkit-background-clip:text;background-clip:text;color:transparent;animation:kvWord 12.5s cubic-bezier(.2,.7,.2,1) infinite both}
.kvh-w2{animation-delay:2.5s}.kvh-w3{animation-delay:5s}.kvh-w4{animation-delay:7.5s}.kvh-w5{animation-delay:10s}
@keyframes kvWord{0%{opacity:0;transform:translateY(100%)}4%,18%{opacity:1;transform:none}22%,100%{opacity:0;transform:translateY(-100%)}}
.kvh-inner p{margin:22px 0 0;max-width:600px;font-size:16.5px;line-height:1.7;color:var(--dim)}
.kv-up{animation:kvUp .8s cubic-bezier(.2,.7,.2,1) both}.kv-a1{animation-delay:.15s}.kv-a2{animation-delay:.35s}.kv-a3{animation-delay:.55s}
@keyframes kvUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}

/* list */
.kvb-list{background:linear-gradient(180deg,#F8FAFC 0%,#EEF2FF 45%,#F8FAFC 100%);padding:56px 0 100px}
.kvb-wrap{max-width:1180px;margin:0 auto;padding:0 var(--gut)}
.kvb-filter{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:36px}
.kvb-chip{font:inherit;font-size:13.5px;font-weight:700;color:var(--hl);background:#fff;border:1px solid rgba(24,19,65,.12);border-radius:999px;padding:10px 18px;min-height:44px;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}
.kvb-chip:hover{border-color:#8B5CF6}
.kvb-chip.is-on{background:linear-gradient(135deg,#4338CA,#8B5CF6);color:#fff;border-color:transparent}
.kvb-feat{display:grid;grid-template-columns:1.2fr .8fr;gap:0;align-items:stretch;background:linear-gradient(135deg,#171049,#0A0E27 70%);border-radius:20px;overflow:hidden;text-decoration:none;color:#fff;margin-bottom:28px;box-shadow:0 18px 35px -18px rgba(15,23,42,.45);transition:transform .2s ease}
.kvb-feat:hover{transform:translateY(-4px)}
.kvb-feat-body{padding:40px 38px}
.kvb-feat-tag{display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:linear-gradient(90deg,#9333EA,#2563EB);padding:6px 12px;border-radius:999px;margin-bottom:16px}
.kvb-feat h2{margin:0;font-size:30px;line-height:1.2;font-weight:700;letter-spacing:-.015em}
.kvb-feat p{margin:14px 0 0;font-size:15px;line-height:1.65;color:var(--dim)}
.kvb-feat-more{display:inline-block;margin-top:18px;font-size:13.5px;font-weight:700;color:#C4B5FD}
.kvb-feat-art .kvb-cover{height:100%!important;min-height:260px;border-radius:0}
.kvb-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.kvb-card{display:flex;flex-direction:column;background:rgba(255,255,255,.96);border-radius:18px;overflow:hidden;box-shadow:0 18px 35px -18px rgba(15,23,42,.28);text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}
.kvb-card:hover{transform:translateY(-5px);box-shadow:0 26px 46px -18px rgba(15,23,42,.34)}
.kvb-card:hover h3{color:var(--vio)}
.kvb-card[hidden]{display:none}
.kvb-cover{position:relative;overflow:hidden;background:#1E293B}
.kvb-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.kvb-card:hover .kvb-cover img{transform:scale(1.06)}
.kvb-cover--art{display:flex;align-items:center;justify-content:center}
.kvb-cover-ic{width:72px;height:72px;border-radius:20px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center}
.kvb-card-body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:8px;flex-grow:1}
.kvb-card h3{margin:0;font-size:18px;line-height:1.3;font-weight:700;letter-spacing:-.01em;color:var(--hl);transition:color .2s}
.kvb-card p{margin:0;font-size:13.5px;line-height:1.6;color:var(--bl)}
.kvb-more{margin-top:auto;padding-top:6px;font-size:13px;font-weight:700;color:var(--indigo)}
.kvb-meta{display:flex;align-items:center;gap:10px;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--vio)}
.kvb-dot{width:3px;height:3px;border-radius:50%;background:#B9AEFB}
.kvb-read{color:var(--bl);font-weight:600;text-transform:none;letter-spacing:0}
.kvb-empty{text-align:center;color:var(--bl);font-size:15px;margin:24px 0 0}

/* post */
.kvb-post-grid{display:grid;grid-template-columns:minmax(0,700px) 240px;gap:56px;justify-content:center;align-items:start}
.kvb-aside{position:sticky;top:110px;order:2}
.kvb-toc details{background:#fff;border:1px solid rgba(24,19,65,.08);border-radius:14px;padding:16px 18px;box-shadow:0 18px 35px -22px rgba(15,23,42,.28)}
.kvb-toc summary{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#6B6E8B;cursor:pointer;list-style:none}
.kvb-toc summary::-webkit-details-marker{display:none}
.kvb-toc ol{margin:12px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:2px;counter-reset:t}
.kvb-toc a{display:block;padding:6px 10px;border-radius:8px;font-size:13px;line-height:1.4;font-weight:600;color:var(--bl);text-decoration:none;border-left:2px solid transparent}
.kvb-toc a:hover{color:var(--hl);background:#F1F0FB}
.kvb-toc a.is-active{color:var(--vio);border-left-color:#8B5CF6;background:#F5F3FF}
article h2[id]{scroll-margin-top:110px}
.kvb-next{margin-top:56px}
.kvb-next h2{margin:0 0 18px;font-size:21px;font-weight:700;color:var(--hl)}
.kvb-next-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.kvb-next .kvb-cover{height:140px!important}

@media (max-width:1100px){
 .kvb-post-grid{grid-template-columns:minmax(0,700px);gap:0}
 .kvb-aside{position:static;order:-1;margin-bottom:24px}
 .kvb-toc details:not([data-user]){}
 .kvh-decor{display:none}
}
@media (max-width:980px){.kvb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kvb-feat{grid-template-columns:1fr}.kvb-feat-art{order:-1}.kvb-feat-art .kvb-cover{min-height:180px}}
@media (max-width:640px){
 :root{--gut:20px}
 .kvh{padding:64px var(--gut) 56px;min-height:0}
 .kvh h1{font-size:34px}
 .kvb-grid,.kvb-next-grid{grid-template-columns:1fr}
 .kvb-feat-body{padding:28px 24px}.kvb-feat h2{font-size:24px}
 article h1{font-size:28px!important}
 .kv-tiles{grid-template-columns:1fr!important}
 .kvb-filter{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;margin-inline:calc(var(--gut)*-1);padding-inline:var(--gut)}
 .kvb-chip{flex:none}
}
@media (prefers-reduced-motion:reduce){
 .kvh-glow,.kv-in,.kv-float,.kv-up,.kv-type,.kv-caret,.kv-toast{animation:none!important}
 .kvh-word{animation:none!important;opacity:0}.kvh-w1{opacity:1;transform:none}
 .kv-toast{opacity:0}.kv-t1{opacity:1}.kv-type{max-width:220px}
}
.kvb-feat[hidden]{display:none}
.kvb-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.kvb-grid > .kvb-card{grid-column:span 2}
.kvb-grid > .kvb-card:nth-child(4),.kvb-grid > .kvb-card:nth-child(5){grid-column:span 3}
.kvb-grid > .kvb-card:nth-child(4) .kvb-cover,.kvb-grid > .kvb-card:nth-child(5) .kvb-cover{height:220px!important}
@media (max-width:980px){.kvb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kvb-grid > .kvb-card,.kvb-grid > .kvb-card:nth-child(4),.kvb-grid > .kvb-card:nth-child(5){grid-column:auto}.kvb-grid > .kvb-card:nth-child(5){grid-column:1 / -1}}
@media (max-width:640px){.kvb-grid{grid-template-columns:1fr}.kvb-grid > .kvb-card:nth-child(5){grid-column:auto}}

.kvb-cover img{object-position:var(--pos,top center)}
.kvb-list a,.kvb-next a{text-decoration:none}
.kvb-post{background:linear-gradient(180deg,#F8FAFC 0%,#EEF2FF 30%,#F8FAFC 100%);padding:64px 0 100px}
.kvb-post article h2[id]{scroll-margin-top:100px}
@media (max-width:640px){ .kvb-post{padding:40px 0 72px} .kvb-post article > div:last-child{padding:24px 22px!important} }

/* rotating words: size the box to the longest phrase so two-line phrases
   ("marketing your business.", "getting more calls.") never get cut off */
.kvh-rot{display:grid;height:auto;overflow:hidden}
.kvh-word{grid-area:1 / 1;position:relative;left:auto;right:auto;top:auto;text-wrap:balance}


/* mobile menu: "Menu" pill + bottom sheet (phones and small tablets) */
.kv-shade,.kv-sheet{display:none;}
@media (max-width:820px){
  .nav-toggle.kv-pill{display:inline-flex;align-items:center;gap:8px;height:40px;min-height:40px;min-width:0;padding:0 14px 0 16px;border-radius:999px;border:1px solid rgba(167,139,250,.45);background:rgba(139,92,246,.12);font-family:var(--font-body);font-size:13px;font-weight:700;line-height:1;color:#fff;}
  .nav-links,.nav-links.is-open,.mobile-nav-bg{display:none!important;}
  .kv-shade{display:block;position:fixed;inset:0;z-index:39;width:100%;border:0;padding:0;background:rgba(5,7,26,.62);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility 0s .3s;}
  body.nav-open .kv-shade{opacity:1;visibility:visible;transition:opacity .3s ease;}
  .kv-sheet{display:flex;flex-direction:column;gap:12px;position:fixed;left:0;right:0;bottom:0;z-index:50;max-width:560px;margin:0 auto;padding:10px 16px calc(20px + env(safe-area-inset-bottom,0px));border-radius:24px 24px 0 0;background:#11163A;border-top:1px solid var(--rule-dark);box-shadow:0 -20px 40px -20px rgba(0,0,0,.7);transform:translateY(105%);visibility:hidden;transition:transform .42s cubic-bezier(.2,.8,.2,1),visibility 0s .42s;touch-action:none;}
  body.nav-open .kv-sheet{transform:translateY(var(--drag,0px));visibility:visible;transition:transform .42s cubic-bezier(.2,.8,.2,1);}
  .kv-sheet.dragging{transition:none!important;}
}
.kv-pill .bars{position:relative;width:16px;height:12px;flex:none;}
.kv-pill .bars i{position:absolute;left:0;right:0;height:2px;border-radius:2px;background:#fff;transition:transform .3s ease,top .3s ease,opacity .2s ease;}
.kv-pill .bars i:nth-child(1){top:1px;}.kv-pill .bars i:nth-child(2){top:5px;}.kv-pill .bars i:nth-child(3){top:9px;}
.kv-pill[aria-expanded="true"] .bars i:nth-child(1){top:5px;transform:rotate(45deg);}
.kv-pill[aria-expanded="true"] .bars i:nth-child(2){opacity:0;}
.kv-pill[aria-expanded="true"] .bars i:nth-child(3){top:5px;transform:rotate(-45deg);}
.kv-handle{width:40px;height:4px;border-radius:4px;background:rgba(255,255,255,.22);margin:0 auto 2px;flex:none;cursor:grab;}
.kv-mtiles{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;}
.kv-mtiles a{grid-column:span 2;}
.kv-mtiles a,.kv-reach a{display:flex;flex-direction:column;align-items:center;gap:7px;padding:13px 4px 11px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid var(--rule-dark);font-size:12.5px;font-weight:700;color:#fff;text-decoration:none;-webkit-tap-highlight-color:transparent;}
.kv-mtiles a .icon,.kv-reach a .icon{width:18px;height:18px;color:#C4B5FD;}
.kv-mtiles a.is-current{background:rgba(139,92,246,.18);border-color:rgba(167,139,250,.45);}
.kv-mtiles a:active,.kv-reach a:active{background:rgba(139,92,246,.22);}
.kv-reach{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.kv-reach a.wa .icon{color:#34D399;}
.kv-sheet-soc{display:flex;justify-content:center;gap:10px;}
.kv-sheet-soc a{width:36px;height:36px;border-radius:50%;border:1px solid var(--rule-dark);display:flex;align-items:center;justify-content:center;color:var(--on-dark-dim);}
.kv-sheet-soc .icon{width:16px;height:16px;}
@media (prefers-reduced-motion:reduce){ .kv-sheet,.kv-shade,.kv-pill .bars i{transition:none!important;} }

/* ===== blog header: homepage hero motion graphic ===== */
@keyframes kvb10n{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}
.kv-grad{background:linear-gradient(135deg,#667EEA,#A78BFA);-webkit-background-clip:text;background-clip:text;color:transparent}
.kv-logo{font-family:'Manrope',system-ui,sans-serif;font-weight:700;letter-spacing:0.02em;background:linear-gradient(135deg,#667EEA,#A78BFA);-webkit-background-clip:text;background-clip:text;color:transparent;text-decoration:none;animation:kvLogo 1.1s .05s cubic-bezier(.2,.7,.2,1) both}
@keyframes kvLogo{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:none}}
.kv-up{animation:kvUp .8s cubic-bezier(.2,.7,.2,1) both}
.kv-a1{animation-delay:.2s}
.kv-a2{animation-delay:.45s}
.kv-a3{animation-delay:.65s}
.kv-a4{animation-delay:.85s}
.kv-a5{animation-delay:1.1s}
/* hero text is visible from the very first frame (it's the page's main content for Google's LCP);
   it just glides into place rather than fading in from nothing */
.kv-a1,.kv-a2,.kv-a3{animation-name:kvUpT}
@keyframes kvUpT{from{transform:translateY(16px)}to{transform:none}}
@keyframes kvUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.kv-word{position:absolute;left:0;right:0;top:0;padding-bottom:.3em;animation:kvWord 12.5s cubic-bezier(.2,.7,.2,1) infinite both}
.kv-w1{animation-delay:-.5s}
.kv-w2{animation-delay:2s}
.kv-w3{animation-delay:4.5s}
.kv-w4{animation-delay:7s}
.kv-w5{animation-delay:9.5s}
@keyframes kvWord{0%{opacity:0;transform:translateY(100%)}4%,18%{opacity:1;transform:translateY(0)}22%,100%{opacity:0;transform:translateY(-100%)}}
.kv-in{animation:kvIn 1.2s cubic-bezier(.2,.7,.2,1) both}
@keyframes kvIn{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}
.kv-float{animation:kvFloat 10s ease-in-out infinite}
@keyframes kvFloat{0%,100%{translate:0 0;rotate:0deg}25%{translate:6px -14px;rotate:4deg}50%{translate:-4px -22px;rotate:-2deg}75%{translate:-8px -8px;rotate:3deg}}
.kv-type{display:inline-block;overflow:hidden;white-space:nowrap;vertical-align:bottom}
.kv-type-code{animation:kvTypeC 9s steps(1) infinite}
.kv-type-search{animation:kvTypeS 8s infinite}
@keyframes kvTypeC{0%{width:0}40%,85%{width:24ch}95%,100%{width:0}}
@keyframes kvTypeS{0%,5%{max-width:0}40%,85%{max-width:170px}95%,100%{max-width:0}}
.kv-type-code{animation-timing-function:steps(24,end)}
.kv-type-search{animation-timing-function:steps(23,end)}
.kv-caret{animation:kvCaret 1s steps(1) infinite}
@keyframes kvCaret{50%{opacity:0}}
.kv-result{animation:kvResult 8s ease infinite}
@keyframes kvResult{0%,42%{opacity:0;transform:translateY(6px)}50%,85%{opacity:1;transform:none}95%,100%{opacity:0;transform:translateY(6px)}}
@keyframes kvBar{0%{transform:scaleY(.15)}35%,80%{transform:scaleY(1)}100%{transform:scaleY(.15)}}
@keyframes kvDraw{0%,10%{stroke-dashoffset:200}45%,80%{stroke-dashoffset:0}100%{stroke-dashoffset:200}}
.kv-toast{animation:kvToast 12s cubic-bezier(.2,.7,.2,1) infinite both}
.kv-t2{animation-delay:3s}
.kv-t3{animation-delay:6s}
.kv-t4{animation-delay:9s}
@keyframes kvToast{0%{opacity:0;transform:translateX(24px) scale(.96)}4%,22%{opacity:1;transform:none}26%,100%{opacity:0;transform:translateY(-12px) scale(.98)}}
.kv-glow{animation:kvGlow 18s ease-in-out infinite alternate}
@keyframes kvGlow{from{transform:translate(-3%,-2%) scale(1)}to{transform:translate(3%,2%) scale(1.08)}}
@keyframes kvDrift{0%,100%{transform:translate(0,0)}33%{transform:translate(28px,-22px)}66%{transform:translate(-18px,16px)}}
.kv-track{animation:kvMarq 34s linear infinite}
@keyframes kvMarq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes kvbMarq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes kvbNudge{0%,100%{transform:translateX(0)}50%{transform:translateX(4px)}}
@keyframes kvwFloat{0%,100%{translate:0 0;rotate:0deg}25%{translate:6px -12px;rotate:4deg}50%{translate:-4px -20px;rotate:-2deg}75%{translate:-8px -6px;rotate:3deg}}
.kv-decor{inset:0 auto 0 50%!important;width:1440px;margin-left:-720px}
@media (max-width:1200px){.kv-h1{font-size:56px!important;line-height:64px!important}.kv-rot{height:86px!important;margin-bottom:-22px!important}.kv-heroin{padding:48px 40px!important}.kv-decor .kv-in:not(:has(.kv-toast)){display:none}}
@media (max-width:900px){.kv-decor{display:none}}
@media (max-width:640px){.kv-hero{min-height:0!important;padding:72px 0 120px!important}.kv-h1{font-size:34px!important;line-height:42px!important;letter-spacing:-0.5px!important}.kv-rot{height:60px!important;margin-bottom:-18px!important}.kv-heroin{padding:24px 20px!important;gap:18px!important}}
/* hero section wrapper */
.kv-hero-sec{position:relative;background:#0A0E27;}
@media (max-width:640px){.kv-heroin > div:last-child{flex-direction:column;align-items:stretch;width:100%;max-width:320px}.kv-logo{font-size:44px!important}}
.kv-decor-m{display:none;position:absolute;inset:0;pointer-events:none}
@media (max-width:900px){.kv-decor-m{display:block}}
/* blog header: same motion graphic as the homepage hero, sized for the blog */
.kv-hero-blog .kv-hero{min-height:720px!important;}
@media (min-width:1201px){ .kv-hero-blog .kv-h1{font-size:62px!important;line-height:72px!important;} }
.kv-hero-blog .kv-rot{display:grid!important;height:auto!important;margin-bottom:-.2em!important;}
.kv-hero-blog .kv-word{position:relative!important;left:auto;right:auto;top:auto;grid-area:1 / 1;text-wrap:balance;}
@media (max-width:640px){ .kv-hero-blog .kv-hero{min-height:0!important;} }
/* tablets and small laptops: the lighter floating set, so nothing gets cut off at the edges */
@media (max-width:1200px){ .kv-hero-blog .kv-decor{display:none!important;} .kv-hero-blog .kv-decor-m{display:block!important;} }

