/* Kubit Exchange landing: page composition on top of the E01 WEB / E01 MOBILE screens. */
html{scroll-behavior:smooth;background:#061027}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{margin:0;background:#061027;color:var(--text-primary);min-height:100vh;overflow-x:hidden}

.kb-web,.kb-mobile{position:relative;z-index:1;width:100%;background:transparent;color:var(--text-primary);font-family:var(--font-body)}
/* The main landmark wraps the sections without adding a box. */
.kb-main{display:contents}
/* Text for assistive technology only (e.g. "Idioma" before the current language code). */
.kb-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}

/* Ambient background: aurora canvas (blurred, low resolution) and a waves canvas. Sections are translucent so it shows through. */
.kb-bg{position:fixed;inset:0;height:100lvh;min-height:100%;z-index:0;pointer-events:none;overflow:hidden;background:var(--kb-navy-950) linear-gradient(180deg,rgba(11,95,255,.10),rgba(11,95,255,.16) 45%,rgba(11,95,255,.08))}
/* Safari tints the status bar with theme-color; fade the top of the background to that same navy so both match. */
.kb-bg::after{content:"";position:absolute;left:0;right:0;top:0;height:calc(160px + env(safe-area-inset-top,0px));background:linear-gradient(var(--kb-navy-950),rgba(3,6,15,0))}
@media (min-width:1024px){.kb-bg::after{height:110px}}
/* iPhone notch: the sticky header and the fixed menu respect the safe area. */
.kb-mobile>header{padding-top:env(safe-area-inset-top,0px)!important;height:calc(60px + env(safe-area-inset-top,0px))!important;top:0!important}
.kb-menu{top:calc(60px + env(safe-area-inset-top,0px))}
#kb-aurora{position:absolute;left:-10%;top:-10%;width:120%;height:120%;filter:blur(72px) saturate(1.15);opacity:.95;transform:translateZ(0)}
#kb-waves{position:absolute;inset:0;width:100%;height:100%}
.kb-web section[style*="background: var(--bg-app)"],.kb-mobile section[style*="background: var(--bg-app)"]{background-color:rgba(5,11,30,.58)!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.kb-web footer,.kb-mobile footer{background-color:rgba(3,6,15,.6)!important}
.kb-web>div,.kb-web>div>div{background:transparent!important}
/* Phones: no fixed background layer at all (iOS Safari resizes it with the toolbar and shows a seam).
   The glow is painted on the page itself and scrolls with the content. */
@media (max-width:1023.98px){
  .kb-bg{display:none}
  html,body{background:#071233}
  .kb-mobile{background:
    linear-gradient(180deg,#071233 0,rgba(7,18,51,0) 260px),
    radial-gradient(70% 9% at 85% 6%,rgba(0,209,255,.18),rgba(0,209,255,0) 70%),
    radial-gradient(90% 8% at 10% 11%,rgba(11,95,255,.40),rgba(11,95,255,0) 70%),
    radial-gradient(80% 7% at 90% 26%,rgba(0,180,224,.20),rgba(0,180,224,0) 70%),
    radial-gradient(90% 8% at 15% 42%,rgba(11,95,255,.34),rgba(11,95,255,0) 70%),
    radial-gradient(80% 7% at 85% 58%,rgba(0,209,255,.16),rgba(0,209,255,0) 70%),
    radial-gradient(90% 8% at 20% 74%,rgba(11,95,255,.30),rgba(11,95,255,0) 70%),
    radial-gradient(80% 7% at 80% 90%,rgba(0,180,224,.18),rgba(0,180,224,0) 70%),
    #071233}
}
/* Phones: no CSS blur on the fixed canvas and no backdrop filters over it (both flicker in iOS Safari while scrolling). The aurora is made of radial gradients, so it stays soft without the blur. */
@media (max-width:1023.98px){
  #kb-aurora{filter:none;opacity:.9}
  .kb-mobile section[style*="background: var(--bg-app)"]{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background-color:transparent!important}
  .kb-mobile footer{background-color:transparent!important}
  .kb-mobile .kb-ticker{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(3,6,15,.6)}
  .kb-mobile .kb-glass{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(8,18,43,.8)!important}
  .kb-mobile .kb-menu{backdrop-filter:none;-webkit-backdrop-filter:none}
}
.kb-web{--gx:48px}
@media (min-width:1280px){.kb-web{--gx:max(64px,calc(50% - 576px))}}
.kb-mobile{--gx:max(20px,calc(50% - 300px));padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
@media (max-width:1023.98px){.kb-web{display:none}}
@media (min-width:1024px){.kb-mobile{display:none}}

/* Compact desktop header between 1024px and 1279px so the navigation stays on one line. */
@media (max-width:1279.98px){
  .kb-web header{gap:18px!important}
  .kb-web header nav{gap:16px!important;margin-left:4px!important}
  .kb-web header nav a{font-size:13px!important;white-space:nowrap}
  .kb-web header>div.kb-langs{margin-right:2px!important}
}
section[id],div[id]{scroll-margin-top:88px}
.kb-mobile section[id],.kb-mobile div[id]{scroll-margin-top:72px}

/* Hero (desktop): glass K emblem with concentric rings behind the phone card. */
.kb-web #inicio{overflow:hidden}
.kb-hero-deco{position:absolute;inset:0;pointer-events:none}
.kb-hero-glow{position:absolute;inset:-60px -80px;background:radial-gradient(40% 40% at 68% 32%,rgba(0,209,255,.4),rgba(0,209,255,0) 70%),radial-gradient(45% 45% at 40% 70%,rgba(11,95,255,.45),rgba(11,95,255,0) 70%)}
.kb-ring{position:absolute;border-radius:50%;border:1px solid rgba(0,209,255,.14);--c:145px}
.kb-ring-1{width:420px;height:420px;right:calc(var(--c) - 210px);top:calc(var(--c) - 210px)}
.kb-ring-2{width:320px;height:320px;right:calc(var(--c) - 160px);top:calc(var(--c) - 160px);border-color:rgba(0,209,255,.2)}
.kb-ring-3{width:220px;height:220px;right:calc(var(--c) - 110px);top:calc(var(--c) - 110px);border-color:rgba(0,209,255,.3)}
.kb-emblem{position:absolute;right:20px;top:20px;width:250px;height:250px;border-radius:64px;display:grid;place-items:center;transform:rotate(8deg);background:linear-gradient(160deg,rgba(11,95,255,.10),rgba(0,209,255,.04) 60%,rgba(0,0,0,0)),rgba(4,9,24,.96);border:1px solid rgba(0,209,255,.35);box-shadow:0 0 0 1px rgba(0,209,255,.12),0 0 90px rgba(0,209,255,.28),inset 0 1px 0 rgba(255,255,255,.08);animation:kb-float 9s ease-in-out infinite}
.kb-emblem img{position:relative;width:150px;height:auto;filter:none!important}
.kb-emblem-glow{position:absolute;inset:30%;border-radius:50%;background:radial-gradient(closest-side,rgba(11,95,255,.28),rgba(11,95,255,0));filter:blur(18px)}
@keyframes kb-float{0%,100%{transform:rotate(8deg) translateY(0)}50%{transform:rotate(8deg) translateY(-10px)}}
@media (prefers-reduced-motion:reduce){.kb-emblem{animation:none}}
@media (max-width:1279.98px){.kb-emblem{width:210px;height:210px;border-radius:54px;right:12px;top:30px}.kb-emblem img{width:126px}.kb-ring{--c:117px}.kb-ring-1{display:none}}

/* Asset ribbon at the bottom of the hero */
.kb-web #inicio.kb-has-ticker{padding-bottom:132px!important;min-height:calc(100vh - 72px);align-content:center}
/* Shorter laptop screens: the whole hero, ribbon included, fits the first screen. */
@media (min-width:1024px) and (max-height:899.98px){
  .kb-web #inicio.kb-has-ticker{padding-top:52px!important}
  .kb-web #inicio>div:nth-child(2){height:560px!important}
  .kb-web #inicio>div:nth-child(2)>*{transform-origin:top left}
  .kb-web #inicio .kb-hero-phone{zoom:.9}
  .kb-web .kb-emblem{width:220px;height:220px;border-radius:56px;right:8px;top:24px}.kb-web .kb-emblem img{width:132px}.kb-web .kb-ring{--c:118px}.kb-web .kb-ring-1{display:none}
}
@media (min-width:1024px) and (max-height:819.98px){
  .kb-web #inicio.kb-has-ticker{padding-top:36px!important;padding-bottom:104px!important}
  .kb-web #inicio h1{font-size:52px!important}
  .kb-web #inicio>div:first-child{gap:18px!important}
  .kb-web #inicio>div:nth-child(2){height:480px!important}
  .kb-web #inicio .kb-hero-phone{top:70px!important;zoom:.8}
  .kb-web .kb-emblem{width:190px;height:190px;border-radius:48px;right:4px;top:10px}.kb-web .kb-emblem img{width:112px}.kb-web .kb-ring{--c:99px}
  .kb-web .kb-ticker{height:40px}.kb-web .kb-tk-item{height:40px}
}
.kb-mobile .kb-ticker-inline{position:relative;left:auto;right:auto;bottom:auto;margin:6px calc(-1 * var(--gx)) 0}
.kb-ticker{position:absolute;left:0;right:0;bottom:0;height:46px;border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);background:rgba(3,6,15,.42);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);overflow:hidden;display:flex;align-items:center;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.kb-tk-track{display:flex;width:max-content;animation:kb-tk 48s linear infinite}
.kb-ticker:hover .kb-tk-track{animation-play-state:paused}
.kb-tk-row{display:flex;flex:none}
.kb-tk-item{display:inline-flex;align-items:center;gap:10px;height:46px;padding:0 28px;border-right:1px solid var(--border-subtle);white-space:nowrap;font:600 12px var(--font-body);color:var(--text-secondary)}
.kb-tk-item img{border-radius:50%;display:block}
.kb-tk-name{color:var(--text-primary)}
.kb-tk-sym,.kb-tk-net{color:var(--text-muted)}
.kb-tk-tag{font:600 11px/1 var(--font-body);color:var(--text-brand);margin-left:6px}
@keyframes kb-tk{to{transform:translateX(-50%)}}
.kb-mobile .kb-ticker{height:40px}
.kb-mobile .kb-tk-item{height:40px;padding:0 18px;font-size:11px;gap:8px}
.kb-mobile .kb-tk-track{animation-duration:36s}
.js .kb-hero-copy>.kb-no-stagger{animation:none;opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.kb-tk-track{animation:none!important}}

/* Controls: hover, focus and cursor on top of the authored inline styles. */
button{cursor:pointer}
button:not([disabled]):not(.kb-lang):not(.kb-faq-q):not([role=tab]):hover{filter:brightness(1.1)!important}
button:not([disabled]):active{transform:translateY(1px)!important}
a:hover{color:var(--text-primary)!important}
:is(a,button,[tabindex]):focus-visible{outline:2px solid var(--kb-cyan-400)!important;outline-offset:3px;border-radius:8px}
/* Keyboard focus is never scrolled under the sticky desktop header (WCAG 2.4.11). */
.kb-web :is(a,button,[tabindex]){scroll-margin-top:96px;scroll-margin-bottom:24px}
[inert]{pointer-events:none}

.kb-home{border-radius:10px}
.kb-home:hover{color:inherit!important;filter:brightness(1.12)}

/* Language pills */
.kb-lang{display:inline-flex;align-items:center;height:28px;padding:0 10px;border-radius:999px;border:1px solid var(--border-default);background:transparent;color:var(--text-secondary);font:600 12px/1 var(--font-body);white-space:nowrap;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}
.kb-lang:hover{color:var(--text-primary);border-color:var(--border-strong)}
.kb-lang[aria-pressed=true]{border-color:var(--border-brand);background:var(--surface-brand-tint);color:var(--text-brand)}

/* FAQ */
.kb-faq{border:1px solid var(--border-default);background:var(--surface-card);transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}
.kb-faq:hover{border-color:var(--border-strong)}
.kb-faq[data-open]{border-color:var(--border-brand);background:var(--surface-brand-tint)}
.kb-faq-q{all:unset;box-sizing:border-box;display:flex;width:100%;justify-content:space-between;align-items:center;gap:12px;font:600 15px var(--font-body);color:var(--text-primary);cursor:pointer;text-align:left;min-height:24px}
.kb-faq-icon{color:var(--text-tertiary);display:flex;flex:none}
.kb-faq-icon .kb-i-minus{display:none!important}
.kb-faq[data-open] .kb-i-minus{display:block!important}
.kb-faq[data-open] .kb-i-plus{display:none!important}
.kb-faq-a{display:block;overflow:hidden;max-height:0;opacity:0;margin-top:0!important;transition:max-height .45s var(--ease-out),opacity .35s var(--ease-out),margin-top .45s var(--ease-out)}
.kb-faq[data-open] .kb-faq-a{max-height:420px;opacity:1;margin-top:10px!important}

/* Mobile menu */
.kb-menu{position:fixed;left:0;right:0;top:60px;bottom:0;z-index:25;display:flex;flex-direction:column;padding:8px var(--gx) 24px;background:var(--kb-navy-950);overflow:auto;-webkit-overflow-scrolling:touch}
.kb-menu[hidden]{display:none}
.kb-menu>a{display:block;padding:14px 0;border-bottom:1px solid var(--border-subtle);font:600 16px var(--font-body);color:var(--text-primary)}
.kb-menu-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:16px}
.kb-menu-cta{flex:1;display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 18px;border-radius:var(--radius-md);border:0;background:var(--kb-gradient-brand-strong);color:#fff;font:600 14px var(--font-body)}
.kb-langs{display:flex;gap:6px}
body.kb-menu-open{overflow:hidden}

/* Mobile language selector (top bar) */
.kb-langsel{position:relative;display:flex;align-items:center}
.kb-langsel-btn{display:inline-flex;align-items:center;gap:4px;height:32px;padding:0 8px 0 10px;border-radius:var(--radius-md);border:1px solid var(--border-default);background:transparent;color:var(--text-primary);font:600 13px/1 var(--font-body);letter-spacing:.02em;transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}
.kb-langsel-btn svg{transition:transform .25s var(--ease-out);color:var(--text-tertiary)}
.kb-langsel-btn[aria-expanded=true]{border-color:var(--border-brand);background:var(--surface-brand-tint)}
.kb-langsel-btn[aria-expanded=true] svg{transform:rotate(180deg);color:var(--text-brand)}
.kb-langsel-list{position:absolute;right:0;top:calc(100% + 8px);min-width:172px;display:flex;flex-direction:column;padding:6px;border-radius:14px;background:var(--surface-elevated);border:1px solid var(--border-default);box-shadow:var(--shadow-lg);z-index:40}
.kb-langsel-list[hidden]{display:none}
.kb-langsel-opt{display:flex;align-items:center;gap:10px;width:100%;height:44px;padding:0 12px;border:0;border-radius:10px;background:transparent;color:var(--text-secondary);font:500 14px var(--font-body);text-align:left}
.kb-langsel-opt b{font:600 12px/1 var(--font-body);color:var(--text-muted);width:24px}
.kb-langsel-opt[aria-selected=true]{background:var(--surface-brand-tint);color:var(--text-primary)}
.kb-langsel-opt[aria-selected=true] b{color:var(--text-brand)}
.kb-langsel-opt:hover{background:var(--surface-2)}
@media (max-width:359.98px){.kb-mobile header>span>span:last-child{display:none}}

/* Dialog */
.kb-dialog{border:0;padding:0;background:transparent;max-width:min(92vw,440px);width:100%;color:var(--text-primary)}
.kb-dialog::backdrop{background:rgba(3,6,15,.72);backdrop-filter:blur(6px)}
.kb-dialog-card{background:var(--surface-elevated);border:1px solid var(--border-default);border-radius:var(--radius-xl);padding:28px 28px 24px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow-lg)}
.kb-dialog-mark img{height:36px;width:auto;display:block}
.kb-dialog-h{font:700 22px/1.2 var(--font-display);letter-spacing:-0.02em;margin:6px 0 0}
.kb-dialog-p{font:400 15px/1.55 var(--font-body);color:var(--text-secondary);margin:0}
.kb-dialog-ok{align-self:flex-start;margin-top:8px;display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 20px;border-radius:var(--radius-md);border:0;background:var(--kb-gradient-brand-strong);color:#fff;font:600 14px var(--font-body)}

/* ---------- Motion layer (only when JS runs; the static page stays fully visible otherwise) ---------- */
.js .kb-reveal{opacity:0;transform:translateY(22px);transition:opacity .75s var(--ease-out),transform .75s var(--ease-out);transition-delay:var(--d,0ms);will-change:opacity,transform}
.js .kb-reveal.is-in{opacity:1;transform:none}
.js .kb-hero-copy>*{opacity:0;transform:translateY(16px);animation:kb-up .8s var(--ease-out) forwards;animation-delay:calc(var(--i,0)*90ms + 80ms)}
.js .kb-web .kb-hero-phone{opacity:0;animation:kb-phone-in 1s var(--ease-out) .25s forwards}
.js .kb-mobile .kb-hero-phone{opacity:0;animation:kb-up .9s var(--ease-out) .5s forwards}
.js .kb-emblem{opacity:0;animation:kb-emblem-in 1.1s var(--ease-out) .15s forwards,kb-float 9s ease-in-out 1.3s infinite}
.kb-hero-phone{transform-style:preserve-3d}
/* The phone mock shows example data; it says so under the card. */
.kb-mock-note{margin:14px 0 0;max-width:320px;font:500 12px/1.4 var(--font-body);color:var(--text-muted);text-align:center}
.kb-web .kb-mock-note{margin-top:18px}
.kb-hero-phone>div{transition:transform .5s var(--ease-out)!important}
@keyframes kb-up{to{opacity:1;transform:none}}
@keyframes kb-phone-in{from{opacity:0;transform:translateY(46px) rotate(-1deg)}to{opacity:1;transform:none}}
@keyframes kb-emblem-in{from{opacity:0;transform:rotate(14deg) scale(.86)}to{opacity:1;transform:rotate(8deg) scale(1)}}
/* Header state after scrolling */
.kb-web>div>div>header,.kb-mobile>header{transition:box-shadow .3s var(--ease-out),background .3s var(--ease-out)}
.kb-web>div>div>header,.kb-mobile>header{background:rgba(3,6,15,.28)!important;backdrop-filter:blur(20px) saturate(1.3)!important;-webkit-backdrop-filter:blur(20px) saturate(1.3)!important;border-bottom-color:rgba(255,255,255,.08)!important}
.kb-scrolled .kb-web>div>div>header,.kb-scrolled .kb-mobile>header{box-shadow:0 12px 32px -16px rgba(0,0,0,.6);background:rgba(3,6,15,.48)!important}
.kb-mobile>header{position:static!important;background:transparent!important;border-bottom:0!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important}
.kb-scrolled .kb-mobile>header{background:transparent!important;box-shadow:none!important}
.kb-menu{top:0;padding-top:calc(12px + env(safe-area-inset-top,0px))}
.kb-menu-close{display:flex;justify-content:flex-end;padding:8px 0 4px}
.kb-menu-close button{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:var(--radius-md);border:1px solid var(--border-default);background:transparent;color:var(--text-primary)}
.kb-mobile>header>div{align-items:center}
.kb-mobile>header .kb-langsel-btn,.kb-mobile>header>div>button:first-child{height:36px}
.kb-mobile>header>div>button[data-action=menu]{width:36px;height:36px}
/* Scroll spy */
.kb-web header nav a{position:relative;transition:color var(--duration-fast) var(--ease-out)}
.kb-web header nav a::after{content:"";position:absolute;left:50%;bottom:-10px;width:4px;height:4px;border-radius:50%;background:var(--kb-cyan-400);transform:translateX(-50%) scale(0);transition:transform .25s var(--ease-spring)}
.kb-web header nav a[aria-current=true]{color:var(--text-primary)!important}
.kb-web header nav a[aria-current=true]::after{transform:translateX(-50%) scale(1)}
/* Editorial treatments: flow connectors, step rail, feature list, hero accent, CTA watermark */
.kb-flow{position:relative;display:block;width:100%;height:2px;border-radius:2px;background:linear-gradient(90deg,rgba(0,209,255,.06),rgba(0,209,255,.5),rgba(0,209,255,.06))}
.kb-flow::after{content:"";position:absolute;top:50%;left:0;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:var(--kb-cyan-400);box-shadow:0 0 14px var(--kb-cyan-400),0 0 4px #fff;animation:kb-flow 2.8s var(--ease-in-out) infinite}
.kb-flow-2::after{animation-delay:1.4s}
@keyframes kb-flow{0%{left:0;opacity:0}12%{opacity:1}88%{opacity:1}100%{left:100%;opacity:0}}
.kb-steps{position:relative;gap:36px!important;padding-top:4px}
.kb-steps::before{content:"";position:absolute;left:14px;right:14px;top:18px;height:1px;background:linear-gradient(90deg,transparent,var(--border-strong) 8%,var(--border-strong) 92%,transparent)}
.kb-steps-v{position:relative;gap:26px!important}
.kb-steps-v::before{content:"";position:absolute;left:14px;top:20px;bottom:20px;width:1px;background:linear-gradient(180deg,transparent,var(--border-strong) 6%,var(--border-strong) 94%,transparent)}
.kb-step{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;border-radius:0!important;transform:none!important;backdrop-filter:none!important}
.kb-step>div:first-child>span:first-child{box-shadow:0 0 0 6px rgba(5,11,30,.9),0 0 24px rgba(11,95,255,.55)!important;position:relative;z-index:1}
.kb-step>div:first-child{margin-bottom:16px!important}
.kb-steps-v .kb-step>div:first-child{margin:0!important;gap:16px!important}
.kb-feature{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:6px 26px 6px 0!important;transform:none!important;backdrop-filter:none!important}
.kb-features .kb-feature+.kb-feature{padding-left:26px!important;box-shadow:-1px 0 0 var(--border-default)!important}
.kb-features-v .kb-feature{padding:18px 0!important}
.kb-features-v .kb-feature>div:first-child{gap:16px!important}
.kb-features-v .kb-feature+.kb-feature{box-shadow:0 -1px 0 var(--border-default)!important}
.kb-features-v{gap:0!important}
@media (prefers-reduced-motion:reduce){.kb-flow::after{animation:none!important}}
/* Layers diagram and asset rows (unboxed) */
.kb-layer{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:8px 0!important;transform:none!important;backdrop-filter:none!important}
.kb-layers{align-items:start!important}
.kb-layers>span{align-self:start;margin-top:31px}
.kb-layers-v{gap:0!important}
.kb-layers-v .kb-layer{padding:18px 0!important}
.kb-layers-v .kb-layer+.kb-layer{box-shadow:0 -1px 0 var(--border-default)!important}
.kb-assets-v{gap:0!important}
.kb-asset{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:14px 0!important;transform:none!important;backdrop-filter:none!important}
.kb-asset+.kb-asset{box-shadow:0 -1px 0 var(--border-default)!important}
/* Reading measure */
.kb-web section p{max-width:560px}
.kb-web #inicio p{max-width:520px}

/* Glass surfaces for the remaining cards */
.kb-glass{background:rgba(8,18,43,.62)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}

/* Sparkline draw and 30 s quote bar */
.kb-draw{stroke-dasharray:var(--len);stroke-dashoffset:var(--len);transition:stroke-dashoffset 1.8s var(--ease-out) .6s}
.is-in .kb-draw,.kb-draw.is-in{stroke-dashoffset:0}
.kb-quote-bar{height:3px;border-radius:999px;background:var(--surface-3);overflow:hidden;margin-top:-4px}
.kb-quote-bar i{display:block;height:100%;width:100%;border-radius:inherit;background:var(--kb-gradient-brand);transform-origin:left;animation:kb-quote 30s linear infinite}
@keyframes kb-quote{from{transform:scaleX(1)}to{transform:scaleX(0)}}
/* Gentle glow drift behind the hero */
.js .kb-hero-glow{animation:kb-drift 14s ease-in-out infinite alternate}
@keyframes kb-drift{to{transform:translate(-30px,20px) scale(1.06)}}
@media (prefers-reduced-motion:reduce){
  .js .kb-reveal,.js .kb-hero-copy>*,.js .kb-hero-phone,.js .kb-emblem{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}
  .js .kb-hero-glow,.kb-pulse,.kb-quote-bar i{animation:none!important}
  .kb-draw{stroke-dashoffset:0!important;transition:none!important}
  .kb-card:hover{transform:none!important}
}
