.up-wrap{max-width:980px;margin:0 auto;padding:40px 20px 70px}
.up-hero{text-align:center;margin-bottom:30px}
.up-badge{display:inline-block;padding:6px 14px;border-radius:999px;background:#DCFCE7;color:#166534;font-size:13px;font-weight:700}
.up-h{margin:14px 0 8px;font-size:clamp(26px,4vw,38px);font-weight:800;color:#1B2A4A;line-height:1.15}
.up-sub{margin:0 auto;max-width:620px;font-size:16px;color:#475569;line-height:1.6}
.up-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:28px}
.up-card{position:relative;background:#fff;border:1.5px solid #E2E8F0;border-radius:18px;padding:28px 26px;display:flex;flex-direction:column}
.up-card-pop{border-color:#2563EB;box-shadow:0 14px 40px rgba(37,99,235,.18)}
.up-ribbon{position:absolute;top:-13px;left:50%;transform:translateX(-50%);padding:5px 16px;border-radius:999px;background:#2563EB;color:#fff;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.up-name{margin:0;font-size:19px;font-weight:800;color:#0F172A}
.up-tag{margin:4px 0 14px;font-size:13.5px;color:#64748B}
.up-price{font-size:46px;font-weight:800;color:#1B2A4A;line-height:1}
.up-price small{font-size:14px;font-weight:600;color:#64748B;margin-left:6px}
.up-list{list-style:none;margin:18px 0 24px;padding:0;flex:1}
.up-list li{display:flex;gap:10px;padding:7px 0;font-size:14.5px;color:#334155;line-height:1.45}
.up-list i{color:#16A34A;font-size:18px;flex-shrink:0;margin-top:1px}
.up-btn{display:block;text-align:center;padding:15px;border-radius:12px;background:#1B2A4A;color:#fff;font-weight:800;font-size:16px;text-decoration:none}
.up-btn:hover{background:#0F172A;color:#fff}
.up-btn-pop{background:#2563EB}
.up-btn-pop:hover{background:#1D4ED8}
.up-fine{margin:10px 0 0;text-align:center;font-size:12px;color:#94A3B8}
.up-trust{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;margin-top:30px;font-size:13px;color:#64748B}
.up-note{margin-top:22px;padding:14px 18px;border-radius:12px;background:#F8FAFC;border:1px solid #E2E8F0;font-size:13px;color:#64748B;line-height:1.6}
.up-done{max-width:560px;margin:60px auto;text-align:center;padding:0 20px}
.up-done i{font-size:64px;color:#16A34A}
@media(max-width:760px){.up-grid{grid-template-columns:1fr}}

/* ── Sponsored showcase ── */
.spn{margin:0 0 34px;padding:22px;border-radius:22px;background:linear-gradient(135deg,#F8FAFF 0%,#FFFBEB 100%);border:1px solid #E8EEF9}
.spn-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.spn-title{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:800;color:#1B2A4A}
.spn-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 11px;border-radius:999px;background:#1B2A4A;color:#FBBF24;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.spn-note{font-size:12px;color:#94A3B8}
.spn-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px}
.spn-card{position:relative;display:flex;flex-direction:column;background:#fff;border-radius:18px;overflow:hidden;text-decoration:none;color:inherit;border:1.5px solid #FDE68A;box-shadow:0 8px 26px rgba(27,42,74,.08);transition:transform .2s,box-shadow .2s,border-color .2s}
.spn-card:hover{transform:translateY(-4px);box-shadow:0 16px 38px rgba(27,42,74,.16);border-color:#F59E0B}
.spn-cover{position:relative;height:92px;background:linear-gradient(120deg,#1B2A4A 0%,#0F3460 55%,#16A34A 130%);background-size:cover;background-position:center}
.spn-cover-img{width:100%;height:100%;object-fit:cover;display:block}
.spn-flag{position:absolute;top:10px;right:10px;padding:3px 9px;border-radius:999px;background:rgba(255,255,255,.95);color:#92400E;font-size:10.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.spn-body{padding:0 18px 18px;display:flex;flex-direction:column;flex:1}
.spn-logo{width:62px;height:62px;margin-top:-31px;border-radius:15px;background:#fff;border:3px solid #fff;box-shadow:0 4px 14px rgba(15,23,42,.18);object-fit:contain;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800;color:#1B2A4A;position:relative}
.spn-name{display:flex;align-items:center;gap:7px;margin:12px 0 3px;font-size:17px;font-weight:800;color:#0F172A;line-height:1.25}
.spn-ver{color:#16A34A;font-size:18px;flex-shrink:0}
.spn-meta{font-size:13px;color:#64748B;line-height:1.5}
.spn-rate{display:flex;align-items:center;gap:7px;margin-top:10px;font-size:13px;color:#475569}
.spn-stars{color:#F59E0B;letter-spacing:1.5px;font-size:15px}
.spn-stars-off{color:#E2E8F0}
.spn-new{font-weight:600;color:#16A34A}
.spn-cta{margin-top:auto;padding-top:16px}
.spn-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:11px;border-radius:11px;background:#1B2A4A;color:#fff;font-size:14px;font-weight:700;transition:background .15s}
.spn-card:hover .spn-btn{background:#2563EB}
@media(max-width:640px){.spn{padding:16px;border-radius:18px}.spn-grid{grid-template-columns:1fr}}
