/* /platform/<slug> product pages. Scoped to .ppage; frames from shots.css. */

.ppage-hero{background:linear-gradient(155deg,#0e1633 0%,#2a1c57 55%,#5b2b63 100%);color:#fff;
  padding:clamp(40px,6vw,80px) 0 var(--sp-10)}
.ppage-crumb{margin:0 0 var(--sp-4);font-size:var(--step--1);color:rgba(255,255,255,.6)}
.ppage-crumb a{color:rgba(255,255,255,.8)}
.ppage-crumb span{margin:0 6px}
.ppage-hero__title{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}
.ppage-hero h1{color:#fff;margin:0}
.ppage-badge{padding:4px 12px;border-radius:var(--radius-pill);background:var(--action);color:#fff;
  font-size:var(--step--2);font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.ppage-hero__tag{font-family:var(--font-display);font-size:var(--step-2);color:#fff;margin:var(--sp-3) 0 0;max-width:30ch}
.ppage-hero__body{color:rgba(255,255,255,.78);font-size:var(--step-1);max-width:62ch;margin:var(--sp-4) 0 0}
.ppage-hero__cta{display:flex;gap:var(--sp-3);flex-wrap:wrap;margin-top:var(--sp-6)}
.ppage-ghost{color:#fff;border-color:rgba(255,255,255,.4)}
.ppage-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-5);margin-top:var(--sp-10);
  padding-top:var(--sp-6);border-top:1px solid rgba(255,255,255,.18)}
@media(max-width:700px){.ppage-stats{grid-template-columns:1fr 1fr}}
.ppage-stats b{display:block;font-family:var(--font-display);font-size:clamp(26px,3.2vw,38px);color:#fff;line-height:1.1}
.ppage-stats span{font-size:var(--step--1);color:rgba(255,255,255,.7)}

.ppage-h2{margin:0 0 var(--sp-6)}
.ppage-h2--light{color:#fff}
.ppage-h3{font-size:var(--step-1);margin:0 0 var(--sp-4)}

.ppage-feats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-4)}
@media(max-width:1000px){.ppage-feats{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.ppage-feats{grid-template-columns:1fr}}
.ppage-feat{display:block;background:var(--surface);border:var(--border) solid var(--line);border-top:3px solid var(--brand-600);
  border-radius:var(--radius);padding:var(--sp-5);color:inherit}
a.ppage-feat:hover{border-color:var(--action);text-decoration:none}
.ppage-feat b{display:block;color:var(--text-heading);margin-bottom:var(--sp-2);font-size:var(--step-0)}
.ppage-feat p{margin:0;color:var(--text-soft);font-size:var(--step--1)}

.ppage-shots{background:linear-gradient(155deg,#101a3a 0%,#1c1f4a 60%,#2a1c57 100%)}
.ppage-shots__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-6)}
.ppage-shots__grid.is-single{grid-template-columns:minmax(0,760px);justify-content:center}
.ppage-shot.is-lead{grid-column:1/-1}
@media(max-width:800px){.ppage-shots__grid{grid-template-columns:1fr}}
.ppage-shot{display:flex;flex-direction:column;gap:var(--sp-3)}
.ppage-shot .pshot__img img{max-height:none}
.ppage-shot .pshot__cap{color:rgba(255,255,255,.65)}

.ppage-two{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start}
@media(max-width:900px){.ppage-two{grid-template-columns:1fr}}
.ppage-seats{display:grid;gap:var(--sp-3)}
.ppage-seat{display:grid;grid-template-columns:1fr auto;gap:2px var(--sp-4);padding:var(--sp-4) var(--sp-5);
  background:var(--surface);border:var(--border) solid var(--line);border-radius:var(--radius);color:inherit}
.ppage-seat:hover{border-color:var(--action);text-decoration:none}
.ppage-seat b{color:var(--text-heading)}
.ppage-seat span{grid-column:1;color:var(--text-soft);font-size:var(--step--1)}
.ppage-seat i{grid-row:1/3;grid-column:2;align-self:center;font-style:normal;color:var(--action);font-weight:700}
.ppage-data{list-style:none;margin:0 0 var(--sp-4);padding:0;display:flex;flex-wrap:wrap;gap:var(--sp-2)}
.ppage-data li{font-size:var(--step--1);padding:6px 12px;border-radius:var(--radius-pill);
  background:var(--surface-tint);border:1px solid var(--line-strong);color:var(--text)}
.ppage-link{font-weight:650;color:var(--action);font-size:var(--step--1)}

.ppage-cta{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-6);flex-wrap:wrap;
  padding:var(--sp-8);border-radius:var(--radius-lg);background:var(--brand-900);color:#fff;border-top:3px solid var(--action)}
.ppage-cta h2{color:#fff;margin:0 0 var(--sp-2)}
.ppage-cta p{color:rgba(255,255,255,.78);margin:0;max-width:52ch}
.ppage-cta__btns{display:flex;gap:var(--sp-3);flex-wrap:wrap}
.ppage-cta .btn:not(.btn--action){color:#fff;border-color:rgba(255,255,255,.4)}

/* ---- hero v2: headline + product shot (2026-09-29) ---- */
.ppage-hero{position:relative;overflow:hidden;isolation:isolate;padding:clamp(40px,6vw,84px) 0 var(--sp-10)}
.ppage-hero__bg{position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(600px 380px at 82% 38%,rgba(255,131,0,.16),transparent 70%),
    radial-gradient(700px 480px at 70% 60%,rgba(139,92,246,.30),transparent 70%),
    url("../img/hero-net.jpg") right center/cover no-repeat;opacity:.9}
.ppage-hero__bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,#0e1633 0%,rgba(14,22,51,.92) 38%,rgba(14,22,51,.55) 70%,rgba(14,22,51,.35) 100%)}
.ppage-hero__grid{display:grid;gap:clamp(32px,5vw,64px);align-items:center}
@media(min-width:960px){.ppage-hero__grid.has-shot{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}}
.ppage-eyebrow{display:flex;align-items:center;gap:var(--sp-3);margin:0 0 var(--sp-3);
  font-size:var(--step--1);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--action)}
.ppage-hero__h1{color:#fff;margin:0;font-family:var(--font-display);
  font-size:clamp(34px,4.4vw,56px);line-height:1.08;letter-spacing:-.015em;max-width:16ch}
.ppage-hero__body{margin-top:var(--sp-5)}
.ppage-hero__shot{position:relative;display:flex;flex-direction:column;gap:var(--sp-3)}
.ppage-hero__shot::before{content:"";position:absolute;inset:8% -4% -6% 6%;z-index:-1;border-radius:24px;
  background:radial-gradient(closest-side,rgba(139,92,246,.55),rgba(255,131,0,.18),transparent);filter:blur(30px)}
.ppage-hero__shot .pshot{box-shadow:0 40px 80px -30px rgba(0,0,0,.75),0 0 0 1px rgba(255,255,255,.08);
  transform:perspective(1600px) rotateY(-6deg) rotateX(2deg);transform-origin:left center;transition:transform .5s ease}
.ppage-hero__shot:hover .pshot{transform:none}
.ppage-hero__shot .pshot__img img{max-height:420px}
.ppage-hero__shot .pshot__cap{color:rgba(255,255,255,.6)}
@media(max-width:959px){.ppage-hero__shot .pshot{transform:none}}
@media(prefers-reduced-motion:reduce){.ppage-hero__shot .pshot{transition:none}}
/* "coming soon" in the hero: dark glass over the network instead of grey stripes */
.ppage-hero__shot .pshot:has(.pshot-soon){background:rgba(14,22,51,.35);border-color:rgba(255,255,255,.14);
  backdrop-filter:blur(3px)}
.ppage-hero__shot .pshot:has(.pshot-soon) .pshot__bar{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1)}
.ppage-hero__shot .pshot:has(.pshot-soon) .pshot__addr{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.12);color:rgba(255,255,255,.6)}
.ppage-hero__shot .pshot-soon{background:
    radial-gradient(circle at 50% 50%,rgba(255,131,0,.18),transparent 45%),
    repeating-linear-gradient(135deg,rgba(255,255,255,.03) 0 14px,transparent 14px 28px)}
.ppage-hero__shot .pshot-soon span{background:rgba(255,131,0,.14);border-color:rgba(255,131,0,.5);color:#ffb366}
/* product names keep their own casing (990iQ) — no forced uppercase */
.ppage-eyebrow{text-transform:none;letter-spacing:.04em;font-size:var(--step-0)}
