/* ============================================================
   PIXEL STREAM MEDIA - Product Photography Page
   Loaded only by photography-page/page-photography.php
   Avada CSS stays loaded on this page (the Avada Form needs it),
   so every rule here is scoped under body.pho-page and explicit.
   Fonts + --psn-* variables come from nav.css (global).
   ============================================================ */

body.pho-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;
}
body.pho-page .pho-wrap{max-width:1280px;margin:0 auto;padding:0 24px}
body.pho-page .pho-grad{background:linear-gradient(92deg,#4DA3FF 0%,#7C5CFF 52%,#D24DF0 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
body.pho-page .pho-sec{padding:80px 0}

/* ============ HERO ============ */
body.pho-page .pho-hero{position:relative;padding:90px 0 90px;overflow:visible}
body.pho-page .pho-hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(760px 620px at 74% 42%, rgba(185,140,255,.14) 0%, rgba(185,140,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.pho-page .pho-hero-in{position:relative;display:grid;grid-template-columns:1.05fr 1fr;gap:36px;align-items:center}
body.pho-page .pho-eyebrow{font-size:12.5px;font-weight:600;letter-spacing:.28em;color:#9C97BB;text-transform:uppercase;margin:0 0 18px}
body.pho-page .pho-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;
}
body.pho-page .pho-lead{margin:24px 0 0;max-width:480px;color:#9C97BB;font-size:16.5px}
body.pho-page .pho-hero-art img{max-width:100%;max-height:440px;object-fit:contain;margin:0 auto;display:block;filter:drop-shadow(0 20px 40px rgba(185,140,255,.28))}

/* ============ SECTION HEADS ============ */
body.pho-page .pho-head{text-align:center;max-width:640px;margin:0 auto 52px}
body.pho-page .pho-kicker{font-size:12px;font-weight:600;letter-spacing:.42em;text-transform:uppercase;color:#B98CFF;margin:0 0 12px}
body.pho-page .pho-head h2{font-family:"Sora",sans-serif;font-weight:700;font-size:clamp(26px,3.2vw,38px);letter-spacing:-.01em;color:#ECEAF6;margin:0}
body.pho-page .pho-head p{color:#9C97BB;margin:12px 0 0;font-size:15px}

/* ============ PHOTOGRAPHY TYPE BLOCKS (2 columns) ============ */
body.pho-page .pho-blocks{display:grid;grid-template-columns:1fr 1fr;gap:24px}
body.pho-page .pho-block{
  border:1px solid rgba(200,160,255,.34);
  border-radius:18px;
  padding:30px;
  background:
    radial-gradient(120% 90% at 50% 0%, rgba(185,140,255,.20) 0%, rgba(185,140,255,.05) 48%, transparent 72%),
    linear-gradient(180deg, rgba(52,32,90,.50) 0%, rgba(16,12,32,.85) 100%);
  transition:transform .25s, border-color .25s, box-shadow .3s, background .25s;
}
body.pho-page .pho-block:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 50px -24px rgba(124,92,255,.45);
  background:
    radial-gradient(120% 95% at 50% 0%, rgba(185,140,255,.34) 0%, rgba(185,140,255,.08) 50%, transparent 74%),
    linear-gradient(180deg, rgba(52,32,90,.55) 0%, rgba(16,12,32,.85) 100%);
}
body.pho-page .pho-block h3{font-family:"Sora",sans-serif;font-size:19px;letter-spacing:.02em;font-weight:700;margin:0 0 12px;color:#B98CFF}
body.pho-page .pho-block p{font-size:14.5px;color:#9C97BB;margin:0}

/* ============ CTA ============ */
body.pho-page .pho-cta{padding:40px 0 60px;text-align:center}
body.pho-page .pho-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;
}
body.pho-page .pho-cta-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
body.pho-page .pho-btn{
  display:inline-flex;align-items:center;gap:10px;
  font-weight:600;font-size:14.5px;color:#ECEAF6;text-decoration:none;
  padding:13px 26px;border-radius:999px;
  border:1px solid rgba(160,130,255,.38);
  transition:transform .2s, border-color .2s, box-shadow .25s;
}
body.pho-page .pho-btn:hover{transform:translateY(-2px);border-color:#B98CFF;box-shadow:0 8px 26px -10px rgba(124,92,255,.6);color:#ECEAF6}

/* ============ CONTACT ============ */
body.pho-page .pho-contact{padding-top:20px}
body.pho-page .pho-form{max-width:820px;margin:0 auto}

/* --- skin the Avada form to match --- */
body.pho-page .fusion-form input[type="text"],
body.pho-page .fusion-form input[type="email"],
body.pho-page .fusion-form textarea{
  background:rgba(126,94,255,.06) !important;
  border:1px solid rgba(140,110,255,.25) !important;
  border-radius:12px !important;
  color:#ECEAF6 !important;
  box-shadow:none !important;
}
body.pho-page .fusion-form input:focus,
body.pho-page .fusion-form textarea:focus{
  border-color:#B98CFF !important;
}
body.pho-page .fusion-form ::placeholder{color:#9C97BB !important;opacity:1}
body.pho-page .fusion-form label{color:#9C97BB !important}
body.pho-page .fusion-form button[type="submit"],
body.pho-page .fusion-form .fusion-button{
  background:linear-gradient(92deg,#4DA3FF 0%,#7C5CFF 52%,#D24DF0 100%) !important;
  border:none !important;border-radius:999px !important;
  color:#fff !important;font-weight:600 !important;
}

/* ============ RESPONSIVE ============ */
@media (max-width: 1020px){
  body.pho-page .pho-hero-in{grid-template-columns:1fr;text-align:center}
  body.pho-page .pho-lead{margin-inline:auto}
  body.pho-page .pho-hero-art{max-width:520px;margin:0 auto}
  body.pho-page .pho-blocks{grid-template-columns:1fr}
}