
:root{
  --bg:#06101f;--panel:#0d1b34;--text:#f8fbff;--muted:#b8c7e8;--line:#2b466f;
  --cyan:#55e0ff;--blue:#5aa7ff;--green:#53e2a8;--amber:#ffd166;--red:#ff6b6b;--purple:#b388ff;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--text);background:radial-gradient(circle at top left,rgba(85,224,255,.14),transparent 34%),radial-gradient(circle at top right,rgba(83,226,168,.08),transparent 28%),#06101f}
a{text-decoration:none;color:inherit}
.nav{position:sticky;top:0;z-index:999;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 7%;background:rgba(6,16,31,.96);border-bottom:1px solid rgba(255,255,255,.1);backdrop-filter:blur(14px)}
.brand{display:flex;align-items:center;gap:12px;font-weight:900;letter-spacing:2px}
.logo{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--cyan),var(--green));color:#06101f}
.brand small{display:block;color:var(--muted);font-weight:500;letter-spacing:0;font-size:12px}
.links{display:flex;gap:18px;flex-wrap:wrap}.links a{color:var(--muted);font-size:14px}.links a:hover{color:#fff}
.hero{padding:72px 7%;background:linear-gradient(135deg,rgba(8,23,44,.72),rgba(16,44,82,.34))}
.badge{display:inline-block;color:var(--cyan);border:1px solid rgba(85,224,255,.45);border-radius:999px;padding:8px 14px;font-weight:800;background:rgba(85,224,255,.08);font-size:13px}
h1{font-size:clamp(36px,6vw,68px);line-height:1.04;max-width:1180px;margin:22px 0;letter-spacing:-2px}
h2{font-size:clamp(28px,4vw,44px);line-height:1.08;margin:0 0 16px}
h3{font-size:21px;margin:0 0 12px}
p{color:var(--muted);font-size:17px;line-height:1.65;max-width:980px}
.section{padding:54px 7%}.grid{display:grid;gap:18px}.four{grid-template-columns:repeat(4,1fr)}.three{grid-template-columns:repeat(3,1fr)}.two{grid-template-columns:repeat(2,1fr)}
.card,.score,.panel,.tablebox{background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025));border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:22px;box-shadow:0 20px 60px rgba(0,0,0,.23)}
.card h3{color:#70caff}.card p,.panel p{font-size:16px}.card ul,.panel ul{color:#e6eeff;line-height:1.85;padding-left:20px}
.btn{border:none;cursor:pointer;display:inline-block;background:linear-gradient(135deg,var(--blue),var(--cyan));color:#06101f;padding:13px 18px;border-radius:14px;font-weight:900;margin-top:10px;margin-right:8px}
.btn.secondary{background:#122647;color:white;border:1px solid var(--line)}
.mode-row{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}
.mode-chip{border:1px solid var(--line);background:#091a33;color:#dce7ff;border-radius:999px;padding:10px 13px;cursor:pointer;font-weight:800;font-size:13px}
.mode-chip.active{background:linear-gradient(135deg,var(--blue),var(--cyan));color:#06101f;border-color:transparent}
.form label{display:block;color:#e6eeff;font-weight:800;margin:13px 0 7px}
.form input,.form textarea,.form select{width:100%;background:#08172c;border:1px solid var(--line);border-radius:14px;padding:13px;color:#fff;font-size:15px}
.form textarea{min-height:82px}
.map-layout{display:grid;grid-template-columns:430px 1fr;gap:22px}
.map{height:760px;border-radius:24px;border:1px solid var(--line);overflow:hidden;z-index:1;box-shadow:0 20px 80px rgba(0,0,0,.36)}
.output{margin-top:16px;max-width:100%;overflow:hidden}
.metrics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:100%}
.score{min-width:0;padding:18px;border-radius:20px}
.score b{display:block;font-size:clamp(24px,4vw,34px);color:var(--cyan);margin-bottom:7px;line-height:1.05;overflow-wrap:anywhere}.score span{color:var(--muted);font-size:13px;line-height:1.35;overflow-wrap:anywhere}
.reco{border-left:4px solid var(--cyan);background:#0c1d37;padding:16px;border-radius:16px;color:#e6eeff;line-height:1.65;margin-top:16px}
.why{border-left:4px solid var(--green);background:#09261f;padding:16px;border-radius:16px;color:#e6eeff;line-height:1.65;margin-top:14px}
.legend{background:#06101f;color:#fff;padding:12px;border-radius:14px;line-height:1.6;font-size:12px;border:1px solid rgba(255,255,255,.18);box-shadow:0 8px 25px rgba(0,0,0,.28)}
.lineSample{display:inline-block;width:24px;height:4px;margin-right:6px;vertical-align:middle;border-radius:9px}.dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px}
.status{color:#ffd166;font-size:13px;margin-top:8px;line-height:1.5}.small{font-size:13px;color:#9fb0d4;line-height:1.5}
.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{border-bottom:1px solid rgba(255,255,255,.1);padding:10px;text-align:left;color:#dce7ff;font-size:13px}.data-table th{background:#0d203f;color:#fff}
.footer{padding:30px 7%;border-top:1px solid rgba(255,255,255,.09);display:flex;justify-content:space-between;gap:20px;color:var(--muted)}.footer strong{color:white}
.leaflet-popup-content-wrapper{background:#07101f;color:#fff;border:1px solid rgba(255,255,255,.16);border-radius:14px}.leaflet-popup-tip{background:#07101f}
.velora-div-icon{background:transparent;border:none}
.hub{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:#06101f;font-weight:900;border:3px solid white;box-shadow:0 0 18px rgba(85,224,255,.85)}
.startHub{background:#53e2a8}.endHub{background:#55e0ff}.checkpointHub{background:#b388ff}.networkHub{background:#5aa7ff}.poiHub{background:#ffd166}
@media(max-width:1150px){.map-layout{grid-template-columns:1fr}.four{grid-template-columns:repeat(2,1fr)}.three,.two{grid-template-columns:1fr}}
@media(max-width:720px){.nav{flex-direction:column;align-items:flex-start}.four{grid-template-columns:1fr}h1{font-size:34px}.map{height:540px}.section{padding:44px 5%}.hero{padding:56px 5%}.links{gap:12px}}
@media(max-width:520px){.metrics-grid{grid-template-columns:1fr}}

.card{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
a.card{display:block;cursor:pointer}
a.card:hover{transform:translateY(-4px);border-color:rgba(85,224,255,.55);box-shadow:0 24px 70px rgba(85,224,255,.12)}


/* ===== Velora Enterprise Polish Layer ===== */
:root{
  --velora-glow: 0 0 32px rgba(85,224,255,.18);
  --velora-card-glow: 0 24px 80px rgba(85,224,255,.10);
}
body{
  background:
    radial-gradient(circle at 12% 8%, rgba(85,224,255,.16), transparent 32%),
    radial-gradient(circle at 88% 12%, rgba(179,136,255,.10), transparent 30%),
    linear-gradient(180deg,#06101f 0%,#071426 45%,#06101f 100%) !important;
}
.hero{
  position:relative;
  overflow:hidden;
}
.hero:before{
  content:"";
  position:absolute;
  inset:-30%;
  background:
    linear-gradient(110deg,transparent 0%,rgba(85,224,255,.06) 45%,transparent 62%),
    radial-gradient(circle at 20% 20%,rgba(83,226,168,.08),transparent 28%);
  animation:veloraSweep 9s ease-in-out infinite;
  pointer-events:none;
}
.hero > *{position:relative;z-index:1}
@keyframes veloraSweep{
  0%,100%{transform:translateX(-4%) translateY(0) rotate(0deg);opacity:.65}
  50%{transform:translateX(5%) translateY(2%) rotate(1deg);opacity:1}
}
.card,.panel,.score,.tablebox{
  backdrop-filter: blur(10px);
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.card:hover,.panel:hover,.score:hover{
  transform: translateY(-3px);
  border-color: rgba(85,224,255,.46);
  box-shadow: var(--velora-card-glow);
}
.btn{
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.btn:hover{
  transform: translateY(-2px);
  box-shadow:0 16px 38px rgba(85,224,255,.22);
  filter:saturate(1.1);
}
.mode-chip{
  transition: transform .16s ease, background .16s ease, border-color .16s ease;
}
.mode-chip:hover{transform:translateY(-1px);border-color:rgba(85,224,255,.5)}
.map{
  outline:1px solid rgba(85,224,255,.12);
}
.reco,.why{
  animation:fadeUp .35s ease both;
}
@keyframes fadeUp{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:translateY(0)}
}
.loading-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border:1px solid rgba(85,224,255,.35);
  border-radius:999px;
  background:rgba(85,224,255,.08);
  color:#55e0ff;
  font-size:13px;
  font-weight:800;
}
.loading-pill:before{
  content:"";
  width:8px;height:8px;border-radius:50%;
  background:#55e0ff;
  box-shadow:0 0 15px #55e0ff;
  animation:pulse 1.1s ease-in-out infinite;
}
@keyframes pulse{0%,100%{transform:scale(.75);opacity:.55}50%{transform:scale(1.2);opacity:1}}
.story-steps{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.story-step{
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025));
  border:1px solid rgba(255,255,255,.12);
  border-radius:24px;
  padding:22px;
  position:relative;
}
.story-step strong{
  display:inline-grid;
  place-items:center;
  width:34px;height:34px;
  border-radius:12px;
  background:linear-gradient(135deg,#5aa7ff,#55e0ff);
  color:#06101f;
  margin-bottom:14px;
}
.screenshot-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:22px;
}
.screenshot-card{
  border-radius:26px;
  border:1px solid rgba(255,255,255,.12);
  overflow:hidden;
  background:#08172c;
  box-shadow:0 26px 80px rgba(0,0,0,.32);
}
.screenshot-top{
  display:flex;
  align-items:center;
  gap:8px;
  padding:12px 16px;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.04);
}
.browser-dot{width:10px;height:10px;border-radius:50%;background:#ff6b6b}
.browser-dot:nth-child(2){background:#ffd166}
.browser-dot:nth-child(3){background:#53e2a8}
.screenshot-body{
  min-height:285px;
  padding:20px;
  background:
    linear-gradient(90deg,rgba(85,224,255,.10) 1px,transparent 1px),
    linear-gradient(rgba(85,224,255,.08) 1px,transparent 1px),
    radial-gradient(circle at 65% 45%,rgba(255,107,107,.18),transparent 18%),
    radial-gradient(circle at 30% 62%,rgba(179,136,255,.16),transparent 16%),
    #071426;
  background-size:48px 48px,48px 48px,100% 100%,100% 100%,100% 100%;
}
.screenshot-line{
  height:7px;border-radius:10px;background:#55e0ff;margin:18px 0;box-shadow:0 0 18px rgba(85,224,255,.55);
}
.screenshot-line.green{background:#53e2a8}
.screenshot-line.red{background:#ff6b6b}
.screenshot-line.amber{background:#ffd166}
.screenshot-card h3{padding:0 20px;margin-top:18px}
.screenshot-card p{padding:0 20px 20px}
.enterprise-callout{
  border:1px solid rgba(85,224,255,.22);
  background:linear-gradient(135deg,rgba(85,224,255,.08),rgba(83,226,168,.05));
  border-radius:28px;
  padding:28px;
}
.velora-route-glow{
  filter: drop-shadow(0 0 8px rgba(255,255,255,.65));
}
@media(max-width:900px){
  .story-steps,.screenshot-grid{grid-template-columns:1fr}
}

input[type="file"]{
  cursor:pointer;
  background:#08172c;
  border:1px dashed rgba(85,224,255,.45) !important;
}
input[type="file"]::file-selector-button{
  border:none;
  border-radius:12px;
  background:linear-gradient(135deg,#5aa7ff,#55e0ff);
  color:#06101f;
  padding:10px 14px;
  font-weight:900;
  margin-right:14px;
  cursor:pointer;
}

/* ===== Velora AIOps Platform Upgrade ===== */
:root{
  --navy:#071121;
  --navy-2:#0b1d37;
  --white-panel:rgba(255,255,255,.92);
}
.nav{
  align-items:center;
}
.links a{
  padding:9px 10px;
  border-radius:12px;
  transition:background .16s ease,color .16s ease;
}
.links a:hover{
  background:rgba(255,255,255,.06);
}
.hero.platform-hero{
  min-height:620px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.hero.platform-hero h1{
  max-width:1120px;
}
.hero-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:10px;
}
.brand-story{
  margin-top:28px;
  max-width:980px;
  padding:20px;
  border-radius:22px;
  border:1px solid rgba(85,224,255,.2);
  background:rgba(85,224,255,.06);
}
.brand-story strong{
  color:#fff;
}
.product-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.product-card{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:12px;
  min-height:360px;
  background:linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,.028));
  border:1px solid rgba(255,255,255,.13);
  border-radius:24px;
  padding:22px;
  box-shadow:0 20px 60px rgba(0,0,0,.22);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.product-card:hover{
  transform:translateY(-4px);
  border-color:rgba(85,224,255,.5);
  box-shadow:0 26px 80px rgba(85,224,255,.13);
}
.product-card h3{
  color:#fff;
  font-size:24px;
}
.product-card p{
  margin:0;
  font-size:15px;
  line-height:1.55;
}
.product-card p b{
  color:#dff8ff;
}
.product-card-top{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
}
.product-status,.product-slug,.signal-pill{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  border-radius:999px;
  padding:7px 10px;
  font-size:12px;
  font-weight:900;
  color:#08172c;
  background:linear-gradient(135deg,var(--cyan),var(--green));
}
.product-slug{
  color:#dbeafe;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.12);
}
.product-launch{
  margin-top:auto;
  text-align:center;
}
.split-section{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.82fr);
  gap:24px;
  align-items:center;
}
.signalops-shell{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);
  gap:20px;
  align-items:start;
}
.upload-card,.live-model-service-card,.insight-card,.evidence-card,.export-card{
  background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.028));
  border:1px solid rgba(255,255,255,.13);
  border-radius:24px;
  padding:22px;
  min-width:0;
}
.upload-drop{
  border:1.5px dashed rgba(85,224,255,.42);
  border-radius:22px;
  padding:22px;
  background:rgba(85,224,255,.055);
}
.signalops-actions,.export-actions,.live-model-service-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}
.signalops-actions .btn,.export-actions .btn,.live-model-service-actions .btn{
  min-width:170px;
  text-align:center;
}
.status-panel{
  display:grid;
  gap:10px;
}
.status-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:13px 0;
  border-bottom:1px solid rgba(255,255,255,.09);
}
.status-row:last-child{
  border-bottom:0;
}
.confidence-ring{
  width:164px;
  height:164px;
  border-radius:50%;
  display:grid;
  place-items:center;
  margin:0 auto;
  background:conic-gradient(var(--green) var(--confidence-deg,302deg),rgba(255,255,255,.12) 0deg);
}
.confidence-ring div{
  width:118px;
  height:118px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#06101f;
  text-align:center;
}
.confidence-ring b{
  display:block;
  font-size:32px;
  color:#fff;
}
.confidence-ring span{
  display:block;
  font-size:12px;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.12em;
}
.evidence-list{
  display:grid;
  gap:10px;
}
.evidence-item{
  border-radius:16px;
  padding:14px;
  background:rgba(255,255,255,.055);
  border-left:4px solid var(--cyan);
}
.hidden{
  display:none !important;
}
.config-input{
  width:100%;
  background:#08172c;
  border:1px solid var(--line);
  border-radius:14px;
  padding:13px;
  color:#fff;
  font-size:15px;
}
.note{
  border-radius:18px;
  border:1px solid rgba(83,226,168,.22);
  background:rgba(83,226,168,.07);
  padding:16px;
  color:#dfffee;
  line-height:1.6;
}
@media(max-width:1150px){
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .split-section,.signalops-shell{grid-template-columns:1fr}
}
@media(max-width:720px){
  .product-grid{grid-template-columns:1fr}
  .product-card{min-height:auto}
  .hero-actions .btn,.signalops-actions .btn,.export-actions .btn,.live-model-service-actions .btn{width:100%;margin-right:0}
  .status-row{flex-direction:column}
}


/* ---- Velora final Cloudflare UI hardening ---- */
.nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(16px)}
.nav .links{overflow-x:auto;-webkit-overflow-scrolling:touch}
.nav .links a{white-space:nowrap}
.card,.panel,.product-card,.upload-card,.live-model-service-card,.insight-card,.evidence-card,.export-card{min-width:0;overflow:hidden}
.export-actions,.signalops-actions,.live-model-service-actions,.download-row,.vision-export-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.export-actions .btn,.signalops-actions .btn,.live-model-service-actions .btn,.download-row .btn,.vision-export-actions .vision-btn{flex:1 1 190px;text-align:center;justify-content:center;min-width:0;white-space:normal;line-height:1.25}
.export-card{position:relative;z-index:1}
img,canvas,svg,video{max-width:100%}
.hidden{display:none!important}
@media(max-width:760px){.hero h1{font-size:36px}.nav{align-items:flex-start}.nav .links{width:100%;padding-bottom:4px}.metric-grid,.grid.two,.grid.three,.grid.four{grid-template-columns:1fr!important}}


/* Velora v9 Map Intelligence Studio controls */
.map-shell{position:relative;min-height:620px;border-radius:26px;overflow:hidden;border:1px solid rgba(255,255,255,.12);background:#071428;box-shadow:0 20px 60px rgba(0,0,0,.28)}
.map-shell .map{height:100%;min-height:620px;border-radius:0;border:0}
.map-actionbar{position:absolute;z-index:850;top:14px;left:14px;right:14px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;pointer-events:none}
.map-action-left,.map-action-right{display:flex;gap:8px;flex-wrap:wrap;pointer-events:auto}
.map-action,.map-toggle{border:1px solid rgba(255,255,255,.16);background:rgba(8,20,39,.88);backdrop-filter:blur(10px);color:#f6fbff;border-radius:999px;padding:9px 12px;font-size:12px;font-weight:900;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.24)}
.map-action:hover,.map-toggle:hover{border-color:rgba(85,224,255,.55)}
.map-action.danger{background:rgba(255,107,107,.16);border-color:rgba(255,107,107,.35)}
.map-toggle.active{background:linear-gradient(135deg,rgba(85,224,255,.92),rgba(83,226,168,.88));color:#06101f;border-color:transparent}
body.studio-map-fullscreen{overflow:hidden}
body.studio-map-fullscreen #studioSection{position:fixed!important;z-index:5000;inset:0;background:#06101f;padding:18px!important;margin:0!important;display:grid!important;grid-template-columns:360px minmax(0,1fr)!important;gap:14px!important;overflow:auto}
body.studio-map-fullscreen .nav,body.studio-map-fullscreen .hero,body.studio-map-fullscreen .footer{display:none!important}
body.studio-map-fullscreen .map-shell{height:calc(100vh - 36px);min-height:calc(100vh - 36px)}
body.studio-map-fullscreen .map-shell .map{height:100%!important;min-height:100%!important}
body.studio-map-fullscreen .panel.form{max-height:calc(100vh - 36px);overflow:auto}
.velora-road-popup{min-width:280px;color:#102033}
.velora-road-popup h3{margin:0 0 8px;color:#06101f;font-size:18px}
.velora-road-popup .popup-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}
.velora-road-popup .popup-metric{background:#eef6ff;border:1px solid #d6e9ff;border-radius:10px;padding:8px}
.velora-road-popup .popup-metric b{display:block;color:#06101f;font-size:18px}
.velora-road-popup .popup-metric span{color:#47627e;font-size:11px;font-weight:800}
.velora-road-popup .popup-reason{background:#fff8df;border-left:4px solid #ffd166;padding:8px;border-radius:8px;color:#25354f}
.velora-road-popup .popup-status{display:inline-flex;background:#071428;color:#fff;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:900;margin-bottom:6px}
.studio-selection-note{background:rgba(85,224,255,.08);border:1px solid rgba(85,224,255,.22);border-radius:14px;padding:10px;margin:10px 0;color:#dff7ff;font-size:13px}
@media(max-width:1050px){
  .map-actionbar{position:relative;top:auto;left:auto;right:auto;margin-bottom:8px}
  .map-shell{padding:10px}.map-shell .map{border-radius:18px}
  body.studio-map-fullscreen #studioSection{grid-template-columns:1fr!important}
}



/* Velora v10 all-mode intelligence popups */
.velora-intel-popup{min-width:300px;color:#102033}
.velora-intel-popup h3{margin:0 0 8px;color:#06101f;font-size:18px;line-height:1.15}
.velora-intel-popup .popup-status{display:inline-flex;background:#071428;color:#fff;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:900;margin-bottom:6px}
.velora-intel-popup .popup-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}
.velora-intel-popup .popup-metric{background:#eef6ff;border:1px solid #d6e9ff;border-radius:10px;padding:8px}
.velora-intel-popup .popup-metric b{display:block;color:#06101f;font-size:17px}
.velora-intel-popup .popup-metric span{color:#47627e;font-size:11px;font-weight:800}
.velora-intel-popup .popup-reason{background:#fff8df;border-left:4px solid #ffd166;padding:8px;border-radius:8px;color:#25354f;margin-top:8px}
.velora-intel-popup .popup-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.velora-intel-popup .popup-chip{background:#eaf7ff;color:#123153;border:1px solid #cfe9ff;border-radius:999px;padding:4px 7px;font-size:11px;font-weight:900}


/* Velora v11 FieldOps + fullscreen experience improvements */
.panel.form h4{margin:0 0 8px;font-size:14px;color:#fff}
.challenge-split{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0 14px}
.challenge-card{background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.10);border-radius:16px;padding:14px}
.ai-challenge-box{line-height:1.55}
.panel-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}
.map-exportbar{position:absolute;left:14px;bottom:14px;z-index:850;display:flex;gap:8px;flex-wrap:wrap}
.map-overlay-insight{position:absolute;right:14px;bottom:14px;z-index:840;width:min(360px,calc(100% - 28px));background:rgba(8,20,39,.90);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:12px 14px;box-shadow:0 12px 28px rgba(0,0,0,.24)}
.map-overlay-insight .mini-title{font-size:12px;font-weight:900;letter-spacing:.2px;text-transform:uppercase;color:#55e0ff;margin-bottom:7px}
.map-exportbar .map-action{background:rgba(8,20,39,.92)}
.map-actionbar{top:14px}
.map-shell{isolation:isolate}
.mode-row .mode-chip:first-child{background:linear-gradient(135deg,rgba(85,224,255,.18),rgba(83,226,168,.18));border-color:rgba(85,224,255,.28)}
body.studio-map-fullscreen{overflow:hidden}
body.studio-map-fullscreen .nav,
body.studio-map-fullscreen .hero,
body.studio-map-fullscreen .footer{display:none !important}
body.studio-map-fullscreen #studioSection{position:fixed !important;inset:0 !important;z-index:7000 !important;background:#06101f !important;padding:0 !important;margin:0 !important}
body.studio-map-fullscreen #studioSection .panel.form{
  position:absolute !important;left:16px !important;top:16px !important;z-index:7100 !important;
  width:min(430px,calc(100vw - 32px)) !important;max-height:calc(100vh - 32px) !important;overflow:auto !important;
  background:rgba(7,20,40,.88) !important;backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.12)
}
body.studio-map-fullscreen #studioSection .map-shell{
  position:absolute !important;inset:0 !important;min-height:100vh !important;height:100vh !important;border-radius:0 !important;border:0 !important
}
body.studio-map-fullscreen #studioSection .map-shell .map{
  min-height:100vh !important;height:100vh !important;border-radius:0 !important
}
body.studio-map-fullscreen .map-actionbar{left:470px;right:18px}
body.studio-map-fullscreen .map-exportbar{left:470px;bottom:18px}
body.studio-map-fullscreen .map-overlay-insight{right:18px;bottom:78px}
body.studio-map-fullscreen .leaflet-control-container .leaflet-bottom.leaflet-right{bottom:18px;right:18px}
@media(max-width:1050px){
  .challenge-split,.panel-actions{grid-template-columns:1fr}
  .map-overlay-insight{position:relative;right:auto;bottom:auto;width:100%;margin:8px 0 0}
  .map-exportbar{position:relative;left:auto;bottom:auto;margin-top:10px}
  body.studio-map-fullscreen #studioSection .panel.form{position:relative !important;left:auto !important;top:auto !important;width:auto !important;max-height:none !important}
  body.studio-map-fullscreen #studioSection{overflow:auto !important}
  body.studio-map-fullscreen #studioSection .map-shell{position:relative !important;height:70vh !important;min-height:70vh !important}
  body.studio-map-fullscreen .map-actionbar,
  body.studio-map-fullscreen .map-exportbar{left:18px;right:18px}
}


/* Velora v12 home positioning for Map Intelligence Studio */
.product-feature-pills{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 6px}
.product-feature-pills span{display:inline-flex;align-items:center;border:1px solid rgba(85,224,255,.24);background:rgba(85,224,255,.08);color:#dff8ff;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:900;letter-spacing:.1px}
.map-studio-home-note{margin-top:18px;padding:18px;border:1px solid rgba(85,224,255,.20);border-radius:22px;background:linear-gradient(135deg,rgba(85,224,255,.10),rgba(83,226,168,.06));box-shadow:0 16px 40px rgba(0,0,0,.16)}
.map-studio-home-note h3{margin:0 0 8px}
.map-studio-home-note .pill-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.map-studio-home-note .pill-row span{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.07);border-radius:999px;padding:8px 10px;font-size:12px;font-weight:900;color:#eaf7ff}


/* Velora v13 fullscreen legend/AI overlay fix */
.map-overlay-insight{transition:all .22s ease;max-height:260px;overflow:auto}
.map-overlay-insight .mini-title{display:flex;align-items:center;justify-content:space-between;gap:10px}
.mini-toggle{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);color:#eaf7ff;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:900;cursor:pointer}
.map-overlay-insight.collapsed{width:auto;min-width:138px;max-width:180px;padding:9px 11px;overflow:hidden}
.map-overlay-insight.collapsed #mapOverlayText{display:none}
.map-overlay-insight.collapsed .mini-title{margin-bottom:0}
body.studio-map-fullscreen .map-overlay-insight{
  top:86px !important;
  right:18px !important;
  bottom:auto !important;
  width:min(330px,calc(100vw - 510px)) !important;
  max-height:34vh !important;
}
body.studio-map-fullscreen .map-overlay-insight.collapsed{
  width:auto !important;
  min-width:132px !important;
  max-width:170px !important;
  top:86px !important;
  right:18px !important;
}
body.studio-map-fullscreen .leaflet-control-container .leaflet-bottom.leaflet-right{
  bottom:18px !important;
  right:18px !important;
}
body.studio-map-fullscreen .legend{
  max-width:260px;
  font-size:12px;
}
body.studio-map-fullscreen .map-actionbar{
  right:18px !important;
}
body.studio-map-fullscreen .map-action-right{
  max-width:calc(100vw - 520px);
  justify-content:flex-end;
}
@media(max-width:1050px){
  body.studio-map-fullscreen .map-overlay-insight,
  body.studio-map-fullscreen .map-overlay-insight.collapsed{
    position:relative !important;
    top:auto !important;
    right:auto !important;
    width:100% !important;
    max-width:none !important;
    margin:8px 0 !important;
  }
}


/* Velora v20 Map Logic + Legend Clarity Fix */
.velora-route-direction{
  background:#55e0ff;
  color:#06101f;
  border:2px solid #06101f;
  width:20px!important;
  height:20px!important;
  border-radius:999px;
  display:grid;
  place-items:center;
  font-size:12px;
  font-weight:950;
  box-shadow:0 0 18px rgba(85,224,255,.55);
}
.legend-note{
  display:block;
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid rgba(0,0,0,.12);
  color:#31455e;
  font-size:11px;
  line-height:1.35;
}
body.studio-map-fullscreen .legend-note{font-size:10.5px}


/* Velora v22 FieldOps full road coverage classification */
.mode-chip[data-mode="geotrust"],
.mode-chip[data-mode="urban"]{display:none!important}
.velora-route-direction{
  background:#55e0ff;
  color:#06101f;
  border:2px solid #06101f;
  width:20px!important;
  height:20px!important;
  border-radius:999px;
  display:grid;
  place-items:center;
  font-size:12px;
  font-weight:950;
  box-shadow:0 0 18px rgba(85,224,255,.55);
}
.legend-note{
  display:block;
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid rgba(0,0,0,.12);
  color:#31455e;
  font-size:11px;
  line-height:1.35;
}
.legend-note strong{color:#10223e}
.velora-road-popup .popup-status.high-probable{
  background:#3b1616;
  color:#ffe1e1;
}
.velora-road-popup .popup-status.support-point{
  background:#26184a;
  color:#efe5ff;
}
body.studio-map-fullscreen .legend-note{font-size:10.5px}


/* Velora v25 map render hotfix + premium map index */
.mode-chip[data-mode="geotrust"],.mode-chip[data-mode="urban"]{display:none!important}
.vision-strip{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0 16px}
.vision-mini-card{padding:14px 15px;border-radius:18px;border:1px solid rgba(85,224,255,.22);background:linear-gradient(135deg,rgba(85,224,255,.10),rgba(83,226,168,.06));box-shadow:0 12px 32px rgba(0,0,0,.16)}
.vision-mini-card .mini-kicker{display:inline-flex;font-size:11px;letter-spacing:.4px;font-weight:950;color:#55e0ff;text-transform:uppercase;margin-bottom:6px}
.vision-mini-card p{margin:0;color:#dce9ff;line-height:1.45;font-size:13px}
.map-shell{position:relative!important;min-height:650px!important;background:#071428!important;overflow:hidden!important}
.map-shell .map,#studioMap{height:100%!important;min-height:650px!important;width:100%!important;background:#d8e2ef!important;z-index:1!important;position:relative!important}
.map-actionbar{z-index:860!important;top:14px!important;left:14px!important;right:14px!important}
.map-index-strip{position:absolute;top:78px;left:14px;z-index:855;display:flex;align-items:center;gap:8px;flex-wrap:wrap;max-width:min(860px,calc(100% - 28px));padding:9px 11px;border-radius:999px;background:rgba(6,16,31,.82);border:1px solid rgba(85,224,255,.24);color:#dce9ff;box-shadow:0 12px 30px rgba(0,0,0,.20);backdrop-filter:blur(10px);font-size:11px;pointer-events:none}
.map-index-strip span{display:inline-flex;align-items:center;gap:4px;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);white-space:nowrap}
.map-index-strip .map-index-title{background:linear-gradient(135deg,rgba(85,224,255,.22),rgba(83,226,168,.18));color:#fff;font-weight:950;letter-spacing:.2px;text-transform:uppercase}
.legend{min-width:270px;max-width:330px;padding:0!important;overflow:hidden;border-radius:18px!important;background:rgba(6,16,31,.92)!important;backdrop-filter:blur(14px)}
.legend-card{font-size:12px;line-height:1.35;color:#eaf3ff}.legend-card .legend-head{padding:12px 13px;background:linear-gradient(135deg,rgba(85,224,255,.18),rgba(83,226,168,.10));border-bottom:1px solid rgba(255,255,255,.10)}
.legend-card .legend-kicker{display:block;color:#55e0ff;font-size:10px;text-transform:uppercase;letter-spacing:.7px;font-weight:950}.legend-card .legend-title{display:block;font-size:14px;font-weight:950;color:#fff;margin-top:3px}.legend-card .legend-body{padding:10px 13px 12px}
.legend-row{display:grid;grid-template-columns:26px 1fr;gap:8px;align-items:start;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.07)}.legend-row:last-child{border-bottom:none}.legend-swatch{width:25px;height:5px;border-radius:999px;margin-top:6px;box-shadow:0 0 12px rgba(255,255,255,.12)}.legend-swatch.dot{width:11px;height:11px;margin:3px 0 0 7px;border-radius:999px}.legend-label{display:block;font-weight:900;color:#fff}.legend-desc{display:block;color:#aebde0;font-size:11px;margin-top:2px}.legend-note{display:block;margin:10px 0 0;padding:9px 10px;border:1px solid rgba(85,224,255,.18)!important;border-radius:12px;background:rgba(85,224,255,.07);color:#cfe0ff!important;font-size:11px!important;line-height:1.4!important}.legend-note strong{color:#fff!important}
body.studio-map-fullscreen .map-index-strip{top:76px;left:18px;max-width:calc(100vw - 410px)}body.studio-map-fullscreen .map-shell .map,body.studio-map-fullscreen #studioMap{height:100%!important;min-height:100%!important}
@media(max-width:980px){.vision-strip{grid-template-columns:1fr}.map-index-strip{position:relative;top:auto;left:auto;border-radius:18px;margin:8px 0;max-width:100%;pointer-events:none}.map-shell{padding:10px!important}.map-actionbar{position:relative!important;top:auto!important;left:auto!important;right:auto!important;margin-bottom:8px!important}.map-shell .map,#studioMap{border-radius:18px!important}}



/* Velora v26 Intelligence Studio map rebuild */
#studioMap.map{
  min-height:720px;
  background:#eef4f7;
}
.map-shell{
  position:relative;
  min-height:760px;
}
.status-pill{
  display:inline-flex;
  align-items:center;
  padding:9px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  border:1px solid rgba(85,224,255,.24);
  background:rgba(85,224,255,.08);
  color:#dce9ff;
}
.status-pill.success{background:rgba(83,226,168,.12);border-color:rgba(83,226,168,.35);color:#d9fff1}
.status-pill.error{background:rgba(255,107,107,.12);border-color:rgba(255,107,107,.35);color:#ffe1e1}
.status-pill.loading{background:rgba(255,209,102,.10);border-color:rgba(255,209,102,.30);color:#fff0c7}
.map-index-strip{
  position:absolute;
  top:72px;
  left:14px;
  z-index:820;
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  max-width:min(900px,calc(100% - 28px));
  padding:9px 11px;
  border-radius:999px;
  background:rgba(6,16,31,.86);
  border:1px solid rgba(85,224,255,.24);
  color:#dce9ff;
  box-shadow:0 12px 30px rgba(0,0,0,.20);
  backdrop-filter:blur(10px);
  font-size:11px;
}
.map-index-strip span{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:5px 8px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.09);
  white-space:nowrap;
}
.map-index-strip .map-index-title{
  background:linear-gradient(135deg,rgba(85,224,255,.25),rgba(83,226,168,.18));
  color:#fff;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.2px;
}
.legend{
  min-width:285px;
  max-width:345px;
  padding:0!important;
  overflow:hidden;
  border-radius:18px!important;
  background:rgba(6,16,31,.93)!important;
  backdrop-filter:blur(14px);
  color:#eaf3ff!important;
  border:1px solid rgba(85,224,255,.20)!important;
}
.legend-card{font-size:12px;line-height:1.35;color:#eaf3ff}
.legend-card .legend-head{
  padding:12px 13px;
  background:linear-gradient(135deg,rgba(85,224,255,.18),rgba(83,226,168,.10));
  border-bottom:1px solid rgba(255,255,255,.10);
}
.legend-card .legend-kicker{
  display:block;color:#55e0ff;font-size:10px;text-transform:uppercase;letter-spacing:.7px;font-weight:950;
}
.legend-card .legend-title{display:block;font-size:14px;font-weight:950;color:#fff;margin-top:3px}
.legend-card .legend-body{padding:10px 13px 12px}
.legend-row{display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:start;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.legend-row:last-child{border-bottom:none}
.legend-swatch{width:26px;height:5px;border-radius:999px;margin-top:6px;box-shadow:0 0 12px rgba(255,255,255,.12)}
.legend-swatch.dot{width:12px;height:12px;margin:3px 0 0 7px;border-radius:999px}
.legend-label{display:block;font-weight:900;color:#fff}
.legend-desc{display:block;color:#aebde0;font-size:11px;margin-top:2px}
.legend-note{display:block;margin:10px 0 0;padding:9px 10px;border:1px solid rgba(85,224,255,.18)!important;border-radius:12px;background:rgba(85,224,255,.07);color:#cfe0ff!important;font-size:11px!important;line-height:1.4!important}
.legend-note strong{color:#fff!important}
.velora-route-direction{
  background:#55e0ff;
  color:#06101f;
  border:2px solid #06101f;
  width:22px!important;
  height:22px!important;
  border-radius:999px;
  display:grid;
  place-items:center;
  font-size:13px;
  font-weight:950;
  box-shadow:0 0 18px rgba(85,224,255,.55);
}
.velora-road-popup h3{margin:8px 0 6px}
.velora-road-popup .popup-status{display:inline-flex;padding:5px 8px;border-radius:999px;background:#12314e;color:#bfefff;font-weight:900;font-size:11px}
body.studio-map-fullscreen #studioMap.map{min-height:100vh}
body.studio-map-fullscreen .map-index-strip{top:76px;left:18px;max-width:calc(100vw - 420px)}
@media(max-width:980px){
  #studioMap.map{min-height:580px}
  .map-shell{min-height:620px}
  .map-index-strip{position:relative;top:auto;left:auto;border-radius:18px;margin:8px 0;max-width:100%}
  .legend{max-width:290px;min-width:250px}
}



/* Velora v27 Advanced network coverage polish */
.velora-route-direction{
  box-shadow:0 0 0 3px rgba(6,16,31,.55),0 0 18px rgba(85,224,255,.70)!important;
}
.leaflet-interactive{
  vector-effect:non-scaling-stroke;
}
.legend-note{
  max-width:300px;
}
.map-index-strip{
  max-width:min(960px,calc(100% - 28px))!important;
}



/* Velora v28 Indoor + Signal intelligence polish */
.velora-road-popup .popup-status{
  letter-spacing:.1px;
}
.legend-card .legend-title{
  line-height:1.25;
}
.leaflet-interactive{
  transition:stroke-width .12s ease, opacity .12s ease;
}

/* ===== Velora v29 GeoSphere Intelligence Cloud ===== */
.geo-hero{
  min-height:680px;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
  gap:36px;
  align-items:center;
}
.geo-hero h1,.radar-hero h1{
  max-width:1160px;
}
.geo-powered{
  border-left:4px solid var(--green);
  background:rgba(83,226,168,.07);
  border-radius:14px;
  padding:13px 16px;
  color:#e9fff6;
  font-weight:800;
  max-width:920px;
}
.geo-hero-visual{
  position:relative;
  min-height:480px;
  display:grid;
  place-items:center;
}
.geo-orbit-map{
  position:relative;
  width:min(100%,560px);
  aspect-ratio:1.2/1;
  border:1px solid rgba(255,255,255,.14);
  border-radius:28px;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(85,224,255,.10) 1px,transparent 1px),
    linear-gradient(rgba(85,224,255,.08) 1px,transparent 1px),
    linear-gradient(135deg,#071428,#0b203b 55%,#06101f);
  background-size:42px 42px,42px 42px,100% 100%;
  box-shadow:0 30px 100px rgba(0,0,0,.36);
}
.geo-route-line{
  position:absolute;
  height:7px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(85,224,255,.1),var(--cyan),rgba(83,226,168,.7));
  box-shadow:0 0 18px rgba(85,224,255,.35);
  transform-origin:left center;
}
.geo-route-line.one{width:68%;left:14%;top:36%;transform:rotate(13deg)}
.geo-route-line.two{width:58%;left:22%;top:63%;transform:rotate(-22deg);background:linear-gradient(90deg,rgba(255,209,102,.2),var(--amber),rgba(85,224,255,.65))}
.geo-route-line.three{width:44%;left:38%;top:50%;transform:rotate(68deg);background:linear-gradient(90deg,rgba(255,107,107,.12),var(--red),rgba(255,209,102,.75))}
.geo-node{
  position:absolute;
  display:grid;
  place-items:center;
  width:72px;
  height:72px;
  border-radius:18px;
  color:#06101f;
  font-weight:900;
  border:2px solid rgba(255,255,255,.85);
  box-shadow:0 16px 44px rgba(0,0,0,.34);
}
.geo-node.hub{left:12%;top:28%;background:linear-gradient(135deg,var(--green),var(--cyan))}
.geo-node.risk{right:16%;top:30%;background:linear-gradient(135deg,var(--red),var(--amber))}
.geo-node.access{left:36%;bottom:13%;background:linear-gradient(135deg,var(--amber),#fff1a8)}
.geo-node.fibre{right:8%;bottom:20%;background:linear-gradient(135deg,var(--purple),var(--cyan))}
.geo-node.esg{left:58%;top:9%;background:linear-gradient(135deg,var(--green),#dfffee)}
.geo-heat{
  position:absolute;
  width:150px;
  height:150px;
  border-radius:999px;
  filter:blur(16px);
  opacity:.52;
}
.geo-heat.heat-a{left:52%;top:35%;background:rgba(255,107,107,.45)}
.geo-heat.heat-b{left:20%;top:56%;background:rgba(255,209,102,.38)}
.geo-heat.heat-c{right:4%;top:58%;background:rgba(179,136,255,.35)}
.geo-score-card{
  position:absolute;
  right:4%;
  bottom:2%;
  width:min(300px,90%);
  border:1px solid rgba(85,224,255,.28);
  border-radius:22px;
  background:rgba(6,16,31,.9);
  padding:18px;
  backdrop-filter:blur(12px);
  box-shadow:0 20px 70px rgba(0,0,0,.36);
}
.geo-score-card span,.geo-score-card small{
  display:block;
  color:var(--muted);
  line-height:1.45;
}
.geo-score-card strong{
  display:block;
  color:#fff;
  font-size:42px;
  line-height:1;
  margin:8px 0;
}
.geo-platform-story p{
  max-width:1100px;
}
.geo-story-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:22px;
}
.geo-story-strip div,.geo-audience-grid div{
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  background:rgba(255,255,255,.055);
  padding:16px;
}
.geo-story-strip b,.geo-story-strip span{
  display:block;
}
.geo-story-strip b{
  color:#fff;
  margin-bottom:6px;
}
.geo-story-strip span{
  color:var(--muted);
  line-height:1.45;
}
.geo-module-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:22px;
}
.geo-module-card{
  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;
  padding:22px;
  background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.025));
  min-height:285px;
  display:flex;
  flex-direction:column;
  gap:10px;
  cursor:pointer;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.geo-module-card:hover,.geo-module-card.active{
  transform:translateY(-4px);
  border-color:rgba(85,224,255,.52);
  box-shadow:0 26px 80px rgba(85,224,255,.12);
}
.geo-module-card span{
  width:max-content;
  max-width:100%;
  border-radius:999px;
  padding:7px 10px;
  background:rgba(85,224,255,.11);
  border:1px solid rgba(85,224,255,.25);
  color:#9ff0ff;
  font-weight:900;
  font-size:12px;
}
.geo-module-card h3{
  color:#fff;
  font-size:24px;
}
.geo-module-card p{
  margin:0;
  font-size:15px;
  line-height:1.55;
}
.geo-module-card-live{
  background:
    linear-gradient(180deg,rgba(85,224,255,.15),rgba(83,226,168,.04)),
    rgba(255,255,255,.04);
}
.geo-compliance-note{
  color:#f7e7b4!important;
}
.geo-module-detail{
  margin-top:18px;
  border:1px solid rgba(83,226,168,.25);
  border-radius:20px;
  background:rgba(83,226,168,.075);
  padding:18px;
  display:grid;
  gap:7px;
}
.geo-module-detail b{
  color:#fff;
  font-size:18px;
}
.geo-module-detail span{
  color:#dfffee;
  line-height:1.6;
}
.geo-audience-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-top:20px;
}
.geo-audience-grid div{
  color:#f6fbff;
  font-weight:900;
  min-height:76px;
  display:flex;
  align-items:center;
}
.geo-callout p{
  color:#e9fff6;
  font-size:18px;
  font-weight:800;
}
.geo-launch-band{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:22px;
  align-items:center;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
  background:linear-gradient(135deg,rgba(85,224,255,.08),rgba(83,226,168,.055));
}
.geo-launch-actions{
  min-width:280px;
}

/* ===== Velora v29 Route Intelligence Radar ===== */
.radar-hero{
  min-height:560px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.radar-dashboard{
  display:grid;
  gap:18px;
}
.radar-control-panel{
  border:1px solid rgba(255,255,255,.12);
  border-radius:26px;
  padding:24px;
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025));
}
.radar-controls{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:18px;
}
.radar-controls label,.radar-form label{
  display:grid;
  gap:8px;
  color:#eef6ff;
  font-weight:900;
}
.radar-controls select,.radar-form input,.radar-form select,.radar-form textarea{
  width:100%;
  background:#08172c;
  border:1px solid var(--line);
  border-radius:14px;
  padding:13px;
  color:#fff;
  font-size:15px;
}
.radar-form textarea{
  min-height:104px;
  resize:vertical;
}
.radar-score-legend{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:16px;
}
.radar-score-legend span{
  border:1px solid rgba(255,255,255,.1);
  border-radius:14px;
  background:rgba(255,255,255,.045);
  padding:12px;
  color:var(--muted);
  font-size:13px;
  line-height:1.4;
}
.radar-score-legend b{
  display:block;
  color:#fff;
}
.radar-score-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.radar-score-card{
  min-height:132px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;
  padding:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.028));
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.radar-score-card span{
  color:var(--muted);
  font-weight:800;
  line-height:1.35;
}
.radar-score-card strong{
  color:#fff;
  font-size:36px;
  line-height:1;
}
.radar-score-card small{
  color:var(--muted);
  font-size:13px;
  margin-left:4px;
}
.radar-score-card.strong{border-color:rgba(83,226,168,.38)}
.radar-score-card.moderate{border-color:rgba(255,209,102,.38)}
.radar-score-card.high{border-color:rgba(255,132,89,.46)}
.radar-score-card.critical{border-color:rgba(255,107,107,.55);background:linear-gradient(180deg,rgba(255,107,107,.11),rgba(255,255,255,.028))}
.radar-main-grid{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(330px,.55fr);
  gap:18px;
  align-items:start;
}
.radar-map-panel,.radar-insight-panel,.radar-upload-panel,.radar-snapshot-preview,.radar-report-card{
  border:1px solid rgba(255,255,255,.12);
  border-radius:24px;
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025));
  padding:18px;
}
.radar-map-topbar{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
  margin-bottom:12px;
}
.radar-kicker{
  display:inline-flex;
  color:#9ff0ff;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:11px;
  font-weight:900;
  margin-bottom:7px;
}
.radar-score-pill{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:8px 11px;
  font-size:12px;
  font-weight:900;
  color:#06101f;
  background:var(--amber);
  white-space:nowrap;
}
.radar-score-pill.strong{background:var(--green)}
.radar-score-pill.moderate{background:var(--amber)}
.radar-score-pill.high{background:#ff985f}
.radar-score-pill.critical{background:var(--red);color:#fff}
.radar-toggle-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:8px 0 14px;
}
.radar-toggle{
  border:1px solid rgba(255,255,255,.13);
  background:#0a1b34;
  color:#dce7ff;
  border-radius:999px;
  padding:9px 11px;
  font-weight:900;
  font-size:12px;
  cursor:pointer;
}
.radar-toggle.active{
  color:#06101f;
  background:linear-gradient(135deg,var(--cyan),var(--green));
  border-color:transparent;
}
.radar-map-canvas{
  position:relative;
  min-height:640px;
  border:1px solid rgba(85,224,255,.18);
  border-radius:24px;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(85,224,255,.09) 1px,transparent 1px),
    linear-gradient(rgba(85,224,255,.07) 1px,transparent 1px),
    radial-gradient(circle at 20% 80%,rgba(83,226,168,.10),transparent 25%),
    linear-gradient(135deg,#071428,#0b203d 52%,#071121);
  background-size:44px 44px,44px 44px,100% 100%,100% 100%;
}
.radar-grid-layer{
  position:absolute;
  inset:0;
  background:
    linear-gradient(120deg,transparent 0 46%,rgba(255,255,255,.04) 47% 48%,transparent 49%),
    linear-gradient(35deg,transparent 0 55%,rgba(255,255,255,.04) 56% 57%,transparent 58%);
  pointer-events:none;
}
.radar-road{
  position:absolute;
  height:9px;
  border-radius:999px;
  background:rgba(219,234,254,.58);
  box-shadow:0 0 16px rgba(219,234,254,.25);
  transform-origin:left center;
}
.radar-road.road-a{width:78%;left:8%;top:34%;transform:rotate(12deg)}
.radar-road.road-b{width:66%;left:20%;top:63%;transform:rotate(-18deg)}
.radar-road.road-c{width:54%;left:32%;top:21%;transform:rotate(58deg)}
.radar-road.road-d{width:38%;left:8%;top:75%;transform:rotate(-52deg)}
.radar-road.road-e{width:48%;left:50%;top:48%;transform:rotate(29deg);background:rgba(85,224,255,.62)}
.radar-map-label{
  position:absolute;
  z-index:2;
  border-radius:999px;
  padding:7px 10px;
  background:rgba(6,16,31,.82);
  border:1px solid rgba(255,255,255,.13);
  color:#dce7ff;
  font-size:12px;
  font-weight:900;
}
.radar-map-label.label-a{left:11%;top:14%}
.radar-map-label.label-b{right:13%;bottom:16%}
.radar-hub{
  position:absolute;
  z-index:4;
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:14px;
  color:#06101f;
  font-weight:900;
  border:2px solid #fff;
  box-shadow:0 12px 30px rgba(0,0,0,.32);
}
.radar-hub.hub-a{left:19%;top:31%;background:var(--green)}
.radar-hub.hub-b{right:23%;bottom:29%;background:var(--cyan)}
.radar-hub.hub-c{left:45%;top:67%;background:var(--amber)}
.radar-dynamic-layer{
  position:absolute;
  inset:0;
}
.radar-heat,.radar-pin{
  position:absolute;
  border:0;
  cursor:pointer;
  transform:translate(-50%,-50%);
}
.radar-heat{
  width:175px;
  height:175px;
  border-radius:50%;
  filter:blur(15px);
  opacity:.48;
  background:rgba(255,107,107,.55);
}
.radar-heat-pedestrian{background:rgba(255,209,102,.5)}
.radar-heat-pickup{background:rgba(255,107,107,.6)}
.radar-heat-signal{background:rgba(179,136,255,.55)}
.radar-heat-poi{background:rgba(85,224,255,.48)}
.radar-heat-access{background:rgba(255,152,95,.5)}
.radar-heat-failure{background:rgba(255,68,68,.55)}
.radar-pin{
  z-index:8;
  width:38px;
  height:38px;
  border-radius:14px 14px 14px 4px;
  background:var(--red);
  color:#fff;
  transform:translate(-50%,-50%) rotate(-45deg);
  box-shadow:0 12px 32px rgba(0,0,0,.38);
  border:2px solid rgba(255,255,255,.88);
}
.radar-pin span{
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  transform:rotate(45deg);
  font-weight:900;
}
.radar-pin.selected{
  outline:3px solid rgba(85,224,255,.88);
}
.radar-pin-pedestrian{background:var(--amber);color:#06101f}
.radar-pin-pickup{background:var(--red)}
.radar-pin-signal{background:var(--purple)}
.radar-pin-poi{background:var(--cyan);color:#06101f}
.radar-pin-access{background:#ff985f;color:#06101f}
.radar-pin-failure{background:#ff4040}
.radar-insight-panel{
  display:grid;
  gap:14px;
}
.radar-insight-drawer{
  border:1px solid rgba(85,224,255,.2);
  border-radius:20px;
  padding:18px;
  background:rgba(85,224,255,.06);
}
.radar-insight-drawer h3{
  color:#fff;
}
.radar-insight-meta{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:10px 0;
}
.radar-insight-meta span{
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  color:#eef6ff;
  padding:7px 9px;
  font-size:12px;
  font-weight:900;
}
.radar-risk-list{
  display:grid;
  gap:9px;
}
.radar-risk-row{
  width:100%;
  text-align:left;
  cursor:pointer;
  border:1px solid rgba(255,255,255,.1);
  border-radius:16px;
  background:rgba(255,255,255,.045);
  padding:13px;
  color:#fff;
}
.radar-risk-row.selected{
  border-color:rgba(85,224,255,.62);
  background:rgba(85,224,255,.09);
}
.radar-risk-row span{
  display:inline-flex;
  border-radius:999px;
  background:rgba(255,209,102,.14);
  color:var(--amber);
  padding:5px 7px;
  font-size:11px;
  font-weight:900;
  margin-bottom:8px;
}
.radar-risk-row b,.radar-risk-row small{
  display:block;
  line-height:1.4;
}
.radar-risk-row small{
  color:var(--muted);
  margin-top:5px;
}
.radar-why-block{
  display:grid;
  gap:8px;
  border-left:4px solid var(--green);
  background:rgba(83,226,168,.075);
  color:#dfffee;
  border-radius:16px;
  padding:15px;
  line-height:1.58;
}
.radar-evidence-grid,.radar-lead-grid{
  display:grid;
  grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);
  gap:18px;
  align-items:start;
}
.radar-upload-panel input{
  width:100%;
}
.radar-detection-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:16px;
}
.radar-detection-tags span{
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background:rgba(255,255,255,.055);
  color:#dce7ff;
  padding:7px 9px;
  font-size:12px;
  font-weight:900;
}
.radar-evidence-cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.radar-evidence-cards article{
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025));
  padding:16px;
}
.radar-evidence-cards b,.radar-evidence-cards span,.radar-evidence-cards em{
  display:block;
  line-height:1.45;
}
.radar-evidence-cards b{
  color:#fff;
  margin-bottom:8px;
}
.radar-evidence-cards span{
  color:var(--cyan);
  font-weight:900;
}
.radar-evidence-cards em{
  color:var(--muted);
  font-style:normal;
  margin-top:8px;
}
.radar-disclaimer{
  border:1px solid rgba(255,209,102,.28);
  border-radius:16px;
  background:rgba(255,209,102,.08);
  color:#fff0bf;
  padding:14px 16px;
  font-weight:800;
}
.radar-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.radar-form label:last-of-type{
  grid-column:1/-1;
}
.radar-form button{
  width:max-content;
}
.radar-snapshot-preview{
  min-height:430px;
}
.radar-snapshot-score{
  border:1px solid rgba(85,224,255,.22);
  border-radius:18px;
  background:rgba(85,224,255,.06);
  padding:16px;
  margin:14px 0;
}
.radar-snapshot-score span,.radar-snapshot-score em{
  display:block;
  color:var(--muted);
  font-style:normal;
}
.radar-snapshot-score strong{
  display:block;
  color:#fff;
  font-size:44px;
  line-height:1;
  margin:8px 0;
}
.radar-snapshot-score small{
  color:var(--muted);
  font-size:14px;
}
.radar-snapshot-preview ul,.radar-report-card ul{
  color:#e6eeff;
  line-height:1.7;
}
.radar-report-preview{
  margin-top:18px;
}
.radar-report-card{
  max-width:1100px;
}
.radar-report-card section{
  border-top:1px solid rgba(255,255,255,.09);
  padding-top:14px;
  margin-top:14px;
}
.radar-report-card h4{
  color:#fff;
  margin:0 0 8px;
}

@media(max-width:1180px){
  .geo-hero,.radar-main-grid,.radar-evidence-grid,.radar-lead-grid{grid-template-columns:1fr}
  .geo-story-strip,.geo-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .radar-score-grid,.radar-score-legend{grid-template-columns:repeat(2,minmax(0,1fr))}
  .radar-map-canvas{min-height:560px}
}
@media(max-width:760px){
  .geo-hero{min-height:auto}
  .geo-hero-visual{min-height:390px}
  .geo-node{width:58px;height:58px;border-radius:16px;font-size:12px}
  .geo-score-card{position:relative;right:auto;bottom:auto;margin-top:14px}
  .geo-story-strip,.geo-module-grid,.geo-audience-grid,.geo-launch-band,.radar-controls,.radar-score-grid,.radar-score-legend,.radar-evidence-cards,.radar-form{grid-template-columns:1fr}
  .geo-launch-actions{min-width:0}
  .radar-map-topbar{flex-direction:column}
  .radar-score-pill{white-space:normal}
  .radar-map-canvas{min-height:480px}
  .radar-heat{width:135px;height:135px}
  .radar-form button{width:100%}
}

@media print{
  .nav,.footer,.hero,.radar-control-panel,.radar-score-grid,.radar-main-grid,.radar-evidence-section,.radar-snapshot-section,.radar-report-section > .badge,.radar-report-section > h2,.radar-report-section > p,.radar-report-section > .hero-actions{
    display:none!important;
  }
  body{
    background:#fff!important;
    color:#111827!important;
  }
  .section{
    padding:0!important;
  }
  .radar-report-card{
    color:#111827!important;
    background:#fff!important;
    border:0!important;
    box-shadow:none!important;
  }
  .radar-report-card p,.radar-report-card li,.radar-report-card .radar-kicker{
    color:#1f2937!important;
  }
}

.geo-home-feature,.geo-platform-insert{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,.55fr);
  gap:24px;
  align-items:center;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
  background:linear-gradient(135deg,rgba(85,224,255,.075),rgba(83,226,168,.045));
}
.geo-home-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px;
}
@media(max-width:900px){
  .geo-home-feature,.geo-platform-insert{grid-template-columns:1fr}
  .geo-home-actions{justify-content:flex-start}
}

/* v29 nav fit: keep the single new GeoSphere item on one desktop row */
.nav{
  padding-left:clamp(18px,5vw,7%);
  padding-right:clamp(18px,5vw,7%);
}
.nav .links{
  gap:clamp(6px,.85vw,14px);
  align-items:center;
  justify-content:flex-end;
}
.nav .links a{
  font-size:clamp(12px,.92vw,14px);
  padding:8px 7px;
}
@media(max-width:980px){
  .nav .links{
    justify-content:flex-start;
  }
}


/* ===== Velora v30: 3D viewer impression layer + resilient map fallback ===== */
.twin-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);gap:24px;align-items:center;overflow:hidden}
.twin-hero-card{background:linear-gradient(145deg,rgba(85,224,255,.12),rgba(179,136,255,.14));border:1px solid rgba(255,255,255,.14);border-radius:28px;padding:28px;box-shadow:0 24px 70px rgba(0,0,0,.24)}
.twin-hero-card span,.twin-hero-card small{display:block;color:#aabbd6}.twin-hero-card strong{display:block;font-size:68px;line-height:1;color:#55e0ff;margin:12px 0}
.twin-dashboard{display:grid;grid-template-columns:300px minmax(0,1fr) 310px;gap:18px;align-items:stretch}.twin-control-panel,.twin-insights,.twin-stage-wrap{background:rgba(5,13,27,.78);border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:18px;box-shadow:0 20px 55px rgba(0,0,0,.22)}
.twin-controls{display:grid;gap:12px}.twin-controls label{display:grid;gap:6px;color:#aabbd6;font-size:13px}.twin-controls select{width:100%;background:#07101f;color:#eef6ff;border:1px solid rgba(255,255,255,.16);border-radius:12px;padding:11px}.twin-button-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.twin-stage-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:12px}.twin-stage-header h3{margin:4px 0 0}.twin-stage{position:relative;height:520px;border-radius:22px;overflow:hidden;background:radial-gradient(circle at 40% 10%,rgba(85,224,255,.14),transparent 30%),linear-gradient(180deg,#081426,#020712);perspective:850px;border:1px solid rgba(255,255,255,.10)}
.twin-sky{position:absolute;inset:0;background:linear-gradient(180deg,rgba(85,224,255,.08),transparent 44%)}.twin-grid-floor{position:absolute;left:8%;right:8%;bottom:30px;height:380px;transform:rotateX(64deg) rotateZ(-18deg);transform-origin:50% 100%;background-image:linear-gradient(rgba(85,224,255,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(85,224,255,.13) 1px,transparent 1px);background-size:42px 42px;border:1px solid rgba(85,224,255,.18);border-radius:22px;box-shadow:0 20px 90px rgba(85,224,255,.11)}
.twin-road,.twin-route-path,.twin-fibre-path{position:absolute;border-radius:999px;background:rgba(220,233,255,.32);box-shadow:0 0 22px rgba(220,233,255,.16)}.main-r1{left:8%;top:42%;width:84%;height:14px}.main-r2{left:30%;top:8%;width:14px;height:84%}.main-r3{left:12%;top:20%;width:60%;height:10px;transform:rotate(22deg)}.main-r4{left:55%;top:8%;width:12px;height:78%;transform:rotate(-12deg)}.twin-route-path{left:16%;top:52%;width:62%;height:16px;transform:rotate(-15deg);background:linear-gradient(90deg,#53e2a8,#ffd166,#ff6b6b);animation:twinPulse 2.8s infinite}.twin-fibre-path{left:24%;top:70%;width:58%;height:9px;transform:rotate(16deg);background:linear-gradient(90deg,#b388ff,#55e0ff);opacity:.9}.twin-building{position:absolute;width:42px;height:42px;background:linear-gradient(145deg,#14213d,#1c3458);border:1px solid rgba(255,255,255,.18);border-radius:8px;box-shadow:14px 18px 0 rgba(85,224,255,.08),0 0 28px rgba(85,224,255,.13)}.tb1{left:18%;top:18%;height:80px}.tb2{left:46%;top:22%;height:120px}.tb3{left:68%;top:38%;height:88px}.tb4{left:23%;top:62%;height:68px}.tb5{left:78%;top:16%;height:105px}.tb6{left:54%;top:68%;height:72px}.twin-risk-dot{position:absolute;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;color:#06101f;font-weight:800;background:#ff6b6b;box-shadow:0 0 0 12px rgba(255,107,107,.14),0 0 40px rgba(255,107,107,.45);animation:riskBreath 2.4s infinite}.rd1{left:58%;top:44%}.rd2{left:30%;top:34%;background:#ffd166}.rd3{left:72%;top:64%;background:#ff8fab}.twin-evidence-card{position:absolute;z-index:4;padding:10px 12px;border-radius:14px;background:rgba(5,13,27,.92);border:1px solid rgba(255,255,255,.18);color:#eef6ff;box-shadow:0 16px 34px rgba(0,0,0,.35);font-size:12px}.ev1{left:12%;top:8%}.ev2{right:8%;bottom:14%}.twin-stage[data-camera="street"] .twin-grid-floor{transform:rotateX(72deg) rotateZ(-26deg) scale(1.08)}.twin-stage[data-camera="asset"] .twin-grid-floor{transform:rotateX(58deg) rotateZ(-8deg) scale(.96)}.twin-stage.layers-muted .twin-risk-dot,.twin-stage.layers-muted .twin-evidence-card,.twin-stage.layers-muted .twin-fibre-path{opacity:.25}.twin-stage.story-active .twin-route-path{animation:twinPulse 1.7s infinite}.twin-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.twin-metrics div{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);border-radius:16px;padding:12px}.twin-metrics b{display:block;color:#55e0ff;font-size:22px}.twin-metrics span{color:#aabbd6;font-size:12px}.twin-narrative{background:rgba(85,224,255,.08);border:1px solid rgba(85,224,255,.20);border-radius:18px;padding:14px;color:#dce9ff}.twin-flow-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.twin-flow-grid article{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:18px}.twin-flow-grid b{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#55e0ff;color:#06101f}.twin-tech-note{background:linear-gradient(120deg,rgba(85,224,255,.10),rgba(179,136,255,.10));border:1px solid rgba(255,255,255,.12);border-radius:28px}.twin-preview-band,.twin-route-preview-section{display:grid;grid-template-columns:minmax(0,1fr) 360px auto;gap:22px;align-items:center;background:linear-gradient(120deg,rgba(85,224,255,.08),rgba(179,136,255,.08));border:1px solid rgba(255,255,255,.12);border-radius:28px}.twin-mini-scene{position:relative;height:210px;border-radius:24px;overflow:hidden;background:linear-gradient(180deg,#09172b,#030811);perspective:650px;border:1px solid rgba(255,255,255,.12)}.twin-mini-large{height:320px}.mini-road,.mini-route{position:absolute;border-radius:999px;background:rgba(220,233,255,.25)}.mini-road.r1{left:12%;top:50%;width:76%;height:12px;transform:rotate(-18deg)}.mini-road.r2{left:42%;top:16%;width:12px;height:74%;transform:rotate(12deg)}.mini-road.r3{left:18%;top:28%;width:58%;height:8px;transform:rotate(28deg)}.mini-route{left:16%;top:58%;width:68%;height:12px;transform:rotate(-10deg);background:linear-gradient(90deg,#53e2a8,#ffd166,#ff6b6b);box-shadow:0 0 24px rgba(255,209,102,.4)}.mini-building{position:absolute;width:36px;border-radius:8px;background:#183052;border:1px solid rgba(255,255,255,.14);box-shadow:10px 14px 0 rgba(85,224,255,.07)}.b1{left:18%;top:20%;height:60px}.b2{left:46%;top:16%;height:86px}.b3{left:66%;top:34%;height:72px}.b4{left:30%;top:62%;height:52px}.mini-risk{position:absolute;width:34px;height:34px;border-radius:50%;background:#ff6b6b;box-shadow:0 0 0 10px rgba(255,107,107,.13),0 0 28px rgba(255,107,107,.45)}.x1{left:62%;top:48%}.x2{left:34%;top:38%;background:#ffd166}.twin-route-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:20px;align-items:center}.twin-demo-copy{background:rgba(5,13,27,.72);border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:20px}.studio-fallback-map{position:relative;min-height:480px;border-radius:20px;overflow:hidden;background:linear-gradient(180deg,#071426,#020712);border:1px solid rgba(255,255,255,.12)}.fallback-grid{position:absolute;inset:8%;background-image:linear-gradient(rgba(85,224,255,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(85,224,255,.14) 1px,transparent 1px);background-size:36px 36px;transform:perspective(650px) rotateX(58deg) rotateZ(-16deg);border-radius:20px}.fallback-road{position:absolute;height:11px;border-radius:999px;background:rgba(220,233,255,.28);box-shadow:0 0 18px rgba(220,233,255,.14)}.fr1{left:18%;top:52%;width:68%;transform:rotate(-18deg)}.fr2{left:34%;top:18%;width:10px;height:64%;transform:rotate(10deg)}.fr3{left:18%;top:32%;width:62%;transform:rotate(24deg)}.fallback-risk{position:absolute;padding:9px 12px;border-radius:999px;background:rgba(255,107,107,.95);color:#06101f;font-weight:800;font-size:12px;box-shadow:0 0 28px rgba(255,107,107,.35)}.fa{left:58%;top:42%}.fb{left:28%;top:34%;background:#ffd166}.fc{left:48%;top:66%;background:#ff8fab}.fallback-message{position:absolute;left:22px;right:22px;bottom:22px;background:rgba(5,13,27,.90);border:1px solid rgba(255,255,255,.15);border-radius:18px;padding:16px}.fallback-message b,.fallback-message span{display:block}.fallback-message span{color:#aabbd6;margin-top:4px}@keyframes twinPulse{0%,100%{filter:brightness(1);box-shadow:0 0 22px rgba(255,209,102,.25)}50%{filter:brightness(1.5);box-shadow:0 0 48px rgba(255,209,102,.58)}}@keyframes riskBreath{0%,100%{transform:scale(1)}50%{transform:scale(1.09)}}@media(max-width:1100px){.twin-dashboard{grid-template-columns:1fr}.twin-hero,.twin-preview-band,.twin-route-preview-section{grid-template-columns:1fr}.twin-flow-grid{grid-template-columns:1fr 1fr}.twin-stage{height:430px}}@media(max-width:720px){.twin-flow-grid,.twin-route-grid{grid-template-columns:1fr}.twin-stage{height:360px}.twin-hero-card strong{font-size:48px}.twin-metrics{grid-template-columns:1fr}}

/* ===== Velora v31: actual visible 3D map-style digital twin canvas ===== */
.geo3d-hero-v31{display:grid;grid-template-columns:minmax(0,1fr) minmax(460px,.82fr);gap:30px;align-items:center;min-height:calc(100vh - 74px);padding-top:72px;padding-bottom:72px}
.geo3d-hero-copy{max-width:860px}.geo3d-note{margin-top:12px;color:#91a6c5;font-size:14px}.geo3d-hero-map-card{min-height:520px;border-radius:32px;padding:18px;background:linear-gradient(145deg,rgba(85,224,255,.10),rgba(179,136,255,.10));border:1px solid rgba(255,255,255,.14);box-shadow:0 34px 95px rgba(0,0,0,.35);position:relative;overflow:hidden}.geo3d-hero-map-card:before{content:"";position:absolute;inset:-35%;background:radial-gradient(circle at 32% 28%,rgba(85,224,255,.18),transparent 28%),radial-gradient(circle at 72% 62%,rgba(179,136,255,.14),transparent 32%);pointer-events:none}.geo3d-mini-topbar,.geo3d-mini-legend{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:12px}.geo3d-mini-topbar{margin-bottom:12px}.geo3d-mini-topbar span,.geo3d-mini-legend span{color:#dce9ff;font-size:13px}.geo3d-mini-topbar b{font-size:34px;color:#55e0ff}.geo3d-mini-legend{margin-top:12px;justify-content:flex-start;flex-wrap:wrap}.geo3d-mini-legend span{border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.06);border-radius:999px;padding:8px 10px}.geo3d-canvas{display:block;width:100%;height:440px;border-radius:24px;border:1px solid rgba(255,255,255,.12);background:#06101f;position:relative;z-index:2}.geo3d-section{background:linear-gradient(180deg,rgba(5,13,27,.94),rgba(2,7,18,.94));border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}.geo3d-section-head{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:22px;align-items:end;margin-bottom:18px}.geo3d-score-card{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.055);border-radius:24px;padding:18px;box-shadow:0 18px 50px rgba(0,0,0,.20)}.geo3d-score-card span,.geo3d-score-card small{display:block;color:#aabbd6}.geo3d-score-card strong{display:block;color:#55e0ff;font-size:48px;line-height:1;margin:8px 0}.geo3d-toolbar{display:grid;grid-template-columns:repeat(3,minmax(170px,1fr)) auto auto;gap:12px;align-items:end;margin:18px 0 20px;padding:16px;border-radius:22px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.11)}.geo3d-toolbar label{display:grid;gap:6px;color:#aabbd6;font-size:13px}.geo3d-toolbar select{width:100%;background:#07101f;color:#eef6ff;border:1px solid rgba(255,255,255,.16);border-radius:13px;padding:12px 13px}.geo3d-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:stretch}.geo3d-main-card,.geo3d-insight-card{border:1px solid rgba(255,255,255,.13);background:rgba(5,13,27,.82);border-radius:28px;padding:18px;box-shadow:0 22px 70px rgba(0,0,0,.28)}.geo3d-titlebar{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:12px}.geo3d-titlebar h3{margin:3px 0 0}.geo3d-map-frame{position:relative;min-height:660px;border-radius:26px;overflow:hidden;background:#06101f}.geo3d-map-frame .geo3d-canvas{height:660px;border-radius:26px}.geo3d-overlay-cards{position:absolute;left:18px;bottom:18px;right:18px;z-index:4;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;pointer-events:none}.geo3d-overlay-cards div{background:rgba(5,13,27,.84);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:13px;backdrop-filter:blur(8px)}.geo3d-overlay-cards b,.geo3d-overlay-cards span{display:block}.geo3d-overlay-cards b{color:#eef6ff}.geo3d-overlay-cards span{color:#aabbd6;font-size:12px;margin-top:3px}.geo3d-view-buttons{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.geo3d-view-buttons button{border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.06);color:#dce9ff;padding:10px 13px;font-weight:800;cursor:pointer}.geo3d-view-buttons button.active,.geo3d-view-buttons button:hover{background:#55e0ff;color:#06101f}.geo3d-insight-card h3{margin-top:0}.geo3d-demo-script{margin-top:16px;border:1px solid rgba(85,224,255,.18);background:rgba(85,224,255,.07);border-radius:18px;padding:14px}.geo3d-demo-script b{color:#55e0ff}.geo3d-demo-script p{margin:7px 0 0;color:#dce9ff}.geo3d-muted-layers .geo3d-overlay-cards{opacity:.28}.route-3d-canvas-card{min-height:340px;border-radius:24px;overflow:hidden;border:1px solid rgba(255,255,255,.12);background:#06101f;box-shadow:0 20px 60px rgba(0,0,0,.25)}.route-3d-canvas-card canvas{width:100%;height:340px;border-radius:24px}.nav .links a[href="digital-twin.html"]{color:#55e0ff}.twin-mini-scene canvas.geo3d-canvas{height:320px;border-radius:24px}
@media(max-width:1180px){.geo3d-hero-v31,.geo3d-layout,.geo3d-section-head{grid-template-columns:1fr}.geo3d-toolbar{grid-template-columns:1fr 1fr}.geo3d-hero-map-card{min-height:460px}.geo3d-map-frame,.geo3d-map-frame .geo3d-canvas{min-height:560px;height:560px}.geo3d-overlay-cards{grid-template-columns:1fr}.geo3d-score-card{max-width:360px}}
@media(max-width:760px){.geo3d-hero-v31{min-height:auto;padding-top:42px}.geo3d-toolbar{grid-template-columns:1fr}.geo3d-hero-map-card{min-height:390px;padding:12px}.geo3d-canvas{height:330px}.geo3d-map-frame,.geo3d-map-frame .geo3d-canvas{min-height:440px;height:440px}.geo3d-mini-topbar b{font-size:28px}.geo3d-score-card strong{font-size:38px}}
.radar-3d-inline-panel{display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:18px;align-items:center;margin:22px 0;padding:20px;border-radius:28px;background:linear-gradient(120deg,rgba(85,224,255,.09),rgba(179,136,255,.09));border:1px solid rgba(255,255,255,.13);box-shadow:0 24px 70px rgba(0,0,0,.22)}.radar-3d-copy h3{margin:6px 0 10px}.radar-3d-copy p{color:#aabbd6}.radar-3d-inline-panel .route-3d-canvas-card{min-height:380px}.radar-3d-inline-panel .geo3d-canvas{height:380px}@media(max-width:980px){.radar-3d-inline-panel{grid-template-columns:1fr}.radar-3d-inline-panel .geo3d-canvas{height:330px}}


/* v32 real map-backed 3D demo */
.real3d-page{background:#030914;color:#eef6ff}.real3d-hero{display:grid;grid-template-columns:minmax(0,0.9fr) minmax(520px,1.1fr);gap:32px;align-items:center;padding:76px 7vw 54px;background:radial-gradient(circle at 12% 20%,rgba(85,224,255,.20),transparent 32%),radial-gradient(circle at 78% 12%,rgba(179,136,255,.18),transparent 32%),linear-gradient(135deg,#071827,#050916 62%,#02050d);border-bottom:1px solid rgba(255,255,255,.09)}.real3d-copy h1{font-size:clamp(42px,6vw,84px);line-height:.96;margin:24px 0 22px;max-width:900px}.real3d-copy p{font-size:18px;line-height:1.65;color:#cbd8ee;max-width:800px}.real3d-proof-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.real3d-proof-row span{border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.055);border-radius:999px;padding:10px 13px;color:#bbcae4}.real3d-proof-row b{color:#55e0ff}.real3d-hero-card,.real3d-map-card,.real3d-insights,.real3d-score-card{border:1px solid rgba(255,255,255,.13);background:linear-gradient(145deg,rgba(16,32,55,.88),rgba(5,13,27,.88));box-shadow:0 28px 90px rgba(0,0,0,.35);border-radius:30px}.real3d-hero-card{padding:16px;min-height:560px}.real3d-card-head{display:flex;justify-content:space-between;align-items:center;padding:4px 6px 14px;color:#cbd8ee}.real3d-card-head strong{font-size:38px;color:#55e0ff}.real3d-legend{display:flex;gap:10px;flex-wrap:wrap;padding-top:12px}.real3d-legend span{font-size:13px;color:#dce9ff;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);border-radius:999px;padding:8px 10px}.real-map{width:100%;height:100%;min-height:520px;border-radius:24px;background:#06101f;overflow:hidden}.mini-map{height:470px;min-height:470px}.real3d-section{background:linear-gradient(180deg,#030914,#07111f);border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}.real3d-section-head{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:22px;align-items:end;margin-bottom:18px}.real3d-section-head h2{font-size:clamp(34px,4.4vw,58px);margin:12px 0}.real3d-section-head p{color:#bfd0ea;font-size:17px;line-height:1.6}.real3d-score-card{padding:18px}.real3d-score-card span,.real3d-score-card small{display:block;color:#aabbd6}.real3d-score-card strong{display:block;color:#55e0ff;font-size:54px;line-height:1;margin:10px 0}.real3d-toolbar{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr)) auto auto;gap:12px;align-items:end;margin:18px 0 20px;padding:16px;border-radius:22px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.11)}.real3d-toolbar label{display:grid;gap:7px;color:#aabbd6;font-size:13px}.real3d-toolbar select{width:100%;background:#07101f;color:#eef6ff;border:1px solid rgba(255,255,255,.18);border-radius:13px;padding:12px 13px}.real3d-grid{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:18px;align-items:stretch}.real3d-map-card{padding:18px}.real3d-titlebar{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:13px}.real3d-titlebar h3{margin:4px 0 0}.real-map-shell{position:relative;min-height:720px;border-radius:26px;overflow:hidden;background:#06101f;border:1px solid rgba(85,224,255,.14)}.real-map-shell .real-map{position:absolute;inset:0;height:100%;min-height:720px;border-radius:26px}.map-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle,rgba(85,224,255,.12),rgba(2,6,15,.92));z-index:3;color:#dce9ff;font-weight:800}.map-fallback{display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;height:100%;min-height:420px;padding:30px;color:#dce9ff;text-align:center}.map-fallback b{font-size:28px;color:#55e0ff}.real-map-overlay{position:absolute;z-index:4;pointer-events:none}.real-map-overlay.top-left{top:16px;left:16px;max-width:340px;background:rgba(5,13,27,.78);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:12px 14px;backdrop-filter:blur(10px)}.real-map-overlay b,.real-map-overlay span{display:block}.real-map-overlay span{color:#aabbd6;font-size:12px;margin-top:3px}.real-map-overlay.bottom-cards{left:16px;right:16px;bottom:16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.real-map-overlay.bottom-cards div{background:rgba(5,13,27,.78);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:13px;backdrop-filter:blur(9px)}.real3d-camera-buttons{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.real3d-camera-buttons button{border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.06);color:#dce9ff;padding:10px 13px;font-weight:800;cursor:pointer}.real3d-camera-buttons button.active,.real3d-camera-buttons button:hover{background:#55e0ff;color:#06101f}.real3d-insights{padding:20px}.real3d-insights h3{margin-top:0}.real3d-next-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.route-map-card{margin:18px 0 22px;border:1px solid rgba(255,255,255,.13);border-radius:28px;background:linear-gradient(145deg,rgba(16,32,55,.88),rgba(5,13,27,.88));box-shadow:0 24px 70px rgba(0,0,0,.28);padding:16px}.route-map-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px}.route-map-head h3{margin:4px 0 0}.route-map-shell{position:relative;height:620px;border-radius:24px;overflow:hidden;border:1px solid rgba(85,224,255,.14);background:#06101f}.route-map-shell .real-map{position:absolute;inset:0;min-height:620px;border-radius:24px}.route-map-overlay{position:absolute;left:16px;bottom:16px;right:16px;z-index:3;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.route-map-overlay div{background:rgba(5,13,27,.78);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:12px;backdrop-filter:blur(10px)}.route-map-overlay b,.route-map-overlay span{display:block}.route-map-overlay span{font-size:12px;color:#aabbd6;margin-top:4px}.maplibregl-ctrl-attrib{font-size:10px!important}.maplibregl-ctrl-logo{display:none!important}
@media(max-width:1050px){.real3d-hero,.real3d-grid,.real3d-section-head{grid-template-columns:1fr}.real3d-hero-card{min-height:440px}.mini-map{height:360px;min-height:360px}.real3d-toolbar{grid-template-columns:1fr 1fr}.real-map-shell,.real-map-shell .real-map{min-height:560px}.route-map-overlay,.real-map-overlay.bottom-cards{grid-template-columns:1fr}.route-map-shell,.route-map-shell .real-map{height:540px;min-height:540px}}@media(max-width:680px){.real3d-hero{padding:48px 22px}.real3d-toolbar{grid-template-columns:1fr}.real3d-copy h1{font-size:42px}.real-map-shell,.real-map-shell .real-map{min-height:480px}.route-map-shell,.route-map-shell .real-map{height:480px;min-height:480px}}

/* ===== Velora v34: reliable local 3D map engine and map-backed heatmaps ===== */
.v34-page{background:#030914;color:#eef6ff}.v34-hero{display:grid;grid-template-columns:minmax(0,.95fr) minmax(520px,1.05fr);gap:34px;align-items:center;padding:72px 7vw 58px;background:radial-gradient(circle at 12% 18%,rgba(85,224,255,.22),transparent 34%),radial-gradient(circle at 82% 12%,rgba(179,136,255,.18),transparent 34%),linear-gradient(135deg,#061827,#040916 62%,#02050d);border-bottom:1px solid rgba(255,255,255,.09)}.v34-copy h1{font-size:clamp(44px,6vw,86px);line-height:.96;margin:24px 0 22px;max-width:980px}.v34-copy p{font-size:18px;line-height:1.65;color:#cbd8ee;max-width:830px}.v34-proof{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.v34-proof span{border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.055);border-radius:999px;padding:10px 13px;color:#bbcae4}.v34-proof b{color:#55e0ff}.v34-hero-map-card,.v34-map-card,.v34-insights,.v34-score-card,.v34-route-map-card{border:1px solid rgba(255,255,255,.13);background:linear-gradient(145deg,rgba(16,32,55,.88),rgba(5,13,27,.88));box-shadow:0 28px 90px rgba(0,0,0,.35);border-radius:30px}.v34-hero-map-card{padding:16px;min-height:560px}.v34-card-head{display:flex;justify-content:space-between;align-items:center;padding:4px 6px 14px;color:#cbd8ee}.v34-card-head strong{font-size:42px;color:#55e0ff}.v34-map-canvas{display:block;width:100%;height:100%;min-height:480px;border-radius:24px;background:#06101f;box-shadow:inset 0 0 0 1px rgba(85,224,255,.14)}.v34-hero-map-card .v34-map-canvas{height:470px;min-height:470px}.v34-legend{display:flex;gap:10px;flex-wrap:wrap;padding-top:12px}.v34-legend span{font-size:13px;color:#dce9ff;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);border-radius:999px;padding:8px 10px}.v34-section{background:linear-gradient(180deg,#030914,#07111f);border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}.v34-section-head{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:22px;align-items:end;margin-bottom:18px}.v34-section-head h2{font-size:clamp(34px,4.4vw,58px);margin:12px 0}.v34-section-head p{color:#bfd0ea;font-size:17px;line-height:1.6}.v34-score-card{padding:18px}.v34-score-card span,.v34-score-card small{display:block;color:#aabbd6}.v34-score-card strong{display:block;color:#55e0ff;font-size:54px;line-height:1;margin:10px 0}.v34-toolbar{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr)) auto;gap:12px;align-items:end;margin:18px 0 20px;padding:16px;border-radius:22px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.11)}.v34-toolbar label{display:grid;gap:7px;color:#aabbd6;font-size:13px}.v34-toolbar select{width:100%;background:#07101f;color:#eef6ff;border:1px solid rgba(255,255,255,.18);border-radius:13px;padding:12px 13px}.v34-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:18px;align-items:stretch}.v34-map-card{padding:18px}.v34-titlebar{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:13px}.v34-titlebar h3{margin:4px 0 0}.v34-map-shell{position:relative;min-height:720px;border-radius:26px;overflow:hidden;background:#06101f;border:1px solid rgba(85,224,255,.14)}.v34-map-shell.small{min-height:460px}.v34-map-shell.small .v34-map-canvas{min-height:460px}.v34-map-shell .v34-map-canvas{position:absolute;inset:0;height:100%;min-height:720px;border-radius:26px}.v34-map-overlay{position:absolute;z-index:4;pointer-events:none}.v34-map-overlay.top-left{top:16px;left:16px;max-width:360px;background:rgba(5,13,27,.80);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:12px 14px;backdrop-filter:blur(10px)}.v34-map-overlay b,.v34-map-overlay span{display:block}.v34-map-overlay span{color:#aabbd6;font-size:12px;margin-top:3px}.v34-map-overlay.bottom-cards{left:16px;right:16px;bottom:16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.v34-map-overlay.bottom-cards div{background:rgba(5,13,27,.80);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:13px;backdrop-filter:blur(9px)}.v34-camera-buttons{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.v34-camera-buttons button{border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.06);color:#dce9ff;padding:10px 13px;font-weight:800;cursor:pointer}.v34-camera-buttons button:hover{background:#55e0ff;color:#06101f}.v34-insights{padding:20px}.v34-insights h3{margin-top:0}.v34-route-map-card{grid-column:1/-1;margin:22px 0;padding:18px}.v34-route-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:14px}.v34-route-head h3{margin:5px 0 7px}.v34-route-head p{margin:0;color:#aabbd6;max-width:820px}.v34-route-map-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.v34-route-map-card .v34-map-canvas{height:460px}.radar-map-canvas{background:radial-gradient(circle at 30% 40%,rgba(255,107,107,.22),transparent 18%),radial-gradient(circle at 62% 48%,rgba(179,136,255,.20),transparent 20%),linear-gradient(135deg,#07182c,#051326 62%,#030a16)!important}.radar-grid-layer{opacity:.18!important}.radar-map-canvas::before{content:"";position:absolute;inset:0;background:linear-gradient(28deg,transparent 45%,rgba(220,233,255,.16) 46%,rgba(220,233,255,.16) 48%,transparent 49%),linear-gradient(-18deg,transparent 38%,rgba(220,233,255,.12) 39%,rgba(220,233,255,.12) 41%,transparent 42%),linear-gradient(89deg,transparent 48%,rgba(220,233,255,.10) 49%,rgba(220,233,255,.10) 51%,transparent 52%);pointer-events:none}.radar-map-canvas::after{content:"Map background layer · roads, hubs, stores, signal and risk pockets";position:absolute;left:18px;bottom:18px;border:1px solid rgba(255,255,255,.14);background:rgba(5,13,27,.75);color:#dce9ff;border-radius:999px;padding:9px 12px;font-weight:800;font-size:12px;pointer-events:none}@media(max-width:1100px){.v34-hero,.v34-layout,.v34-section-head,.v34-route-map-grid{grid-template-columns:1fr}.v34-hero-map-card{min-height:440px}.v34-toolbar{grid-template-columns:1fr 1fr}.v34-map-shell,.v34-map-shell .v34-map-canvas{min-height:560px}.v34-map-overlay.bottom-cards{grid-template-columns:1fr}}@media(max-width:700px){.v34-hero{padding:46px 22px}.v34-toolbar{grid-template-columns:1fr}.v34-copy h1{font-size:42px}.v34-map-shell,.v34-map-shell .v34-map-canvas{min-height:480px}.v34-hero-map-card .v34-map-canvas{height:360px;min-height:360px}}

/* v35 product-grade real map intelligence layer */
.v35-page{background:#071223;color:#f6fbff;}
.v35-product-hero{padding:76px 7vw 34px;background:radial-gradient(circle at 18% 8%,rgba(44,224,255,.22),transparent 34%),linear-gradient(120deg,#071223,#0b1530 62%,#08111f);border-bottom:1px solid rgba(255,255,255,.08)}
.v35-product-hero h1{font-size:clamp(44px,5vw,84px);line-height:.96;max-width:1150px;margin:18px 0;color:#fff;letter-spacing:-.05em}.v35-product-hero p{max-width:980px;color:#c9d8f4;font-size:20px;line-height:1.65}.v35-product-proof{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.v35-product-proof span{padding:10px 14px;border:1px solid rgba(84,230,255,.28);border-radius:999px;background:rgba(84,230,255,.08);font-weight:800;color:#dff9ff}
.v35-map-section{padding:52px 7vw}.v35-map-shell-product{border:1px solid rgba(255,255,255,.14);background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.03));border-radius:28px;padding:22px;box-shadow:0 28px 80px rgba(0,0,0,.36)}
.v35-map-header{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:18px}.v35-map-header h2{font-size:clamp(30px,3vw,54px);line-height:1;margin:8px 0;color:#fff}.v35-map-header p{color:#c8d8f4;max-width:760px}.v35-live-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(79,255,194,.12);border:1px solid rgba(79,255,194,.38);color:#aaffeb;font-weight:900;font-size:13px;text-transform:uppercase;letter-spacing:.12em}.v35-live-badge:before{content:"";width:8px;height:8px;border-radius:50%;background:#4fffc2;box-shadow:0 0 18px #4fffc2}
.v35-score-tile{min-width:230px;border:1px solid rgba(84,230,255,.18);border-radius:22px;padding:18px;background:rgba(6,16,34,.72)}.v35-score-tile span{color:#a9bbd8;font-size:12px;text-transform:uppercase;letter-spacing:.1em}.v35-score-tile strong{display:block;font-size:44px;line-height:1;color:#58e9ff}.v35-score-tile small{color:#d5e4ff}
.v35-toolbar{display:flex;flex-wrap:wrap;gap:14px;margin:18px 0 22px;align-items:end}.v35-toolbar label{display:flex;flex-direction:column;gap:7px;color:#d8e7ff;font-weight:800}.v35-toolbar select{min-width:220px;border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:12px 14px;background:#08162b;color:#fff;font-weight:800}.v35-map-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(300px,.7fr);gap:20px}.v35-map-wrap{position:relative;min-height:680px;border-radius:24px;overflow:hidden;border:1px solid rgba(84,230,255,.26);background:#0b1629}.v35-map{position:absolute;inset:0;width:100%;height:100%;min-height:620px}.v35-map canvas{outline:none}.v35-map-overlay-card{position:absolute;left:18px;top:18px;z-index:2;max-width:330px;padding:15px 16px;border-radius:18px;border:1px solid rgba(255,255,255,.18);background:rgba(5,14,30,.84);backdrop-filter:blur(12px);box-shadow:0 16px 44px rgba(0,0,0,.32)}.v35-map-overlay-card strong{display:block;color:#fff;font-size:18px}.v35-map-overlay-card span{display:block;color:#bcd0ed;line-height:1.45;margin-top:4px}.v35-map-attribution-note{position:absolute;bottom:14px;left:14px;z-index:2;padding:8px 10px;border-radius:10px;background:rgba(0,0,0,.5);color:#dbe8ff;font-size:12px}.v35-marker{display:flex;align-items:center;gap:8px;transform:translateY(-6px);filter:drop-shadow(0 8px 18px rgba(0,0,0,.4))}.v35-marker strong{display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:#54e6ff;color:#061122;border:2px solid #fff;font-weight:900}.v35-marker span{white-space:nowrap;background:rgba(6,14,30,.84);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:7px 10px;color:#fff;font-weight:800}.v35-marker.hub strong{background:#57f0b5}.v35-marker.signal strong{background:#a675ff;color:#fff}.v35-marker.pickup strong{background:#ffd166}.v35-marker.asset strong{background:#ff7b7b;color:#fff}.v35-side-panel{display:flex;flex-direction:column;gap:16px}.v35-side-card{border:1px solid rgba(255,255,255,.13);border-radius:24px;padding:22px;background:rgba(7,17,36,.78)}.v35-side-card h3{margin:0 0 12px;color:#fff}.v35-side-card p{color:#cbdaf4;line-height:1.55}.v35-kpi-list{display:grid;gap:10px}.v35-kpi-list div{display:flex;justify-content:space-between;gap:12px;padding:12px;border-radius:14px;background:rgba(255,255,255,.06)}.v35-kpi-list span{color:#aebfdb}.v35-kpi-list b{color:#fff}.v35-layer-stack{display:grid;gap:10px}.v35-layer-stack span{padding:10px 12px;border-radius:14px;background:linear-gradient(90deg,rgba(84,230,255,.16),rgba(166,117,255,.12));color:#eaf7ff;font-weight:800}.v35-map-fallback{display:grid;place-items:center;min-height:520px;background:linear-gradient(145deg,#071426,#111b35)!important;color:#fff}.v35-map-fallback div{max-width:560px;text-align:center;padding:32px}.v35-map-fallback strong{font-size:28px}.v35-map-fallback p{color:#cbdaf4}.v35-provider-card{margin-top:18px;border-radius:20px;border:1px dashed rgba(84,230,255,.32);padding:18px;background:rgba(84,230,255,.06)}.v35-provider-card code{color:#9ff5ff}.v35-comparison-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}.v35-comparison-grid article{border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:22px;background:rgba(255,255,255,.05)}.v35-comparison-grid h3{color:#fff}.v35-comparison-grid p{color:#cbdaf4;line-height:1.55}.v35-route-embed{margin:28px 0;border:1px solid rgba(84,230,255,.18);border-radius:26px;overflow:hidden;background:#071426}.v35-route-embed .v35-map-wrap{border:0;border-radius:0;min-height:560px}.v35-route-header{padding:22px;display:flex;justify-content:space-between;gap:18px;align-items:flex-end;background:linear-gradient(90deg,rgba(84,230,255,.12),rgba(166,117,255,.08))}.v35-route-header h3{color:#fff;margin:6px 0}.v35-route-header p{color:#cbdaf4;margin:0}
@media(max-width:1000px){.v35-map-grid{grid-template-columns:1fr}.v35-map-wrap{min-height:540px}.v35-map-header{display:block}.v35-comparison-grid{grid-template-columns:1fr}.v35-product-hero{padding-top:44px}}

/* === Velora v36 map-first product rebuild === */
.v36-page{background:#030914;color:#eef6ff}.v36-page .nav{position:sticky;top:0;z-index:30;background:rgba(4,10,22,.94);backdrop-filter:blur(14px)}
.v36-hero{padding:64px 7vw 38px;background:radial-gradient(circle at 14% 18%,rgba(84,230,255,.20),transparent 34%),radial-gradient(circle at 82% 8%,rgba(85,120,255,.18),transparent 36%),linear-gradient(135deg,#07182a,#050a18 65%,#030713)}
.v36-compact-hero h1{font-size:clamp(44px,5.5vw,76px);line-height:1;max-width:1080px;margin:18px 0}.v36-compact-hero p{font-size:20px;line-height:1.58;color:#cbd8ee;max-width:1000px}
.v36-badge{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(84,230,255,.36);background:rgba(84,230,255,.10);color:#89f4ff;border-radius:999px;padding:9px 14px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;font-size:12px}.v36-badge.live{border-color:rgba(77,255,194,.42);background:rgba(77,255,194,.10);color:#aaffeb}.v36-badge.live:before{content:"";width:8px;height:8px;border-radius:50%;background:#4dffc2;box-shadow:0 0 18px #4dffc2}
.v36-product-shell{margin:44px 5vw;padding:28px;border:1px solid rgba(255,255,255,.13);border-radius:32px;background:linear-gradient(145deg,rgba(22,37,62,.86),rgba(5,12,26,.94));box-shadow:0 32px 100px rgba(0,0,0,.42)}
.v36-product-map-page{margin-top:34px}.v36-product-top{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:24px;align-items:end;margin-bottom:22px}.v36-product-top h1,.v36-product-top h2{font-size:clamp(34px,4vw,62px);line-height:1;margin:12px 0;color:#fff}.v36-product-top p{font-size:18px;color:#c9d8f0;line-height:1.55;max-width:960px}
.v36-score-hero{border:1px solid rgba(84,230,255,.22);background:rgba(7,18,36,.82);border-radius:24px;padding:18px}.v36-score-hero span,.v36-score-hero small{display:block;color:#aebfdb}.v36-score-hero strong{display:block;color:#55e0ff;font-size:58px;line-height:1;margin:6px 0}.v36-score-hero small{font-weight:800}
.v36-controls-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr)) repeat(3,auto);gap:12px;align-items:end;margin:18px 0 22px;padding:16px;border:1px solid rgba(255,255,255,.11);border-radius:24px;background:rgba(255,255,255,.045)}.v36-controls-grid label{display:grid;gap:7px;color:#d9e7ff;font-weight:900}.v36-controls-grid select,.v36-controls-grid input{border:1px solid rgba(84,230,255,.25);background:#071427;color:#fff;border-radius:14px;padding:13px 14px;font-weight:850;min-height:48px}.v36-controls-grid .btn{min-height:48px;white-space:nowrap}
.v36-score-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}.v36-score-grid .radar-score-card{min-height:112px}
.v36-map-workbench{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(320px,.7fr);gap:22px;align-items:start}.v36-map-card-main,.v36-panel,.v36-insight-rail .radar-insight-drawer,.v36-insight-rail .radar-why-block{border:1px solid rgba(255,255,255,.13);border-radius:26px;background:rgba(6,15,31,.76);box-shadow:0 18px 50px rgba(0,0,0,.20)}.v36-map-card-main{padding:18px}.v36-map-titlebar{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.v36-map-titlebar h3{color:#fff;margin:5px 0 0;font-size:30px}.v36-map-wrap-product{position:relative;height:720px;min-height:720px;border-radius:28px;overflow:hidden;border:1px solid rgba(84,230,255,.25);background:#071427}.v36-map-wrap-product .v36-map,.v36-map-wrap-product .v35-map{position:absolute;inset:0;width:100%;height:100%!important;min-height:720px}.v36-xl-map{height:760px;min-height:760px}.v36-xl-map .v36-map,.v36-xl-map .v35-map{min-height:760px}.v36-layer-card{position:absolute;top:18px;left:18px;z-index:5;max-width:380px;border:1px solid rgba(255,255,255,.17);background:rgba(6,16,34,.82);backdrop-filter:blur(12px);border-radius:20px;padding:15px 16px;box-shadow:0 20px 60px rgba(0,0,0,.35)}.v36-layer-card b,.v36-layer-card span{display:block}.v36-layer-card b{font-size:18px;color:#fff}.v36-layer-card span{color:#c0d1ed;margin-top:5px;line-height:1.45}.v36-map-footer-label{position:absolute;left:16px;bottom:16px;z-index:5;padding:9px 12px;border-radius:999px;background:rgba(0,0,0,.55);color:#e4efff;font-size:12px;font-weight:800}.v36-layer-toggles{padding-top:16px;margin-top:12px;border-top:1px solid rgba(255,255,255,.08)}
.v36-insight-rail{display:flex;flex-direction:column;gap:16px}.v36-panel{padding:20px}.v36-panel h3{margin:0 0 12px;color:#fff}.v36-panel p{color:#cbd8ee;line-height:1.55}.v36-kpi-list{display:grid;gap:10px}.v36-kpi-list div{display:flex;justify-content:space-between;gap:12px;padding:12px;border-radius:14px;background:rgba(255,255,255,.06)}.v36-kpi-list b{color:#fff}.v36-layer-stack{display:grid;gap:10px}.v36-layer-stack span{padding:12px 13px;border-radius:15px;background:linear-gradient(90deg,rgba(84,230,255,.18),rgba(166,117,255,.13));font-weight:900;color:#e9f8ff}.v36-cta-card .btn{margin-top:8px}
.v35-marker span{font-size:12px}.v35-marker strong{box-shadow:0 8px 24px rgba(0,0,0,.30)}.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-bottom-left{font-size:10px}.maplibregl-canvas{outline:none}.v35-map-fallback{display:grid!important;place-items:center;min-height:520px!important;background:linear-gradient(135deg,#071427,#0c1830)!important;color:#fff}.v35-map-fallback div{max-width:560px;text-align:center;padding:30px}.v35-map-fallback strong{font-size:26px}.v35-map-fallback p{color:#cbd8ee}
.geo-hero{grid-template-columns:minmax(0,.95fr) minmax(520px,1.05fr);align-items:center}.geo-hero-map-card{position:relative;min-height:560px;border-radius:30px;overflow:hidden;border:1px solid rgba(84,230,255,.24);background:#071427;box-shadow:0 28px 90px rgba(0,0,0,.35)}.geo-hero-map-card .v36-map{position:absolute;inset:0;width:100%;height:100%;min-height:560px}.geo-card-over-map{top:auto;bottom:20px;right:20px;left:auto;max-width:330px}.geo-hero-visual{display:none!important}
.twin-controls{grid-template-columns:repeat(2,minmax(230px,1fr)) repeat(4,auto)}.twin-map-workbench{grid-template-columns:minmax(0,1.9fr) minmax(330px,.65fr)}
/* Hide old simulation/canvas elements if a cached page accidentally leaves them in DOM */
.route-3d-canvas-card,.geo3d-canvas,.v34-hero-map-card,.v34-map-card{display:none!important}
@media(max-width:1180px){.v36-controls-grid,.twin-controls{grid-template-columns:1fr 1fr}.v36-map-workbench,.twin-map-workbench,.v36-product-top,.geo-hero{grid-template-columns:1fr}.geo-hero-map-card{min-height:480px}.geo-hero-map-card .v36-map{min-height:480px}.v36-score-grid{grid-template-columns:1fr 1fr}.v36-map-wrap-product,.v36-map-wrap-product .v36-map,.v36-map-wrap-product .v35-map{height:620px;min-height:620px}}
@media(max-width:720px){.v36-hero{padding:42px 22px}.v36-product-shell{margin:24px 14px;padding:16px;border-radius:24px}.v36-product-top h1,.v36-product-top h2{font-size:36px}.v36-controls-grid,.twin-controls{grid-template-columns:1fr}.v36-score-grid{grid-template-columns:1fr}.v36-map-wrap-product,.v36-map-wrap-product .v36-map,.v36-map-wrap-product .v35-map{height:520px;min-height:520px}.v36-layer-card{max-width:calc(100% - 32px)}.v36-map-titlebar{display:block}.v36-map-titlebar h3{font-size:24px}.geo-hero-map-card{min-height:420px}.geo-hero-map-card .v36-map{min-height:420px}}


/* v37 enterprise map UX fixes */
.v37-map-shell{position:relative}.v37-map-legend{position:absolute;right:16px;bottom:16px;z-index:7;max-width:320px;background:rgba(4,12,25,.82);border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:12px 14px;backdrop-filter:blur(12px);box-shadow:0 18px 45px rgba(0,0,0,.35)}.v37-map-legend b{display:block;color:#fff;margin-bottom:8px}.v37-map-legend span{display:flex;align-items:center;gap:8px;color:#d7e6ff;font-size:12px;line-height:1.25;margin:6px 0}.v37-map-legend i{display:inline-block;width:18px;height:8px;border-radius:999px;box-shadow:0 0 0 1px rgba(255,255,255,.24)}.lg-route{background:#12d6ff}.lg-heat{background:linear-gradient(90deg,#31d7ff,#ffd166,#ff5b70)}.lg-fibre{background:#8e66ff}.lg-signal{background:#a675ff;border-radius:50%!important;width:12px!important;height:12px!important}.lg-building{background:#ff8f5a}.lg-marker{background:#59e8ae}.v37-map-help{position:absolute;left:16px;bottom:16px;z-index:7;max-width:360px;background:rgba(4,12,25,.80);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:12px 14px;backdrop-filter:blur(12px);box-shadow:0 18px 45px rgba(0,0,0,.35)}.v37-map-help b{display:block;color:#fff;margin-bottom:6px}.v37-map-help span{display:block;color:#c6d8f4;font-size:12px;line-height:1.35;margin:4px 0}.v37-fullscreen-btn{position:absolute;right:16px;top:16px;z-index:8;border:1px solid rgba(255,255,255,.18);background:#56dffc;color:#06101f;border-radius:999px;padding:10px 14px;font-weight:900;cursor:pointer;box-shadow:0 12px 35px rgba(0,0,0,.25)}.v37-marker{display:grid;place-items:center;gap:4px;text-align:center;transform:translateY(-2px)}.v37-marker strong{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#59e8ae;color:#06101f;border:2px solid #fff;box-shadow:0 10px 30px rgba(0,0,0,.28);font-size:16px}.v37-marker span{white-space:nowrap;background:rgba(4,12,25,.85);border:1px solid rgba(255,255,255,.16);border-radius:999px;color:#fff;font-size:11px;font-weight:800;padding:5px 8px}.v37-marker.signal strong{background:#a675ff;color:#fff}.v37-marker.pickup strong{background:#ffd166}.v37-marker.asset strong{background:#ff7b88;color:#fff}.v37-marker.hub strong{background:#59e8ae}.v37-fullscreen-map{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;min-height:100vh!important;z-index:99999!important;border-radius:0!important;background:#06101f!important}.v37-fullscreen-map .v35-map,.v37-fullscreen-map .v36-map{height:100vh!important;min-height:100vh!important;border-radius:0!important}.v37-fullscreen-map .v36-layer-card{top:18px;left:18px;max-width:360px}.v37-fullscreen-map .v37-map-help{left:18px;bottom:18px}.v37-fullscreen-map .v37-map-legend{right:18px;bottom:18px}.v37-fullscreen-map .v37-fullscreen-btn{right:18px;top:18px}.v37-fullscreen-map .v36-map-footer-label{display:none}.v37-map-shell[data-map-mode="top"] .v37-map-help span:first-of-type,.v37-map-shell[data-map-mode="asset"] .v37-map-help span:nth-of-type(3){color:#56dffc}.v36-layer-toggles{display:flex;flex-wrap:wrap;gap:10px}.radar-toggle{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.07);color:#d8e6fb;border-radius:999px;padding:10px 12px;font-weight:800;cursor:pointer}.radar-toggle.active{background:#57dffe;color:#06101f;border-color:#57dffe}.v36-map-wrap-product{isolation:isolate}.geo-module-card .btn{margin-top:12px}.v37-solution-shell{margin-top:44px}.v37-solution-page .v36-map-wrap-product{height:720px}.v37-action-list{padding-left:20px;color:#c9d8ef;line-height:1.7}.v36-controls-grid button[title]{position:relative}.v36-controls-grid button[title]:focus,.v36-controls-grid button[title]:hover{border-color:#56dffc;color:#fff}.v36-controls-grid label small,.v37-control-note{display:block;color:#9fb2d2;font-size:12px;margin-top:4px}.v36-map-card-main{overflow:visible}.maplibregl-ctrl-top-right{top:58px!important}.v37-fullscreen-map .maplibregl-ctrl-top-right{top:64px!important}.geo-hero-map-card .v37-map-help,.geo-hero-map-card .v37-map-legend{display:none}.geo-hero-map-card .v37-fullscreen-btn{display:none}.v36-layer-card{pointer-events:none}.v37-fullscreen-btn,.maplibregl-ctrl{pointer-events:auto}@media(max-width:900px){.v37-map-help{display:none}.v37-map-legend{left:12px;right:12px;bottom:12px;max-width:none}.v37-fullscreen-btn{right:12px;top:12px}.v36-layer-card{left:12px;top:58px;max-width:calc(100% - 24px)}}

/* v38 product-aware map legends and layer semantics */
.lg-pickup{background:#ff5f6d!important}.lg-pedestrian{background:#55e6ff!important}.lg-esg-asset{background:#59e8ae!important}.lg-esg-flood{background:#3bb6ff!important}.lg-esg-heat{background:#ff8f5a!important}.lg-asbuilt{background:#55e6ff!important}.lg-cabinet{background:#ffd166!important}.lg-pole{background:#59e8ae!important}.lg-reason{background:#ffd166!important}.lg-evidence{background:#59e8ae!important}.lg-riskwatch{background:#ff465d!important}.lg-vendor{background:#ffd166!important}.v37-map-shell[data-product-layer="route"] .v37-map-legend{border-color:rgba(85,230,255,.36)}.v37-map-shell[data-product-layer="esg"] .v37-map-legend{border-color:rgba(89,232,174,.40)}.v37-map-shell[data-product-layer="fibre"] .v37-map-legend{border-color:rgba(142,102,255,.45)}.v37-map-shell[data-product-layer="reasoning"] .v37-map-legend{border-color:rgba(255,209,102,.45)}.v37-map-shell[data-product-layer="riskwatch"] .v37-map-legend{border-color:rgba(255,70,93,.45)}.v37-map-shell[data-product-layer="esg"] .v37-map-help b,.v37-map-shell[data-product-layer="esg"] .v37-map-legend b{color:#8fffe0}.v37-map-shell[data-product-layer="fibre"] .v37-map-help b,.v37-map-shell[data-product-layer="fibre"] .v37-map-legend b{color:#c7b5ff}.v37-map-shell[data-product-layer="riskwatch"] .v37-map-help b,.v37-map-shell[data-product-layer="riskwatch"] .v37-map-legend b{color:#ffb3b9}.v37-map-shell[data-product-layer="reasoning"] .v37-map-help b,.v37-map-shell[data-product-layer="reasoning"] .v37-map-legend b{color:#ffe29a}


/* v39 upload-safe VisionOps preview: replaces GIF dependency */
.visionops-static-preview{position:relative;min-height:260px;border-radius:24px;overflow:hidden;background:linear-gradient(145deg,#0d1b2f,#122845 45%,#07121f);border:1px solid rgba(91,213,255,.28);box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}
.visionops-static-preview:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0 48%,rgba(255,255,255,.16) 49% 51%,transparent 52%),repeating-linear-gradient(0deg,rgba(255,255,255,.07) 0 2px,transparent 2px 38px);transform:perspective(420px) rotateX(58deg) translateY(60px) scale(1.2);transform-origin:center bottom;opacity:.75}
.vision-road-line{position:absolute;left:12%;right:10%;top:54%;height:7px;background:linear-gradient(90deg,#52d6ff,#56f0bd,#ffc65d,#ff6b7d);border-radius:999px;box-shadow:0 0 28px rgba(82,214,255,.45);transform:rotate(10deg)}
.vision-tag{position:absolute;padding:8px 12px;border-radius:999px;background:rgba(5,14,28,.82);border:1px solid rgba(255,255,255,.16);font-weight:800;color:#f7fbff;backdrop-filter:blur(8px)}
.vision-tag.tag-a{left:9%;top:22%}.vision-tag.tag-b{right:12%;top:28%}.vision-tag.tag-c{left:26%;bottom:22%}.vision-tag.tag-d{right:9%;bottom:18%}

/* v41 market-ready product fixes: map-first, pilot-ready, no demo/static language */
.v41-page{background:#06101f;color:#f7fbff}.v41-kicker{display:inline-flex;align-items:center;gap:8px;color:#62f0ff;border:1px solid rgba(98,240,255,.35);background:rgba(51,218,255,.10);border-radius:999px;padding:8px 14px;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:900}.v41-hero-map-first{display:grid;grid-template-columns:minmax(0,.88fr) minmax(560px,1.12fr);gap:34px;align-items:center;padding:72px 6vw 58px;border-bottom:1px solid rgba(255,255,255,.08);background:radial-gradient(circle at 18% 20%,rgba(32,214,255,.20),transparent 28%),linear-gradient(135deg,#071728,#081326 58%,#0b1530)}.v41-hero-copy h1{font-size:clamp(44px,6vw,86px);line-height:.98;margin:20px 0 20px;letter-spacing:-.055em}.v41-hero-copy p{font-size:20px;line-height:1.55;color:#c9d9f2;max-width:900px}.v41-hero-proof{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 28px}.v41-hero-proof span{border:1px solid rgba(98,240,255,.26);background:rgba(98,240,255,.08);border-radius:999px;padding:9px 13px;color:#dff9ff;font-weight:800}.v41-hero-map-frame{position:relative;min-height:620px;border-radius:32px;overflow:hidden;border:1px solid rgba(98,240,255,.24);background:#071427;box-shadow:0 28px 90px rgba(0,0,0,.38)}.v41-hero-map-frame .v35-map,.v41-hero-map-frame .v36-map{position:absolute;inset:0;height:100%;min-height:620px}.v41-map-float{position:absolute;z-index:8;background:rgba(5,14,28,.82);border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:14px 16px;backdrop-filter:blur(12px);box-shadow:0 18px 45px rgba(0,0,0,.35)}.v41-map-float b{display:block;color:#fff}.v41-map-float span{display:block;color:#c5d7ef;font-size:13px}.v41-map-float strong{display:block;color:#62f0ff;font-size:42px;line-height:1}.v41-map-float.top-left{left:18px;top:18px}.v41-map-float.bottom-right{right:18px;bottom:18px}.v41-product-shell{margin:42px auto;max-width:1760px;padding:34px;border:1px solid rgba(255,255,255,.12);border-radius:32px;background:linear-gradient(160deg,rgba(255,255,255,.09),rgba(255,255,255,.035));box-shadow:0 24px 90px rgba(0,0,0,.25)}.v41-product-top{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:24px;align-items:center}.v41-product-top h2{font-size:clamp(36px,4vw,62px);line-height:1;margin:12px 0}.v41-product-top p{color:#c9d9f2;font-size:18px}.v41-score-hero{border:1px solid rgba(98,240,255,.23);background:rgba(6,16,31,.72);border-radius:22px;padding:20px}.v41-score-hero span{color:#a9bad5;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:900}.v41-score-hero strong{display:block;font-size:60px;line-height:1;color:#62f0ff}.v41-score-hero small{color:#e8f3ff}.v41-control-panel{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:16px;margin:24px 0}.v41-control-panel label{font-weight:900;color:#dcecff}.v41-control-panel select,.v41-control-panel input{width:100%;margin-top:8px;border:1px solid rgba(98,240,255,.24);background:#071427;color:#fff;border-radius:15px;padding:14px 16px;font-weight:800}.v41-map-workbench{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(340px,.62fr);gap:24px}.v41-map-main-card{border:1px solid rgba(255,255,255,.12);border-radius:28px;padding:18px;background:rgba(5,14,28,.52)}.v41-map-toolbar{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:14px}.v41-map-toolbar h3{font-size:28px;margin:5px 0}.v41-map-controls-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.v41-map-controls-row .btn{padding:10px 14px}.v41-map-wrap{height:720px!important;min-height:720px!important;border-radius:26px!important;overflow:hidden;position:relative}.v41-map-wrap .v35-map,.v41-map-wrap .v36-map{height:720px!important;min-height:720px!important}.v41-insight-rail{display:grid;gap:18px;align-content:start}.v41-legend-explainer{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 8px;align-items:center}.v41-legend-explainer b{margin-right:4px;color:#fff}.v41-legend-explainer span{display:inline-flex;gap:8px;align-items:center;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.10);border-radius:999px;padding:8px 10px;color:#d6e6ff;font-size:13px}.v41-legend-explainer i{display:inline-block;width:18px;height:8px;border-radius:999px}.v41-layer-toggles{padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}.v41-score-grid .radar-score-card{min-height:128px}.v41-icp-section,.v41-pilot-section{max-width:1760px;margin:auto}.v41-icp-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.v41-icp-grid article,.v41-pilot-output,.v41-roi-card{border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:22px;background:linear-gradient(160deg,rgba(255,255,255,.09),rgba(255,255,255,.035))}.v41-icp-grid b{display:block;font-size:20px;color:#fff;margin-bottom:8px}.v41-icp-grid span,.v41-pilot-output,.v41-roi-card{color:#c8d9f2;line-height:1.55}.v41-pilot-grid{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(380px,1fr) minmax(320px,.7fr);gap:20px}.v41-pilot-form h3,.v41-roi-card h3,.v41-pilot-output h3{margin-top:0;color:#fff}.v41-roi-card label{display:block;font-weight:900;color:#dcecff;margin:10px 0}.v41-roi-card input{width:100%;margin-top:6px;border:1px solid rgba(98,240,255,.24);background:#071427;color:#fff;border-radius:14px;padding:12px}.v41-roi-output{margin-top:14px;background:rgba(98,240,255,.08);border:1px solid rgba(98,240,255,.25);border-radius:18px;padding:14px}.v41-roi-output b{display:block;color:#62f0ff}.v41-roi-output span{display:block;font-size:13px;margin-top:4px}.v41-product-readiness{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.v41-product-readiness article{border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:22px;background:rgba(255,255,255,.05)}.v41-product-readiness b{font-size:20px;color:#fff}.v41-product-readiness span{display:block;color:#c6d8f4;margin-top:8px}.v41-no-tech-note{font-size:14px;color:#a6b8d4}.v41-map-wrap .v37-map-help{max-width:310px}.v41-map-wrap .v37-map-legend{max-width:300px}.v41-hero-map-frame .v37-map-help,.v41-hero-map-frame .v37-map-legend,.v41-hero-map-frame .v37-fullscreen-btn{display:none!important}@media(max-width:1200px){.v41-hero-map-first,.v41-map-workbench,.v41-product-top,.v41-pilot-grid{grid-template-columns:1fr}.v41-hero-map-frame{min-height:520px}.v41-hero-map-frame .v35-map,.v41-hero-map-frame .v36-map{min-height:520px}.v41-icp-grid{grid-template-columns:1fr 1fr}}@media(max-width:760px){.v41-hero-map-first{padding:44px 20px}.v41-hero-copy h1{font-size:42px}.v41-control-panel,.v41-icp-grid,.v41-product-readiness{grid-template-columns:1fr}.v41-map-wrap,.v41-map-wrap .v35-map,.v41-map-wrap .v36-map{height:560px!important;min-height:560px!important}.v41-product-shell{margin:24px 12px;padding:16px}.v41-map-toolbar{display:block}.v41-legend-explainer{display:block}.v41-legend-explainer span{margin:4px}}
