/* Página de servicio: kloud
   Generado por _trabajo/construir-css.js — no editar a mano.
   Todo el CSS cuelga de .ksrv para no tocar el header/footer de Elementor. */
.ksrv{--orange:#FF5B00;
    --orange-dark:#e64f00;
    --peach:#FFF1E6;
    --black:#0B0C0E;
    --carbon:#21272A;
    --card-dark:#21272A;
    --gray:#6B7280;
    --gray-light:#9CA3AF;
    --bg:#F5F6F8;
    --bg2:#F1F2F5;
    --border:#E7E8EC;
    --plomo:#6B7280;
    --plomo-light:#9CA3AF;
    --plomo-dark:#21272A;
    --mono:'KsrvSans',-apple-system,BlinkMacSystemFont,sans-serif;}
.ksrv svg{display:block;}
.ksrv .hero{position:relative; background:var(--carbon); color:#fff; padding:80px 0 100px; overflow:hidden;}
.ksrv .hero .dots{top:-40px; right:-60px; width:340px; height:340px; color:rgba(255,91,0,.35);
    -webkit-mask-image:radial-gradient(circle,#000 0%,transparent 70%); mask-image:radial-gradient(circle,#000 0%,transparent 70%);}
.ksrv .hero .wrap{display:grid; grid-template-columns:1.05fr .95fr; gap:50px; align-items:center; position:relative; z-index:2;}
.ksrv .eyebrow{display:inline-flex; align-items:center; gap:8px; font-family:var(--mono); font-size:12px; font-weight:700; letter-spacing:.08em; color:var(--orange); text-transform:uppercase; margin-bottom:20px;}
.ksrv .eyebrow::before{content:''; width:18px; height:1.5px; background:var(--orange);}
.ksrv h1{font-size:52px; font-weight:800; letter-spacing:-.02em; line-height:1.06; margin-bottom:10px; color:#fff;}
.ksrv .tagline{font-size:19px; font-weight:700; color:var(--orange); margin-bottom:18px; letter-spacing:-.005em;}
.ksrv .hero p.lead{font-size:16.5px; color:#B8BAC2; max-width:500px; margin-bottom:30px;}
.ksrv .hero p.lead b{color:#fff;}
.ksrv .hero-ctas{display:flex; gap:14px; margin-bottom:44px;}
.ksrv .mini-stats{display:grid; grid-template-columns:repeat(4,1fr); gap:22px; border-top:1px solid #2A2D33; padding-top:24px;}
.ksrv .mini-stats .m{position:relative; padding-right:22px;}
.ksrv .mini-stats .m::after{content:''; position:absolute; top:2px; bottom:2px; right:-11px; width:1px; background:#2A2D33;}
.ksrv .mini-stats .m:last-child{padding-right:0;}
.ksrv .mini-stats .m:last-child::after{display:none;}
.ksrv .mini-stats .num{font-family:var(--mono); font-size:22px; font-weight:700; color:#fff;}
.ksrv .mini-stats .label{font-size:11.5px; color:var(--gray-light); margin-top:4px; line-height:1.3;}
.ksrv .ring-row{display:flex; align-items:center; gap:9px;}
.ksrv .ring-progress{position:relative; width:34px; height:34px; flex-shrink:0; cursor:pointer;}
.ksrv .ring-progress svg{width:100%; height:100%; transform:rotate(-90deg);}
.ksrv .ring-track{fill:none; stroke:rgba(255,255,255,.14); stroke-width:4;}
.ksrv .ring-fill{fill:none; stroke:var(--orange); stroke-width:4; stroke-linecap:round; stroke-dasharray:var(--circ); stroke-dashoffset:var(--circ); transition:stroke-dashoffset 2.4s cubic-bezier(.4,0,.2,1);}
.ksrv .ring-progress.in-view .ring-fill{stroke-dashoffset:var(--offset);}
.ksrv .stat-icon-badge{width:34px; height:34px; border-radius:50%; background:rgba(255,91,0,.14); border:1px solid rgba(255,91,0,.32); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.ksrv .stat-icon-badge svg{width:16px; height:16px;}
.ksrv .radar-wrap{position:relative; width:100%; aspect-ratio:1/1; max-width:440px; margin:0 auto;}
.ksrv .radar-ring{position:absolute; border:1px solid rgba(255,91,0,.22); border-radius:50%; top:50%; left:50%; transform:translate(-50%,-50%);}
.ksrv .radar-ring.r1{width:100%; height:100%;}
.ksrv .radar-ring.r2{width:70%; height:70%;}
.ksrv .radar-ring.r3{width:40%; height:40%;}
.ksrv .radar-sweep{position:absolute; inset:0; border-radius:50%; overflow:hidden; animation:ks-spin 6s linear infinite;}
.ksrv .radar-sweep::before{content:''; position:absolute; inset:0; background:conic-gradient(from 0deg, rgba(255,91,0,.55), transparent 32%);}
.ksrv .radar-core{position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:74px; height:74px; border-radius:50%; background:var(--orange); display:flex; align-items:center; justify-content:center; box-shadow:0 0 0 10px rgba(255,91,0,.12), 0 0 0 20px rgba(255,91,0,.07); z-index:3;}
.ksrv .radar-core svg{width:34px; height:34px;}
.ksrv .radar-node{position:absolute; width:76px; display:flex; flex-direction:column; align-items:center; gap:6px; z-index:3;}
.ksrv .radar-node .nic{width:44px; height:44px; border-radius:12px; background:var(--carbon); border:1px solid #34383e; display:flex; align-items:center; justify-content:center;}
.ksrv .radar-node .nic svg{width:20px;height:20px;}
.ksrv .radar-node .nlabel{font-size:11px; font-weight:700; color:#D7D8DD; text-align:center; line-height:1.2;}
.ksrv .radar-node.n-top{top:-4%; left:50%; transform:translateX(-50%);}
.ksrv .radar-node.n-right{top:50%; right:-8%; transform:translateY(-50%);}
.ksrv .radar-node.n-bottom{bottom:-4%; left:50%; transform:translateX(-50%);}
.ksrv .radar-node.n-left{top:50%; left:-8%; transform:translateY(-50%);}
.ksrv .section{padding:88px 0; position:relative;}
.ksrv .kicker{display:inline-flex; align-items:center; gap:8px; font-family:var(--mono); font-size:12px; font-weight:700; letter-spacing:.08em; color:var(--orange); text-transform:uppercase; margin-bottom:16px;}
.ksrv .kicker::before{content:''; width:18px; height:1.5px; background:var(--orange);}
.ksrv h1 .accent{color:var(--orange);}
.ksrv .section-sub.line2{margin-bottom:48px;}
.ksrv .scroll-hint{display:none;}
.ksrv .divide-wrap{display:flex; flex-direction:column; gap:0;}
.ksrv .divide-block{border-radius:20px; padding:28px 32px; position:relative; overflow:hidden; opacity:0; transform:translateY(28px); transition:opacity .65s ease, transform .65s ease, box-shadow .3s ease;}
.ksrv .divide-block.in-view{opacity:1; transform:translateY(0);}
.ksrv .divide-block.bad{background:#fff; border:1px solid var(--border);}
.ksrv .divide-block.bad:hover{box-shadow:0 14px 30px rgba(20,20,30,.06);}
.ksrv .divide-block.good{background:var(--carbon); color:#fff; transition-delay:.12s;}
.ksrv .divide-block.good:hover{box-shadow:0 20px 44px rgba(255,91,0,.14);}
.ksrv .divide-block.good .dots{top:-40px; right:-40px; width:200px; height:200px; color:rgba(255,91,0,.35); -webkit-mask-image:radial-gradient(circle,#000 0%,transparent 70%); mask-image:radial-gradient(circle,#000 0%,transparent 70%);}
.ksrv .divide-inner{display:grid; grid-template-columns:auto 1fr; gap:34px; align-items:center; position:relative; z-index:2;}
.ksrv .divide-label{font-size:12.5px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; margin-bottom:14px; display:flex; align-items:center; gap:8px;}
.ksrv .divide-block.bad .divide-label{color:var(--plomo);}
.ksrv .divide-block.bad .divide-label svg{animation:ks-flicker 2.6s ease-in-out infinite;}
.ksrv .divide-block.good .divide-label{color:var(--orange);}
.ksrv .icon-chain{display:flex; align-items:center; gap:0; flex-wrap:wrap;}
.ksrv .chain-node{width:46px; height:46px; border-radius:12px; display:flex; align-items:center; justify-content:center; flex-shrink:0; position:relative; transition:transform .2s ease;}
.ksrv .divide-block.bad .chain-node{background:var(--bg2); border:1.5px dashed var(--plomo-light); animation:ks-jitter 3.4s ease-in-out infinite;}
.ksrv .divide-block.bad .chain-node:nth-child(3){animation-delay:.4s;}
.ksrv .divide-block.bad .chain-node:nth-child(5){animation-delay:.8s;}
.ksrv .divide-block.bad .chain-node:nth-child(7){animation-delay:1.2s;}
.ksrv .divide-block.bad .chain-node svg{width:20px;height:20px;}
.ksrv .divide-block.good .chain-node{background:rgba(255,91,0,.15); border:1.5px solid var(--orange);}
.ksrv .divide-block.good .chain-node:hover{transform:scale(1.1);}
.ksrv .divide-block.good .chain-node svg{width:20px;height:20px;}
.ksrv .divide-block.good .chain-node::after{content:''; position:absolute; inset:-6px; border-radius:16px; border:1.5px solid rgba(255,91,0,.35); animation:ks-ringpulse 2.4s ease-out infinite;}
.ksrv .divide-block.good .chain-node:nth-child(3)::after{animation-delay:.6s;}
.ksrv .divide-block.good .chain-node:nth-child(5)::after{animation-delay:1.2s;}
.ksrv .chain-gap{width:22px; height:2px; border-top:2px dashed var(--plomo-light); margin:0 -2px;}
.ksrv .chain-link-line{width:22px; height:2px; background:var(--orange); margin:0 -2px; position:relative; overflow:visible;}
.ksrv .chain-link-line::after{content:''; position:absolute; top:50%; left:0; width:6px; height:6px; border-radius:50%; background:#fff; box-shadow:0 0 6px 1px rgba(255,91,0,.8); transform:translateY(-50%); animation:ks-flow 1.8s linear infinite;}
.ksrv .divide-block h3{font-size:19px; font-weight:800; margin-bottom:8px;}
.ksrv .divide-block.good h3{color:#fff;}
.ksrv .divide-block p{font-size:15px; position:relative; z-index:2; max-width:560px;}
.ksrv .divide-block.bad p{color:var(--gray);}
.ksrv .divide-block.good p{color:#C7C9CF;}
.ksrv .divide-connector{display:flex; align-items:center; justify-content:center; gap:14px; padding:4px 0;}
.ksrv .divide-connector .line{width:80px; height:1px; background:repeating-linear-gradient(90deg, var(--border) 0 6px, transparent 6px 11px);}
.ksrv .divide-connector .badge{width:40px;height:40px; border-radius:50%; background:var(--orange); color:#fff; display:flex; align-items:center; justify-content:center; flex-shrink:0; animation:ks-bounce 1.8s ease-in-out infinite;}
.ksrv .divide-connector .badge svg{width:18px;height:18px;}
.ksrv .problem-head{display:grid; grid-template-columns:minmax(200px,.65fr) 1.35fr; gap:44px; align-items:stretch; margin-bottom:0;}
.ksrv .problem-photo{border-radius:20px; overflow:hidden; position:relative; min-width:0;}
.ksrv .problem-photo img{width:100%; height:100%; object-fit:cover; display:block; position:absolute; inset:0; transition:transform .5s cubic-bezier(.25,.46,.45,.94);}
.ksrv .problem-photo:hover img{transform:scale(1.05);}
.ksrv .problem-copy{display:flex; flex-direction:column;}
.ksrv .problem-copy .section-title{margin-bottom:14px;}
.ksrv .problem-copy .kicker{margin-bottom:16px;}
.ksrv .problem-copy .console-frame{margin-top:auto;}
.ksrv .console-frame{background:var(--carbon); border-radius:24px; overflow:hidden; box-shadow:0 30px 60px rgba(20,20,30,.18);}
.ksrv .console-bar{display:flex; align-items:center; gap:8px; padding:14px 22px; border-bottom:1px solid rgba(255,255,255,.08);}
.ksrv .console-bar .tdot{width:10px;height:10px;border-radius:50%;}
.ksrv .console-bar .tdot:nth-child(1){background:var(--orange);}
.ksrv .console-bar .tdot:nth-child(2){background:var(--plomo-light);}
.ksrv .console-bar .tdot:nth-child(3){background:var(--plomo);}
.ksrv .console-title{font-family:var(--mono); font-size:11.5px; color:#8C8E96; margin-left:8px;}
.ksrv .console-live{margin-left:auto; display:flex; align-items:center; gap:6px; font-family:var(--mono); font-size:10.5px; font-weight:700; color:var(--orange); letter-spacing:.05em; text-transform:uppercase;}
.ksrv .console-live .ldot{width:6px;height:6px;border-radius:50%;background:var(--orange); animation:ks-pulse 1.6s infinite;}
.ksrv .console-grid{display:grid; grid-template-columns:1fr auto 1fr;}
.ksrv .console-col{position:relative; padding:36px 34px 34px; overflow:hidden;}
.ksrv .console-col.bad{background:linear-gradient(180deg, rgba(255,255,255,.025), transparent);}
.ksrv .console-col.good{background:rgba(255,91,0,.05);}
.ksrv .console-col.good .dots{top:-30px; right:-30px; width:180px; height:180px; color:rgba(255,91,0,.28); -webkit-mask-image:radial-gradient(circle,#000 0%,transparent 70%); mask-image:radial-gradient(circle,#000 0%,transparent 70%);}
.ksrv .console-label{font-family:var(--mono); font-size:11.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; display:flex; align-items:center; gap:8px; margin-bottom:30px; position:relative; z-index:2;}
.ksrv .console-col.bad .console-label{color:var(--plomo-light);}
.ksrv .console-col.bad .console-label svg{animation:ks-flicker 2.6s ease-in-out infinite;}
.ksrv .console-col.good .console-label{color:var(--orange);}
.ksrv .chip-field{position:relative; min-height:150px; margin-bottom:28px; z-index:2;}
.ksrv .float-chip{display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,.04); border:1px dashed rgba(255,255,255,.2); border-radius:12px; padding:10px 14px; font-size:12.5px; font-weight:600; color:#D7D8DD; position:absolute; white-space:nowrap;}
.ksrv .float-chip svg{width:16px;height:16px; flex-shrink:0; color:var(--plomo-light);}
.ksrv .chip-field .c1{top:0; left:0; animation:ks-driftA 4.6s ease-in-out infinite;}
.ksrv .chip-field .c2{top:56px; left:38%; animation:ks-driftB 5.3s ease-in-out infinite;}
.ksrv .chip-field .c3{top:110px; left:6%; animation:ks-driftC 4.9s ease-in-out infinite;}
.ksrv .chip-field.connected{display:flex; flex-direction:column; gap:0; min-height:auto;}
.ksrv .chip-field.connected .float-chip{position:static; display:flex; width:fit-content; border-style:solid; border-color:rgba(255,91,0,.4); background:rgba(255,91,0,.1); color:#fff; animation:none;}
.ksrv .chip-field.connected .float-chip svg{color:var(--orange);}
.ksrv .chip-field.connected .chip-line{width:2px; height:20px; margin-left:20px; background:var(--orange); position:relative;}
.ksrv .chip-field.connected .chip-line::after{content:''; position:absolute; left:50%; top:0; width:6px; height:6px; border-radius:50%; background:#fff; box-shadow:0 0 6px 1px rgba(255,91,0,.8); transform:translateX(-50%); animation:ks-flowV 1.8s linear infinite;}
.ksrv .console-metric{position:relative; z-index:2; border-top:1px solid rgba(255,255,255,.08); padding-top:20px;}
.ksrv .metric-lbl{font-size:12px; color:#8C8E96; margin-bottom:6px;}
.ksrv .metric-val{font-family:var(--mono); font-size:30px; font-weight:800;}
.ksrv .metric-val.bad-val{color:#D7D8DD;}
.ksrv .metric-val.good-val{color:var(--orange);}
.ksrv .metric-trend{font-size:12.5px; font-weight:700; margin-top:4px;}
.ksrv .metric-trend.up{color:#EF6A57;}
.ksrv .metric-trend.down{color:var(--orange);}
.ksrv .console-divider{display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; padding:0 4px; position:relative;}
.ksrv .console-divider .divider-line{width:1px; flex:1; background:repeating-linear-gradient(180deg, rgba(255,255,255,.14) 0 6px, transparent 6px 12px);}
.ksrv .console-divider .divider-badge{width:38px;height:38px;border-radius:50%; background:var(--orange); display:flex; align-items:center; justify-content:center; flex-shrink:0; transform:rotate(-90deg); animation:ks-pulseScale 1.8s ease-in-out infinite;}
.ksrv .console-divider .divider-badge svg{width:16px;height:16px;color:#fff;}
.ksrv .services-grid{display:grid; grid-template-columns:1.5fr .5fr; gap:40px; align-items:stretch;}
.ksrv .faq-grid{display:grid; grid-template-columns:1.5fr .5fr; gap:40px; align-items:stretch;}
.ksrv .media-slot{border-radius:20px; border:2px dashed rgba(255,255,255,.4); background:var(--orange); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; width:100%; height:100%; min-height:260px; color:#fff; text-align:center; padding:24px; position:relative; overflow:hidden;}
.ksrv .media-slot.has-photo{border:none; padding:0; background:var(--orange); overflow:visible;}
.ksrv .media-slot svg{width:34px; height:34px; opacity:.65;}
.ksrv .media-slot .mtxt{font-family:var(--mono); font-size:12px; font-weight:700; letter-spacing:.04em; text-transform:uppercase;}
.ksrv .media-slot .msub{font-size:12.5px; color:rgba(255,255,255,.8); max-width:180px;}
.ksrv .media-slot img{display:block; width:100%; height:100%; object-fit:contain; position:absolute; inset:0; transition:transform .45s cubic-bezier(.25,.46,.45,.94);}
.ksrv .media-slot.has-photo img{--img-scale:1.5; transform:scale(var(--img-scale));}
.ksrv .media-slot.faq-photo img{--img-scale:1.245;}
.ksrv .media-slot.has-photo:hover img{transform:scale(calc(var(--img-scale) * 1.08));}
.ksrv .flip-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(180px,1fr)); gap:20px; margin-bottom:34px;}
.ksrv .flip-card{position:relative; min-height:300px; border-radius:16px; overflow:hidden; cursor:pointer;
    background:var(--card-dark); border-top:3px solid var(--card-accent, var(--orange));}
.ksrv .flip-face{position:absolute; inset:0; padding:26px 26px; display:flex; flex-direction:column;
    transition:opacity .25s ease; align-items:flex-start;}
.ksrv .flip-front{opacity:1;}
.ksrv .flip-front .code{font-family:var(--mono); font-size:11px; font-weight:700; color:var(--card-accent, var(--orange)); letter-spacing:.06em; margin-bottom:10px;}
.ksrv .flip-front .ic{width:42px; height:42px; border-radius:11px; background:rgba(255,255,255,.06); display:flex; align-items:center; justify-content:center; margin-bottom:14px;}
.ksrv .flip-front .ic svg{width:20px; height:20px;}
.ksrv .flip-front h3{color:#fff; font-size:18px; font-weight:800; margin-bottom:6px;}
.ksrv .flip-front .microhook{color:var(--orange); font-size:12.5px; font-weight:700; margin-bottom:8px;}
.ksrv .flip-front p{color:#9A9DA5; font-size:13px; line-height:1.45;}
.ksrv .flip-front .tap-hint{position:absolute; bottom:16px; left:26px; font-size:10.5px; color:#6C6F78; font-family:var(--mono);}
.ksrv .flip-back{opacity:0; background:var(--card-accent, var(--orange)); justify-content:center; pointer-events:none;}
.ksrv .flip-back h3{color:#fff; font-size:16px; font-weight:800; margin-bottom:10px;}
.ksrv .flip-back ul{list-style:none;}
.ksrv .flip-back li{display:flex; gap:8px; align-items:flex-start; color:#fff; font-size:12.5px; margin-bottom:7px; font-weight:500; line-height:1.35;}
.ksrv .flip-back li svg{flex-shrink:0; width:14px; height:14px; margin-top:1px;}
.ksrv .flip-card:hover .flip-front, .ksrv .flip-card.active .flip-front{opacity:0;}
.ksrv .flip-card:hover .flip-back, .ksrv .flip-card.active .flip-back{opacity:1; pointer-events:auto;}
.ksrv .grid-cta{text-align:center; margin-top:4px;}
.ksrv .diagnostic-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center;}
.ksrv .diagnostic-left .kicker{justify-content:flex-start;}
.ksrv .diagnostic-left p{color:var(--gray); font-size:16px; margin-bottom:24px; max-width:480px;}
.ksrv .diag-stats{display:flex; gap:22px; margin-bottom:30px; flex-wrap:wrap;}
.ksrv .diag-stat{display:flex; align-items:center; gap:9px;}
.ksrv .diag-stat .dsic{width:34px; height:34px; border-radius:10px; background:var(--peach); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.ksrv .diag-stat .dsic svg{width:16px;height:16px;}
.ksrv .diag-stat .dstxt{font-size:13px; font-weight:700; color:var(--black); line-height:1.2;}
.ksrv .diag-stat .dstxt span{display:block; font-weight:500; color:var(--gray); font-size:11.5px;}
.ksrv .diagnostic-panel{position:relative; background:var(--carbon); border-radius:24px; padding:38px 30px 30px; color:#fff; overflow:hidden;}
.ksrv .diagnostic-panel .dots{top:-30px; right:-30px; width:170px; height:170px; color:rgba(255,91,0,.32); -webkit-mask-image:radial-gradient(circle,#000 0%,transparent 70%); mask-image:radial-gradient(circle,#000 0%,transparent 70%);}
.ksrv .panel-label{position:relative; z-index:2; font-family:var(--mono); font-size:11px; letter-spacing:.07em; color:var(--orange); text-transform:uppercase; text-align:center; margin-bottom:24px;}
.ksrv .gauge-radial{position:relative; width:230px; height:118px; margin:0 auto 4px; z-index:2;}
.ksrv .gauge-arc-svg{width:100%; height:100%; overflow:visible;}
.ksrv .gauge-needle{position:absolute; left:50%; bottom:4px; width:3px; height:82px; background:#fff; border-radius:3px; transform-origin:bottom center; transform:translateX(-50%) rotate(-62deg); animation:ks-needlesweep 3.6s ease-in-out infinite alternate; box-shadow:0 0 8px rgba(255,255,255,.5);}
.ksrv .gauge-pivot{position:absolute; left:50%; bottom:0; width:16px; height:16px; margin-left:-8px; border-radius:50%; background:var(--orange); border:3px solid var(--carbon); z-index:3;}
.ksrv .gauge-labels{display:flex; justify-content:space-between; font-family:var(--mono); font-size:10.5px; color:#9A9DA5; text-transform:uppercase; letter-spacing:.03em; padding:0 4px; position:relative; z-index:2;}
.ksrv .panel-foot{text-align:center; font-size:13.5px; color:#C7C9CF; margin-top:22px; position:relative; z-index:2;}
.ksrv .panel-foot b{color:#fff;}
.ksrv .quiz-card{background:var(--carbon); color:#fff; border-radius:22px; box-shadow:0 25px 55px rgba(20,20,30,.2); padding:44px 46px; max-width:720px; margin:40px auto 0; text-align:left; display:none; position:relative; overflow:hidden;}
.ksrv .quiz-card.visible{display:block;}
.ksrv .quiz-progress{height:6px; background:#33383E; border-radius:10px; overflow:hidden; margin-bottom:30px;}
.ksrv .quiz-progress-fill{height:100%; background:var(--orange); width:0%; transition:width .3s ease;}
.ksrv .quiz-step{font-family:var(--mono); font-size:12px; font-weight:700; color:var(--gray-light); text-transform:uppercase; letter-spacing:.05em; margin-bottom:10px;}
.ksrv .quiz-q{font-size:21px; font-weight:800; margin-bottom:22px; line-height:1.3; color:#fff;}
.ksrv .quiz-options{display:flex; flex-direction:column; gap:10px; margin-bottom:30px;}
.ksrv .quiz-opt{border:2px solid #33383E; border-radius:12px; padding:16px 18px; font-size:15px; font-weight:600; cursor:pointer; transition:all .15s ease; color:#D7D8DD;}
.ksrv .quiz-opt:hover{border-color:var(--orange);}
.ksrv .quiz-opt.selected{border-color:var(--orange); background:rgba(255,91,0,.12); color:#fff;}
.ksrv .quiz-nav{display:flex; justify-content:space-between; align-items:center;}
.ksrv .quiz-nav button:disabled{opacity:.35; cursor:not-allowed;}
.ksrv .quiz-result{text-align:center;}
.ksrv .quiz-result .score{font-family:var(--mono); font-size:56px; font-weight:800; margin-bottom:4px;}
.ksrv .quiz-result .tier{font-size:22px; font-weight:800; margin-bottom:14px; color:#fff;}
.ksrv .quiz-result p{color:#B8BAC2; font-size:15.5px; max-width:480px; margin:0 auto 26px;}
.ksrv .outcome-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:44px;}
.ksrv .outcome-card{background:#fff; border-radius:16px; padding:26px 24px; border:1px solid var(--border); border-top:3px solid transparent; transition:border-color .2s ease, transform .2s ease, box-shadow .2s ease;}
.ksrv .outcome-card:hover{border-top-color:var(--orange); transform:translateY(-3px); box-shadow:0 14px 28px rgba(20,20,30,.08);}
.ksrv .outcome-card h4{font-size:16px; font-weight:800; color:var(--black); margin-bottom:10px;}
.ksrv .outcome-card p{font-size:14px; color:var(--gray);}
.ksrv .outcome-card p b{color:var(--black);}
.ksrv .tech-marquee{position:relative; overflow:hidden; width:100%; margin-top:8px;
    -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 64px, #000 calc(100% - 64px), transparent 100%);
    mask-image:linear-gradient(90deg, transparent 0, #000 64px, #000 calc(100% - 64px), transparent 100%);}
.ksrv .tech-track{display:flex; align-items:flex-start; gap:56px; width:max-content; animation:ks-techScroll 28s linear infinite;}
.ksrv .tech-marquee:hover .tech-track{animation-play-state:paused;}
.ksrv .tech-logo-item{display:flex; flex-direction:column; align-items:center; gap:12px; text-align:center; flex-shrink:0; width:96px;}
.ksrv .tech-logo-ic{width:48px; height:48px; display:flex; align-items:center; justify-content:center; filter:none; opacity:1; transition:transform .18s ease, filter .18s ease;}
.ksrv .tech-logo-item:hover .tech-logo-ic{transform:scale(1.1); filter:drop-shadow(0 4px 10px rgba(20,20,30,.18));}
.ksrv .tech-logo-ic img{width:100%; height:100%; object-fit:contain;}
.ksrv .tech-logo-label{font-size:12px; font-weight:600; color:var(--gray); white-space:nowrap;}
.ksrv .tech-logo-item:hover .tech-logo-label{color:var(--black);}
.ksrv .case-grid{display:grid; grid-template-columns:1fr 1fr; gap:24px;}
.ksrv .case-card{background:#fff; border-radius:22px; padding:0; overflow:hidden; border:1px solid var(--border); transition:transform .25s ease, box-shadow .25s ease;}
.ksrv .case-card:hover{transform:translateY(-5px); box-shadow:0 24px 46px rgba(20,20,30,.1);}
.ksrv .case-banner{position:relative; background:var(--carbon); color:#fff; padding:28px 30px 26px; overflow:hidden;}
.ksrv .case-banner .dots{top:-30px; right:-24px; width:150px; height:150px; color:rgba(255,91,0,.32); -webkit-mask-image:radial-gradient(circle,#000 0%,transparent 70%); mask-image:radial-gradient(circle,#000 0%,transparent 70%);}
.ksrv .case-top{display:flex; align-items:center; justify-content:space-between; position:relative; z-index:2; margin-bottom:22px;}
.ksrv .case-top-left{display:flex; align-items:center; gap:12px;}
.ksrv .case-banner .ic{width:42px; height:42px; border-radius:12px; background:rgba(255,91,0,.16); border:1px solid rgba(255,91,0,.4); display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:transform .25s ease;}
.ksrv .case-card:hover .case-banner .ic{transform:rotate(-6deg) scale(1.06);}
.ksrv .case-banner .ic svg{width:21px;height:21px;}
.ksrv .case-banner .kicker2{font-family:var(--mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--gray-light); margin-bottom:2px;}
.ksrv .case-banner .industry{font-weight:800; font-size:16px;}
.ksrv .verified-tag{display:flex; align-items:center; gap:5px; font-family:var(--mono); font-size:10px; font-weight:700; letter-spacing:.03em; color:var(--orange); background:rgba(255,91,0,.12); border:1px solid rgba(255,91,0,.3); padding:4px 9px; border-radius:20px;}
.ksrv .verified-tag svg{width:10px;height:10px;}
.ksrv .case-hero-stat{position:relative; z-index:2;}
.ksrv .case-hero-stat .num{font-family:var(--mono); font-weight:800; font-size:38px; color:#fff; line-height:1; letter-spacing:-.01em;}
.ksrv .case-hero-stat .num .accent-num{color:var(--orange);}
.ksrv .case-hero-stat .lbl{font-size:13.5px; color:#B8BAC2; margin-top:6px;}
.ksrv .case-body{padding:24px 30px 28px;}
.ksrv .case-body .desc-lbl{font-size:12.5px; font-weight:700; color:var(--gray); text-transform:uppercase; letter-spacing:.03em; margin-bottom:4px; margin-top:12px;}
.ksrv .case-body .desc-lbl:first-child{margin-top:0;}
.ksrv .case-body .desc{font-size:14.5px; color:var(--black); margin-bottom:0;}
.ksrv .case-mini-list{display:flex; flex-direction:column; gap:12px; margin-top:18px;}
.ksrv .case-mini-item{display:flex; align-items:center; gap:11px; font-size:14px; font-weight:700; color:var(--black);}
.ksrv .case-mini-item .mic{width:28px;height:28px; border-radius:8px; background:var(--peach); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.ksrv .case-mini-item .mic svg{width:14px;height:14px;}
.ksrv .faq-terminal{background:var(--carbon); border-radius:20px; overflow:hidden; color:#fff; box-shadow:0 24px 50px rgba(20,20,30,.16);}
.ksrv .faq-q{display:flex; align-items:flex-start; gap:12px; padding:18px 24px; cursor:pointer; font-family:var(--mono);}
.ksrv .faq-q .prompt{color:var(--orange); font-weight:700; flex-shrink:0;}
.ksrv .faq-q .qtxt{flex:1; font-weight:600; font-size:15px; color:#fff; font-family:'KsrvSans',sans-serif;}
.ksrv .faq-q .chev svg{width:15px; height:15px; color:#8C8E96; transition:transform .2s ease; flex-shrink:0; margin-top:2px;}
.ksrv .faq-line.open .faq-q .chev svg{transform:rotate(180deg); color:var(--orange);}
.ksrv .faq-line.open .faq-q .prompt{color:var(--orange);}
.ksrv .faq-line.open .faq-a{max-height:160px;}
.ksrv .faq-a-inner p .cursor-blink{display:inline-block; width:7px; height:14px; background:var(--orange); margin-left:3px; vertical-align:middle; animation:ks-blink 1s step-end infinite;}
.ksrv .cta-final{position:relative; text-align:center; padding:100px 0 90px; background:var(--carbon); color:#fff; overflow:hidden;}
.ksrv .cta-final .dots{top:-50px; right:-60px; width:280px; height:280px; color:rgba(255,91,0,.28); -webkit-mask-image:radial-gradient(circle,#000 0%,transparent 70%); mask-image:radial-gradient(circle,#000 0%,transparent 70%);}
.ksrv .cta-final h2{font-size:40px; font-weight:800; max-width:640px; margin:0 auto 16px; letter-spacing:-.015em; line-height:1.12; color:#fff;}
.ksrv .cta-final h2 .accent{color:var(--orange);}
.ksrv .cta-final p{color:#B8BAC2; font-size:16px; margin-bottom:34px; max-width:460px; margin-left:auto; margin-right:auto;}
.ksrv .cta-final .btns{display:flex; gap:18px; justify-content:center; align-items:center; flex-wrap:wrap; margin-bottom:52px;}
.ksrv .cta-final .btns .link-secondary{display:inline-flex; align-items:center; gap:6px; color:#D7D8DD; font-weight:600; font-size:14.5px; padding:12px 6px;}
.ksrv .cta-final .btns .link-secondary svg{width:14px;height:14px; color:var(--orange);}
.ksrv .cta-trust{display:flex; justify-content:center; gap:36px; border-top:1px solid rgba(255,255,255,.1); padding-top:30px; max-width:600px; margin:0 auto;}
.ksrv .cta-trust .t{flex:1; padding:0; display:flex; flex-direction:column; align-items:center; transition:transform .2s ease;}
.ksrv .cta-trust .t .t-ic{width:54px; height:54px; border-radius:50%; background:rgba(255,91,0,.14); border:1px solid rgba(255,91,0,.32); display:flex; align-items:center; justify-content:center; margin-bottom:10px;}
.ksrv .cta-trust .t .t-ic svg{width:25px; height:25px;}
.ksrv .cta-trust .t .tnum{font-family:var(--mono); font-weight:700; font-size:19px; color:#fff;}
.ksrv .cta-trust .t .tlbl{font-size:11.5px; color:#8C8E96; margin-top:3px;}
.ksrv .footer-logo{font-size:20px; font-weight:800; margin-bottom:18px;}
.ksrv .foot-bottom{border-top:1px solid #232326; margin-top:50px; padding-top:22px; font-size:13px; color:#7C7E86; display:flex; justify-content:space-between;}
@media(max-width:900px){
.ksrv .console-grid{grid-template-columns:1fr !important;}
.ksrv .console-divider{flex-direction:row; padding:14px 0;}
.ksrv .console-divider .divider-line{width:100%; height:1px; background:repeating-linear-gradient(90deg, rgba(255,255,255,.14) 0 6px, transparent 6px 12px);}
.ksrv .console-divider .divider-badge{transform:rotate(0deg);}
.ksrv .chip-field{min-height:170px;}
.ksrv .hero .wrap, .ksrv .footer-grid, .ksrv .divide-inner, .ksrv .diagnostic-grid, .ksrv .services-grid, .ksrv .faq-grid{grid-template-columns:1fr !important;}
.ksrv .diagnostic-panel{margin-top:10px;}
.ksrv .media-slot{margin-top:24px; min-height:220px;}
.ksrv .problem-head{gap:24px;}
.ksrv .problem-copy .section-title{font-size:26px;}
.ksrv .divide-inner .icon-chain{margin-bottom:18px;}
.ksrv .divide-connector .line{width:40px;}
.ksrv h1{font-size:38px;}
.ksrv .cta-final h2{font-size:26px;}
.ksrv .cta-trust{gap:18px;}
.ksrv .quiz-card{padding:30px 24px;}
.ksrv .radar-wrap{max-width:300px;}
.ksrv .mini-stats, .ksrv .flip-grid, .ksrv .outcome-grid, .ksrv .case-grid{display:flex !important; flex-direction:row; flex-wrap:nowrap; gap:14px;
      overflow-x:auto; -webkit-overflow-scrolling:touch;
      scroll-snap-type:x mandatory; scrollbar-width:none;
      margin:0 -20px; padding:2px 20px 12px; max-width:none;}
.ksrv .mini-stats::-webkit-scrollbar, .ksrv .flip-grid::-webkit-scrollbar, .ksrv .outcome-grid::-webkit-scrollbar, .ksrv .case-grid::-webkit-scrollbar{display:none;}
.ksrv .mini-stats .m{flex:0 0 42%; scroll-snap-align:start;}
.ksrv .flip-grid .flip-card{flex:0 0 80%; scroll-snap-align:start; min-height:260px;}
.ksrv .outcome-card{flex:0 0 78%; scroll-snap-align:start;}
.ksrv .case-card{flex:0 0 85%; scroll-snap-align:start;}
.ksrv .scroll-hint{display:flex; align-items:center; gap:6px; font-size:12px; color:var(--gray); margin:-6px 0 20px;}
.ksrv .scroll-hint svg{width:14px; height:14px;}
}
@media(max-width:480px){
.ksrv .problem-head{grid-template-columns:1fr !important;}
.ksrv .problem-photo{aspect-ratio:16/10; position:static;}
.ksrv .problem-photo img{position:static;}
}
@media(max-width:600px){
.ksrv .wrap{padding:0 20px;}
.ksrv h1{font-size:30px;}
.ksrv .hero p.lead{font-size:15px;}
.ksrv .hero{padding:56px 0 60px;}
.ksrv .section{padding:56px 0;}
.ksrv .section-title{font-size:25px;}
.ksrv .cta-final .btns{flex-direction:column; width:100%;}
}

@keyframes ks-jitter{ 0%,100%{ opacity:1; } 46%{ opacity:1; } 48%{ opacity:.35; } 50%{ opacity:1; } }
@keyframes ks-flicker{ 0%,100%{ opacity:1; } 50%{ opacity:.4; } }
@keyframes ks-driftA{ 0%,100%{transform:rotate(-2deg) translateY(0);} 50%{transform:rotate(1deg) translateY(-5px);} }
@keyframes ks-driftB{ 0%,100%{transform:rotate(2deg) translateY(0);} 50%{transform:rotate(-1deg) translateY(-4px);} }
@keyframes ks-driftC{ 0%,100%{transform:rotate(-1deg) translateY(0);} 50%{transform:rotate(2deg) translateY(-6px);} }
@keyframes ks-flowV{ 0%{ top:0; opacity:0; } 10%{opacity:1;} 90%{opacity:1;} 100%{ top:100%; opacity:0; } }
@keyframes ks-pulseScale{ 0%,100%{transform:rotate(-90deg) scale(1);} 50%{transform:rotate(-90deg) scale(1.12);} }
@keyframes ks-needlesweep{ 0%{ transform:translateX(-50%) rotate(-62deg); } 100%{ transform:translateX(-50%) rotate(62deg); } }
@keyframes ks-techScroll{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

/* ---- correcciones propias de kloud (ver construir-css.js) ---- */
/*
 * .problem-photo img usa object-fit:cover a propósito en desktop, donde la
 * caja tiene una relación de aspecto fija (.65fr de una fila que se
 * estira). En móvil la caja pasa a aspect-ratio:16/10 (ver regla propia
 * del mockup en max-width:480px) pero el cover se mantiene, así que la
 * foto de la persona se recorta por los pies y la cara. Se cambia a
 * contain solo en móvil para que se vea completa. Pedido el 21-ago-2026.
 * El fondo oscuro que se le puso de respaldo para el letterbox de contain
 * no correspondía: en desktop esa foto no lleva fondo, se pidió quitarlo
 * también en móvil. Corregido el 21-ago-2026.
 */
@media(max-width:900px){
  .ksrv .problem-photo img{ object-fit:contain !important; background:none !important; }
  .ksrv .problem-photo{ background:none !important; }
}

/*
 * .outcome-grid ("Arquitectura Multicloud" / "Cloud Integration" / "Cloud
 * Evolution") trae margin-top:44px en desktop, pero el propio mockup lo
 * pisa en móvil al convertirlo en carrusel (margin:0 -20px, con el top en
 * 0) — por eso queda pegado al panel de arriba ("60% de empresas...").
 * Se repone un margen superior, más chico porque en móvil las secciones ya
 * van más juntas. Pedido el 21-ago-2026.
 */
@media(max-width:900px){
  .ksrv .outcome-grid{ margin-top:15px !important; }
}
/* El fix de .case-top ("Verificado" arriba) ahora es global, ver CORRECCIONES. */
