*{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#070711;
  --panel:#11112a;
  --panel2:#0b0b20;
  --muted:#bfbfe8;
  --line: rgba(255,255,255,0.10);

  --brandA:#A90F95;
  --brandB:#631AA1;

  --cloudA:#6fd3ff;
  --cloudB:#b0f2ff;
  --g1:#6fd3ff;
  --g2:#b0f2ff;
  --pink:#A90F95;
}

body{
  font-family:Inter,system-ui;
  background:var(--bg);
  color:white;
  line-height:1.6;
}

.container{
  max-width:1150px;
  margin:auto;
  padding:0 20px;
}

/* HEADER */
.header{
  background:#050510;
  border-bottom:1px solid var(--line);
  position:sticky;
  top:0;
  z-index:10;
}
.header-inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:18px 0;
}
.brand{
  font-family:"Space Grotesk";
  font-weight:800;
  font-size:64px;
  letter-spacing:0.15em;
  background: linear-gradient(90deg, var(--brandA), var(--brandB));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  line-height:1;
  text-decoration:none;
}
.nav{
  display:flex;
  gap:28px;
  align-items:center;
}
.nav a{
  color:#d7d7ff;
  text-decoration:none;
  font-weight:600;
}
.nav a:hover{color:white}
.btn{
  border:1px solid rgba(99,26,161,0.65);
  padding:8px 16px;
  border-radius:10px;
  background: rgba(99,26,161,0.10);
}

/* HERO */
.hero{
  padding:130px 0 92px;
  position:relative;
}
.hero-bg{
  position:absolute;
  inset:-20px 0 0 0;
  background:
    radial-gradient(circle at 18% 20%, rgba(169,15,149,0.30), transparent 55%),
    radial-gradient(circle at 82% 18%, rgba(66,182,255,0.22), transparent 60%),
    radial-gradient(circle at 55% 85%, rgba(99,26,161,0.18), transparent 58%);
  filter: blur(44px);
}
.hero-content{position:relative}
.hero h1{
  font-family:"Space Grotesk";
  font-size:62px;
  margin-bottom:18px;
  letter-spacing:-0.02em;
}
.hero-sub{
  max-width:720px;
  color:var(--muted);
  margin-bottom:18px;
}
.hero-highlight{
  font-size:34px;
  margin-top:6px;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.edge{
  font-weight:800;
  background: linear-gradient(90deg, var(--brandA), var(--brandB));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.cloud{
  font-weight:800;
  background: linear-gradient(90deg, #FF4FD8, #FF4FD8, #FF4FD8);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  text-shadow: 0 0 36px rgba(160,118,255,0.35);
}

/* SECTIONS */
.section{
  padding:92px 0;
}
.two-col{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
}
.section h2{
  font-family:"Space Grotesk";
  font-size:36px;
  margin-bottom:16px;
}
.intro p{color:#e9e9ff; max-width:58ch}
.intro p + p{margin-top:12px}

/* FLOW SNIPPET */
.flow-section{padding-top:18px}
.flow-card{
  background: linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.03));
  border:1px solid var(--line);
  border-radius:18px;
  padding:22px;
  box-shadow: 0 30px 90px rgba(0,0,0,0.55);
}
.flow-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:16px;
}
.flow-title{
  font-family:"Space Grotesk";
  font-weight:700;
  font-size:18px;
  color:#f0f0ff;
}
.flow-pill{
  padding:8px 12px;
  border-radius:999px;
  border:1px solid var(--line);
  background: rgba(255,255,255,0.04);
  color:#dcdcff;
  font-weight:700;
  font-size:12px;
}
.flow-row{
  display:flex;
  align-items:stretch;
  gap:16px;
}
.flow-step{
  flex:1;
  background: rgba(0,0,0,0.18);
  border:1px solid rgba(255,255,255,0.10);
  border-radius:16px;
  padding:18px;
  min-height:150px;
}
.flow-icon{
  width:70px;height:70px;
  border-radius:18px;
  display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  margin-bottom:12px;
}
.flow-icon svg{
  width:34px;height:34px;
  stroke: rgba(245,245,255,0.92);
}
.i-edge{ box-shadow: 0 0 0 10px rgba(99,26,161,0.10), 0 0 34px rgba(99,26,161,0.12); }
.i-cloud{ box-shadow: 0 0 0 10px rgba(66,182,255,0.10), 0 0 34px rgba(66,182,255,0.12); }

.flow-h{
  font-weight:800;
  font-size:18px;
  margin-bottom:4px;
}
.edgeText{
  background: linear-gradient(90deg, var(--brandA), var(--brandB));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.cloudText{
  background: linear-gradient(90deg, #FF4FD8, #FF4FD8, #FF4FD8);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  text-shadow: 0 0 36px rgba(160,118,255,0.35);
}
.flow-s{
  color:var(--muted);
  font-weight:600;
  font-size:13px;
}
.flow-arrow{
  display:flex;
  align-items:center;
  color:#c9c9f3;
  font-weight:800;
  font-size:28px;
  padding:0 2px;
}
.flow-stats{
  margin-top:16px;
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:14px;
}
.stat{
  background: rgba(0,0,0,0.18);
  border:1px solid rgba(255,255,255,0.10);
  border-radius:14px;
  padding:14px 16px;
}
.stat .k{
  color:#cfcfff;
  font-weight:700;
  font-size:12px;
}
.stat .v{
  margin-top:2px;
  font-weight:900;
  font-size:18px;
}

/* SOLUTIONS */
.cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:28px;
}
.card{
  background:var(--panel);
  padding:26px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,0.09);
  transition: transform .16s ease, border-color .16s ease;
}
.card:hover{
  transform: translateY(-2px);
  border-color: rgba(255,255,255,0.16);
}
.card-icon{
  width:64px;height:64px;border-radius:18px;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:12px;
  border:1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
}
.card-icon svg{width:34px;height:34px;stroke: rgba(245,245,255,0.92)}
.ci-health{box-shadow: 0 0 0 10px rgba(169,15,149,0.10)}
.ci-edge{box-shadow: 0 0 0 10px rgba(99,26,161,0.10)}
.ci-cloud{box-shadow: 0 0 0 10px rgba(66,182,255,0.10)}

.card h3{margin-bottom:6px;font-weight:900}
.card p{
  color:var(--muted);
  font-weight:700;
  letter-spacing:0.01em;
}

/* PLATFORM */
.platform-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
  margin-top:24px;
}
.platform-item{
  background:var(--panel);
  padding:22px 24px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,0.09);
}
.platform-item h4{margin-bottom:6px;font-weight:900}
.platform-item p{color:var(--muted);font-weight:600}

