/* Rennix AI networking — topology-led infrastructure service page. */
.net-hero{padding:clamp(132px,14vw,184px) 0 clamp(76px,8vw,112px);position:relative;overflow:hidden}
.net-hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 55% 72% at 79% 38%,rgba(14,165,233,.13),transparent 68%)}
.net-hero__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(440px,1.1fr);gap:clamp(54px,7vw,104px);align-items:center;position:relative;z-index:1}
.net-hero h1{margin:0;color:#fff;font-size:clamp(2.8rem,5.15vw,5rem);line-height:1.01;letter-spacing:-.052em;max-width:780px}
.net-hero__lead{margin:26px 0 0;max-width:690px;color:var(--d-soft);font-size:clamp(1.08rem,1.55vw,1.32rem)}
.net-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.net-topology{position:relative;min-height:470px;border:1px solid rgba(125,173,233,.3);background:rgba(8,22,43,.74);box-shadow:0 30px 76px rgba(0,0,0,.3);overflow:hidden}
.net-topology__bar{display:flex;justify-content:space-between;gap:18px;padding:18px 22px;border-bottom:1px solid rgba(125,173,233,.2);color:#d9e8fb;font-size:.78rem;font-weight:750;letter-spacing:.09em;text-transform:uppercase}
.net-topology__bar span:last-child{color:#6ee7b7}
.net-topology__field{position:relative;height:405px;background:radial-gradient(circle at 50% 48%,rgba(56,189,248,.11),transparent 45%)}
.net-topology svg{position:absolute;inset:0;width:100%;height:100%}
.net-topology .link{fill:none;stroke:#3b82f6;stroke-width:1.5;stroke-dasharray:6 8;vector-effect:non-scaling-stroke;opacity:.62;animation:net-flow 9s linear infinite}
.net-topology .link--live{stroke:#34d399;opacity:.82}
.net-node{position:absolute;transform:translate(-50%,-50%);min-width:116px;padding:13px 16px;border:1px solid rgba(125,173,233,.32);background:#0c1d36;color:#eef6ff;text-align:center;font-weight:750;font-size:.88rem;box-shadow:0 12px 28px rgba(0,0,0,.2)}
.net-node small{display:block;margin-top:4px;color:#8fa4c3;font-size:.72rem;font-weight:550}
.net-node--core{left:50%;top:47%;min-width:142px;border-color:#38bdf8;background:#102d52}
.net-node--internet{left:50%;top:14%}.net-node--branch{left:18%;top:47%}.net-node--campus{left:82%;top:47%}.net-node--edge{left:28%;top:81%}.net-node--dc{left:72%;top:81%}
.net-status{position:absolute;right:18px;bottom:16px;display:flex;align-items:center;gap:8px;color:#9fe8c9;font-size:.76rem}.net-status::before{content:"";width:8px;height:8px;border-radius:50%;background:#34d399;box-shadow:0 0 0 5px rgba(52,211,153,.12)}
@keyframes net-flow{to{stroke-dashoffset:-140}}
.net-section{padding:var(--rx-section-pad) 0}.net-section--light{background:#f7f8fa;color:#10213e}.net-section--light h2,.net-section--light h3,.net-section--light strong{color:#10213e}.net-section--light p{color:#516582}
.net-intro{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:clamp(48px,8vw,116px);align-items:start}.net-intro h2,.net-copy h2{margin:0;font-size:clamp(2.15rem,4vw,3.55rem);line-height:1.06;letter-spacing:-.04em}.net-intro>div:first-child p,.net-copy>p{margin:18px 0 0;font-size:1.1rem}
.net-capabilities{border-top:1px solid #d6dfec}.net-capability{display:grid;grid-template-columns:minmax(180px,.48fr) minmax(0,1fr) auto;gap:30px;align-items:start;padding:28px 0;border-bottom:1px solid #d6dfec}.net-capability h3,.net-capability p{margin:0}.net-capability h3{font-size:1.08rem}.net-capability span{color:#2563eb;font-weight:750;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}
.net-architecture{display:grid;grid-template-columns:minmax(250px,.62fr) minmax(0,1.38fr);gap:clamp(48px,8vw,112px);align-items:start}.net-architecture h2{margin:0;color:#fff;font-size:clamp(2.1rem,3.8vw,3.35rem);line-height:1.08;letter-spacing:-.04em}.net-architecture>div:first-child p{color:var(--d-soft)}
.net-stack{border-block:1px solid rgba(148,163,184,.22)}.net-layer{display:grid;grid-template-columns:140px 1fr;gap:28px;padding:24px 0;border-bottom:1px solid rgba(148,163,184,.22)}.net-layer:last-child{border-bottom:0}.net-layer strong{color:#fff}.net-layer p{margin:0;color:var(--d-soft)}.net-layer span{color:#60a5fa;font-weight:750}
.net-delivery{margin-top:46px;display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid #d6dfec}.net-delivery article{padding:30px 26px}.net-delivery article+article{border-left:1px solid #d6dfec}.net-delivery b{display:block;color:#2563eb;font-size:.78rem;letter-spacing:.08em}.net-delivery h3{margin:18px 0 0;font-size:1.18rem}.net-delivery p{margin:10px 0 0}
.net-partners{display:flex;align-items:center;justify-content:space-between;gap:26px;flex-wrap:wrap;margin-top:42px;padding:34px 0;border-block:1px solid rgba(148,163,184,.2)}.net-partners img{display:block;width:auto;height:34px;max-width:130px;filter:grayscale(1) brightness(2);opacity:.78}.net-partners img:hover{filter:none;opacity:1}
.net-note{margin-top:26px;color:var(--d-mute);font-size:.9rem}.net-faq{max-width:920px}
[dir="rtl"] .net-delivery article+article{border-left:0;border-right:1px solid #d6dfec}
[dir="rtl"] .net-hero h1{font-family:'Cairo',sans-serif;font-size:clamp(2.65rem,4.45vw,4.45rem);font-weight:700;line-height:1.22;letter-spacing:0}
[dir="rtl"] .net-hero__lead{max-width:38rem;font-size:clamp(1.05rem,1.35vw,1.24rem);line-height:1.9}
@media(max-width:920px){.net-hero__grid,.net-intro,.net-architecture{grid-template-columns:1fr}.net-topology{max-width:680px}.net-delivery{grid-template-columns:1fr 1fr}.net-delivery article:nth-child(3){border-left:0}.net-delivery article:nth-child(n+3){border-top:1px solid #d6dfec}[dir="rtl"] .net-delivery article:nth-child(3){border-right:0}}
@media(max-width:620px){.net-hero{padding-top:calc(var(--nav-h) + 48px)}.net-hero h1{font-size:clamp(2.45rem,12vw,3.45rem)}[dir="rtl"] .net-hero h1{font-size:clamp(2.25rem,10.8vw,3.05rem);line-height:1.25}.net-actions{display:grid}.net-actions .rx-btn{width:100%}.net-topology{min-height:420px}.net-topology__field{height:355px}.net-node{min-width:92px;padding:10px 8px;font-size:.76rem}.net-node--core{min-width:112px}.net-node--branch{left:19%}.net-node--campus{left:81%}.net-node--edge{left:26%}.net-node--dc{left:74%}.net-status{display:none}.net-capability{grid-template-columns:1fr;gap:8px}.net-delivery{grid-template-columns:1fr}.net-delivery article+article,.net-delivery article:nth-child(3){border-left:0;border-top:1px solid #d6dfec}[dir="rtl"] .net-delivery article+article{border-right:0}.net-layer{grid-template-columns:1fr;gap:8px}.net-partners{justify-content:center}}
@media(prefers-reduced-motion:reduce){.net-topology .link{animation:none}}
