.drishti-croot{--bg-deep:#0a0e14;--bg-deep-2:#131a23;--bg-mid:#1c2530;--bg-light:#f2f0e9;--bg-light-2:#e8e4d6;--signal:#ffd23f;--signal-soft:#f5c518;--steel-cyan:#4ec9d4;--steel-cyan-2:#2a9aa6;--hazard:#ff5b3a;--line-gold:#c8a04a;--ink-light:#f2f0e9;--ink-mute-light:#b9b3a3;--ink-dark:#0a0e14;--ink-soft:#475569;--ink-mute:#6b7785;--grid-line:#f2f0e90f;--grid-line-dark:#0a0e1414;--sans:var(--font-sans), "Inter", system-ui, sans-serif;--display:var(--font-sans), "Inter", system-ui, sans-serif;--mono:var(--font-mono), "JetBrains Mono", "SF Mono", Menlo, monospace;--slide-duration:7s;font-family:var(--sans);color:var(--ink-dark);background:var(--bg-deep);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:block}.drishti-croot,.drishti-croot *{box-sizing:border-box;margin:0;padding:0}.drishti-croot .carousel{background:var(--bg-deep);width:100%;height:clamp(545px,74vh,760px);font-family:var(--sans);position:relative;overflow:hidden}.drishti-croot .carousel__track{width:100%;height:100%;position:relative}.drishti-croot .slide{opacity:0;visibility:hidden;will-change:opacity;transition:opacity .9s cubic-bezier(.65,.05,.35,1),visibility 0s linear .9s;position:absolute;inset:0}.drishti-croot .slide.is-active{opacity:1;visibility:visible;z-index:2;transition:opacity .9s cubic-bezier(.65,.05,.35,1),visibility linear}.drishti-croot .slide__inner{grid-template-rows:auto 1fr auto;grid-template-columns:repeat(12,1fr);gap:0 clamp(16px,2vw,32px);width:100%;max-width:1440px;height:100%;margin:0 auto;padding:clamp(40px,6vh,72px) clamp(24px,5vw,80px);display:grid;position:relative}.drishti-croot .grid-bg{pointer-events:none;background-image:linear-gradient(to right, var(--grid-line) 1px, transparent 1px), linear-gradient(to bottom, var(--grid-line) 1px, transparent 1px);background-size:56px 56px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000 30%,#0000 80%);mask-image:radial-gradient(#000 30%,#0000 80%)}.drishti-croot .slide[data-theme=light] .grid-bg{background-image:linear-gradient(to right, var(--grid-line-dark) 1px, transparent 1px), linear-gradient(to bottom, var(--grid-line-dark) 1px, transparent 1px)}.drishti-croot .eyebrow{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;z-index:2;flex-wrap:wrap;grid-column:1/-1;align-self:start;align-items:center;gap:16px;font-size:11px;font-weight:500;display:flex}.drishti-croot .eyebrow__id{opacity:.7;border:1px solid;align-items:center;gap:8px;padding:6px 10px;display:inline-flex}.drishti-croot .eyebrow__id:before{content:"";background:var(--signal);width:6px;height:6px;box-shadow:0 0 8px var(--signal);border-radius:50%;animation:1.6s ease-in-out infinite drishti-pulse}@keyframes drishti-pulse{0%,to{opacity:1}50%{opacity:.35}}.drishti-croot .eyebrow__title{letter-spacing:.18em;opacity:.85}.drishti-croot .eyebrow__line{opacity:.2;background:currentColor;flex:1;max-width:200px;height:1px}.drishti-croot .eyebrow__client{font-family:var(--mono);letter-spacing:.18em;opacity:.55;font-size:10px}.drishti-croot .slide__copy{z-index:2;grid-column:1/span 7;align-self:center;max-width:760px;position:relative}.drishti-croot .slide__copy h1{font-family:var(--display);letter-spacing:-.025em;margin-bottom:clamp(20px,2.8vh,30px);font-size:clamp(38px,5.4vw,84px);font-weight:600;line-height:.96}.drishti-croot .slide__copy h1 .highlight{color:var(--signal);display:inline-block;position:relative}.drishti-croot .slide__copy h1 .highlight:after{content:"";opacity:.25;background:currentColor;height:.12em;position:absolute;bottom:.05em;left:0;right:0}.drishti-croot .slide__copy h1 .scan{color:var(--steel-cyan)}.drishti-croot .slide[data-theme=light] .slide__copy h1 .scan{color:var(--steel-cyan-2)}.drishti-croot .slide__copy p{opacity:.85;max-width:580px;margin-bottom:clamp(28px,3.5vh,40px);font-size:clamp(15px,1.05vw,17px);font-weight:400;line-height:1.55}.drishti-croot .slide__copy p strong{color:var(--signal);font-weight:500}.drishti-croot .slide[data-theme=light] .slide__copy p strong{color:var(--ink-dark);background:var(--signal);padding:0 4px}.drishti-croot .slide[data-theme=signal] .slide__copy p strong{color:var(--signal);background:var(--ink-dark);padding:0 6px;font-weight:600}.drishti-croot .ctas{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.drishti-croot .btn{font-family:var(--sans);letter-spacing:.01em;cursor:pointer;white-space:nowrap;border:1px solid #0000;align-items:center;gap:12px;padding:16px 24px;font-size:14px;font-weight:500;text-decoration:none;transition:transform .28s cubic-bezier(.4,0,.2,1),background .24s,color .24s,border-color .24s,box-shadow .24s;display:inline-flex;position:relative}.drishti-croot .btn .arrow{font-family:var(--mono);transition:transform .32s cubic-bezier(.4,0,.2,1);display:inline-block}.drishti-croot .btn:hover .arrow{transform:translate(4px)}.drishti-croot .btn--primary{background:var(--signal);color:var(--ink-dark);box-shadow:0 0 #ffd23f00}.drishti-croot .btn--primary:hover{background:var(--signal-soft);transform:translateY(-2px);box-shadow:0 12px 24px -8px #ffd23f66}.drishti-croot .btn--ghost-dark{color:var(--ink-light);background:0 0;border-color:#f2f0e94d}.drishti-croot .btn--ghost-dark:hover{background:var(--ink-light);color:var(--ink-dark);border-color:var(--ink-light)}.drishti-croot .btn--ghost-light{color:var(--ink-dark);background:0 0;border-color:#0a0e1440}.drishti-croot .btn--ghost-light:hover{background:var(--ink-dark);color:var(--ink-light);border-color:var(--ink-dark)}.drishti-croot .slide__visual{aspect-ratio:1;z-index:1;grid-area:2/8/3/span 5;place-self:center end;width:100%;max-width:460px;position:relative}.drishti-croot .slide__foot{opacity:.9;z-index:2;border-top:1px solid;flex-wrap:wrap;grid-column:1/span 12;align-self:end;align-items:stretch;gap:0;padding-top:28px;display:flex;position:relative}.drishti-croot .slide__foot .stat{flex:1;min-width:140px;padding-right:32px;position:relative}.drishti-croot .slide__foot .stat+.stat{opacity:1;border-left:1px solid;padding-left:32px}.drishti-croot .slide__foot .stat strong{font-family:var(--display);letter-spacing:-.02em;font-size:clamp(28px,2.4vw,36px);font-weight:600;line-height:1;display:block}.drishti-croot .slide__foot .stat span{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;opacity:.7;margin-top:8px;font-size:10px;font-weight:500;display:block}.drishti-croot .slide[data-theme=dark] .slide__foot,.drishti-croot .slide[data-theme=dark] .slide__foot .stat+.stat{border-color:#f2f0e924}.drishti-croot .slide[data-theme=light] .slide__foot,.drishti-croot .slide[data-theme=light] .slide__foot .stat+.stat{border-color:#0a0e1424}.drishti-croot .slide[data-theme=signal] .slide__foot,.drishti-croot .slide[data-theme=signal] .slide__foot .stat+.stat{border-color:#0a0e142e}.drishti-croot .slide-1{color:var(--ink-dark);background:#fff}.drishti-croot .visual--road{position:relative}.drishti-croot .road-frame{background:linear-gradient(#1a2330 0%,#232d3d 40%,#2c3848 70%,#1a2330 100%);border:1px solid #4ec9d44d;position:absolute;inset:0;overflow:hidden}.drishti-croot .road-frame:before{content:"";clip-path:polygon(38% 0,62% 0,100% 100%,0 100%);background:linear-gradient(#2a3441 0%,#1f2832 50%,#15191f 100%);width:100%;height:65%;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.drishti-croot .road-frame:after{content:"";background:repeating-linear-gradient(180deg, transparent 0px, transparent 12px, var(--signal) 12px, var(--signal) 36px);clip-path:polygon(45% 0,55% 0,100% 100%,0 100%);opacity:.85;width:4%;height:65%;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.drishti-croot .road-frame .corner{border:2px solid var(--steel-cyan);width:20px;height:20px;position:absolute}.drishti-croot .road-frame .corner--tl{border-bottom:0;border-right:0;top:8px;left:8px}.drishti-croot .road-frame .corner--tr{border-bottom:0;border-left:0;top:8px;right:8px}.drishti-croot .road-frame .corner--bl{border-top:0;border-right:0;bottom:8px;left:8px}.drishti-croot .road-frame .corner--br{border-top:0;border-left:0;bottom:8px;right:8px}.drishti-croot .detect-box{font-family:var(--mono);letter-spacing:.04em;border:2px solid;font-size:10px;font-weight:600;position:absolute}.drishti-croot .detect-box .label{color:var(--ink-dark);white-space:nowrap;padding:3px 6px;font-size:9px;position:absolute;top:-22px;left:-2px}.drishti-croot .detect-box.box-pothole{border-color:var(--hazard);width:18%;height:12%;top:60%;left:35%;box-shadow:0 0 18px #ff5b3a66}.drishti-croot .detect-box.box-pothole .label{background:var(--hazard);color:#fff}.drishti-croot .detect-box.box-crack{border-color:var(--signal);width:22%;height:6%;top:38%;left:56%}.drishti-croot .detect-box.box-crack .label{background:var(--signal)}.drishti-croot .detect-box.box-sign{border-color:var(--steel-cyan);width:14%;height:18%;top:16%;left:12%}.drishti-croot .detect-box.box-sign .label{background:var(--steel-cyan)}.drishti-croot .hud-strip{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--steel-cyan);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a0e14a6;border-top:1px solid #4ec9d44d;justify-content:space-between;align-items:center;padding:8px 12px;font-size:9px;font-weight:500;display:flex;position:absolute;bottom:16px;left:16px;right:16px}.drishti-croot .hud-strip span{align-items:center;gap:8px;display:flex}.drishti-croot .hud-strip .dot{background:var(--signal);width:6px;height:6px;box-shadow:0 0 6px var(--signal);border-radius:50%}.drishti-croot .slide-2{color:var(--ink-dark);background:#fff}.drishti-croot .panel{background:var(--bg-deep);color:var(--ink-light);border:1px solid #0a0e141f;flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden;box-shadow:0 30px 80px -30px #0a0e1459,inset 0 0 0 6px #f2f0e90a}.drishti-croot .panel-head{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--steel-cyan);border-bottom:1px solid #f2f0e914;justify-content:space-between;align-items:center;padding:14px 20px;font-size:10px;display:flex}.drishti-croot .panel-head .live{color:var(--signal);align-items:center;gap:6px;display:inline-flex}.drishti-croot .panel-head .live:before{content:"";background:var(--signal);width:6px;height:6px;box-shadow:0 0 8px var(--signal);border-radius:50%;animation:1.6s ease-in-out infinite drishti-pulse}.drishti-croot .panel-body{flex-direction:column;flex:1;gap:14px;padding:20px;display:flex;overflow:hidden}.drishti-croot .det-row{font-family:var(--mono);background:#f2f0e908;border-left:2px solid;grid-template-columns:24px 1fr auto;align-items:center;gap:12px;padding:10px 12px;font-size:11px;display:grid}.drishti-croot .det-row .name{color:var(--ink-light);letter-spacing:.04em;font-weight:500}.drishti-croot .det-row .acc{font-family:var(--display);letter-spacing:-.02em;font-size:16px;font-weight:600}.drishti-croot .det-row .icon{text-align:center;font-size:14px;font-weight:700}.drishti-croot .det-row.row-pothole{border-color:var(--hazard)}.drishti-croot .det-row.row-pothole .acc,.drishti-croot .det-row.row-pothole .icon{color:var(--hazard)}.drishti-croot .det-row.row-surface{border-color:var(--signal)}.drishti-croot .det-row.row-surface .acc,.drishti-croot .det-row.row-surface .icon{color:var(--signal)}.drishti-croot .det-row.row-crack{border-color:var(--steel-cyan)}.drishti-croot .det-row.row-crack .acc,.drishti-croot .det-row.row-crack .icon{color:var(--steel-cyan)}.drishti-croot .det-row.row-kerb{border-color:var(--line-gold)}.drishti-croot .det-row.row-kerb .acc,.drishti-croot .det-row.row-kerb .icon{color:var(--line-gold)}.drishti-croot .sparkline{font-family:var(--mono);color:var(--ink-mute-light);letter-spacing:.1em;text-transform:uppercase;background:#f2f0e908;border:1px solid #f2f0e914;grid-column:1/-1;align-items:center;gap:16px;margin-top:4px;padding:12px 14px;font-size:10px;display:flex}.drishti-croot .sparkline svg{flex:1;height:36px}.drishti-croot .sparkline strong{color:var(--signal);font-family:var(--display);letter-spacing:-.01em;font-size:14px;font-weight:600}.drishti-croot .slide-3{color:var(--ink-dark);background:#fff}.drishti-croot .map-stage{background:var(--bg-deep);border:1px solid #0a0e142e;width:100%;height:100%;position:relative;overflow:hidden;box-shadow:0 30px 80px -30px #0a0e1466}.drishti-croot .map-stage:before{content:"";background-image:linear-gradient(90deg,#4ec9d40f 1px,#0000 1px),linear-gradient(#4ec9d40f 1px,#0000 1px);background-size:24px 24px;position:absolute;inset:0}.drishti-croot .map-stage svg.route{width:100%;height:100%;position:absolute;inset:0}.drishti-croot .map-pin{width:28px;height:28px;font-family:var(--mono);color:var(--ink-dark);border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 8px 20px -6px #00000080}.drishti-croot .map-pin.pin-1{background:var(--signal);top:22%;left:28%}.drishti-croot .map-pin.pin-2{background:var(--steel-cyan);top:48%;left:62%}.drishti-croot .map-pin.pin-3{background:var(--hazard);color:#fff;top:72%;left:38%}.drishti-croot .map-pin.pin-4{background:var(--bg-light);top:38%;left:82%}.drishti-croot .map-pin:after{content:"";opacity:.4;border:1px solid;border-radius:50%;animation:2.2s ease-out infinite drishti-ping;position:absolute;inset:-6px}.drishti-croot .map-pin.pin-2:after{animation-delay:.5s}.drishti-croot .map-pin.pin-3:after{animation-delay:1s}.drishti-croot .map-pin.pin-4:after{animation-delay:1.5s}@keyframes drishti-ping{0%{opacity:.7;transform:scale(.7)}70%,to{opacity:0;transform:scale(2)}}.drishti-croot .map-meta{font-family:var(--mono);color:var(--steel-cyan);letter-spacing:.16em;text-transform:uppercase;gap:18px;font-size:9px;display:flex;position:absolute;bottom:14px;left:14px}.drishti-croot .map-meta-r{font-family:var(--mono);color:var(--steel-cyan);letter-spacing:.16em;text-transform:uppercase;border:1px solid #4ec9d466;padding:4px 8px;font-size:9px;position:absolute;top:14px;right:14px}.drishti-croot .carousel__nav{z-index:10;gap:8px;display:flex;position:absolute;bottom:clamp(20px,4vh,32px);right:clamp(24px,5vw,80px)}.drishti-croot .carousel__nav button{cursor:pointer;width:44px;height:44px;color:inherit;background:0 0;border:1px solid;justify-content:center;align-items:center;transition:background .24s,color .24s;display:inline-flex}.drishti-croot .carousel__nav button:hover{background:currentColor}.drishti-croot .carousel__nav button:hover svg{stroke:var(--bg-deep)}.drishti-croot .carousel[data-theme=light] .carousel__nav button:hover svg,.drishti-croot .carousel[data-theme=signal] .carousel__nav button:hover svg{stroke:var(--bg-light)}.drishti-croot .carousel[data-theme=signal] .carousel__nav button:hover{background:var(--ink-dark);color:var(--signal)}.drishti-croot .carousel__nav svg{stroke:currentColor;stroke-width:1.5px;fill:none;width:16px;height:16px;transition:stroke .24s}.drishti-croot .carousel[data-theme=dark]{color:var(--ink-light)}.drishti-croot .carousel[data-theme=light],.drishti-croot .carousel[data-theme=signal]{color:var(--ink-dark)}@keyframes drishti-rise{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.drishti-croot .slide.is-active .eyebrow{animation:.7s cubic-bezier(.2,.7,.2,1) .1s both drishti-rise}.drishti-croot .slide.is-active h1{animation:.9s cubic-bezier(.2,.7,.2,1) .22s both drishti-rise}.drishti-croot .slide.is-active p{animation:.7s cubic-bezier(.2,.7,.2,1) .48s both drishti-rise}.drishti-croot .slide.is-active .ctas{animation:.7s cubic-bezier(.2,.7,.2,1) .62s both drishti-rise}.drishti-croot .slide.is-active .slide__foot{animation:.7s cubic-bezier(.2,.7,.2,1) .76s both drishti-rise}.drishti-croot .slide.is-active .slide__visual{animation:1s cubic-bezier(.2,.7,.2,1) .32s both drishti-rise}@media (max-width:960px){.drishti-croot .carousel{background:var(--bg-light);height:auto;min-height:clamp(475px,70vh,700px);max-height:none}.drishti-croot .carousel__track{height:auto;min-height:clamp(475px,70vh,700px)}.drishti-croot .slide{display:none;position:relative;inset:auto}.drishti-croot .slide.is-active{display:block}.drishti-croot .slide__inner{grid-template-rows:auto auto auto auto auto;grid-template-columns:1fr;gap:28px;min-height:clamp(475px,70vh,700px);padding:80px 24px 110px}.drishti-croot .slide__copy,.drishti-croot .slide__foot,.drishti-croot .slide__visual{grid-column:1/-1}.drishti-croot .slide__visual{order:1;justify-self:center;max-width:320px;margin-bottom:4px}.drishti-croot .slide__copy{order:2}.drishti-croot .slide__foot{order:3;padding-top:20px}.drishti-croot .slide__copy h1{font-size:clamp(38px,9vw,56px)}.drishti-croot .slide__foot{flex-wrap:wrap;gap:0}.drishti-croot .slide__foot .stat{flex:45%;min-width:0;padding-bottom:16px;padding-right:16px}.drishti-croot .slide__foot .stat+.stat{border-top:none;border-left:none;padding-left:16px}.drishti-croot .carousel__nav{bottom:22px;right:24px}}@media (prefers-reduced-motion:reduce){.drishti-croot .slide,.drishti-croot .slide.is-active *{transition:opacity .2s!important;animation:none!important}.drishti-croot .map-pin:after{animation:none}}