/* CONTACT */
.contact{
  background:var(--panel2);
}
.contact-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:26px;
  align-items:stretch;
}
.contact-left h2{margin-bottom:14px}
.contact-details{color:#e9e9ff}
.c-strong{font-weight:900;margin-bottom:6px}
.c-small{color:#d7d7ff;font-weight:700;margin-bottom:12px}
.c-email{margin-top:12px}
.contact a{color:#e9e9ff}
.contact a:hover{text-decoration:underline}
.map-link{
  display:inline-block;
  margin-top:14px;
  text-decoration:none;
  font-weight:900;
  padding:10px 14px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.05);
}
/* Make link look like the screenshot (clean blue text) */
.map-link{
  color: var(--cloudA);
  border-color: rgba(66,182,255,0.35);
  background: rgba(66,182,255,0.06);
}
.map-link:hover{filter: brightness(1.08); text-decoration:none}
.map-frame{
  height:100%;
  min-height:280px;
  border-radius:16px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  box-shadow: 0 18px 70px rgba(0,0,0,0.45);
}
.map-frame iframe{
  width:100%;
  height:100%;
  border:0;
  filter: saturate(0.95) contrast(1.08) brightness(0.98);
}

/* FOOTER */
.footer{
  border-top:1px solid var(--line);
  padding:34px 0;
  text-align:center;
  color:#aaa;
}

/* Reveal */
.reveal{
  opacity:0;
  transform: translateY(22px);
  transition: opacity .7s ease, transform .7s ease;
}
.reveal.show{
  opacity:1;
  transform: translateY(0);
}

/* Responsive */
@media(max-width:980px){
  .brand{font-size:40px}
  .nav{display:none}
  .hero h1{font-size:44px}
  .hero-highlight{font-size:28px}
  .two-col{grid-template-columns:1fr;gap:22px}
  .flow-row{flex-direction:column}
  .flow-arrow{display:none}
  .flow-stats{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr}
  .platform-grid{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
}

/* ===== v7 hero refinement ===== */
.hero{
  padding: 120px 0 88px;
  position: relative;
  overflow: hidden;
}
.hero-shell{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  align-items:center;
  gap: 24px;
  position: relative;
  z-index: 1;
}
.hero-bg{
  position:absolute;
  inset:-40px 0 0 0;
  background:
    radial-gradient(circle at 18% 18%, rgba(169,15,149,0.28), transparent 55%),
    radial-gradient(circle at 82% 18%, rgba(66,182,255,0.18), transparent 60%),
    radial-gradient(circle at 50% 75%, rgba(99,26,161,0.16), transparent 58%);
  filter: blur(48px);
}
.hero-graphic{
  width:100%;
  max-width: 580px;
  justify-self:end;
  opacity:.96;
}
.hero-svg{width:100%; height:auto; display:block}
.hero-orbit{transform-origin: 405px 250px; animation: orbitSpin 11s linear infinite;}
.hero-orbit-slow{transform-origin: 405px 250px; animation-duration: 18s;}
@keyframes orbitSpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.hero h1{
  font-family:"Space Grotesk";
  font-size:62px;
  margin-bottom:18px;
  letter-spacing:-0.02em;
  max-width: 8.6ch;
}
.hero-sub{
  max-width: 62ch;
}
.hero-highlight{
  font-size: 36px;
}

/* ===== v7 flow refinement ===== */
.flow-section{padding-top: 12px;}
.flow-card{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(600px 220px at 18% 18%, rgba(169,15,149,0.16), transparent 58%),
    radial-gradient(520px 220px at 84% 20%, rgba(66,182,255,0.14), transparent 58%),
    linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.03));
  border:1px solid rgba(255,255,255,0.10);
  border-radius:18px;
  padding:24px;
  box-shadow: 0 24px 90px rgba(0,0,0,0.50);
}
.flow-card::before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:20px;
  background: linear-gradient(90deg, rgba(169,15,149,0.20), rgba(99,26,161,0.12), rgba(66,182,255,0.20));
  filter: blur(16px);
  opacity:.55;
  pointer-events:none;
}
.flow-top{
  position:relative;
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:18px;
}
.flow-title{
  font-family:"Space Grotesk";
  font-size: 20px;
  font-weight:700;
}
.flow-pill{
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color:#d9dcff;
  font-weight:700;
  font-size:12px;
}
.flow-ribbon{
  position:absolute;
  left:14%;
  right:14%;
  top:106px;
  height:3px;
  background: linear-gradient(90deg, rgba(169,15,149,0.10), rgba(169,15,149,0.65), rgba(66,182,255,0.65), rgba(66,182,255,0.10));
  border-radius:999px;
  opacity:.5;
}
.flow-ribbon::after{
  content:"";
  position:absolute;
  top:50%;
  left:-10%;
  width:22%;
  height:7px;
  transform:translateY(-50%);
  border-radius:999px;
  background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.85), rgba(255,255,255,0));
  filter: blur(3px);
  animation: pulseLine 3.8s ease-in-out infinite;
}
@keyframes pulseLine{
  0%{left:-10%}
  100%{left:88%}
}
.flow-row{
  position:relative;
  display:flex;
  align-items:stretch;
  gap:18px;
}
.flow-step{
  position:relative;
  flex:1;
  background: rgba(6,6,18,0.34);
  border:1px solid rgba(255,255,255,0.10);
  border-radius:18px;
  padding:20px;
  min-height:182px;
  backdrop-filter: blur(8px);
}
.flow-step-focus{
  transform: translateY(-8px);
  border-color: rgba(99,26,161,0.32);
  box-shadow: 0 0 0 1px rgba(99,26,161,0.16), 0 22px 36px rgba(8,8,20,0.42);
}
.flow-icon{
  width:74px;
  height:74px;
  border-radius:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  margin-bottom:14px;
  position:relative;
  overflow:visible;
}
.flow-glow{
  content:"";
  position:absolute;
  inset:-12px;
  border-radius:26px;
  background: radial-gradient(circle, rgba(255,255,255,0.12), transparent 65%);
  pointer-events:none;
}
.flow-icon svg{
  width:36px; height:36px;
  stroke: rgba(245,245,255,0.95);
  position:relative;
  z-index:1;
}
.i-dev{box-shadow:0 0 0 10px rgba(255,255,255,0.04)}
.i-edge{box-shadow:0 0 0 10px rgba(99,26,161,0.10), 0 0 34px rgba(99,26,161,0.14)}
.i-cloud{box-shadow:0 0 0 10px rgba(66,182,255,0.10), 0 0 34px rgba(66,182,255,0.14)}
.flow-h{
  font-size:20px;
  font-weight:900;
  margin-bottom:4px;
}
.flow-s{
  color: var(--muted);
  font-weight:600;
  font-size:13px;
}
.flow-mini{
  display:inline-block;
  margin-top:16px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.10);
  color:#d7d7ff;
  background: rgba(255,255,255,0.04);
  font-weight:800;
  font-size:11px;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.flow-mini-edge{
  color:#f0d3ff;
  border-color: rgba(169,15,149,0.25);
  background: rgba(169,15,149,0.10);
}
.flow-mini-cloud{
  color:#d8f4ff;
  border-color: rgba(66,182,255,0.24);
  background: rgba(66,182,255,0.09);
}
.flow-arrow{
  display:flex;
  align-items:center;
  justify-content:center;
  width:28px;
  color:#d4d6f6;
  font-size:28px;
  font-weight:900;
  position:relative;
  z-index:2;
}
.flow-stats{
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin-top:18px;
}
.stat{
  background: rgba(8,8,22,0.36);
  border:1px solid rgba(255,255,255,0.10);
  border-radius:16px;
  padding:15px 16px;
}
.stat .k{
  font-size:12px;
  font-weight:700;
  color:#d0d2f1;
}
.stat .v{
  font-size:20px;
  font-weight:900;
  margin-top:2px;
}

/* Hero / flow responsive */
@media(max-width:980px){
  .hero-shell{grid-template-columns:1fr}
  .hero-graphic{display:none}
  .flow-ribbon{display:none}
  .flow-row{flex-direction:column}
  .flow-arrow{display:none}
  .flow-stats{grid-template-columns:1fr}
}


