.abo { padding: 60px 0 90px; }
.abo-head { text-align: center; max-width: 760px; margin: 0 auto 40px; }
.abo-head h1 { font-size: clamp(32px, 5vw, 56px); line-height: 1.05; letter-spacing: -1.2px; margin: 10px 0 14px; }
.abo-head .sub { margin: 0 auto; }
.muted { color: var(--muted); } .small { font-size: 13.5px; }
.status { margin: 24px auto 0; display: inline-block; padding: 10px 18px; border-radius: 999px; border: 1px solid var(--line); background: rgba(255,255,255,.06); font-weight: 600; }
.status.on { border-color: rgba(48, 209, 88, .5); color: #30d158; }
.plans { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; max-width: 760px; margin: 0 auto; }
.plan { position: relative; padding: 30px; border-radius: var(--radius); border: 1px solid var(--line); background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.025)); cursor: pointer; transition: border-color .2s, transform .2s; }
.plan:hover { transform: translateY(-2px); }
.plan.sel { border-color: var(--blue); box-shadow: 0 0 0 1px var(--blue); }
.plan h2 { margin: 0 0 8px; font-size: 19px; }
.plan .price { font-size: 30px; font-weight: 800; margin: 0 0 8px; }
.plan .tag { position: absolute; top: -12px; right: 20px; background: var(--grad); color: #08070d; font-size: 12px; font-weight: 800; padding: 4px 10px; border-radius: 999px; }
.buy { text-align: center; margin: 34px auto 60px; max-width: 760px; }
.buy .btn { font: inherit; font-weight: 700; padding: 15px 28px; cursor: pointer; }
.buy .btn[disabled] { opacity: .55; cursor: not-allowed; }
.pay { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 10px; }
.pay span { padding: 6px 12px; border-radius: 999px; border: 1px solid var(--line); background: rgba(255,255,255,.05); font-size: 13.5px; color: var(--muted); }
.incl, .faq-mini { max-width: 760px; margin: 0 auto 40px; padding: 28px 30px; border-radius: var(--radius); border: 1px solid var(--line); background: rgba(255,255,255,.04); }
.incl h2, .faq-mini h2 { margin: 0 0 14px; font-size: 21px; }
.incl ul { margin: 0; padding-left: 20px; } .incl li { margin: 8px 0; }
.faq-mini p { color: #d6d3e0; } .faq-mini a { color: var(--cyan); }
@media (max-width: 640px) { .plans { grid-template-columns: 1fr; } }
.feat { list-style: none; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 14px 26px; }
.feat li { margin: 0; padding-left: 26px; position: relative; }
.feat li::before { content: '✓'; position: absolute; left: 0; color: #30d158; font-weight: 800; }
.feat b { display: block; } .feat span { color: var(--muted); font-size: 14.5px; }
@media (max-width: 640px) { .feat { grid-template-columns: 1fr; } }
