/* Portal preview (demo). Scoped under .pp-* so it can't affect the rest of the site. */
.pp-wrap{padding-top:104px;padding-bottom:56px}
.pp-grid{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:56px;align-items:start}
.pp-pitch h1{font-size:clamp(34px,4.2vw,52px);line-height:1.08;margin:6px 0 14px;font-weight:900;letter-spacing:-.01em}
.pp-pitch .sub{color:#d4d4d4;font-size:18px;max-width:560px}
.pp-feats{list-style:none;padding:0;margin:22px 0 26px;display:grid;gap:12px;max-width:560px}
.pp-feats li{display:flex;gap:12px;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px}
.pp-feats li svg{color:var(--gold);width:22px;height:22px;margin-top:2px}
.pp-feats b{display:block;color:#fff}
.pp-feats span{color:var(--mut);font-size:14px}
.pp-note{font-size:13px;color:var(--mut);max-width:560px;margin-top:18px}
.pp-device{position:sticky;top:92px;border-radius:44px;padding:12px;background:linear-gradient(160deg,#2a2a2a,#0a0a0a);box-shadow:0 30px 80px rgba(0,0,0,.6),0 0 0 1px #333;}
.pp-app{position:relative;height:780px;max-height:calc(100vh - 120px);min-height:620px;border-radius:34px;overflow:hidden;background:#0b0b0b;display:flex;flex-direction:column;border:1px solid #1f1f1f}
.pp-ribbon{background:repeating-linear-gradient(135deg,#d4a843 0 14px,#c49634 14px 28px);color:#111;font-weight:800;font-size:12.5px;text-align:center;padding:6px 10px;letter-spacing:.02em}
.pp-top{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid #1d1d1d;background:#101010}
.pp-top img{width:28px;height:28px;border-radius:8px}
.pp-top b{font-size:14px;color:#fff;flex:1}
.pp-chip{font-size:11px;font-weight:800;border:1px solid var(--gold);color:var(--gold);border-radius:999px;padding:2px 8px;letter-spacing:.06em}
.pp-screens{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:16px 16px 20px;scrollbar-width:thin}
.pp-panel[hidden]{display:none}
.pp-panel h2{font-size:20px;margin:0 0 4px;line-height:1.25}
.pp-panel h3{font-size:15px;margin:0 0 4px;color:#fff;line-height:1.3}
.pp-lead{color:var(--mut);font-size:13.5px;margin:0 0 14px}
.pp-card{background:#141414;border:1px solid #232323;border-radius:16px;padding:14px;margin-bottom:12px}
.pp-hello small{display:block;color:var(--mut);font-size:12px}
.pp-hello b{font-size:18px;color:#fff;display:block;line-height:1.25}
.pp-demo-tag{display:inline-block;font-size:11px;color:#111;background:var(--gold);border-radius:6px;padding:1px 6px;font-weight:800;margin-top:4px}
.pp-row{display:flex;gap:12px;align-items:center}
.pp-ring{width:96px;height:96px;flex:none}
.pp-ring circle{fill:none;stroke-width:10}
.pp-ring .bgc{stroke:#262626}.pp-ring .fg{stroke:var(--gold);stroke-linecap:round;transform:rotate(-90deg);transform-origin:50% 50%}
.pp-ring text{fill:#fff;font-weight:800;font-size:20px}
.pp-ring .u{font-size:10px;fill:#a3a3a3;font-weight:600}
.pp-tier{display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:13px;color:#e5e5e5;background:#1d1d1d;border:1px solid #333;border-radius:999px;padding:3px 10px}
.pp-tier i{width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,#e8e8e8,#9a9a9a);display:inline-block}
.pp-bar{height:8px;background:#262626;border-radius:99px;overflow:hidden;margin:8px 0 4px}
.pp-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--gold2));border-radius:99px}
.pp-small{font-size:12.5px;color:var(--mut);margin:0}
.pp-load{display:grid;gap:4px}
.pp-load .top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.pp-po{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12.5px;color:#d4d4d4}
.pp-status{font-size:11.5px;font-weight:800;border-radius:999px;padding:2px 9px;white-space:nowrap}
.pp-s0,.pp-s1{background:#1e293b;color:#bfdbfe}.pp-s2{background:#3b2f12;color:#fde68a}.pp-s3{background:#3b2a0a;color:#fbbf24}.pp-s4{background:#0f2e1c;color:#86efac}
.pp-lock{display:inline-flex;align-items:center;gap:6px;background:#1b1b1b;border:1px dashed #4a4a4a;border-radius:10px;padding:5px 10px;color:#e5e5e5;font:inherit;font-size:13px;cursor:pointer;min-height:32px}
.pp-lock:hover{border-color:var(--gold)}
.pp-lock .blur{filter:blur(4px);user-select:none;letter-spacing:.08em;color:#cfcfcf}
.pp-lock svg{width:15px;height:15px;color:var(--gold)}
.pp-lock.big{width:100%;justify-content:space-between;padding:12px 14px;font-size:15px;border-radius:12px}
.pp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;padding:10px 14px;font:inherit;font-weight:800;font-size:14px;cursor:pointer;background:linear-gradient(135deg,var(--gold),var(--gold2));color:#000;text-decoration:none;min-height:40px}
.pp-btn:hover{text-decoration:none;filter:brightness(1.06)}
.pp-btn.ghost{background:transparent;color:#e5e5e5;border:1px solid #3a3a3a}
.pp-btn.ghost:hover{border-color:var(--gold)}
.pp-btn.sm{font-size:12.5px;padding:7px 10px;min-height:34px;border-radius:10px}
.pp-stone{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;align-items:start}
.pp-stone img{width:96px;height:96px;object-fit:cover;border-radius:12px;background:#222}
.pp-stone .meta{font-size:12px;color:var(--mut);margin:2px 0 8px}
.pp-stone .acts{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.pp-feature img{width:100%;height:150px;object-fit:cover;border-radius:12px;margin-bottom:10px}
.pp-timeline{list-style:none;margin:14px 0 6px;padding:0;position:relative}
.pp-timeline li{position:relative;padding:0 0 18px 34px;color:#737373;font-size:14px}
.pp-timeline li:last-child{padding-bottom:0}
.pp-timeline li::before{content:"";position:absolute;left:9px;top:20px;bottom:-2px;width:2px;background:#2a2a2a}
.pp-timeline li:last-child::before{display:none}
.pp-timeline .dot{position:absolute;left:0;top:2px;width:20px;height:20px;border-radius:50%;border:2px solid #3a3a3a;background:#111;transition:background .35s,border-color .35s}
.pp-timeline li.done{color:#e5e5e5}.pp-timeline li.done .dot{background:var(--gold);border-color:var(--gold)}
.pp-timeline li.done::before{background:var(--gold)}
.pp-timeline li.now{color:#fff;font-weight:800}.pp-timeline li.now .dot{border-color:var(--gold2);box-shadow:0 0 0 4px rgba(212,168,67,.25)}
.pp-timeline small{display:block;font-weight:400;color:var(--mut);font-size:12px}
.pp-kv{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:13px;margin:0}
.pp-kv dt{color:var(--mut)}.pp-kv dd{margin:0;color:#e5e5e5}
.pp-hist{list-style:none;margin:0;padding:0}
.pp-hist li{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:10px 0;border-top:1px solid #222;font-size:13px}
.pp-hist li:first-child{border-top:0}
.pp-form{display:grid;gap:10px}
.pp-form label{font-size:13px;font-weight:700;color:#e5e5e5;display:block;margin-bottom:4px}
.pp-form input,.pp-form select{width:100%;background:#0f0f0f;border:1px solid #333;color:#fff;border-radius:10px;padding:10px 12px;font:inherit;font-size:16px}
.pp-form input:focus,.pp-form select:focus{border-color:var(--gold)}
.pp-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pp-out{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px}
.pp-out div{background:#0f0f0f;border:1px solid #262626;border-radius:12px;padding:10px 12px}
.pp-out b{display:block;font-size:22px;color:#fff;line-height:1.2}
.pp-out span{font-size:12px;color:var(--mut)}
.pp-err{color:#fca5a5;font-size:13px;margin:0;min-height:1em}
.pp-unlockbar{padding:10px 12px;background:#0f0f0f;border-top:1px solid #1f1f1f}
.pp-unlockbar .pp-btn{width:100%}
.pp-tabs{display:grid;grid-template-columns:repeat(5,1fr);background:#101010;border-top:1px solid #1f1f1f;padding:4px 4px 8px}
.pp-tabs button{background:none;border:0;color:#8a8a8a;font:inherit;font-size:11px;font-weight:700;display:flex;flex-direction:column;align-items:center;gap:3px;padding:7px 2px;border-radius:10px;cursor:pointer;min-height:48px}
.pp-tabs button svg{width:21px;height:21px}
.pp-tabs button[aria-selected="true"]{color:var(--gold);background:#1a1a1a}
.pp-tabs button:hover{color:#e5e5e5}
.pp-empty{font-size:13px;color:var(--mut);margin:0}
.pp-picks{list-style:none;margin:8px 0 0;padding:0}
.pp-picks li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 0;border-top:1px solid #222;font-size:13px}
.pp-x{background:none;border:1px solid #3a3a3a;color:#d4d4d4;border-radius:8px;font:inherit;font-size:12px;padding:4px 8px;cursor:pointer;min-height:30px}
.pp-toast{position:absolute;left:50%;bottom:132px;transform:translateX(-50%);background:#f5f3ee;color:#111;font-weight:700;font-size:13px;padding:8px 14px;border-radius:999px;box-shadow:0 8px 24px rgba(0,0,0,.5);opacity:0;pointer-events:none;transition:opacity .25s;white-space:nowrap;z-index:5}
.pp-toast.show{opacity:1}
/* dialogs */
.pp-dlg{border:1px solid #333;border-radius:20px;background:#121212;color:var(--txt);padding:0;width:min(440px,calc(100vw - 24px));max-height:calc(100vh - 32px)}
.pp-dlg::backdrop{background:rgba(0,0,0,.72)}
.pp-dlg .in{padding:22px;overflow:auto;max-height:calc(100vh - 34px)}
.pp-dlg h2{margin:0 0 8px;font-size:22px;line-height:1.2}
.pp-dlg ul{margin:12px 0 18px;padding-left:20px;color:#d4d4d4}
.pp-dlg li{margin:4px 0}
.pp-dlg .btns{display:grid;gap:10px}
.pp-dlg .close{position:absolute;top:10px;right:10px;width:40px;height:40px;border-radius:50%;background:#1f1f1f;border:1px solid #333;color:#fff;font-size:20px;cursor:pointer;line-height:1}
.pp-dlg img{width:100%;height:200px;object-fit:cover;border-radius:14px;margin-bottom:12px}
.pp-cta-band{border:1px solid var(--line);border-radius:22px;background:linear-gradient(135deg,#17140c,#0f0f0f);padding:28px;display:flex;gap:24px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.pp-cta-band h2{margin:4px 0 6px}
.pp-cta-band p{margin:0;color:#d4d4d4;max-width:620px}
.pp-apply{padding-top:110px;padding-bottom:64px;max-width:820px}
.pp-steps{list-style:none;counter-reset:s;padding:0;margin:22px 0;display:grid;gap:10px}
.pp-steps li{counter-increment:s;display:flex;gap:14px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.pp-steps li::before{content:counter(s);width:32px;height:32px;flex:none;border-radius:50%;background:#1f1f1f;border:1px solid var(--gold);color:var(--gold);font-weight:900;display:grid;place-items:center}
.pp-steps b{display:block;color:#fff}.pp-steps span{color:var(--mut);font-size:14px}
.pp-soon{margin-left:auto;font-size:11.5px;font-weight:800;color:#111;background:#a3a3a3;border-radius:999px;padding:2px 9px;white-space:nowrap}
@media (max-width:1023px){
 .pp-grid{grid-template-columns:1fr;gap:28px}
 .pp-device{position:relative;top:0;max-width:420px;margin:0 auto;width:100%}
 .pp-app{height:720px;max-height:none}
}
@media (max-width:520px){
 .pp-wrap{padding-top:92px}
 .pp-device{padding:0;border-radius:0;background:none;box-shadow:none;margin:0 -24px;width:auto;max-width:none}
 .pp-app{border-radius:0;border-left:0;border-right:0;height:min(720px,calc(100svh - 150px));min-height:560px}
 .pp-two{grid-template-columns:1fr 1fr}
}
@media (prefers-reduced-motion:reduce){.pp-timeline .dot,.pp-toast{transition:none}}
.pp-sr-h{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pp-panel{position:relative}
.pp-panel:focus-visible{outline:2px solid var(--gold2);outline-offset:-2px;border-radius:12px}
section.pp-panel{padding:0}
#ppApp{scroll-margin-top:80px}
@media (max-width:1199px){body.pp-page .mbar{display:none!important}body.pp-page{padding-bottom:0}}
@media (max-width:520px){.pp-app{height:calc(100svh - 88px);max-height:760px}}
@media (max-width:420px){.pp-device{margin:0 -18px}}
.pp-dlg .close{padding:0;display:grid;place-items:center;z-index:2}
.pp-dlg .in{position:relative}
.pp-dlg .in>.kicker,.pp-dlg .in>h2{margin-right:44px}
.pp-steps .pp-soon{color:#111;background:#d4d4d4}