/* ===== v8 overrides ===== */
.hero{
  padding:130px 0 92px;
  position:relative;
  overflow:hidden;
}
.hero-content{
  position:relative;
  z-index:1;
}
.hero h1{
  font-family:"Space Grotesk";
  font-size:62px;
  margin-bottom:18px;
  letter-spacing:-0.02em;
  max-width:none;
}
.hero-highlight{
  font-size:34px;
  margin-top:6px;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.edge{
  font-weight:800;
  color:#631AA1;
  background:none;
  -webkit-background-clip:initial;
  background-clip:initial;
}
.hero-graphic,
.hero-shell,
.hero-svg{
  display:none !important;
}

/* Clean refined flow area */
.flow-section{padding-top:18px;}
.flow-card{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(560px 200px at 20% 18%, rgba(99,26,161,0.12), transparent 60%),
    radial-gradient(520px 220px at 82% 18%, rgba(66,182,255,0.12), transparent 58%),
    linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.03));
  border:1px solid rgba(255,255,255,0.10);
  border-radius:18px;
  padding:24px;
  box-shadow: 0 24px 90px rgba(0,0,0,0.50);
}
.flow-card::before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:20px;
  background: linear-gradient(90deg, rgba(169,15,149,0.12), rgba(99,26,161,0.10), rgba(66,182,255,0.14));
  filter: blur(14px);
  opacity:.5;
  pointer-events:none;
}
.flow-ribbon{
  position:absolute;
  left:14%;
  right:14%;
  top:84px;
  height:3px;
  background: linear-gradient(90deg, rgba(169,15,149,0.08), rgba(169,15,149,0.55), rgba(66,182,255,0.55), rgba(66,182,255,0.08));
  border-radius:999px;
  opacity:.45;
}
.flow-ribbon::after{
  content:"";
  position:absolute;
  top:50%;
  left:-10%;
  width:22%;
  height:7px;
  transform:translateY(-50%);
  border-radius:999px;
  background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.85), rgba(255,255,255,0));
  filter: blur(3px);
  animation: pulseLine 3.8s ease-in-out infinite;
}
@keyframes pulseLine{
  0%{left:-10%}
  100%{left:88%}
}
.flow-row{
  position:relative;
  display:flex;
  align-items:stretch;
  gap:18px;
}
.flow-step{
  position:relative;
  flex:1;
  background: rgba(6,6,18,0.34);
  border:1px solid rgba(255,255,255,0.10);
  border-radius:18px;
  padding:20px;
  min-height:184px;
  backdrop-filter: blur(8px);
}
.flow-step-focus{
  transform: translateY(-8px);
  border-color: rgba(99,26,161,0.32);
  box-shadow: 0 0 0 1px rgba(99,26,161,0.16), 0 22px 36px rgba(8,8,20,0.42);
}
.flow-icon{
  width:74px;
  height:74px;
  border-radius:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  margin-bottom:14px;
  position:relative;
}
.flow-glow{
  position:absolute;
  inset:-12px;
  border-radius:26px;
  background: radial-gradient(circle, rgba(255,255,255,0.12), transparent 65%);
  pointer-events:none;
}
.flow-icon svg{
  width:38px; height:38px;
  stroke: rgba(245,245,255,0.95);
  position:relative;
  z-index:1;
}
.i-dev{box-shadow:0 0 0 10px rgba(255,255,255,0.04)}
.i-edge{box-shadow:0 0 0 10px rgba(99,26,161,0.10), 0 0 34px rgba(99,26,161,0.14)}
.i-cloud{box-shadow:0 0 0 10px rgba(66,182,255,0.10), 0 0 34px rgba(66,182,255,0.14)}
.flow-h{
  font-size:20px;
  font-weight:900;
  margin-bottom:4px;
}
.flow-s{
  color: var(--muted);
  font-weight:600;
  font-size:13px;
}
.flow-mini{
  display:inline-block;
  margin-top:16px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.10);
  color:#d7d7ff;
  background: rgba(255,255,255,0.04);
  font-weight:800;
  font-size:11px;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.flow-mini strong{
  font-weight:900;
  margin-left:4px;
}
.flow-mini-edge{
  color:#f0d3ff;
  border-color: rgba(169,15,149,0.25);
  background: rgba(169,15,149,0.10);
}
.flow-mini-cloud{
  color:#d8f4ff;
  border-color: rgba(66,182,255,0.24);
  background: rgba(66,182,255,0.09);
}
.flow-arrow{
  display:flex;
  align-items:center;
  justify-content:center;
  width:28px;
  color:#d4d6f6;
  font-size:28px;
  font-weight:900;
  position:relative;
  z-index:2;
}
.flow-stats{display:none;}

@media(max-width:980px){
  .flow-ribbon{display:none}
  .flow-row{flex-direction:column}
  .flow-arrow{display:none}
}


/* ===== v9 premium solutions ===== */
.solutions-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:22px;
}
.solutions-sub{
  color:var(--muted);
  max-width:32ch;
  text-align:right;
  font-weight:600;
}
.premium-grid{
  display:grid;
  grid-template-columns:1fr 1.08fr 1fr;
  gap:18px;
}
.premium-card{
  position:relative;
  overflow:hidden;
  min-height:270px;
  border-radius:20px;
  padding:24px;
  border:1px solid rgba(255,255,255,0.10);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.03));
  box-shadow: 0 22px 60px rgba(0,0,0,0.42);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.premium-card:hover{
  transform: translateY(-3px);
  border-color: rgba(255,255,255,0.18);
  box-shadow: 0 28px 80px rgba(0,0,0,0.48);
}
.premium-card::before{
  content:"";
  position:absolute;
  inset:auto -10% -35% auto;
  width:180px;
  height:180px;
  border-radius:999px;
  filter:blur(28px);
  opacity:.22;
  pointer-events:none;
}
.premium-health::before{ background:#A90F95; }
.premium-edge::before{ background:#631AA1; }
.premium-cloud::before{ background:#42b6ff; }

.premium-featured{
  border-color: rgba(99,26,161,0.28);
  background:
    radial-gradient(360px 180px at 50% 8%, rgba(99,26,161,0.14), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.03));
}
.premium-topline{
  font-family:"Space Grotesk";
  font-size:12px;
  font-weight:800;
  letter-spacing:.18em;
  color:rgba(255,255,255,0.52);
  text-transform:uppercase;
}
.premium-icon{
  width:72px;
  height:72px;
  border-radius:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:18px 0 20px;
  border:1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  box-shadow: 0 0 0 10px rgba(255,255,255,0.03);
}
.premium-health .premium-icon{ box-shadow:0 0 0 10px rgba(169,15,149,0.08); }
.premium-edge .premium-icon{ box-shadow:0 0 0 10px rgba(99,26,161,0.10), 0 0 34px rgba(99,26,161,0.12); }
.premium-cloud .premium-icon{ box-shadow:0 0 0 10px rgba(66,182,255,0.08), 0 0 34px rgba(66,182,255,0.12); }

.premium-icon svg{
  width:38px;
  height:38px;
  stroke: rgba(245,245,255,0.95);
}
.premium-card h3{
  font-size:24px;
  margin-bottom:8px;
  font-weight:900;
}
.premium-card p{
  color:var(--muted);
  font-weight:600;
  max-width:22ch;
  line-height:1.5;
}
.premium-tags{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:22px;
}
.premium-tags span{
  padding:7px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.04);
  font-size:11px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#e8e8ff;
}

@media(max-width:980px){
  .solutions-head{
    flex-direction:column;
    align-items:flex-start;
  }
  .solutions-sub{
    text-align:left;
  }
  .premium-grid{
    grid-template-columns:1fr;
  }
}


/* ===== v11 clean approved overrides ===== */

/* Hero text only */
.edge{
  font-weight:800;
  color:#631AA1;
  background:none;
  -webkit-background-clip:initial;
  background-clip:initial;
}

/* Flow section */
.flow-card{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(560px 200px at 20% 18%, rgba(99,26,161,0.12), transparent 60%),
    radial-gradient(520px 220px at 82% 18%, rgba(66,182,255,0.12), transparent 58%),
    linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.03));
  border:1px solid rgba(255,255,255,0.10);
  border-radius:18px;
  padding:24px;
  box-shadow: 0 24px 90px rgba(0,0,0,0.50);
}
.flow-card::before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:20px;
  background: linear-gradient(90deg, rgba(169,15,149,0.12), rgba(99,26,161,0.10), rgba(66,182,255,0.14));
  filter: blur(14px);
  opacity:.5;
  pointer-events:none;
}
.flow-ribbon{
  position:absolute;
  left:14%;
  right:14%;
  top:84px;
  height:3px;
  background: linear-gradient(90deg, rgba(169,15,149,0.08), rgba(169,15,149,0.55), rgba(66,182,255,0.55), rgba(66,182,255,0.08));
  border-radius:999px;
  opacity:.45;
}
.flow-ribbon::after{
  content:"";
  position:absolute;
  top:50%;
  left:-10%;
  width:22%;
  height:7px;
  transform:translateY(-50%);
  border-radius:999px;
  background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.85), rgba(255,255,255,0));
  filter: blur(3px);
  animation: pulseLine 3.8s ease-in-out infinite;
}
@keyframes pulseLine{
  0%{left:-10%}
  100%{left:88%}
}
.flow-row{
  position:relative;
  display:flex;
  align-items:stretch;
  gap:18px;
}
.flow-step{
  position:relative;
  flex:1;
  background: rgba(6,6,18,0.34);
  border:1px solid rgba(255,255,255,0.10);
  border-radius:18px;
  padding:20px;
  min-height:184px;
  backdrop-filter: blur(8px);
}
.flow-step-focus{
  transform: translateY(-8px);
  border-color: rgba(99,26,161,0.32);
  box-shadow: 0 0 0 1px rgba(99,26,161,0.16), 0 22px 36px rgba(8,8,20,0.42);
}
.flow-icon{
  width:74px;
  height:74px;
  border-radius:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  margin-bottom:14px;
  position:relative;
}
.flow-glow{
  position:absolute;
  inset:-12px;
  border-radius:26px;
  background: radial-gradient(circle, rgba(255,255,255,0.12), transparent 65%);
  pointer-events:none;
}
.flow-icon svg{
  width:38px; height:38px;
  stroke: rgba(245,245,255,0.95);
  position:relative;
  z-index:1;
}
.i-dev{box-shadow:0 0 0 10px rgba(255,255,255,0.04)}
.i-edge{box-shadow:0 0 0 10px rgba(99,26,161,0.10), 0 0 34px rgba(99,26,161,0.14)}
.i-cloud{box-shadow:0 0 0 10px rgba(66,182,255,0.10), 0 0 34px rgba(66,182,255,0.14)}
.flow-h{
  font-size:20px;
  font-weight:900;
  margin-bottom:4px;
}
.flow-s{
  color: var(--muted);
  font-weight:600;
  font-size:13px;
}
.flow-mini{
  display:inline-block;
  margin-top:16px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.10);
  color:#d7d7ff;
  background: rgba(255,255,255,0.04);
  font-weight:800;
  font-size:11px;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.flow-mini strong{
  font-weight:900;
  margin-left:4px;
}
.flow-mini-edge{
  color:#f0d3ff;
  border-color: rgba(169,15,149,0.25);
  background: rgba(169,15,149,0.10);
}
.flow-mini-cloud{
  color:#d8f4ff;
  border-color: rgba(66,182,255,0.24);
  background: rgba(66,182,255,0.09);
}
.flow-arrow{
  display:flex;
  align-items:center;
  justify-content:center;
  width:28px;
  color:#d4d6f6;
  font-size:28px;
  font-weight:900;
  position:relative;
  z-index:2;
}
.flow-stats{display:none;}

