.illus{
  background:linear-gradient(180deg,var(--bg-2),var(--bg-3));
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:24px;
  margin:28px 0;
}
.illus svg{width:100%;height:auto;display:block}
.illus-caption{
  text-align:center;
  color:var(--muted);
  font-size:.86rem;
  margin-top:14px;
  font-style:italic;
}

.illus-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  margin:28px 0;
}
@media(max-width:720px){ .illus-row{grid-template-columns:1fr} }

.brand-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:24px;
}
.brand-card{
  background:linear-gradient(180deg,var(--bg-2),var(--bg-3));
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:28px;
  transition:.3s;
}
.brand-card:hover{border-color:var(--accent);transform:translateY(-4px);box-shadow:var(--shadow)}
.brand-logo{
  height:54px;
  display:flex;
  align-items:center;
  margin-bottom:18px;
}
.brand-logo svg{height:54px;width:auto;max-width:100%}
.brand-card h3{font-size:1.15rem;margin-bottom:6px}
.brand-card .brand-tag{
  display:inline-block;
  font-size:.72rem;
  color:var(--accent);
  letter-spacing:.6px;
  text-transform:uppercase;
  font-weight:700;
  margin-bottom:12px;
}
.brand-card p{color:var(--muted);font-size:.92rem;margin-bottom:12px}
.brand-card ul{list-style:none;padding:0;font-size:.88rem}
.brand-card ul li{
  padding:5px 0 5px 18px;
  position:relative;
  color:#cdd7e0;
}
.brand-card ul li::before{
  content:"▸";
  position:absolute;
  left:0;
  color:var(--accent-2);
}

.tech-table{
  width:100%;
  border-collapse:collapse;
  margin:24px 0;
  font-size:.9rem;
  background:var(--bg-2);
  border-radius:var(--radius);
  overflow:hidden;
}
.tech-table th, .tech-table td{
  padding:12px 16px;
  text-align:left;
  border-bottom:1px solid var(--border);
}
.tech-table th{
  background:var(--bg-3);
  color:var(--accent);
  font-weight:700;
  font-size:.8rem;
  letter-spacing:.6px;
  text-transform:uppercase;
}
.tech-table tr:last-child td{border-bottom:none}
.tech-table tr:hover{background:rgba(0,212,255,.04)}
@media(max-width:720px){
  .tech-table{font-size:.8rem}
  .tech-table th, .tech-table td{padding:8px 10px}
}

.ip-wrap{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:32px;
}
@media(max-width:900px){ .ip-wrap{grid-template-columns:1fr} }

.ip-visual{
  grid-column:1 / -1;
  background:linear-gradient(180deg,var(--bg-2),var(--bg-3));
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:28px;
}
.ip-bits{
  display:flex;
  gap:2px;
  justify-content:center;
  flex-wrap:wrap;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.85rem;
  margin:18px 0;
}
.ip-bits .octet{
  display:flex;
  gap:1px;
  padding:6px 4px;
  background:var(--bg);
  border-radius:8px;
  border:1px solid var(--border);
}
.ip-bits .bit{
  width:22px;height:28px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:4px;
  background:var(--bg-3);
  color:var(--muted);
  transition:.2s;
}
.ip-bits .bit.net{background:rgba(0,212,255,.18);color:var(--accent);font-weight:700}
.ip-bits .bit.host{background:rgba(0,255,163,.12);color:var(--accent-2)}
.ip-bits .sep{width:8px}

.ip-summary{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  gap:16px;
  margin-top:22px;
}
.ip-item{
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:10px;
  padding:14px 16px;
}
.ip-item .k{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.5px}
.ip-item .v{
  color:var(--text);
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:1.05rem;
  font-weight:700;
  margin-top:4px;
  word-break:break-all;
}
.ip-item.accent .v{color:var(--accent)}
.ip-item.accent2 .v{color:var(--accent-2)}