/* CAELIST V21 visual typography + browser identity polish */

/* Robust wrapping inside compact AI/control-plane nodes */
.ai-panel .node {
  box-sizing: border-box;
  width: clamp(134px, 13.5vw, 176px);
  min-width: 0;
  max-width: 176px;
  overflow: hidden;
  text-wrap: balance;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
}
.ai-panel .node b,
.ai-panel .node small {
  display: block;
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
}
.ai-panel .node b {
  line-height: 1.18;
  letter-spacing: -.01em;
}
.ai-panel .node small {
  line-height: 1.32;
  margin-top: 4px;
}

/* Keep control-plane typography balanced on narrower desktops/tablets */
@media (max-width: 1050px) {
  .ai-panel .node { width: 148px; max-width: 148px; }
  .ai-panel .node b { font-size: 11px; }
  .ai-panel .node small { font-size: 10px; }
}

/* Mobile: compact, readable nodes without clipping */
@media (max-width: 680px) {
  .ai-panel .node {
    width: 124px;
    max-width: 124px;
    padding: 8px 9px;
    border-radius: 12px;
  }
  .ai-panel .node b { font-size: 10px; line-height: 1.16; }
  .ai-panel .node small { font-size: 8px; line-height: 1.22; }
  .ai-panel .n1 { left: 5%; }
  .ai-panel .n2 { right: 4%; }
  .ai-panel .n3 { left: 4%; }
  .ai-panel .n4 { right: 4%; }
}

/* Consistent in-page heading rhythm */
.page-main h2,
.page-main h3,
.section h2,
.section h3,
.journeys h3,
.trust-section h3 {
  text-wrap: balance;
}

/* Browser identity is intentionally handled in markup with favicon assets. */

/* CAELIST V22 — AI control-plane alignment refinement */
.ai-panel .ai-body{padding:24px 26px 22px}
.ai-panel .orbit-area{
  height:430px;
  margin:16px 0 12px;
  min-height:430px;
}
.ai-panel .orbit-area .glow{width:240px;height:240px}
.ai-panel .orbit-area .orb{width:190px;height:190px}
.ai-panel .orbit-area .ring{width:300px;height:300px}
.ai-panel .orbit-area .ring.r2{width:346px;height:346px}
.ai-panel .orbit-area .ring.r3{width:392px;height:392px}
.ai-panel .node{
  width:188px;
  max-width:188px;
  padding:12px 14px;
  border-radius:14px;
  background:rgba(6,18,32,.94);
  text-align:left;
  overflow:hidden;
  text-wrap:pretty;
  overflow-wrap:break-word;
  word-break:normal;
}
.ai-panel .node b{
  font-size:13px;
  line-height:1.25;
  white-space:normal;
  overflow-wrap:break-word;
  word-break:normal;
}
.ai-panel .node small{
  font-size:11px;
  line-height:1.35;
  white-space:normal;
  overflow-wrap:break-word;
  word-break:normal;
}
.ai-panel .n1{top:18px;left:12%}
.ai-panel .n2{top:18px;right:12%}
.ai-panel .n3{bottom:18px;left:12%}
.ai-panel .n4{bottom:18px;right:12%}
.ai-panel .n5{top:50%;left:1%;transform:translateY(-50%)}
.ai-panel .n6{top:50%;right:1%;transform:translateY(-50%)}
.ai-panel .orb-center{pointer-events:none}
.ai-panel .orb-center b{font-size:23px}
.ai-panel .orb-center span{font-size:10px}

@media (max-width:1200px){
  .ai-panel .n1,.ai-panel .n3{left:6%}
  .ai-panel .n2,.ai-panel .n4{right:6%}
  .ai-panel .n5{left:-1%}
  .ai-panel .n6{right:-1%}
}

@media (max-width:760px){
  .ai-panel .ai-body{padding:18px 16px 18px}
  .ai-panel .orbit-area{height:370px;min-height:370px}
  .ai-panel .orb{width:150px;height:150px}
  .ai-panel .ring{width:238px;height:238px}
  .ai-panel .ring.r2{width:276px;height:276px}
  .ai-panel .ring.r3{width:314px;height:314px}
  .ai-panel .node{width:142px;max-width:142px;padding:9px 10px}
  .ai-panel .node b{font-size:10.5px}
  .ai-panel .node small{font-size:9px}
  .ai-panel .n1{top:10px;left:2%}
  .ai-panel .n2{top:10px;right:2%}
  .ai-panel .n3{bottom:10px;left:2%}
  .ai-panel .n4{bottom:10px;right:2%}
  .ai-panel .n5{top:50%;left:0;transform:translateY(-50%)}
  .ai-panel .n6{top:50%;right:0;transform:translateY(-50%)}
}

@media (prefers-reduced-motion:reduce){
  .ai-panel .ring.r3{animation:none}
}