/* Contact section + map fixed */
.contact{
  background:var(--panel2);
}
.contact-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:26px;
  align-items:start;
}
.contact-left h2{margin-bottom:14px}
.contact-details{color:#e9e9ff}
.c-strong{font-weight:900;margin-bottom:6px}
.c-small{color:#d7d7ff;font-weight:700;margin-bottom:12px}
.c-email{margin-top:12px}
.contact a{color:#e9e9ff}
.contact a:hover{text-decoration:underline}
.map-link{
  display:inline-block;
  margin-top:14px;
  text-decoration:none;
  font-weight:900;
  padding:10px 14px;
  border-radius:12px;
  color: var(--cloudA);
  border:1px solid rgba(66,182,255,0.35);
  background: rgba(66,182,255,0.06);
}
.map-link:hover{filter: brightness(1.08); text-decoration:none}
.map-frame{
  width:100%;
  aspect-ratio: 16 / 9;
  border-radius:16px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  box-shadow: 0 18px 70px rgba(0,0,0,0.45);
  position:relative;
}
.map-frame iframe{
  width:100%;
  height:100%;
  border:0;
  display:block;
  filter: saturate(0.95) contrast(1.08) brightness(0.98);
  opacity:0;
  pointer-events:none;
  transition: opacity .25s ease;
}
.map-frame.loaded iframe{
  opacity:1;
  pointer-events:auto;
}
.map-placeholder{
  position:absolute;
  inset:0;
  display:block;
  background: #0b0b20;
  transition: opacity .25s ease;
}
.map-placeholder img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter: saturate(0.75) contrast(1.05) brightness(0.9);
}
.map-overlay{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  background: linear-gradient(0deg, rgba(5,5,16,0.65), rgba(5,5,16,0.15));
  text-align:center;
}
.map-activate{
  border:1px solid rgba(66,182,255,0.55);
  background: rgba(66,182,255,0.12);
  color:#e9f7ff;
  font-weight:800;
  padding:10px 16px;
  border-radius:12px;
  cursor:pointer;
}
.map-activate:hover{filter: brightness(1.08)}
.map-note{
  color:#cdd7ff;
  font-size:12px;
  font-weight:600;
}
.map-frame.loaded .map-placeholder{
  opacity:0;
  pointer-events:none;
}

/* Footer exact text alignment */
.footer{
  padding-top:36px;
  padding-bottom:36px;
  line-height:1.6;
}

@media(max-width:980px){
  .flow-ribbon{display:none}
  .flow-row{flex-direction:column}
  .flow-arrow{display:none}
  .contact-grid{grid-template-columns:1fr}
}


/* ===== Ambient Intelligence Layer (hero) ===== */
.hero{
  position: relative;
  overflow: hidden;
}

.hero::before{
  content:"";
  position:absolute;
  inset:-20%;
  background:
    radial-gradient(circle at 18% 32%, rgba(169, 15, 149, 0.14), transparent 52%),
    radial-gradient(circle at 82% 68%, rgba(66, 182, 255, 0.14), transparent 55%),
    radial-gradient(circle at 52% 18%, rgba(99, 26, 161, 0.10), transparent 55%);
  filter: blur(2px);
  opacity: 0.9;
  animation: heroDrift 14s ease-in-out infinite;
  pointer-events:none;
}

.hero::after{
  /* faint grid + grain */
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(to right, rgba(255,255,255,0.06) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,0.05) 1px, transparent 1px),
    radial-gradient(circle at 30% 35%, rgba(255,255,255,0.04), transparent 55%),
    radial-gradient(circle at 70% 70%, rgba(255,255,255,0.03), transparent 60%);
  background-size: 72px 72px, 72px 72px, auto, auto;
  opacity: 0.12;
  mix-blend-mode: overlay;
  pointer-events:none;
  mask-image: radial-gradient(circle at 40% 30%, rgba(0,0,0,1), rgba(0,0,0,0.2) 55%, rgba(0,0,0,0) 80%);
}

@keyframes heroDrift{
  0%   { transform: translate3d(0px, 0px, 0) scale(1); }
  50%  { transform: translate3d(0px, -18px, 0) scale(1.02); }
  100% { transform: translate3d(0px, 0px, 0) scale(1); }
}


/* ===== Legal pages ===== */
.legal-page .section{
  padding-top: 72px;
  padding-bottom: 72px;
}
.legal{
  max-width: 860px;
}
.legal h1{
  font-family: "Space Grotesk";
  font-size: 44px;
  margin-bottom: 10px;
}
.legal .meta{
  color: var(--muted);
  font-weight: 700;
  margin-bottom: 26px;
}
.legal h2{
  font-size: 18px;
  margin-top: 26px;
  margin-bottom: 10px;
}
.legal p, .legal li{
  color: #e9e9ff;
  line-height: 1.75;
}
.legal ul{
  margin: 10px 0 0 18px;
}
.legal a{
  color: var(--cloudA);
  font-weight: 800;
}


/* Footer links (v12.1) */
.footer-row{
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.footer-copy{
  color:#d8d9ff;
  font-weight:700;
}
.footer-meta{
  margin-top:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
  color: rgba(233,233,255,0.78);
  font-weight:700;
  font-size:12px;
}
.footer-links a{
  color: rgba(233,233,255,0.88);
  font-weight:800;
  text-decoration:none;
}
.footer-links a:hover{
  text-decoration:underline;
}
.footer-links .sep{
  margin:0 8px;
  opacity:0.5;
}


/* ===== v13 refinements ===== */
.edge{
  color:#42b6ff !important;
  background:none !important;
  -webkit-background-clip:initial !important;
  background-clip:initial !important;
}
.cloud{
  background: linear-gradient(90deg, #FF4FD8, #FF4FD8, #FF4FD8) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  color:transparent !important;
  text-shadow: 0 0 36px rgba(160,118,255,0.35) !important;
}

.premium-kicker{
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(255,255,255,0.56);
  margin-bottom:8px;
}

.platform-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:22px;
}
.platform-sub{
  color:var(--muted);
  max-width:34ch;
  text-align:right;
  font-weight:600;
}
.platform-cards{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:18px;
}
.pcard{
  position:relative;
  min-height:240px;
  border-radius:20px;
  padding:24px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,0.10);
  background: linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.03));
  box-shadow: 0 22px 60px rgba(0,0,0,0.42);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.pcard:hover{
  transform: translateY(-3px);
  border-color: rgba(255,255,255,0.18);
  box-shadow: 0 28px 80px rgba(0,0,0,0.48);
}
.pcard::before{
  content:"";
  position:absolute;
  inset:auto -10% -35% auto;
  width:180px;
  height:180px;
  border-radius:999px;
  filter:blur(28px);
  opacity:.22;
  pointer-events:none;
}
.pcard-edge::before{ background:#631AA1; }
.pcard-rt::before{ background:#42b6ff; }
.pcard-sec::before{ background:#A90F95; }
.pcard-cloud::before{ background:#70e0ff; }

.pcard-front,
.pcard-back{
  position:relative;
  z-index:1;
}
.pcard-front{
  transition: transform .25s ease, opacity .25s ease;
}
.pcard-back{
  margin-top:24px;
}
.pcard-title{
  font-size:24px;
  line-height:1.15;
  font-weight:900;
  margin-bottom:10px;
}
.pcard-copy{
  color:var(--muted);
  font-weight:600;
  max-width:28ch;
  line-height:1.58;
}
.pcard-diagram{
  width:100%;
  height:96px;
}
.pcard-diagram *{
  fill:none;
  stroke:rgba(238,240,255,0.92);
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.pcard-note{
  margin-top:6px;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(255,255,255,0.62);
  font-weight:800;
}

@media(max-width:980px){
  .platform-head{
    flex-direction:column;
    align-items:flex-start;
  }
  .platform-sub{
    text-align:left;
  }
  .platform-cards{
    grid-template-columns:1fr;
  }
}


/* ===== v14 refinements ===== */

/* Hero accent colors: solid only */
.edge{
  color:#42b6ff !important;
  background:none !important;
  -webkit-background-clip:initial !important;
  background-clip:initial !important;
}
.cloud{
  background: linear-gradient(90deg, #FF4FD8, #FF4FD8, #FF4FD8) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  color:transparent !important;
  text-shadow: 0 0 36px rgba(160,118,255,0.35) !important;
}

.hero-sub{
  max-width: 38ch !important;
}

/* Remove duplicate kicker visual space if any */
.premium-card h3{
  margin-top: 0 !important;
}

/* Solution icon color refinements */
.premium-icon-health{
  box-shadow:0 0 0 10px rgba(44, 182, 125, 0.10), 0 0 34px rgba(44,182,125,0.12) !important;
}
.premium-icon-health svg{
  stroke:#5EEA9A !important;
}
.premium-icon-edge{
  box-shadow:0 0 0 10px rgba(99,26,161,0.10), 0 0 34px rgba(99,26,161,0.14) !important;
}
.premium-icon-edge svg{
  stroke:#D4B3FF !important;
}
.premium-icon-cloud{
  box-shadow:0 0 0 10px rgba(66,182,255,0.10), 0 0 34px rgba(66,182,255,0.12) !important;
}
.premium-icon-cloud svg{
  stroke:#7AD7FF !important;
}

/* Platform cards: cleaner, no inline diagrams */
.platform-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:22px;
}
.platform-sub{
  color:var(--muted);
  max-width:34ch;
  text-align:right;
  font-weight:600;
}
.platform-cards{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:18px;
}
.pcard{
  position:relative;
  min-height:220px;
  border-radius:20px;
  padding:24px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,0.10);
  background: linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.03));
  box-shadow: 0 22px 60px rgba(0,0,0,0.42);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.pcard:hover{
  transform: translateY(-3px);
  border-color: rgba(255,255,255,0.18);
  box-shadow: 0 28px 80px rgba(0,0,0,0.48);
}
.pcard::before{
  content:"";
  position:absolute;
  right:-30px;
  bottom:-40px;
  width:180px;
  height:180px;
  border-radius:999px;
  filter:blur(32px);
  opacity:.20;
  pointer-events:none;
}
.pcard-edge::before{ background:#42b6ff; }
.pcard-rt::before{ background:#631AA1; }
.pcard-sec::before{ background:#A90F95; }
.pcard-cloud::before{ background:#70e0ff; }

.pcard::after{
  content:"";
  position:absolute;
  top:22px;
  right:22px;
  width:86px;
  height:86px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,0.08);
  opacity:.88;
}
.pcard-edge::after{
  background:
    radial-gradient(circle at 30% 30%, rgba(66,182,255,0.18), transparent 42%),
    linear-gradient(135deg, rgba(66,182,255,0.08), transparent 80%);
  box-shadow: inset 0 0 0 1px rgba(66,182,255,0.10);
}
.pcard-rt::after{
  background:
    linear-gradient(135deg, rgba(99,26,161,0.14), transparent 70%);
  box-shadow: inset 0 0 0 1px rgba(99,26,161,0.12);
}
.pcard-sec::after{
  background:
    linear-gradient(135deg, rgba(169,15,149,0.14), transparent 70%);
  box-shadow: inset 0 0 0 1px rgba(169,15,149,0.12);
}
.pcard-cloud::after{
  background:
    radial-gradient(circle at 55% 45%, rgba(66,182,255,0.18), transparent 40%),
    linear-gradient(135deg, rgba(66,182,255,0.10), transparent 75%);
  box-shadow: inset 0 0 0 1px rgba(66,182,255,0.12);
}

.pcard-badge{
  display:inline-block;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.04);
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(255,255,255,0.68);
  margin-bottom:18px;
}
.pcard-title{
  font-size:24px;
  line-height:1.15;
  font-weight:900;
  margin-bottom:10px;
  max-width: 14ch;
}
.pcard-copy{
  color:var(--muted);
  font-weight:600;
  max-width:28ch;
  line-height:1.58;
}
.pcard-back,
.pcard-diagram,
.pcard-note{
  display:none !important;
}

@media(max-width:980px){
  .platform-head{
    flex-direction:column;
    align-items:flex-start;
  }
  .platform-sub{
    text-align:left;
  }
  .platform-cards{
    grid-template-columns:1fr;
  }
}


/* ===== v15 cleanup ===== */
.edge{
  color:#42b6ff !important;
  background:none !important;
  -webkit-background-clip:initial !important;
  background-clip:initial !important;
}
.cloud{
  background: linear-gradient(90deg, #FF4FD8, #FF4FD8, #FF4FD8) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  color:transparent !important;
  text-shadow: 0 0 36px rgba(160,118,255,0.35) !important;
}
.hero-sub{
  max-width:38ch !important;
}

/* Solutions icon colors */
.premium-icon-health{
  box-shadow:0 0 0 10px rgba(44,182,125,0.10), 0 0 34px rgba(44,182,125,0.12) !important;
}
.premium-icon-health svg{ stroke:#5EEA9A !important; }
.premium-icon-edge{
  box-shadow:0 0 0 10px rgba(99,26,161,0.10), 0 0 34px rgba(99,26,161,0.14) !important;
}
.premium-icon-edge svg{ stroke:#D4B3FF !important; }
.premium-icon-cloud{
  box-shadow:0 0 0 10px rgba(66,182,255,0.10), 0 0 34px rgba(66,182,255,0.12) !important;
}
.premium-icon-cloud svg{ stroke:#7AD7FF !important; }

/* Platform redesigned */
.platform-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:22px;
}
.platform-sub{
  color:var(--muted);
  max-width:34ch;
  text-align:right;
  font-weight:600;
}
.platform-cards-v2{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
}
.pcard2{
  position:relative;
  min-height:238px;
  border-radius:20px;
  padding:26px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,0.10);
  background: linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.03));
  box-shadow: 0 22px 60px rgba(0,0,0,0.42);
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:18px;
  align-items:center;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.pcard2:hover{
  transform: translateY(-3px);
  border-color: rgba(255,255,255,0.18);
  box-shadow: 0 28px 80px rgba(0,0,0,0.48);
}
.pcard2::before{
  content:"";
  position:absolute;
  right:-30px;
  bottom:-36px;
  width:180px;
  height:180px;
  border-radius:999px;
  filter:blur(34px);
  opacity:.18;
  pointer-events:none;
}
.pcard2-edge::before{ background:#42b6ff; }
.pcard2-rt::before{ background:#631AA1; }
.pcard2-sec::before{ background:#5EEA9A; }
.pcard2-cloud::before{ background:#70e0ff; }

.pcard2-title{
  font-size:24px;
  line-height:1.12;
  font-weight:900;
  margin-bottom:10px;
  max-width:14ch;
}
.pcard2-text{
  color:var(--muted);
  font-weight:600;
  line-height:1.58;
  max-width:28ch;
}
.pcard2-visual{
  display:flex;
  justify-content:flex-end;
  align-items:center;
}
.pcard2-svg{
  width:100%;
  max-width:220px;
  height:auto;
}
.pcard2-svg .vpanel,
.pcard2-svg .vpanel-sec{
  fill:rgba(255,255,255,0.04);
  stroke:rgba(255,255,255,0.10);
  stroke-width:1.6;
}
.pcard2-svg .vchip{
  fill:none;
  stroke:#9BE4FF;
  stroke-width:2;
}
.pcard2-svg .vline{
  fill:none;
  stroke:#7AD7FF;
  stroke-width:2;
  stroke-linecap:round;
}
.pcard2-svg .vsoft{
  fill:none;
  stroke:rgba(122,215,255,0.70);
  stroke-width:2;
  stroke-linecap:round;
}
.pcard2-svg .vnode{ fill:#7AD7FF; }

.pcard2-svg .vline-rt{
  fill:none;
  stroke:#D4B3FF;
  stroke-width:2.4;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.pcard2-svg .vnode-rt{ fill:#D4B3FF; }
.pcard2-svg .vtag{
  fill:rgba(255,255,255,0.04);
  stroke:rgba(212,179,255,0.28);
  stroke-width:1.4;
}
.pcard2-svg .vsoft-rt{
  fill:none;
  stroke:rgba(212,179,255,0.88);
  stroke-width:2;
  stroke-linecap:round;
}

.pcard2-svg .vsoft-sec{
  fill:none;
  stroke:#7DEFC2;
  stroke-width:2;
  stroke-linecap:round;
}
.pcard2-svg .vlock{
  fill:none;
  stroke:#7DEFC2;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.pcard2-svg .vnode-cloud{ fill:#7AD7FF; }
.pcard2-svg .vsoft-cloud{
  fill:none;
  stroke:rgba(122,215,255,0.78);
  stroke-width:2;
  stroke-linecap:round;
}
.pcard2-svg .vcloud{
  fill:none;
  stroke:#7AD7FF;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

@media(max-width:980px){
  .platform-head{
    flex-direction:column;
    align-items:flex-start;
  }
  .platform-sub{
    text-align:left;
  }
  .platform-cards-v2{
    grid-template-columns:1fr;
  }
  .pcard2{
    grid-template-columns:1fr;
    min-height:auto;
  }
  .pcard2-visual{
    justify-content:flex-start;
  }
}


/* v19 background visuals only */
.platform-cards-v19{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
}
.pcard2{
  position:relative;
  min-height:238px;
  border-radius:20px;
  padding:26px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,0.10);
  background: linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.03));
  box-shadow: 0 22px 60px rgba(0,0,0,0.42);
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:18px;
  align-items:center;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.pcard2:hover{
  transform: translateY(-3px);
  border-color: rgba(255,255,255,0.18);
  box-shadow: 0 28px 80px rgba(0,0,0,0.48);
}
.pcard2::before{
  content:"";
  position:absolute;
  right:-30px;
  bottom:-36px;
  width:180px;
  height:180px;
  border-radius:999px;
  filter:blur(34px);
  opacity:.18;
  pointer-events:none;
  z-index:0;
}
.pcard2-edge::before{ background:#42b6ff; }
.pcard2-rt::before{ background:#631AA1; }
.pcard2-sec::before{ background:#5EEA9A; }
.pcard2-cloud::before{ background:#70e0ff; }

.pcard2-copy{ position:relative; z-index:2; }
.pcard2-title{ font-size:24px; line-height:1.12; font-weight:900; margin-bottom:10px; max-width:14ch; }
.pcard2-text{ color:var(--muted); font-weight:600; line-height:1.58; max-width:28ch; }
.pcard2-visual{
  position:relative;
  z-index:2;
  justify-self:end;
  width:100%;
  max-width:250px;
  height:156px;
  border-radius:18px;
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  opacity:.98;
}
.pbg-edge{ background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 260 170%22%3E%3Cdefs%3E%3CradialGradient id=%22g%22 cx=%2270%%22 cy=%2255%%22 r=%2260%%22%3E%3Cstop offset=%220%%22 stop-color=%22#4cc7ff%22 stop-opacity=%22.25%22/%3E%3Cstop offset=%22100%%22 stop-color=%22#4cc7ff%22 stop-opacity=%220%22/%3E%3C/radialGradient%3E%3C/defs%3E%3Ccircle cx=%22184%22 cy=%22102%22 r=%2274%22 fill=%22url(#g)%22/%3E%3Crect x=%22118%22 y=%2288%22 width=%2282%22 height=%2248%22 rx=%2214%22 fill=%22rgba(255,255,255,.03)%22 stroke=%22rgba(122,215,255,.55)%22 stroke-width=%221.8%22/%3E%3Crect x=%22132%22 y=%22100%22 width=%2254%22 height=%2224%22 rx=%227%22 fill=%22none%22 stroke=%22#9BE4FF%22 stroke-width=%221.8%22/%3E%3Cg fill=%22none%22 stroke=%22#7AD7FF%22 stroke-width=%222%22 stroke-linecap=%22round%22%3E%3Cpath d=%22M132 82v-12M150 82v-12M168 82v-12M186 82v-12%22/%3E%3Cpath d=%22M132 142v12M150 142v12M168 142v12M186 142v12%22/%3E%3Cpath d=%22M112 100h-12M112 116h-12M206 100h12M206 116h12%22/%3E%3C/g%3E%3Cg fill=%22#7AD7FF%22 stroke=%22#7AD7FF%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%22150%22 cy=%2246%22 r=%223.4%22/%3E%3Ccircle cx=%22167%22 cy=%2238%22 r=%223.4%22/%3E%3Ccircle cx=%22186%22 cy=%2244%22 r=%223.4%22/%3E%3Ccircle cx=%22197%22 cy=%2260%22 r=%223.4%22/%3E%3Ccircle cx=%22179%22 cy=%2262%22 r=%223.4%22/%3E%3Ccircle cx=%22160%22 cy=%2258%22 r=%223.4%22/%3E%3Cpath d=%22M150 46L160 58L179 62L197 60M167 38L179 62M186 44L197 60M160 58L167 38M179 62L186 44%22/%3E%3Cpath d=%22M173 67L173 88%22 fill=%22none%22/%3E%3C/g%3E%3C/svg%3E"); }
.pbg-rt{ background-image:url("data:image/svg+xml;utf8,data:image/svg+xml;utf8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 260 170%22%3E%3Cdefs%3E%3CradialGradient id=%22rtGlow%22 cx=%2258%%22 cy=%2250%%22 r=%2260%%22%3E%3Cstop offset=%220%%22 stop-color=%22#7fd2ff%22 stop-opacity=%22.18%22/%3E%3Cstop offset=%2260%%22 stop-color=%22#7fd2ff%22 stop-opacity=%22.08%22/%3E%3Cstop offset=%22100%%22 stop-color=%22#7fd2ff%22 stop-opacity=%220%22/%3E%3C/radialGradient%3E%3C/defs%3E%3Crect width=%22260%22 height=%22170%22 fill=%22none%22/%3E%3Ccircle cx=%22150%22 cy=%2284%22 r=%2278%22 fill=%22url(#rtGlow)%22/%3E%3Cg fill=%22none%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M18 88 H64 L75 71 L88 105 L104 42 L118 118 L135 69 L147 88 L170 88%22 stroke=%22#86cfff%22 stroke-width=%222.8%22/%3E%3Cpath d=%22M174 88 H188%22 stroke=%22rgba(134,207,255,.78)%22 stroke-width=%222.3%22/%3E%3Cpath d=%22M192 60 H220 L234 83 L220 106 H192 L178 83 Z%22 stroke=%22#B9A3FF%22 stroke-width=%222%22 fill=%22rgba(255,255,255,.03)%22/%3E%3Cpath d=%22M196 83 L206 94 L220 73%22 stroke=%22#FFFFFF%22 stroke-width=%222.8%22/%3E%3C/g%3E%3Cg fill=%22#86cfff%22%3E%3Ccircle cx=%22205%22 cy=%2260%22 r=%223.2%22/%3E%3Ccircle cx=%22220%22 cy=%2260%22 r=%223.2%22/%3E%3Ccircle cx=%22234%22 cy=%2283%22 r=%223.2%22/%3E%3Ccircle cx=%22220%22 cy=%22106%22 r=%223.2%22/%3E%3Ccircle cx=%22192%22 cy=%22106%22 r=%223.2%22/%3E%3C/g%3E%3C/svg%3E"); }
.pbg-sec{ background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 260 170%22%3E%3Cdefs%3E%3CradialGradient id=%22g%22 cx=%2272%%22 cy=%2258%%22 r=%2262%%22%3E%3Cstop offset=%220%%22 stop-color=%22#6ff2c3%22 stop-opacity=%22.20%22/%3E%3Cstop offset=%22100%%22 stop-color=%22#6ff2c3%22 stop-opacity=%220%22/%3E%3C/radialGradient%3E%3C/defs%3E%3Ccircle cx=%22188%22 cy=%22108%22 r=%2274%22 fill=%22url(#g)%22/%3E%3Crect x=%22126%22 y=%2274%22 width=%2244%22 height=%2222%22 rx=%227%22 fill=%22rgba(255,255,255,.03)%22 stroke=%22rgba(111,242,195,.55)%22 stroke-width=%221.6%22/%3E%3Crect x=%22126%22 y=%22100%22 width=%2244%22 height=%2222%22 rx=%227%22 fill=%22rgba(255,255,255,.03)%22 stroke=%22rgba(111,242,195,.55)%22 stroke-width=%221.6%22/%3E%3Cpath d=%22M108 85H126M108 111H126%22 fill=%22none%22 stroke=%22#7DEFC2%22 stroke-width=%222%22 stroke-linecap=%22round%22/%3E%3Ccircle cx=%22102%22 cy=%2285%22 r=%223%22 fill=%22#7DEFC2%22/%3E%3Ccircle cx=%22102%22 cy=%22111%22 r=%223%22 fill=%22#7DEFC2%22/%3E%3Cpath d=%22M193 67q18 6 27 6q0 33-27 49q-27-16-27-49q9 0 27-6Z%22 fill=%22rgba(255,255,255,.02)%22 stroke=%22#7DEFC2%22 stroke-width=%222%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M193 80v13M186 89h14%22 fill=%22none%22 stroke=%22#7DEFC2%22 stroke-width=%222%22 stroke-linecap=%22round%22/%3E%3Cpath d=%22M170 84H162M170 106H162%22 fill=%22none%22 stroke=%22#7DEFC2%22 stroke-width=%222%22 stroke-linecap=%22round%22/%3E%3C/svg%3E"); }
.pbg-cloud{ background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 260 170%22%3E%3Cdefs%3E%3CradialGradient id=%22g%22 cx=%2274%%22 cy=%2262%%22 r=%2262%%22%3E%3Cstop offset=%220%%22 stop-color=%22#6fd8ff%22 stop-opacity=%22.22%22/%3E%3Cstop offset=%22100%%22 stop-color=%22#6fd8ff%22 stop-opacity=%220%22/%3E%3C/radialGradient%3E%3C/defs%3E%3Ccircle cx=%22190%22 cy=%22110%22 r=%2278%22 fill=%22url(#g)%22/%3E%3Crect x=%22128%22 y=%22112%22 width=%2224%22 height=%2214%22 rx=%224%22 fill=%22rgba(255,255,255,.03)%22 stroke=%22rgba(122,215,255,.55)%22 stroke-width=%221.5%22/%3E%3Crect x=%22156%22 y=%22102%22 width=%2224%22 height=%2214%22 rx=%224%22 fill=%22rgba(255,255,255,.03)%22 stroke=%22rgba(122,215,255,.55)%22 stroke-width=%221.5%22/%3E%3Crect x=%22156%22 y=%22120%22 width=%2224%22 height=%2214%22 rx=%224%22 fill=%22rgba(255,255,255,.03)%22 stroke=%22rgba(122,215,255,.55)%22 stroke-width=%221.5%22/%3E%3Ccircle cx=%22124%22 cy=%2276%22 r=%225%22 fill=%22#7AD7FF%22/%3E%3Ccircle cx=%22150%22 cy=%2260%22 r=%225%22 fill=%22#7AD7FF%22/%3E%3Ccircle cx=%22150%22 cy=%2292%22 r=%225%22 fill=%22#7AD7FF%22/%3E%3Cpath d=%22M129 76L145 60M129 76L145 92M155 60L190 74M155 92L190 82%22 fill=%22none%22 stroke=%22rgba(122,215,255,.82)%22 stroke-width=%222%22 stroke-linecap=%22round%22/%3E%3Cpath d=%22M191 79q8-21 29-21q24 0 24 21q16 0 16 14q0 14-16 14h-48%22 fill=%22none%22 stroke=%22#7AD7FF%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3C/svg%3E"); }

@media(max-width:980px){
  .platform-head{ flex-direction:column; align-items:flex-start; }
  .platform-sub{ text-align:left; }
  .platform-cards-v19{ grid-template-columns:1fr; }
  .pcard2{ grid-template-columns:1fr; min-height:auto; }
  .pcard2-visual{ justify-self:start; }
}


/* v20 polish for platform visuals */
.pcard2-visual{
  background-position:center center !important;
  background-size:contain !important;
}


/* v21 updates */
.hero-sub{
  max-width:none !important;
  white-space:nowrap;
}

.edge-frame{
  width:100%;
  max-width:250px;
  aspect-ratio:820 / 420;
  position:relative;
  overflow:hidden;
  border-radius:18px;
  background:
    radial-gradient(circle at 72% 48%, rgba(85, 205, 255, 0.17), transparent 17%),
    radial-gradient(circle at 72% 48%, rgba(76, 175, 255, 0.11), transparent 29%),
    linear-gradient(180deg, #05081f 0%, #04061a 100%);
  border:1px solid rgba(255,255,255,0.04);
  margin-left:auto;
}
.edge-frame::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(18, 29, 82, 0.35), transparent 22%, transparent 78%, rgba(6, 10, 30, 0.28)),
    radial-gradient(circle at 74% 50%, rgba(96, 212, 255, 0.12), transparent 26%);
  pointer-events:none;
}
.edge-vignette{
  position:absolute;
  inset:0;
  background: radial-gradient(circle at center, transparent 58%, rgba(0, 0, 0, 0.18) 100%);
  pointer-events:none;
}
.edge-anim-svg{
  width:100%;
  height:100%;
  display:block;
}
.pcard2-visual.pbg-edge-animated{
  width:100%;
  max-width:250px;
  justify-self:end;
}

@media (max-width:1100px){
  .hero-sub{ white-space:normal; }
}
@media (max-width:980px){
  .hero-sub{ white-space:normal; }
  .edge-frame,
  .pcard2-visual.pbg-edge-animated{
    max-width:100%;
  }
}

/* v22 Edge animation integration improvement */
.pcard2-visual.pbg-edge-animated{
    background:none !important;
    border:none !important;
}

.edge-frame{
    background:transparent !important;
    border:none !important;
    max-width:420px;
}

.edge-frame::before{
    display:none !important;
}

.edge-vignette{
    display:none !important;
}

.edge-anim-svg{
    width:100%;
    height:100%;
    transform:scale(1.25);
    transform-origin:center;
}

/* v23 Edge animation refinement */

.edge-anim-svg{
    width:100%;
    height:100%;
    transform:scale(1.5); /* increase by ~50% */
    transform-origin:center;
    opacity:0.95;
}

/* softer integration fade */
.pcard2-visual.pbg-edge-animated::after{
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(circle at 70% 50%, rgba(0,0,0,0) 40%, rgba(5,8,30,0.45) 100%);
    pointer-events:none;
}

/* subtle floating particles */
.edge-particles{
    position:absolute;
    inset:0;
    pointer-events:none;
    background-image:
      radial-gradient(circle, rgba(120,220,255,0.4) 1px, transparent 1px),
      radial-gradient(circle, rgba(120,220,255,0.3) 1px, transparent 1px);
    background-size:120px 120px, 180px 180px;
    animation:edgeParticles 14s linear infinite;
    opacity:0.25;
}

@keyframes edgeParticles{
    from{ transform:translateY(0px); }
    to{ transform:translateY(-120px); }
}


/* ===== v24 platform polish ===== */

/* Slightly improve hero spacing */
.hero h1{
  line-height: 0.98 !important;
  letter-spacing: -0.03em !important;
  margin-bottom: 16px !important;
}
.hero-sub{
  margin-top: 2px !important;
  margin-bottom: 18px !important;
  line-height: 1.45 !important;
}
.hero-highlight{
  margin-top: 0 !important;
}

/* Platform section subtle overall ambient glow */
.platform{
  position: relative;
}
.platform::before{
  content:"";
  position:absolute;
  inset: 0;
  background:
    radial-gradient(circle at 22% 38%, rgba(66,182,255,0.06), transparent 28%),
    radial-gradient(circle at 74% 64%, rgba(99,26,161,0.05), transparent 30%);
  pointer-events:none;
  animation: platformAmbientPulse 10s ease-in-out infinite;
}
@keyframes platformAmbientPulse{
  0%,100%{ opacity:0.65; transform:scale(1); }
  50%{ opacity:1; transform:scale(1.01); }
}

/* Make platform cards feel more alive but restrained */
.pcard2{
  overflow:hidden;
}
.pcard2::after{
  content:"";
  position:absolute;
  inset:auto -15% -25% auto;
  width:140px;
  height:140px;
  border-radius:999px;
  background: radial-gradient(circle, rgba(255,255,255,0.06), transparent 70%);
  filter: blur(16px);
  opacity:.22;
  pointer-events:none;
}

/* Edge visual: remove inner block feel, enlarge significantly, center-right */
.pcard2-visual.pbg-edge-animated{
  width: 120% !important;
  max-width: 520px !important;
  justify-self: end !important;
  align-self: center !important;
  position: relative;
  right: -14px;
}
.edge-frame{
  width:100% !important;
  max-width:none !important;
  aspect-ratio: 900 / 380 !important;
  background: transparent !important;
  border: none !important;
  box-shadow:none !important;
  overflow:visible !important;
  margin-left:auto !important;
}
.edge-anim-svg{
  width:100% !important;
  height:100% !important;
  transform: scale(2.0) translateX(4%) !important;
  transform-origin: 62% 50% !important;
  opacity:0.98 !important;
  filter: drop-shadow(0 0 14px rgba(120,220,255,0.12));
}

/* Remove hard rectangle feel completely */
.pcard2-visual.pbg-edge-animated::before,
.pcard2-visual.pbg-edge-animated::after,
.edge-frame::before,
.edge-vignette{
  display:none !important;
}

/* Particles refined */
.edge-particles{
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    radial-gradient(circle, rgba(120,220,255,0.52) 1.2px, transparent 1.2px),
    radial-gradient(circle, rgba(120,220,255,0.36) 1px, transparent 1px);
  background-size: 140px 140px, 220px 220px;
  background-position: 50% 50%, 60% 50%;
  animation: edgeParticlesFloat 18s linear infinite;
  opacity:0.22;
  mix-blend-mode: screen;
}
@keyframes edgeParticlesFloat{
  0%{ transform: translate3d(0,10px,0); opacity:0.18; }
  50%{ transform: translate3d(0,-8px,0); opacity:0.28; }
  100%{ transform: translate3d(0,-24px,0); opacity:0.18; }
}

/* Add subtle motion to all platform visuals */
.pcard2-visual{
  animation: platformVisualFloat 9s ease-in-out infinite;
}
.pcard2-rt .pcard2-visual{ animation-delay: .8s; }
.pcard2-sec .pcard2-visual{ animation-delay: 1.6s; }
.pcard2-cloud .pcard2-visual{ animation-delay: 2.4s; }

@keyframes platformVisualFloat{
  0%,100%{ transform: translateY(0px); }
  50%{ transform: translateY(-4px); }
}

/* Make non-edge visuals a bit larger and more premium */
.pbg-rt,
.pbg-sec,
.pbg-cloud{
  max-width: 280px !important;
  height: 170px !important;
  background-size: contain !important;
  background-position: center right !important;
  filter: drop-shadow(0 0 12px rgba(120,220,255,0.08));
}

/* Keep mobile sane */
@media (max-width: 980px){
  .pcard2-visual.pbg-edge-animated{
    width:100% !important;
    max-width:100% !important;
    right:0;
  }
  .edge-frame{
    aspect-ratio: 820 / 340 !important;
  }
  .edge-anim-svg{
    transform: scale(1.55) translateX(0%) !important;
    transform-origin: 60% 50% !important;
  }
  .pbg-rt, .pbg-sec, .pbg-cloud{
    max-width:100% !important;
    height:180px !important;
    background-position:center center !important;
  }
}


/* ===== v25 platform visual completion ===== */

/* Shared visual frame treatment matching edge card integration */
.rt-frame,
.sec-frame,
.cloud-frame{
  width:100%;
  max-width:250px;
  aspect-ratio:820 / 420;
  position:relative;
  overflow:visible;
  border-radius:18px;
  background:transparent;
  border:none;
  margin-left:auto;
}
.rt-anim-svg,
.sec-anim-svg,
.cloud-anim-svg{
  width:100%;
  height:100%;
  display:block;
  opacity:0.98;
  filter: drop-shadow(0 0 14px rgba(120,220,255,0.10));
}
.pcard2-visual.pbg-rt-animated,
.pcard2-visual.pbg-sec-animated,
.pcard2-visual.pbg-cloud-animated{
  width:100%;
  max-width:250px;
  justify-self:end;
  position:relative;
}

/* Scale and alignment per card to match Edge Intelligence feel */
.rt-anim-svg{
  transform: scale(1.52) translateX(8%);
  transform-origin:60% 50%;
}
.sec-anim-svg{
  transform: scale(1.52) translateX(6%);
  transform-origin:60% 52%;
}
.cloud-anim-svg{
  transform: scale(1.58) translateX(8%);
  transform-origin:60% 56%;
}

.rt-vignette,
.sec-vignette,
.cloud-vignette{
  display:none;
}

/* Slight card-local floating motion, consistent with v24 */
.pcard2-visual.pbg-rt-animated{ animation: platformVisualFloat 9s ease-in-out infinite; animation-delay:.8s; }
.pcard2-visual.pbg-sec-animated{ animation: platformVisualFloat 9s ease-in-out infinite; animation-delay:1.6s; }
.pcard2-visual.pbg-cloud-animated{ animation: platformVisualFloat 9s ease-in-out infinite; animation-delay:2.4s; }

/* Mobile sanity */
@media (max-width:980px){
  .rt-frame,.sec-frame,.cloud-frame,
  .pcard2-visual.pbg-rt-animated,
  .pcard2-visual.pbg-sec-animated,
  .pcard2-visual.pbg-cloud-animated{
    max-width:100%;
  }
  .rt-anim-svg{ transform: scale(1.22) translateX(0%); transform-origin:58% 50%; }
  .sec-anim-svg{ transform: scale(1.22) translateX(0%); transform-origin:58% 52%; }
  .cloud-anim-svg{ transform: scale(1.26) translateX(0%); transform-origin:58% 56%; }
}


/* PLATFORM PLAYCARDS: text-only production mode */
.platform-cards-v19 .pcard2{
  min-height: 280px;
}
.platform-cards-v19 .pcard2 .pcard2-visual{
  display:none !important;
}
.platform-cards-v19 .pcard2::after{
  content:none !important;
  display:none !important;
}
