
/* Hosted PBX v2 */
.pbx-hero .hero-inner{align-items:center}
.pbx-dashboard .dash-window{min-height:450px}
.pbx-live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#34db80;box-shadow:0 0 10px #34db80;margin-right:5px}
.pbx-status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}
.pbx-status-card{position:relative;background:#0b2a4d;border:1px solid rgba(99,166,228,.18);border-radius:10px;padding:12px}
.pbx-status-card span{position:absolute;right:10px;top:10px;width:8px;height:8px;border-radius:50%;background:#35d981;box-shadow:0 0 10px #35d981}
.pbx-status-card b,.pbx-status-card small,.pbx-status-card strong{display:block}
.pbx-status-card b{font-size:13px}.pbx-status-card small{font-size:9px;color:#8da8c2;margin:4px 0}.pbx-status-card strong{font-size:10px;color:#4ae28c}
.pbx-flow-panel{background:#071e39;border:1px solid rgba(99,166,228,.16);border-radius:10px;padding:14px;text-align:center}
.pbx-flow-title{font-size:11px;color:#8ea8c0;margin-bottom:10px}
.pbx-flow-box{display:inline-block;padding:8px 14px;border-radius:8px;background:#0a3159;border:1px solid rgba(99,166,228,.3);font-size:11px;font-weight:800}
.pbx-arrow{color:#4dc6ff;font-size:20px}
.pbx-branches{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.pbx-branch{padding:10px 6px;border-radius:8px;background:#0a2748;border:1px solid transparent}
.pbx-branch b,.pbx-branch small{display:block}.pbx-branch small{font-size:9px;color:#8fa8c0}
.pbx-branch.active{border-color:#2eb8ff;box-shadow:0 0 16px rgba(46,184,255,.16)}
.pbx-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}
.pbx-metrics div{background:#0a2748;border-radius:8px;padding:10px}.pbx-metrics small,.pbx-metrics b{display:block}.pbx-metrics small{font-size:9px;color:#8ea8c0}.pbx-metrics b{font-size:16px}
.pbx-benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.pbx-benefit-card{padding:28px;border:1px solid #dce6f1;border-radius:18px;background:linear-gradient(180deg,#fff,#f7fbff);box-shadow:0 18px 45px rgba(29,68,108,.08)}
.pbx-benefit-card p{color:#5d6f84}.benefit-icon{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,#0c7cff,#20b8ff);color:#fff;font-size:26px;font-weight:900;margin-bottom:20px;box-shadow:0 14px 28px rgba(10,113,239,.22)}
.work-anywhere-section{background:linear-gradient(180deg,#eef6ff,#fff)}
.device-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.device-card{padding:22px;border:1px solid #dce6f1;border-radius:16px;background:#fff;text-align:center;transition:.25s;box-shadow:0 14px 34px rgba(29,68,108,.06)}
.device-card.active,.device-card:hover{transform:translateY(-4px);border-color:#6bb8ff;box-shadow:0 18px 42px rgba(29,68,108,.12)}
.device-visual{height:92px;position:relative;margin-bottom:14px}
.device-visual span{position:absolute;inset:12px 28px;border-radius:12px;background:linear-gradient(180deg,#0d7fff,#0755bd);box-shadow:0 14px 26px rgba(10,113,239,.22)}
.desk-phone span:before{content:"";position:absolute;left:15%;right:15%;top:14px;height:18px;border-radius:4px;background:#d9eeff}.desk-phone span:after{content:"";position:absolute;left:20%;right:20%;bottom:10px;height:22px;background:repeating-linear-gradient(90deg,#a7d6ff 0 6px,transparent 6px 12px)}
.mobile-phone span{left:38%;right:38%;border-radius:18px}.mobile-phone span:before{content:"";position:absolute;inset:10px 5px 14px;border-radius:10px;background:#d9eeff}
.desktop-app span:before{content:"";position:absolute;inset:10px;background:#d9eeff}.desktop-app span:after{content:"";position:absolute;left:30%;right:30%;bottom:-12px;height:10px;background:#0b3968}
.browser-phone span:before{content:"";position:absolute;inset:8px;background:linear-gradient(#cce8ff 0 18%,#eaf5ff 18%)}.browser-phone span:after{content:"☎";position:absolute;inset:0;display:grid;place-items:center;color:#0d7fff;font-size:28px}
.remote-office span:before{content:"⌂";position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:42px}
.call-flow-section:before{pointer-events:none!important}
.call-flow-builder{background:linear-gradient(180deg,#0a284a,#061a32);border:1px solid rgba(99,166,228,.25);border-radius:18px;padding:22px;color:#fff}
.builder-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:18px}.builder-head span{font-size:11px;color:#9eb4ca}
.builder-node{padding:10px 14px;border-radius:8px;background:#0b315a;border:1px solid rgba(99,166,228,.28);text-align:center;font-weight:800}.builder-node.compact{margin-top:10px}
.builder-arrow{text-align:center;color:#4cc4ff;font-size:24px}
.builder-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:12px 0}.builder-path{padding:12px;border-radius:10px;background:#081f3a;border:1px solid transparent}.builder-path.active{border-color:#3cc0ff;box-shadow:0 0 16px rgba(60,192,255,.14)}.builder-path>span{display:block;font-size:10px;color:#77d0ff;margin-bottom:8px}
.builder-options{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px}.builder-options button{border:0;border-radius:7px;padding:8px;background:#0c3b6b;color:#d8e9f8;font-weight:800;cursor:pointer}.builder-options button.active{background:#0d7fff;color:#fff}
.builder-destination{text-align:center;background:#0d7fff;border-radius:9px;padding:10px;font-weight:900}
.portal-showcase-section{background:linear-gradient(180deg,#eef6ff,#fff)}
.portal-showcase{display:grid;grid-template-columns:1.15fr .85fr;gap:42px;align-items:center}
.portal-feature-list{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;margin:22px 0}.portal-feature-list span{position:relative;padding-left:24px;font-weight:700;color:#344b67}.portal-feature-list span:before{content:"✓";position:absolute;left:0;color:#0b82ff}
.hosted-timeline{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr auto 1fr;align-items:start;gap:10px;margin-top:34px}
.hosted-step{text-align:center}.hosted-step i{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;margin:0 auto 14px;background:#0d7fff;color:#fff;font-style:normal;font-weight:900;box-shadow:0 0 0 6px rgba(13,127,255,.14),0 0 24px rgba(13,127,255,.22)}
.hosted-step p{font-size:13px}.hosted-line{height:2px;background:linear-gradient(90deg,#0d7fff,#3ec9ff);margin-top:22px;min-width:34px;animation:hostedTimelineGlow 2.4s ease-in-out infinite}
.centered-actions{justify-content:center}
.network-backed-section{background:linear-gradient(180deg,#f7fbff,#fff)}
.network-disclaimer{font-size:13px;color:#6b7d91}
.pbx-network-card{background:linear-gradient(180deg,#0a2548,#061a34);border:1px solid rgba(99,166,228,.26);border-radius:20px;padding:22px;box-shadow:0 24px 60px rgba(4,28,57,.24)}
.pbx-network-head{display:flex;justify-content:space-between;align-items:center;color:#fff}.pbx-network-head span{font-size:12px;color:#9eb5cd}.pbx-network-head i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#35d981;box-shadow:0 0 10px #35d981;margin-right:5px}
.pbx-network-card svg{width:100%;height:300px}.pbx-us{fill:#0b315d;stroke:#177bd2;stroke-width:2}
.pbx-network-route{fill:none;stroke:#4dc6ff;stroke-width:4;stroke-dasharray:10 14;animation:pbxNetworkFlow 2.5s linear infinite;filter:drop-shadow(0 0 6px #1d9cff)}.r2{animation-delay:-.8s}.r3{animation-delay:-1.6s}
.pbx-network-node circle:first-child{fill:#0879ef;stroke:#fff;stroke-width:3;transform-box:fill-box;transform-origin:center;animation:pbxNodePulse 2s ease-in-out infinite;filter:drop-shadow(0 0 8px #249fff)}
.pbx-network-node circle:nth-child(2){fill:#fff}.pbx-network-node text{fill:#fff;font-size:11px;font-weight:800}
.pbx-network-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.pbx-network-metrics div{background:#0b2c52;border-radius:10px;padding:12px}.pbx-network-metrics small,.pbx-network-metrics b{display:block}.pbx-network-metrics small{font-size:10px;color:#8ea8c0}.pbx-network-metrics b{color:#fff;font-size:18px}
.compatibility-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.compatibility-grid div{padding:18px 12px;border:1px solid #dce6f1;border-radius:12px;background:#fff;text-align:center;font-weight:800;color:#23415f;box-shadow:0 10px 24px rgba(29,68,108,.06)}
.compatibility-note{text-align:center;font-size:12px;color:#7b8b9b;margin-top:12px}
.use-case-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.use-case-grid article{padding:22px;border:1px solid #dce6f1;border-radius:16px;background:#fff}
.ai-hosted-section{background:linear-gradient(180deg,#f7fbff,#fff)}
.ai-conversation-card{border-radius:18px;background:#081f3b;padding:22px;box-shadow:0 24px 60px rgba(4,28,57,.22)}
.ai-card-head{display:flex;align-items:center;gap:12px;color:#fff;margin-bottom:18px}.ai-card-head img{width:38px}.ai-card-head span{display:block;color:#58c7ff;font-size:12px}
.ai-message{max-width:82%;padding:11px 14px;border-radius:14px;margin:10px 0;font-size:13px}.user-message{margin-left:auto;background:#0d7fff;color:#fff}.bot-message{background:#0b3158;color:#dbe8f5}
.single-column{grid-template-columns:1fr!important}
@keyframes hostedTimelineGlow{0%,100%{opacity:.45}50%{opacity:1;box-shadow:0 0 12px #2db6ff}}
@keyframes pbxNetworkFlow{to{stroke-dashoffset:-48}}
@keyframes pbxNodePulse{0%,100%{transform:scale(1)}50%{transform:scale(1.15)}}
@media(max-width:1050px){
  .pbx-benefit-grid,.device-grid,.compatibility-grid,.use-case-grid{grid-template-columns:repeat(2,1fr)}
  .portal-showcase{grid-template-columns:1fr}
  .hosted-timeline{grid-template-columns:1fr}.hosted-line{width:2px;height:34px;min-width:0;margin:0 auto}
}
@media(max-width:680px){
  .pbx-status-grid,.pbx-benefit-grid,.device-grid,.compatibility-grid,.use-case-grid,.portal-feature-list,.builder-columns{grid-template-columns:1fr}
  .pbx-dashboard .dash-side{display:none}
  .builder-options{grid-template-columns:1fr}
  .pbx-network-card svg{height:220px}
}
@media(prefers-reduced-motion:reduce){
  .hosted-line,.pbx-network-route,.pbx-network-node circle:first-child{animation:none!important}
}
