/* Página de servicio: ai-software-factory
   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;
    --mono:'KsrvSans',-apple-system,BlinkMacSystemFont,sans-serif;}
.ksrv svg{display:block;}
.ksrv .hero{position:relative; background:var(--carbon); color:#fff; padding:80px 0 76px; 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:48px; font-weight:800; letter-spacing:-.02em; line-height:1.1; 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:480px; margin-bottom:30px;}
.ksrv .hero-ctas{display:flex; gap:14px;}
.ksrv .radar-wrap{position:relative; width:100%; aspect-ratio:1/1; max-width:420px; 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:32px; height:32px;}
.ksrv .radar-node{position:absolute; width:100px; 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:-6%; left:50%; transform:translateX(-50%);}
.ksrv .radar-node.n-right{top:50%; right:-16%; transform:translateY(-50%);}
.ksrv .radar-node.n-left{top:50%; left:-16%; 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:44px;}
.ksrv .scroll-hint{display:none;}
.ksrv .problem-grid{display:grid; grid-template-columns:1.5fr .5fr; gap:40px; align-items:stretch;}
.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 .problem-photo-slot, .ksrv .services-photo-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; height:100%; color:#fff; text-align:center; padding:24px;}
.ksrv .services-photo-slot{height:90%; align-self:center;}
.ksrv .problem-photo-slot svg, .ksrv .services-photo-slot svg{width:34px; height:34px; opacity:.6;}
.ksrv .problem-photo-slot .ptxt, .ksrv .services-photo-slot .ptxt{font-family:var(--mono); font-size:12px; font-weight:700; letter-spacing:.04em; text-transform:uppercase;}
.ksrv .problem-photo-slot .psub, .ksrv .services-photo-slot .psub{font-size:12.5px; color:rgba(255,255,255,.75); max-width:180px;}
.ksrv .photo-bg-slot{border-radius:20px; border:2px dashed var(--gray-light); background:var(--bg2); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; height:100%; min-height:280px; color:var(--gray); text-align:center; padding:24px;}
.ksrv .photo-bg-slot svg{width:34px; height:34px; opacity:.5;}
.ksrv .photo-bg-slot .ptxt{font-family:var(--mono); font-size:12px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--plomo);}
.ksrv .photo-bg-slot .psub{font-size:12.5px; color:var(--gray-light); max-width:180px;}
.ksrv .tile-progress{display:flex; align-items:center; gap:12px; margin-bottom:22px; max-width:640px;}
.ksrv .tile-progress .ptxt{font-family:var(--mono); font-size:12px; font-weight:700; color:var(--gray); white-space:nowrap;}
.ksrv .tile-progress .ptxt b{color:var(--orange);}
.ksrv .tile-progress .bar{flex:1; height:4px; background:var(--border); border-radius:4px; overflow:hidden;}
.ksrv .tile-progress .bar-fill{height:100%; width:0%; background:var(--orange); transition:width .4s ease;}
.ksrv .problem-photo-grid{display:grid; grid-template-columns:.62fr 1.38fr; gap:44px; align-items:start; position:relative;}
.ksrv .problem-photo-col{position:relative; z-index:3; height:100%; min-height:420px; margin-right:-70px;}
.ksrv .problem-photo-col{overflow:hidden;}
.ksrv .problem-photo-col img{width:100%; height:100%; object-fit:contain; display:block; transition:transform .5s cubic-bezier(.25,.46,.45,.94);}
.ksrv .problem-photo-col:hover img{transform:scale(1.08);}
.ksrv .cell-photo{overflow:hidden;}
.ksrv .cell-photo img{transition:transform .5s cubic-bezier(.25,.46,.45,.94);}
.ksrv .cell-photo:hover img{transform:scale(1.08);}
.ksrv .services-photo-slot img{transition:transform .5s cubic-bezier(.25,.46,.45,.94);}
.ksrv .services-photo-slot:hover img{transform:scale(1.08);}
.ksrv .photo-bg-slot{overflow:visible;}
.ksrv .photo-bg-slot img{transition:transform .5s cubic-bezier(.25,.46,.45,.94);}
.ksrv .photo-bg-slot:hover img{transform:scale(1.08);}
.ksrv .tile-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:18px; max-width:640px;}
.ksrv .tile{perspective:1200px; height:176px; cursor:pointer;}
.ksrv .tile-inner{position:relative; width:100%; height:100%; transition:transform .6s cubic-bezier(.4,0,.2,1); transform-style:preserve-3d;}
.ksrv .tile.flipped .tile-inner{transform:rotateY(180deg);}
.ksrv .tile-face{position:absolute; inset:0; border-radius:16px; backface-visibility:hidden; padding:22px; display:flex; flex-direction:column; justify-content:center;}
.ksrv .tile-front{background:#fff; border:1.5px dashed var(--plomo-light);}
.ksrv .tile-front .tlabel{font-family:var(--mono); font-size:10.5px; font-weight:700; color:var(--plomo); text-transform:uppercase; letter-spacing:.05em; margin-bottom:10px; display:flex; align-items:center; gap:6px;}
.ksrv .tile-front .tlabel svg{width:13px; height:13px;}
.ksrv .tile-front p{font-size:14.5px; font-weight:700; color:var(--black); line-height:1.35;}
.ksrv .tile-front .tap{position:absolute; bottom:14px; right:18px; font-family:var(--mono); font-size:10px; color:var(--plomo-light);}
.ksrv .tile-back{background:var(--carbon); border:1.5px solid var(--orange); transform:rotateY(180deg); color:#fff; overflow:hidden;}
.ksrv .tile-back .tlabel{font-family:var(--mono); font-size:10.5px; font-weight:700; color:var(--orange); text-transform:uppercase; letter-spacing:.05em; margin-bottom:10px; display:flex; align-items:center; gap:6px; position:relative; z-index:2;}
.ksrv .tile-back .tlabel svg{width:13px; height:13px;}
.ksrv .tile-back p{font-size:14px; font-weight:600; line-height:1.4; color:#EDEEF0; position:relative; z-index:2;}
.ksrv .tile-complete{margin-top:26px; max-width:640px; padding:20px 26px; background:var(--carbon); border-radius:16px; display:flex; align-items:center; gap:16px; color:#fff; opacity:0; transform:translateY(10px); transition:opacity .4s ease, transform .4s ease; pointer-events:none;}
.ksrv .tile-complete.visible{opacity:1; transform:translateY(0);}
.ksrv .tile-complete .ic{width:42px; height:42px; border-radius:50%; 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;}
.ksrv .tile-complete .ic svg{width:20px; height:20px; color:var(--orange);}
.ksrv .tile-complete p{font-size:14.5px; color:#D7D8DD;}
.ksrv .tile-complete strong{color:#fff;}
.ksrv .divide-wrap{display:flex; flex-direction:column; gap:0; max-width:860px;}
.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.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;}
.ksrv .divide-block.bad .chain-node{background:var(--bg2); border:1.5px dashed var(--plomo-light);}
.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); position:relative;}
.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 .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:520px;}
.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 .flip-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin-bottom:26px;}
.ksrv .flip-card{position:relative; height:230px; 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:11.5px; font-weight:700; color:var(--card-accent, var(--orange)); letter-spacing:.06em; margin-bottom:10px;}
.ksrv .flip-front .ic{width:38px; height:38px; border-radius:10px; background:rgba(255,255,255,.06); display:flex; align-items:center; justify-content:center; margin-bottom:12px;}
.ksrv .flip-front .ic svg{width:19px; height:19px;}
.ksrv .flip-front h3{color:#fff; font-size:17px; font-weight:800; 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:12px;}
.ksrv .flip-back ul{list-style:none;}
.ksrv .flip-back li{display:flex; gap:9px; align-items:flex-start; color:#fff; font-size:13px; margin-bottom:8px; font-weight:500; line-height:1.3;}
.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 .kaiman-soc{position:relative; background:var(--carbon); color:#fff; border-radius:20px; padding:26px 30px; display:flex; align-items:center; gap:20px; overflow:hidden;}
.ksrv .kaiman-soc .dots{top:-30px; right:-20px; width:150px; height:150px; color:rgba(255,91,0,.3); -webkit-mask-image:radial-gradient(circle,#000 0%,transparent 70%); mask-image:radial-gradient(circle,#000 0%,transparent 70%);}
.ksrv .kaiman-soc .ic{width:52px; height:52px; border-radius:14px; 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; position:relative; z-index:2;}
.ksrv .kaiman-soc .ic svg{width:24px;height:24px;}
.ksrv .kaiman-soc .soc-body{position:relative; z-index:2; flex:1;}
.ksrv .kaiman-soc .cat{font-weight:800; font-size:16px; margin-bottom:6px;}
.ksrv .kaiman-soc .desc{font-size:13.5px; color:#B8BAC2; line-height:1.5;}
.ksrv .kaiman-soc .desc a{color:var(--orange); font-weight:700;}
.ksrv .how-steps{display:flex; align-items:stretch; gap:0;}
.ksrv .how-step{background:#fff; border-radius:16px; padding:22px 20px; text-align:left; border:1px solid var(--border); border-top:3px solid transparent; flex:1; transition:border-color .2s ease, transform .2s ease, box-shadow .2s ease;}
.ksrv .how-step:hover{border-top-color:var(--orange); transform:translateY(-3px); box-shadow:0 14px 28px rgba(20,20,30,.08);}
.ksrv .how-step .how-num{font-family:var(--mono); font-size:12px; font-weight:700; color:var(--orange); margin-bottom:12px; letter-spacing:.04em;}
.ksrv .how-step .ic{width:38px; height:38px; border-radius:11px; background:var(--carbon); display:flex; align-items:center; justify-content:center; margin-bottom:12px;}
.ksrv .how-step .ic svg{width:18px;height:18px;}
.ksrv .how-step h3{font-size:15.5px; font-weight:800; margin-bottom:8px;}
.ksrv .how-step p{color:var(--gray); font-size:13.5px; line-height:1.5;}
.ksrv .how-arrow{color:var(--gray-light); font-size:20px; font-weight:700; padding:0 14px; display:flex; align-items:center;}
.ksrv .cell-section-grid{display:grid; grid-template-columns:1.15fr .85fr; gap:56px; align-items:start;}
.ksrv .cell-wrap-col{display:flex; flex-direction:column; gap:32px;}
.ksrv .cell-wrap{display:grid; grid-template-columns:.85fr 1.15fr; gap:54px; align-items:center;}
.ksrv .cell-photo{margin-top:-160px; background:none; border:none; box-shadow:none; border-radius:0;}
.ksrv .cell-photo img{width:100%; height:auto; display:block; background:none; border:none; box-shadow:none; border-radius:0;}
.ksrv .cell-diagram{position:relative; width:100%; aspect-ratio:1/1; max-width:320px; margin:0 auto;}
.ksrv .cell-ring{position:absolute; inset:6%; border:1px dashed rgba(255,91,0,.3); border-radius:50%;}
.ksrv .cell-ring.inner{inset:26%; border-color:rgba(255,91,0,.18);}
.ksrv .cell-nucleus{position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:100px; height:100px; border-radius:50%; background:var(--carbon); display:flex; align-items:center; justify-content:center; z-index:3; animation:nucleus-ks-pulse 3s ease-in-out infinite;}
.ksrv .cell-nucleus svg{width:30px; height:30px; color:var(--orange);}
.ksrv .cell-node{position:absolute; width:74px; height:74px; border-radius:50%; background:#fff; border:2px solid var(--border); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:transform .25s ease, border-color .25s ease, background .25s ease, box-shadow .25s ease; z-index:4;}
.ksrv .cell-node svg{width:24px; height:24px; color:var(--gray); transition:color .25s ease;}
.ksrv .cell-node.active{border-color:var(--orange); background:var(--orange); box-shadow:0 12px 26px rgba(255,91,0,.35);}
.ksrv .cell-node.active svg{color:#fff;}
.ksrv .cell-node.n1{top:-4%; left:50%; transform:translateX(-50%);}
.ksrv .cell-node.n1.active{transform:translateX(-50%) scale(1.1);}
.ksrv .cell-node.n2{top:50%; right:-8%; transform:translateY(-50%);}
.ksrv .cell-node.n2.active{transform:translateY(-50%) scale(1.1);}
.ksrv .cell-node.n3{bottom:-4%; left:50%; transform:translateX(-50%);}
.ksrv .cell-node.n3.active{transform:translateX(-50%) scale(1.1);}
.ksrv .cell-node .nlbl{position:absolute; top:100%; left:50%; transform:translateX(-50%); margin-top:8px; font-family:var(--mono); font-size:10px; font-weight:700; color:var(--gray); white-space:nowrap; text-transform:uppercase; letter-spacing:.03em;}
.ksrv .cell-node.n1 .nlbl{top:auto; bottom:100%; margin-top:0; margin-bottom:8px;}
.ksrv .cell-node.active .nlbl{color:var(--orange);}
.ksrv .cell-detail{position:relative; background:var(--carbon); border-radius:20px; padding:34px 38px; color:#fff; overflow:hidden; min-height:190px;}
.ksrv .cell-detail .dots{top:-30px; right:-30px; width:160px; height:160px; 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 .cell-detail .step-num{font-family:var(--mono); font-size:12px; font-weight:700; color:var(--orange); margin-bottom:10px; position:relative; z-index:2; letter-spacing:.04em;}
.ksrv .cell-detail h3{font-size:23px; font-weight:800; margin-bottom:12px; position:relative; z-index:2;}
.ksrv .cell-detail p{font-size:14.5px; color:#C7C9CF; line-height:1.6; position:relative; z-index:2; max-width:420px;}
.ksrv .cell-nav{display:flex; gap:8px; margin-top:24px; position:relative; z-index:2;}
.ksrv .cell-nav span{width:22px; height:4px; border-radius:4px; background:rgba(255,255,255,.18); cursor:pointer; transition:background .25s ease;}
.ksrv .cell-nav span.active{background:var(--orange);}
.ksrv .accent-link{color:var(--orange); font-weight:700;}
.ksrv .accent-link:hover{color:var(--orange-dark);}
.ksrv .faq-terminal{background:var(--carbon); border-radius:20px; overflow:hidden; color:#fff; box-shadow:0 24px 50px rgba(20,20,30,.16); max-width:820px;}
.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 84px; 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:38px; font-weight:800; max-width:600px; margin:0 auto 16px; letter-spacing:-.015em; line-height:1.15; color:#fff;}
.ksrv .cta-final h2 .accent{color:var(--orange);}
.ksrv .cta-final p{color:#B8BAC2; font-size:16px; margin-bottom:34px; max-width:480px; 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-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; flex-wrap:wrap;}
.ksrv .cta-trust .t{flex:1; min-width:140px; 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:24px; height:24px;}
.ksrv .cta-trust .t .tlbl{font-size:12.5px; color:#D7D8DD; font-weight:600; text-align:center;}
.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 .hero .wrap, .ksrv .footer-grid, .ksrv .problem-grid, .ksrv .services-grid, .ksrv .faq-grid{grid-template-columns:1fr !important;}
.ksrv .how-steps{flex-direction:column;}
.ksrv .how-arrow{display:none;}
.ksrv .cell-wrap{grid-template-columns:1fr !important; gap:70px;}
.ksrv .cell-diagram{max-width:260px; margin-top:20px;}
.ksrv .cell-detail{padding:28px 26px;}
.ksrv .cell-section-grid{grid-template-columns:1fr !important; gap:44px;}
.ksrv .cell-photo{margin-top:0 !important;}
.ksrv h1{font-size:34px;}
.ksrv .cta-final h2{font-size:26px;}
.ksrv .cta-trust{gap:18px;}
.ksrv .radar-wrap{max-width:280px; margin-top:20px;}
.ksrv .kaiman-soc{flex-direction:column; align-items:flex-start; text-align:left;}
.ksrv .problem-photo-slot, .ksrv .services-photo-slot{margin-top:24px; height:220px;}
.ksrv .photo-bg-slot{margin-top:24px;}
.ksrv .problem-photo-grid{grid-template-columns:1fr !important;}
.ksrv .problem-photo-col{min-height:220px; margin-right:0;}
.ksrv .problem-photo-grid > div[style]{padding-left:0 !important; margin-top:20px;}
.ksrv .services-photo-slot img, .ksrv .photo-bg-slot img{width:90% !important; height:90% !important; max-width:90%; max-height:90%;
      top:auto !important; position:relative !important;}
.ksrv .services-photo-slot{overflow:hidden !important;}
.ksrv .tile-grid, .ksrv .flip-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 .tile-grid::-webkit-scrollbar, .ksrv .flip-grid::-webkit-scrollbar{display:none;}
.ksrv .tile{flex:0 0 80%; scroll-snap-align:start; height:176px;}
.ksrv .flip-grid .flip-card{flex:0 0 80%; 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:600px){
.ksrv .wrap{padding:0 20px;}
.ksrv h1{font-size:30px;}
.ksrv .tagline{font-size:16px;}
.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%;}
.ksrv .cta-final .btns .cta-btn{width:100%; justify-content:center;}
}


