/* ===== Revebe Digital — shared premium layer for all non-home pages =====
   Activated by body.has-premium (set in inc/layout.php for every page except the
   home page, which has its own richer .rvx-home version). Remove the premium.css
   <link> + premium.js <script> + body class in layout.php to fully revert. */

body.has-premium{
  background-image:
    radial-gradient(1100px 650px at 82% -6%,rgba(255,45,77,.09),transparent 60%),
    radial-gradient(950px 600px at -6% 8%,rgba(97,114,255,.09),transparent 58%);
  background-attachment:fixed;
}
/* mono, spaced eyebrow — the software-company signal */
body.has-premium .eyebrow{
  font-family:ui-monospace,"SF Mono","Cascadia Code","JetBrains Mono",Menlo,Consolas,monospace;
  letter-spacing:.14em;
}
body.has-premium .page-head h1{letter-spacing:-.02em}

/* scroll reveal (guarded by has-js so content still shows if JS is disabled) */
body.has-premium.has-js .rv{opacity:0;transform:translateY(20px)}
body.has-premium .rv.in{opacity:1;transform:none;transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}

/* top scroll-progress line */
body.has-premium .tline-top{position:fixed;top:0;left:0;width:100%;height:3px;z-index:60;background:rgba(255,255,255,.05);pointer-events:none}
body.has-premium .tline-top .fill{position:absolute;left:0;top:0;height:100%;width:0;background:linear-gradient(90deg,#ff2d4d,#6172ff);box-shadow:0 0 10px rgba(255,45,77,.6)}
body.has-premium .tline-top .node{position:absolute;top:50%;left:0;width:10px;height:10px;border-radius:50%;background:#fff;transform:translate(-50%,-50%);box-shadow:0 0 0 4px rgba(255,45,77,.28),0 0 14px #ff2d4d}
body.has-premium .tline-top .node::before{content:"";position:absolute;inset:-8px;border-radius:50%;border:1px solid rgba(255,45,77,.4);animation:rvxping2 1.8s ease-out infinite}
/* left vertical tech line */
body.has-premium .tline-left{position:fixed;top:14vh;bottom:14vh;left:22px;width:2px;z-index:6;background:rgba(255,255,255,.06);border-radius:3px;pointer-events:none}
body.has-premium .tline-left .fill{position:absolute;left:0;top:0;width:100%;height:0;border-radius:3px;background:linear-gradient(180deg,#ff2d4d,#6172ff);box-shadow:0 0 10px rgba(255,45,77,.5)}
body.has-premium .tline-left .node{position:absolute;left:50%;top:0;width:9px;height:9px;border-radius:50%;background:#fff;transform:translate(-50%,-50%);box-shadow:0 0 0 4px rgba(255,45,77,.25),0 0 14px #ff2d4d}
body.has-premium .tline-left .node::before{content:"";position:absolute;inset:-8px;border-radius:50%;border:1px solid rgba(255,45,77,.4);animation:rvxping2 1.8s ease-out infinite}
@keyframes rvxping2{0%{transform:scale(.6);opacity:.85}100%{transform:scale(1.6);opacity:0}}
@media(max-width:1024px){body.has-premium .tline-left{display:none}}
@media(prefers-reduced-motion:reduce){body.has-premium .rv{opacity:1!important;transform:none!important}body.has-premium .tline-top .node::before,body.has-premium .tline-left .node::before{animation:none}}
