html{scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased}
.mono{font-family:'Sora',monospace;font-variant-numeric:tabular-nums}
.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.gridlines{background-image:linear-gradient(to right,rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.04) 1px,transparent 1px);background-size:7.5rem 7.5rem}
.glow{background:radial-gradient(60% 55% at 50% 30%,rgba(54,198,240,.22),transparent 70%)}
/* live wire animation */
@keyframes dash{to{stroke-dashoffset:-1000}}
.wireflow{stroke-dasharray:8 14;animation:dash 18s linear infinite}
/* MOTION KIT */
[data-anim]{opacity:0;transform:translateY(30px);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1);will-change:opacity,transform}
[data-anim].in{opacity:1;transform:none}
[data-anim="fade"]{transform:none}
[data-anim="left"]{transform:translateX(-34px)} [data-anim="right"]{transform:translateX(34px)}
[data-anim="mask"]{opacity:1;transform:none;overflow:hidden;padding-bottom:.08em}
[data-anim="mask"] .anim-inner{display:block;transform:translateY(115%);transition:transform 1s cubic-bezier(.22,1,.36,1)}
[data-anim="mask"].in .anim-inner{transform:translateY(0)}
@media (prefers-reduced-motion: reduce){[data-anim],[data-anim] .anim-inner,.wireflow{transition:none!important;animation:none!important;opacity:1!important;transform:none!important}}
@keyframes marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.marq{animation:marq 30s linear infinite}
.srow:hover .sthumb{opacity:1;transform:scale(1)}
.srow:hover .snum{color:#36c6f0}
.lang-active{background:#36c6f0;color:#06090d}
/* ===== LIGHT THEME (toggle) ===== */
html{transition:background-color .35s ease}
html.light{color-scheme:light}
html.light body{background:#eaeef3;color:#475569}
html.light .bg-void,html.light .bg-void\/85{background-color:#eaeef3!important}
html.light .bg-void\/60{background-color:#f1f5f9!important}
html.light .bg-panel,html.light .bg-panel\/40{background-color:#ffffff!important}
html.light .border-edge{border-color:#dde3ea!important}
html.light .border-white\/10,html.light .border-white\/15,html.light .border-white\/5{border-color:rgba(15,23,42,.10)!important}
html.light .bg-white\/10,html.light .bg-white\/15{background-color:rgba(15,23,42,.12)!important}
html.light .text-white{color:#0f172a!important}
html.light .text-slate-200{color:#1e293b!important}
html.light .text-slate-300{color:#334155!important}
html.light .text-slate-400{color:#475569!important}
html.light .text-slate-500{color:#64748b!important}
html.light .text-slate-600{color:#94a3b8!important}
html.light .text-volt{color:#0c7ba3!important}
html.light .text-volt\/70{color:rgba(12,123,163,.72)!important}
html.light .glow{background:radial-gradient(60% 55% at 50% 30%,rgba(54,198,240,.16),transparent 70%)}
html.light .gridlines{background-image:linear-gradient(to right,rgba(15,23,42,.05) 1px,transparent 1px),linear-gradient(to bottom,rgba(15,23,42,.05) 1px,transparent 1px)}
html.light #hdr.bg-void\/85{background-color:rgba(255,255,255,.85)!important}
html.light #contacts iframe,html.light .map-frame iframe{filter:none!important}
/* theme icon swap */
.theme-sun{display:none}.theme-moon{display:block}
html.light .theme-moon{display:none}html.light .theme-sun{display:block}
