/* ============================================================
   PIXEL STREAM MEDIA - Apps Page
   Loaded only by apps-page/page-apps.php
   Avada CSS stays loaded so the global nav/footer render,
   so every rule here is scoped under body.apps-page and explicit.
   Fonts + --psn-* variables come from nav.css (global).
   Palette + conventions match services.css.
   ============================================================ */

body.apps-page{
  background:#07060F !important;
  color:#ECEAF6;
  font-family:"Inter",sans-serif;
  font-size:16px;line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
.app-wrap{max-width:1280px;margin:0 auto;padding:0 24px}
.app-grad{background:linear-gradient(92deg,#4DA3FF 0%,#7C5CFF 52%,#D24DF0 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.app-sec{padding:80px 0}

/* ============ HERO ============ */
.app-hero{position:relative;padding:90px 0 90px;overflow:visible}
.app-hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(760px 620px at 74% 42%, rgba(124,92,255,.14) 0%, rgba(124,92,255,.05) 45%, transparent 80%);
  -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 55%,transparent 100%);
  mask-image:linear-gradient(180deg,#000 0%,#000 55%,transparent 100%);
}
body.apps-page .app-hero-in{position:relative;display:grid;grid-template-columns:1.05fr 1fr;gap:36px;align-items:center}
.app-eyebrow{font-size:12.5px;font-weight:600;letter-spacing:.28em;color:#9C97BB;text-transform:uppercase;margin:0 0 18px}
.app-hero h1{
  font-family:"Sora",sans-serif;font-weight:800;line-height:1.06;
  font-size:clamp(38px,4.6vw,64px);letter-spacing:-.015em;color:#ECEAF6;margin:0;
}
.app-hero h1 .app-grad{display:block}
.app-lead{margin:24px 0 0;max-width:480px;color:#9C97BB;font-size:16.5px}
.app-hero-art img{max-width:100%;display:block;filter:drop-shadow(0 20px 40px rgba(124,92,255,.28))}

/* ============ SECTION HEADS ============ */
.app-head{text-align:center;max-width:680px;margin:0 auto 52px}
.app-kicker{font-size:12px;font-weight:600;letter-spacing:.42em;text-transform:uppercase;color:#D24DF0;margin:0 0 12px}
.app-kicker-blue{color:#4DA3FF}
.app-head h2{font-family:"Sora",sans-serif;font-weight:700;font-size:clamp(26px,3.2vw,38px);letter-spacing:-.01em;color:#ECEAF6;margin:0}
.app-head p{color:#9C97BB;margin:14px 0 0;font-size:15px}

/* ============ PHILOSOPHY STRIP ============ */
.app-philo{padding:20px 0 40px}
.app-philo .app-head{margin-bottom:0}
.app-philo .app-head p{max-width:620px;margin-inline:auto}


/* ============ APP SHOWCASE (single linked image) ============ */
.app-showcase{
  display:block;max-width:1120px;margin:0 auto;
  border-radius:20px;overflow:hidden;
  border:1px solid rgba(200,160,255,.22);
  box-shadow:0 24px 60px -34px rgba(124,92,255,.55);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
body.apps-page.js-on .app-showcase.is-in:hover,
.app-showcase:hover{
  transform:translateY(-6px);
  border-color:rgba(200,160,255,.45);
  box-shadow:0 40px 80px -30px rgba(124,92,255,.7);
}
.app-showcase img{width:100%;display:block}



/* spotlight actions */
.app-actions{display:flex;flex-wrap:wrap;gap:12px}
.app-btn{
  display:inline-flex;align-items:center;gap:10px;
  font-weight:600;font-size:14px;color:#ECEAF6;text-decoration:none;
  padding:12px 22px;border-radius:999px;
  border:1px solid rgba(160,130,255,.38);
  transition:transform .2s, border-color .2s, box-shadow .25s, background .2s;
}
.app-btn:hover{transform:translateY(-2px);border-color:#4DA3FF;box-shadow:0 8px 26px -10px rgba(124,92,255,.6);color:#ECEAF6}
.app-btn.is-primary{
  background:linear-gradient(92deg,#4DA3FF 0%,#7C5CFF 52%,#D24DF0 100%);
  border-color:transparent;color:#fff;
}
.app-btn.is-primary:hover{color:#fff;box-shadow:0 12px 30px -10px rgba(124,92,255,.75)}

/* ============ CTA (matches services) ============ */
.app-cta{padding:40px 0 60px;text-align:center}
.app-cta-title{
  font-family:"Sora",sans-serif;font-weight:800;letter-spacing:.04em;
  font-size:clamp(24px,3vw,36px);margin:0 0 28px;
  background:linear-gradient(92deg,#4DA3FF 0%,#7C5CFF 52%,#D24DF0 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.app-cta-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.app-cta-btns .app-btn{padding:13px 26px;font-size:14.5px}

/* ============ SCROLL REVEAL (progressive, no-JS safe) ============ */
.app-reveal{opacity:1;transform:none}
body.apps-page.js-on .app-reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease, transform .6s ease}
body.apps-page.js-on .app-reveal.is-in{opacity:1;transform:none}

/* ============ RESPONSIVE ============ */
@media (max-width: 1020px){
  .app-hero-in{grid-template-columns:1fr;text-align:center}
  .app-lead{margin-inline:auto}
  .app-hero-art{max-width:520px;margin:0 auto}
}
@media (max-width: 560px){
  .app-feats{grid-template-columns:1fr}
  .app-actions{flex-direction:column;align-items:stretch}
  .app-actions .app-btn{justify-content:center}
}
