/* Kasbokar.com Universe v29 — cinematic site and city polish */
:root{--v29-ink:#030713;--v29-panel:rgba(7,13,31,.86);--v29-line:rgba(130,211,255,.18);--v29-cyan:#63edff;--v29-violet:#9571ff;--v29-mint:#6af5c0;--v29-gold:#ffd77c}
.kasb29{background:#030713;color:#f6fbff;overflow:clip}
.kasb29::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:99999;opacity:.026;background-image:radial-gradient(circle at 30% 30%,#fff 0 1px,transparent 1px);background-size:4px 4px;mix-blend-mode:soft-light}
.kasb29-nav{border-color:rgba(118,221,255,.14);background:linear-gradient(180deg,rgba(3,7,19,.86),rgba(3,7,19,.58));box-shadow:0 10px 55px rgba(0,0,0,.14)}
.kasb29-nav.is-scrolled{background:rgba(3,7,18,.9);border-color:rgba(118,221,255,.2);box-shadow:0 22px 70px rgba(0,0,0,.38)}
.kasb29-nav .roya-brand img{filter:drop-shadow(0 0 18px rgba(99,237,255,.22))}

/* cinematic opening */
.kasb29-cinematic{position:fixed;inset:0;z-index:200000;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 55%,#12224b 0,#071026 31%,#02050e 70%);transition:opacity .9s ease,visibility .9s ease;isolation:isolate}
.kasb29-cinematic.is-leaving{opacity:0;visibility:hidden;pointer-events:none}
.kasb29-intro-skip{position:absolute;top:24px;left:24px;z-index:4;border:1px solid rgba(255,255,255,.17);border-radius:999px;padding:10px 15px;background:rgba(4,9,23,.68);color:#dce9ff;font:700 12px inherit;cursor:pointer;backdrop-filter:blur(14px)}
.kasb29-intro-sky{position:absolute;inset:0;overflow:hidden}
.kasb29-intro-sky::before{content:"";position:absolute;inset:-25%;background:conic-gradient(from 130deg at 50% 55%,transparent,rgba(99,237,255,.14),transparent 25%,rgba(149,113,255,.1),transparent 55%);animation:v29Sky 8s linear infinite}
.kasb29-intro-sky::after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,#bff7ff 0 1px,transparent 1.5px);background-size:83px 83px;opacity:.16;mask-image:linear-gradient(to bottom,#000,transparent 70%)}
.kasb29-intro-sky i{position:absolute;width:180px;height:180px;border:1px solid rgba(99,237,255,.16);border-radius:50%;animation:v29Orbit 5s ease-in-out infinite}
.kasb29-intro-sky i:nth-child(1){right:13%;top:20%}.kasb29-intro-sky i:nth-child(2){left:9%;bottom:13%;width:260px;height:260px;animation-delay:-1.8s}.kasb29-intro-sky i:nth-child(3){right:34%;bottom:-90px;width:380px;height:380px;animation-delay:-3s}
.kasb29-intro-city{position:absolute;left:50%;bottom:-4%;width:min(920px,95vw);height:47vh;transform:translateX(-50%) perspective(900px) rotateX(62deg) rotateZ(-7deg);transform-origin:50% 100%;filter:drop-shadow(0 35px 55px rgba(0,0,0,.65));opacity:.92}
.kasb29-intro-city::before{content:"";position:absolute;inset:0;border-radius:42%;background:linear-gradient(135deg,rgba(34,62,115,.85),rgba(5,17,42,.92));border:1px solid rgba(99,237,255,.25);box-shadow:inset 0 0 100px rgba(99,237,255,.09),0 0 90px rgba(79,141,255,.12)}
.kasb29-intro-city .tower{position:absolute;bottom:22%;width:9%;height:28%;border:1px solid rgba(132,229,255,.45);background:linear-gradient(90deg,#0b1733,#284b87 50%,#0c1733);box-shadow:inset 12px 0 22px rgba(99,237,255,.16),0 20px 32px rgba(0,0,0,.4);transform:translateZ(20px);clip-path:polygon(18% 0,82% 0,100% 100%,0 100%)}
.kasb29-intro-city .tower::after{content:"";position:absolute;inset:8px;background:repeating-linear-gradient(to bottom,rgba(164,242,255,.45) 0 2px,transparent 2px 12px)}
.kasb29-intro-city .t1{left:12%;height:32%}.kasb29-intro-city .t2{left:27%;height:50%;bottom:23%;background:linear-gradient(90deg,#141d43,#715dd7,#111d3f)}.kasb29-intro-city .t3{left:45%;height:68%;bottom:21%;width:11%;background:linear-gradient(90deg,#0d2a43,#2bb5d5,#132249)}.kasb29-intro-city .t4{right:25%;height:43%;bottom:26%}.kasb29-intro-city .t5{right:10%;height:28%;bottom:26%;background:linear-gradient(90deg,#30163f,#b24ebd,#261437)}
.kasb29-intro-city .road{position:absolute;left:5%;right:5%;height:5%;top:49%;border:1px solid rgba(99,237,255,.28);background:linear-gradient(90deg,transparent,rgba(99,237,255,.3),transparent);box-shadow:0 0 28px rgba(99,237,255,.2)}
.kasb29-intro-city .r2{transform:rotate(90deg);top:48%}.kasb29-intro-city .core{position:absolute;left:47%;top:44%;width:7%;aspect-ratio:1;border-radius:50%;background:#fff;box-shadow:0 0 0 18px rgba(99,237,255,.18),0 0 70px #63edff;animation:v29Pulse 1.8s ease-in-out infinite}
.kasb29-intro-copy{position:relative;z-index:3;display:grid;justify-items:center;text-align:center;margin-top:-12vh;padding:28px;width:min(760px,90vw)}
.kasb29-intro-copy img{width:94px;height:94px;object-fit:contain;filter:drop-shadow(0 0 28px rgba(99,237,255,.38));animation:v29Logo 1.2s cubic-bezier(.2,.8,.2,1) both}
.kasb29-intro-copy>span{margin-top:18px;color:#8deeff;font-size:11px;letter-spacing:.28em;font-weight:800}
.kasb29-intro-copy h2{margin:13px 0 10px;font-size:clamp(34px,5.2vw,72px);line-height:1.18;letter-spacing:-.055em}.kasb29-intro-copy h2 em{font-style:normal;color:transparent;background:linear-gradient(90deg,#fff,#68edff,#aa8cff);-webkit-background-clip:text;background-clip:text}
.kasb29-intro-copy p{margin:0;color:#a7b8d2;font-size:13px}
.kasb29-intro-loader{width:min(340px,70vw);height:3px;margin-top:28px;background:rgba(255,255,255,.1);border-radius:999px;overflow:hidden}.kasb29-intro-loader i{display:block;width:0;height:100%;background:linear-gradient(90deg,#63edff,#9571ff);box-shadow:0 0 16px #63edff;animation:v29Load 3.15s cubic-bezier(.2,.7,.2,1) forwards}

/* hero 29 */
.kasb29 .kasb-hero{min-height:100svh;background:radial-gradient(circle at 76% 45%,rgba(60,121,225,.18),transparent 34%),radial-gradient(circle at 20% 27%,rgba(149,113,255,.11),transparent 27%),linear-gradient(180deg,#030713 0,#061026 58%,#030713 100%)}
.kasb29 .kasb-hero::after{content:"";position:absolute;inset:auto 0 0;height:27%;pointer-events:none;background:linear-gradient(transparent,#030713)}
.kasb29 .kasb-hero-shell{position:relative;z-index:3;gap:clamp(30px,5vw,86px);padding-top:clamp(120px,16vh,175px);padding-bottom:85px}
.kasb29 .kasb-hero-copy h1{font-size:clamp(42px,5.4vw,82px);line-height:1.06;letter-spacing:-.065em;text-wrap:balance}.kasb29 .kasb-hero-copy h1 em{filter:drop-shadow(0 0 24px rgba(99,237,255,.15))}
.kasb29 .kasb-lead{max-width:720px;color:#aebdd6;font-size:clamp(15px,1.24vw,19px);line-height:2}
.kasb29 .kasb-hero-actions a{min-height:58px}
.kasb29 .kasb-primary{background:linear-gradient(135deg,#65efff,#718fff 55%,#9a70ff);box-shadow:0 18px 55px rgba(72,169,255,.22)}
.kasb29 .kasb-primary:hover{box-shadow:0 22px 70px rgba(85,204,255,.34)}
.kasb29 .kasb-hero-proof{border-color:rgba(128,210,255,.13);background:rgba(7,13,31,.42);backdrop-filter:blur(15px)}
.kasb29-hero-rail{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:14px;max-width:740px}
.kasb29-hero-rail>span{display:grid;grid-template-columns:auto 1fr;column-gap:9px;align-items:center;padding:11px 12px;border:1px solid rgba(126,212,255,.12);border-radius:15px;background:rgba(7,13,31,.5);backdrop-filter:blur(12px)}
.kasb29-hero-rail i{grid-row:1/3;width:33px;height:33px;display:grid;place-items:center;border-radius:10px;background:rgba(99,237,255,.09);color:#76efff;font-style:normal}.kasb29-hero-rail b{font-size:11px}.kasb29-hero-rail small{color:#8093b0;font-size:9px}
.kasb29-hero-visual{perspective:1200px;isolation:isolate}
.kasb29 .kasb-visual-frame{z-index:4;background:linear-gradient(155deg,rgba(14,26,58,.82),rgba(4,9,24,.72));border-color:rgba(117,225,255,.22);box-shadow:0 40px 120px rgba(0,0,0,.48),inset 0 1px rgba(255,255,255,.08)}
.kasb29-diorama{position:absolute;z-index:2;left:2%;right:-7%;bottom:1%;height:43%;transform:perspective(850px) rotateX(59deg) rotateZ(-8deg);transform-origin:50% 100%;opacity:.95;filter:drop-shadow(0 24px 32px rgba(0,0,0,.6));pointer-events:none}
.kasb29-diorama::before{content:"";position:absolute;inset:0;border-radius:38% 38% 24% 24%;background:linear-gradient(145deg,rgba(31,57,107,.72),rgba(5,17,39,.84));border:1px solid rgba(99,237,255,.19);box-shadow:inset 0 0 65px rgba(99,237,255,.05)}
.kasb29-district{position:absolute;width:22%;height:39%;transform-style:preserve-3d}.kasb29-district i{position:absolute;bottom:0;width:27%;height:64%;background:linear-gradient(90deg,#0b1635,#2b5c9c 52%,#0b1530);border:1px solid rgba(147,231,255,.27);clip-path:polygon(12% 0,88% 0,100% 100%,0 100%)}.kasb29-district i:nth-child(2){left:33%;height:92%;background:linear-gradient(90deg,#11183c,#8166dc,#111b43)}.kasb29-district i:nth-child(3){right:0;height:52%}.kasb29-district b{position:absolute;left:50%;top:13%;transform:translateX(-50%);font:900 10px sans-serif;color:#c6faff;letter-spacing:.13em}.d-core{left:39%;top:27%}.d-market{left:8%;top:47%;transform:scale(.8)}.d-market i{height:35%;background:linear-gradient(90deg,#442d28,#b37d52,#44291f);border-color:rgba(255,215,158,.25)}.d-market i:nth-child(2){height:55%;background:linear-gradient(90deg,#53382c,#d3a86e,#4a3025)}.d-media{right:8%;top:16%;transform:scale(.85)}.d-media i:nth-child(2){background:linear-gradient(90deg,#261534,#e34db4,#211431)}.d-finance{right:29%;top:53%;transform:scale(.65)}
.kasb29-diorama-road{position:absolute;z-index:5;left:5%;right:5%;top:50%;height:4px;background:linear-gradient(90deg,transparent,#68ecff,transparent);box-shadow:0 0 13px rgba(99,237,255,.65)}.kasb29-diorama-road.road-b{transform:rotate(90deg)}.kasb29-diorama-pulse{position:absolute;z-index:6;left:49%;top:51%;width:15px;height:15px;border-radius:50%;background:#fff;box-shadow:0 0 0 9px rgba(99,237,255,.15),0 0 40px #63edff;animation:v29Pulse 1.7s ease-in-out infinite}
.kasb29 .kasb-character-main{z-index:7;filter:drop-shadow(0 40px 45px rgba(0,0,0,.45)) drop-shadow(0 0 30px rgba(108,112,255,.18))}.kasb29 .kasb-character-side{z-index:6}

/* sections */
.kasb29 .kasb-services,.kasb29 .kasb-experience,.kasb29 .kasb-network,.kasb29 .kasb-process{position:relative;background:#030713}
.kasb29 .kasb-section-head h2{font-size:clamp(36px,4vw,64px);letter-spacing:-.055em}
.kasb29 .kasb-service-tab,.kasb29 .kasb-site-card,.kasb29 .kasb-process-line article{border-color:rgba(121,207,255,.13);background:linear-gradient(160deg,rgba(10,18,42,.72),rgba(5,9,24,.62));box-shadow:inset 0 1px rgba(255,255,255,.035)}
.kasb29 .kasb-site-card{min-height:410px;transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}.kasb29 .kasb-site-card:hover{transform:translateY(-9px);border-color:rgba(116,228,255,.3);box-shadow:0 30px 70px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.06)}
.kasb29 .kasb-site-card::after{content:"";position:absolute;inset:auto 20px 18px;height:1px;background:linear-gradient(90deg,transparent,var(--card-tone,#63edff),transparent);opacity:.25}
.kasb29 .kasb-final-shell{border-color:rgba(116,224,255,.2);background:radial-gradient(circle at 74% 42%,rgba(80,124,255,.17),transparent 33%),linear-gradient(145deg,rgba(12,22,49,.9),rgba(4,8,21,.94))}

/* game v29 visual */
.kasb29 .roya-city{border-top:1px solid rgba(104,219,255,.12);border-bottom:1px solid rgba(104,219,255,.12)}
.kasb29 .city-stage{background:#020611;box-shadow:inset 0 0 100px rgba(0,0,0,.54)}
.city-vista{display:grid;align-content:center;min-width:120px;padding:8px 13px;border-right:1px solid rgba(255,255,255,.08)}.city-vista small{font-size:8px;color:#8394b1}.city-vista strong{font-size:11px;letter-spacing:.08em;color:#7befff}.city-vista span{font-size:8px;color:#72839f}
.kasb29 .city-hud,.kasb29 .city-minimap,.kasb29 .city-gps{background:rgba(3,8,22,.78);border-color:rgba(124,219,255,.16);box-shadow:0 22px 65px rgba(0,0,0,.25);backdrop-filter:blur(18px)}
.kasb29 .city-dialog article,.kasb29 .city-map-panel>article,.kasb29 .city-help article{background:radial-gradient(circle at 70% 10%,rgba(89,141,255,.12),transparent 37%),rgba(4,8,21,.96);border-color:rgba(125,219,255,.21)}
.kasb29 .city-gate-card{background:radial-gradient(circle at 75% 40%,rgba(80,131,255,.15),transparent 36%),linear-gradient(155deg,rgba(8,16,39,.96),rgba(3,8,22,.94));border-color:rgba(110,224,255,.22)}

/* visual builder v29 */
.live-editor-v29 .live-editor-bar{border-color:rgba(99,237,255,.29)!important;background:rgba(3,7,19,.95)!important}
.live-editor-v29 .live-editor-bar-actions{display:flex!important;gap:7px;align-items:center}.live-editor-v29 .live-editor-bar-actions button{border:1px solid rgba(255,255,255,.11);border-radius:10px;padding:8px 10px;background:#0a1228;color:#dcecff;font:800 11px inherit;cursor:pointer}.live-editor-v29 .live-editor-bar-actions button:disabled{opacity:.35;cursor:not-allowed}
.live-editor-v29 .live-editor-selection-label{position:fixed;z-index:100003;display:none;padding:5px 9px;border-radius:8px 8px 0 0;background:#63edff;color:#06111e;font:900 10px inherit;pointer-events:none}
.live-editor-v29 .live-editor-selection-box{position:fixed;z-index:100002;display:none;border:2px solid #63edff;box-shadow:0 0 0 1px rgba(0,0,0,.4),0 0 24px rgba(99,237,255,.18);pointer-events:none}
.live-editor-v29 .live-editor-selection-box.is-active,.live-editor-v29 .live-editor-selection-label.is-active{display:block}
.live-editor-v29 .live-editor-selection-box .editor-move{position:absolute;left:50%;top:-18px;transform:translateX(-50%);width:40px;height:18px;border:0;border-radius:7px 7px 0 0;background:#63edff;color:#06111e;font:900 11px sans-serif;pointer-events:auto;cursor:move}
.live-editor-v29 .live-editor-selection-box .editor-handle{position:absolute;width:13px;height:13px;border:2px solid #06111e;border-radius:4px;background:#fff;pointer-events:auto}.editor-handle.nw{left:-7px;top:-7px;cursor:nwse-resize}.editor-handle.ne{right:-7px;top:-7px;cursor:nesw-resize}.editor-handle.sw{left:-7px;bottom:-7px;cursor:nesw-resize}.editor-handle.se{right:-7px;bottom:-7px;cursor:nwse-resize}
.live-editor-v29 .editor-quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:0 18px 14px}.live-editor-v29 .editor-quick-actions button{border:1px solid rgba(255,255,255,.09);border-radius:10px;padding:9px;background:#091127;color:#bdcce4;font:700 11px inherit;cursor:pointer}.live-editor-v29 .editor-quick-actions button:hover{border-color:rgba(99,237,255,.35);color:#fff}
.live-editor-v29 .editor-help{margin:0 18px 14px;padding:10px 12px;border:1px solid rgba(99,237,255,.11);border-radius:11px;background:rgba(99,237,255,.045);color:#8fa5c5;font-size:10px;line-height:1.8}
.live-editor-v29 .editor-link-fields[hidden]{display:none}

@keyframes v29Sky{to{transform:rotate(360deg)}}@keyframes v29Orbit{50%{transform:scale(1.14);opacity:.4}}@keyframes v29Pulse{50%{transform:scale(1.15);box-shadow:0 0 0 17px rgba(99,237,255,.04),0 0 55px #63edff}}@keyframes v29Logo{from{transform:translateY(18px) scale(.8);opacity:0}}@keyframes v29Load{to{width:100%}}
@media(max-width:1100px){.kasb29-hero-rail{grid-template-columns:1fr}.kasb29-diorama{right:-1%;left:0}.city-vista{display:none}}
@media(max-width:860px){.kasb29-cinematic{min-height:100svh}.kasb29-intro-skip{top:12px;left:12px}.kasb29-intro-city{height:38vh;bottom:1%;transform:translateX(-50%) perspective(700px) rotateX(64deg) rotateZ(-6deg)}.kasb29-intro-copy{margin-top:-17vh}.kasb29-intro-copy img{width:74px;height:74px}.kasb29-intro-copy h2{font-size:clamp(31px,10vw,48px)}.kasb29-intro-copy p{font-size:10px;line-height:1.8}.kasb29 .kasb-hero-shell{padding-top:120px;padding-bottom:70px}.kasb29 .kasb-hero-copy h1{font-size:clamp(39px,11vw,61px)}.kasb29-hero-rail{display:none}.kasb29-diorama{height:39%;bottom:1%;opacity:.74}.kasb29 .kasb-character-side{display:none}.kasb29 .kasb-visual-frame{min-height:420px}.kasb29 .kasb-site-card{min-height:auto}.live-editor-v29 .live-editor-bar-actions button span{display:none}.live-editor-v29 .editor-quick-actions{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.kasb29 .kasb-hero-shell{padding-top:106px}.kasb29 .kasb-hero-copy h1{font-size:39px;line-height:1.12}.kasb29 .kasb-lead{font-size:14px;line-height:1.9}.kasb29 .kasb-hero-actions{display:grid}.kasb29 .kasb-hero-actions a{width:100%}.kasb29 .kasb-hero-proof{grid-template-columns:1fr 1fr}.kasb29 .kasb-hero-proof span:last-child{grid-column:1/-1}.kasb29-diorama{display:none}.kasb29 .kasb-visual-frame{min-height:360px}.kasb29 .kasb-character-main{max-width:112%;right:-6%}.kasb29 .city-hud{padding:8px}.kasb29 .city-location{max-width:130px}.live-editor-v29 .live-editor-bar>div:first-child small{display:none}.live-editor-v29 .live-editor-bar-actions{gap:3px}.live-editor-v29 .live-editor-bar-actions button{padding:7px}}
@media(prefers-reduced-motion:reduce){.kasb29-cinematic{display:none}.kasb29-intro-sky::before,.kasb29-intro-sky i,.kasb29-intro-loader i,.kasb29-diorama-pulse{animation:none!important}}
.kasb29-scroll-progress{position:fixed;z-index:100001;left:0;right:0;top:0;height:2px;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#63edff,#9571ff,#6af5c0);box-shadow:0 0 14px rgba(99,237,255,.55);pointer-events:none}.kasb29-intro-open{overflow:hidden}
