/* ========== Design Tokens ========== */
:root{
    --bg: #0f172a;
    --bg2: #1e293b;
    --ink: #f1f5f9;
    --muted: #b3c1d5;
    --brand: #ef4444;
    --brand-2: #db2777;
    --line: #334155;
    --card: #1e293bcc;
    --shadow: 0 10px 30px rgba(0,0,0,.3);
    --radius: 18px;
    --radius-lg: 22px;
}

/* ========== Layout ========== */
.ps-section{
    position:relative; overflow:hidden; padding:64px 0;
    background: var(--bg);
}
.ps-container{ width:min(1150px, 92vw); margin:0 auto; position:relative; z-index:1;}
.ps-header{ text-align:center; padding-bottom:20px;}
.ps-eyebrow{ color:#ef4444; text-transform:uppercase; letter-spacing:.14em; font:700 12px/1.1 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', sans-serif; margin:0 0 10px}
.ps-title{ font:800 30px/1.2 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', sans-serif; margin:0 0 10px; color: var(--ink)}
@media (min-width:860px){ .ps-title{ font-size:34px}}
.ps-sub{ color:var(--muted); margin:0 auto; max-width:640px}

.ps-grid{ display:grid; grid-template-columns:1fr; gap:42px; align-items:start}
@media (min-width:1024px){ .ps-grid{ grid-template-columns:1fr 1.2fr; gap:48px}}

.ps-visual{ position:relative }
.ps-imgwrap{ display:flex; justify-content:center }
.ps-imgwrap img{ max-width:340px; width:100%; border-radius:24px; box-shadow: var(--shadow); display:block }
@media (min-width:1024px){ .ps-imgwrap img{ max-width:420px }}

.ps-blob{ position:absolute; filter: blur(40px); border-radius:999px; z-index:0; opacity:.8 }
.ps-blob-a{ width:280px; height:280px; right:-16px; top:-16px; background:linear-gradient(45deg, rgba(239,68,68,.25), rgba(236,72,153,.25)) }
.ps-blob-b{ width:280px; height:280px; left:-16px; bottom:-16px; background:linear-gradient(45deg, rgba(59,130,246,.25), rgba(168,85,247,.25)) }

.ps-accs{ position:relative; z-index:1 }
.ps-chip{ display:inline-flex; align-items:center; padding:8px 14px; border-radius:999px; border:1px solid rgba(239,68,68,.25); background:linear-gradient(90deg, rgba(239,68,68,.08), rgba(236,72,153,.08)); margin:0 0 18px}
.ps-chip span{ color:#f87171; font:700 12px/1.1 ui-sans-serif; letter-spacing:.12em; text-transform:uppercase}

/* ========== Accordion ========== */
.ps-acc{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden; box-shadow:0 0 0 rgba(0,0,0,0); transition:box-shadow .2s ease, transform .2s ease; margin-bottom:14px}
.ps-acc:hover{ box-shadow: var(--shadow); transform: translateY(-1px) }
.ps-acc-btn{ width:100%; background:transparent; border:0; padding:14px 16px; display:flex; align-items:center; justify-content:space-between; cursor:pointer; color:var(--ink); font:600 18px/1.3 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', sans-serif; text-align:left }
.ps-acc-ic{ width:18px; height:18px; fill:#ef4444; transition: transform .2s ease }
.ps-acc-btn[aria-expanded="true"] .ps-acc-ic{ transform: rotate(180deg) }

.ps-acc-panel{ display:none; border-top:1px solid var(--line); padding:14px 16px }


.ps-block p{ color:var(--muted); line-height: 1.4; padding-bottom: 15px; font-weight: 300;}
.ps-block li{ color:var(--muted); line-height: 1.4; }


.ps-list{ list-style:none; padding:0; margin:0; display:grid; gap:10px }
.ps-list-tight{ gap:6px }
.ps-dot{ width:8px; height:8px; background:#ef4444; border-radius:999px; display:inline-block; margin-right:10px; transform: translateY(-1px) }
.ps-h4{ font:700 18px/1.3 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', sans-serif; color:var(--ink); margin: 4px 0 14px }
.ps-h5{ font:700 14px/1.3 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', sans-serif; color:var(--ink); margin: 0 0 6px }
.ps-steps{ display:grid; gap:14px }
.ps-step{ display:grid; grid-template-columns:32px 1fr; gap:12px; align-items:start }
.ps-num{ width:28px; height:28px; border-radius:999px; background:#ef4444; color:#fff; font:700 12px/28px ui-sans-serif; display:inline-grid; place-items:center }

.ps-cards{ display:grid; grid-template-columns:1fr; gap:12px }
@media (min-width:680px){ .ps-cards{ grid-template-columns:1fr 1fr }}
.ps-card{ background:var(--bg); border:1px solid var(--line); border-radius:14px; padding:12px 14px }
.ps-card h5{ margin:0 0 6px; font:700 14px/1.2 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', sans-serif; color:var(--ink) }
.ps-card p{ margin:0; color:var(--muted) }

.ps-lang{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:8px; list-style:none; padding:0; margin:0 }
@media (min-width:600px){ .ps-lang{ grid-template-columns:repeat(3, minmax(0,1fr)) } }

.ps-liwrap{ display:inline-grid; gap:2px; align-items:start }
.ps-li-title{ color:var(--ink); font-weight:700 }
.ps-li-sub{ display:block; color:var(--muted); font-size:13px }

.ps-kv{ margin-top:12px; background:rgba(30,41,59,.3); border:1px dashed var(--line); border-radius:12px; padding:10px; text-align:center }
.ps-kv p{ margin:0; color:var(--muted); font-size:14px }

.ps-note{ margin-top:10px; border:1px solid rgba(239,68,68,.25); background:rgba(239,68,68,.08); padding:10px 12px; border-radius:12px }
.ps-note-txt{ color:#ef9a9a; margin:0; font:600 12px/1.5 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', sans-serif }
.ps-strong{ font-weight:700; color:var(--ink) }
