
/* Header */
.site-header{height:80px;background:#fff;border-bottom:1px solid rgba(11,27,46,.075);position:sticky;top:0;z-index:50;}
.header-inner{height:100%;display:flex;align-items:center;gap:34px;}
.brand{display:flex;align-items:center;flex:0 0 auto;}
.brand img{width:190px;height:auto;object-fit:contain;}
.main-nav{margin-left:auto;display:flex;align-items:center;gap:38px;height:100%;}
.main-nav a{position:relative;display:inline-flex;align-items:center;height:100%;font-size:13px;line-height:1;font-weight:700;letter-spacing:-.012em;color:#15253b;white-space:nowrap;}
.main-nav a.active{color:var(--blue)}
.main-nav a.active::after{content:"";position:absolute;left:0;right:0;bottom:18px;height:3px;border-radius:99px;background:var(--blue);}
.header-cta{margin-left:24px;height:42px;display:inline-flex;align-items:center;justify-content:center;padding:0 27px;border-radius:5px;background:var(--blue);color:#fff;font-size:13px;font-weight:800;letter-spacing:-.01em;box-shadow:0 8px 18px rgba(0,87,216,.18);white-space:nowrap;}
.header-cta:hover{background:#004fc5}

/* Buttons */
.btn{height:44px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 26px;border-radius:5px;border:1px solid transparent;font-size:13px;font-weight:800;letter-spacing:-.012em;line-height:1;white-space:nowrap;}
.btn-primary{background:var(--blue);color:#fff;box-shadow:0 10px 22px rgba(0,87,216,.16)}
.btn-outline{background:#fff;color:var(--blue);border-color:#b8cff2;box-shadow:0 6px 18px rgba(11,27,46,.035)}
.btn .arrow{font-size:15px;line-height:1;transform:translateY(-1px)}

/* Cards & Icons */
.card{background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-soft);}
.icon-badge{width:58px;height:58px;border-radius:999px;background:#eef5ff;color:var(--blue);display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
.icon-badge.small{width:44px;height:44px}.icon-badge.tiny{width:36px;height:36px}
.icon-badge svg{width:26px;height:26px;stroke:currentColor;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.icon-badge.small svg{width:21px;height:21px}.icon-badge.tiny svg{width:18px;height:18px}

/* Photo-like placeholders, used until real imagery replaces these blocks */
.photo-scene{position:relative;overflow:hidden;background:#dbe7f2;isolation:isolate;}
.photo-scene::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.06),rgba(255,255,255,0)),linear-gradient(180deg,rgba(255,255,255,.5),rgba(255,255,255,0) 42%,rgba(8,24,45,.24));z-index:3;}
.photo-scene::after{content:"";position:absolute;left:0;right:0;bottom:0;height:42%;background:linear-gradient(180deg,rgba(176,188,196,.15),rgba(112,129,137,.36));clip-path:polygon(0 36%,100% 10%,100% 100%,0 100%);z-index:1;}
.scene-buildings{position:absolute;inset:0;background:linear-gradient(90deg,rgba(248,251,255,.72) 0 31%,rgba(248,251,255,0) 54%),linear-gradient(180deg,#dceaf7 0%,#f6fbff 54%,#dfe8ee 100%);}
.scene-buildings i{position:absolute;display:block;background:rgba(95,128,158,.28);border:1px solid rgba(255,255,255,.35);box-shadow:inset 0 0 0 6px rgba(255,255,255,.12)}
.scene-buildings i:nth-child(1){width:240px;height:170px;right:26%;top:20%;}
.scene-buildings i:nth-child(2){width:300px;height:210px;right:4%;top:10%;background:rgba(86,118,148,.32)}
.scene-buildings i:nth-child(3){width:200px;height:150px;right:56%;top:28%;background:rgba(107,136,165,.22)}
.scene-tree{position:absolute;width:120px;height:170px;border-radius:60% 60% 50% 50%;background:radial-gradient(circle at 45% 35%,rgba(108,139,91,.66),rgba(72,103,72,.25) 58%,rgba(72,103,72,0) 70%);z-index:2;}
.scene-tree.t1{right:16%;top:4%}.scene-tree.t2{right:47%;top:14%;transform:scale(.82)}
.scene-road{position:absolute;left:34%;right:0;bottom:0;height:48%;background:linear-gradient(100deg,rgba(230,233,232,.75),rgba(194,203,207,.56));clip-path:polygon(20% 2%,100% 15%,100% 100%,0 100%,0 30%);z-index:1;}
.mock-robot{position:absolute;width:420px;height:180px;right:130px;bottom:62px;z-index:4;filter:drop-shadow(0 28px 24px rgba(7,17,31,.22));}
.mock-robot .body{position:absolute;left:0;right:0;bottom:52px;height:126px;border-radius:18px 22px 18px 18px;background:linear-gradient(180deg,#ffffff 0%,#eef3f8 100%);border:1px solid rgba(9,24,43,.11);overflow:hidden;}
.mock-robot .visor{position:absolute;left:18px;right:18px;top:0;height:40px;background:linear-gradient(90deg,#050b14,#101a27);border-radius:16px 16px 5px 5px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);}
.mock-robot .base{position:absolute;left:0;right:0;bottom:36px;height:56px;background:linear-gradient(180deg,#182231,#0d1622);border-radius:0 0 16px 16px;}
.mock-robot .line{position:absolute;left:70px;right:32px;bottom:78px;height:3px;background:#06a7ff;opacity:.8;box-shadow:0 0 10px rgba(0,153,255,.4);}
.mock-robot .mark{position:absolute;right:72px;top:62px;font-weight:800;color:#0b63e5;font-size:18px;letter-spacing:-.02em;}
.mock-robot .mark::before{content:"S";display:inline-block;margin-right:6px;font-size:26px;font-style:italic;font-weight:900;background:linear-gradient(135deg,#00a3ff,#044ee8);-webkit-background-clip:text;color:transparent;}
.mock-robot .wheel{position:absolute;bottom:0;width:72px;height:72px;border-radius:50%;background:radial-gradient(circle,#162638 0 33%,#090f17 34% 56%,#1c3349 57% 63%,#05080c 64%);border:4px solid rgba(141,187,225,.45);}
.mock-robot .w1{left:36px}.mock-robot .w2{left:178px}.mock-robot .w3{right:44px}

/* Image card used in deployment blocks */
.image-card{overflow:hidden;border-radius:14px;background:#fff;border:1px solid var(--border);box-shadow:var(--shadow-soft);}
.image-top{height:118px;border-radius:14px 14px 0 0;}
.image-card-body{padding:21px 24px 20px;background:#fff;position:relative;}
.image-card .icon-float{position:absolute;left:24px;top:-22px;z-index:4;box-shadow:0 6px 14px rgba(0,87,216,.08)}
.image-card .card-title{margin-top:5px}.image-card .card-text{margin-top:7px;min-height:38px}.learn{margin-top:14px;display:inline-flex;align-items:center;gap:8px;color:var(--blue);font-size:13px;font-weight:800;}

/* CTA and footer */
.cta-strip{margin-top:20px;background:#eef5ff;border:1px solid #deebfb;border-radius:0;padding:0;}
.cta-inner{height:84px;display:flex;align-items:center;justify-content:space-between;gap:28px;}
.cta-copy{display:flex;align-items:center;gap:20px;}
.cta-copy .icon-badge{background:#dcecff;width:52px;height:52px}.cta-copy h2{font-size:23px;line-height:1.15;letter-spacing:-.032em}.cta-copy p{font-size:13px;color:#5e6d80;margin-top:4px;font-weight:500;}
.site-footer{background:var(--footer);color:#fff;padding:36px 0 26px;}
.footer-inner{display:grid;grid-template-columns:1.1fr 1.4fr;gap:78px;align-items:start;}
.footer-brand img{width:206px;height:auto;margin-bottom:15px;}
.footer-brand p{max-width:330px;color:rgba(255,255,255,.68);font-size:13px;line-height:1.58;font-weight:500;}
.footer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px 52px;}
.footer-grid a,.footer-grid button{background:transparent;border:0;padding:0;color:rgba(255,255,255,.8);font-size:13px;font-weight:650;line-height:1.2;text-align:left;cursor:pointer;font-family:var(--font);}
.footer-grid a:hover,.footer-grid button:hover{color:#fff}.footer-bottom{margin-top:32px;border-top:1px solid rgba(255,255,255,.08);padding-top:18px;text-align:center;color:rgba(255,255,255,.45);font-size:12px;font-weight:500;}
.modal-backdrop{position:fixed;inset:0;background:rgba(5,14,25,.58);display:none;align-items:center;justify-content:center;z-index:100;padding:24px;}
.modal-backdrop.active{display:flex}.modal-card{width:min(560px,100%);background:#fff;border-radius:18px;box-shadow:0 28px 90px rgba(0,0,0,.25);padding:30px;color:var(--text);position:relative;}.modal-close{position:absolute;right:18px;top:15px;border:0;background:#eef5ff;color:#174066;border-radius:50%;width:34px;height:34px;cursor:pointer;font-size:22px;line-height:1}.modal-card h3{font-size:22px;margin-bottom:12px}.modal-card p{font-size:16px;color:#42536a;font-weight:650}.modal-card img{margin-top:18px;border:1px solid var(--border);border-radius:12px}
@media(max-width:1050px){.main-nav{gap:22px}.brand img{width:170px}.header-cta{padding:0 20px}.footer-inner{grid-template-columns:1fr;gap:32px}.footer-grid{gap:18px}.mock-robot{right:40px;transform:scale(.82);transform-origin:right bottom}}
@media(max-width:760px){.site-header{height:auto}.header-inner{padding:18px 0;flex-wrap:wrap}.main-nav{order:3;width:100%;justify-content:space-between;gap:10px}.header-cta{margin-left:auto}.brand img{width:160px}.cta-inner{height:auto;padding:24px 0;align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr}.mock-robot{display:none}}


/* Final fix: remove blue focus/active frame on mouse-clicked navigation and buttons */
.main-nav a:focus,
.main-nav a:active,
.site-header a:focus,
.site-header a:active,
.btn:focus,
.btn:active,
.header-cta:focus,
.header-cta:active,
button:focus,
button:active,
a:focus:not(:focus-visible),
button:focus:not(:focus-visible) {
  outline: none !important;
  box-shadow: none !important;
}

.main-nav a:focus-visible,
.site-header a:focus-visible,
.btn:focus-visible,
.header-cta:focus-visible,
button:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}
