
/* Sabihost site.css — shared styles for all pages */
:root{--ink:#0a0e1a;--surface:#0f1426}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{background:#fff;overflow-x:hidden;max-width:100%}
.font-display{font-family:'Space Grotesk',sans-serif}
[x-cloak]{display:none!important}
.grad-text{background:linear-gradient(100deg,#818cf8 0%,#a78bfa 45%,#22d3ee 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.grad-btn{background:linear-gradient(100deg,#4f46e5,#7c3aed)}
.grad-btn:hover{background:linear-gradient(100deg,#4338ca,#6d28d9)}
.glass{background:rgba(10,14,26,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.06)}
.mesh{background:
  radial-gradient(60% 50% at 18% 0%,rgba(79,70,229,.35),transparent 60%),
  radial-gradient(50% 50% at 85% 10%,rgba(124,58,237,.30),transparent 60%),
  radial-gradient(40% 40% at 60% 90%,rgba(34,211,238,.12),transparent 60%);}
.grid-lines{background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:46px 46px;mask-image:radial-gradient(circle at 50% 30%,#000 0%,transparent 75%)}
.uptime{display:flex;gap:2px;align-items:flex-end;height:34px;width:100%;overflow:hidden}
.uptime i{flex:1 1 0;min-width:0;display:block;border-radius:2px;background:#10b981;height:100%;opacity:.9;animation:rise .6s ease both}
.uptime i.dim{background:#f59e0b;height:62%}
.uptime i:nth-child(7n){height:78%}
@keyframes rise{from{transform:scaleY(.2);opacity:0}to{transform:scaleY(1);opacity:.9}}
.live-dot{width:9px;height:9px;border-radius:50%;background:#34d399;box-shadow:0 0 0 0 rgba(52,211,153,.7);animation:ping 2s infinite}
@keyframes ping{70%{box-shadow:0 0 0 10px rgba(52,211,153,0)}100%{box-shadow:0 0 0 0 rgba(52,211,153,0)}}
.wa-pulse{animation:wp 2.2s infinite}
@keyframes wp{0%{box-shadow:0 0 0 0 rgba(37,211,102,.65)}70%{box-shadow:0 0 0 16px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid #818cf8;outline-offset:2px;border-radius:8px}
@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
