/* stability + mobile fixes (loaded last) */
html{scrollbar-gutter:stable;overflow-anchor:none;-webkit-text-size-adjust:100%;text-size-adjust:100%}
html.lock{overflow:hidden}
body{overflow-x:hidden;min-height:100vh;min-height:100svh;-webkit-tap-highlight-color:transparent}
/* Ctrl+A / long-press must never select decorations, icons, logos or the animated background */
.bg,.bg *,.nav .brand,.nav .ind,.prog,.badge,.sparks,.art,.stars,.pc::before,img,svg,canvas,.burger,.tabs button,.btn{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
img{-webkit-user-drag:none}
.bg{position:fixed;top:0;left:0;width:100%;height:100vh;height:100lvh;contain:strict;transform:translateZ(0)}
::selection{background:rgba(212,181,110,.3);color:#fff}
/* iOS zooms any input under 16px which shifts the whole page */
input,select,textarea,button{font:inherit}
input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px}
.nav .nb{transition:background .3s,border-color .3s}
.nav.sc .nb{height:64px;width:min(1120px,100% - 28px)}
.rv{will-change:auto}
@media (max-width:900px){
 .nav{top:10px}.nb{height:58px;padding-inline:14px 8px;gap:8px}.brand img{height:40px}
 .hero{padding:104px 0 56px}.hero .wrap{gap:28px}
 .hero h1{font-size:clamp(32px,9.4vw,46px);line-height:1.6}.hero p{font-size:16px}
 .cta{flex-direction:column}.cta .btn{width:100%}
 .facts{display:grid;grid-template-columns:1fr 1fr;gap:16px}
 .srv{padding:18px}
 section{padding:56px 0}
 .wrap{width:calc(100% - 32px)}
 h2{font-size:24px}.sub{margin-bottom:24px}
 .pnl{grid-template-columns:1fr}.side{flex-direction:row;overflow-x:auto;border-inline-end:0;border-bottom:1px solid var(--line)}
 .stats{grid-template-columns:1fr 1fr 1fr;gap:8px}.stats div{padding:8px}.stats b{font-size:14px}
 .term{font-size:12px;min-height:170px;overflow-x:auto}
 .rc{width:280px}.rs{gap:24px}.score{font-size:52px}
 .specs{grid-template-columns:1fr}.contact{grid-template-columns:1fr}
 footer .wrap{flex-direction:column;align-items:flex-start}
}
@media (max-width:620px){.plans{grid-template-columns:1fr;gap:18px}.pc{padding:22px 20px}.pc.best{scale:1}.pc .price{font-size:36px}}
@media (max-width:560px){.na .btn.primary{display:none}.nb{padding-inline:12px 8px}}
