body{margin:0;font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#faf7f2;color:#222}
.bl{max-width:860px;margin:0 auto;padding:24px 16px}.sub,.fine{color:#555}.fine{font-size:.85em}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:12px 0}
.card{display:flex;flex-direction:column;gap:4px;border:2px solid #ddd;border-radius:12px;padding:14px;background:#fff;cursor:pointer}
.card:has(input:checked){border-color:#2a7d4f}.card.off{opacity:.55;cursor:not-allowed}.card em{color:#a33;font-size:.85em}
.banner{background:#fff4cc;border:1px solid #e6c84d;border-radius:8px;padding:10px;margin:12px 0}
.email{display:block;margin:16px 0}.email input{display:block;width:100%;max-width:360px;padding:8px;font-size:1em}
button{background:#2a7d4f;color:#fff;border:0;border-radius:8px;padding:12px 22px;font-size:1em;cursor:pointer}button:disabled{background:#aaa;cursor:not-allowed}
.msg{color:#a33;min-height:1.2em}
.card .price{font-size:1.25em;display:block;margin:.25em 0}.card i{font-style:normal;opacity:.75;font-size:.85em}

/* Plans page (dark Emily One palette, scoped to body.plans-page so member/shop pages are unchanged) */
.plans-page{--c-primary:#17cfb0;--c-on-primary:#0f131a;--c-accent:#a855f7;--c-bg:#0f131a;--c-surface:#151a23;--c-raised:#21242c;--c-text:#e7ebef;--c-muted:#818898;--c-border:#272c35;--c-input:#303541;background:var(--c-bg);color:var(--c-text)}
.plans-page .bl{max-width:1040px}.plans-page h1{margin-bottom:4px}.plans-page .sub,.plans-page .fine{color:var(--c-muted)}.plans-page a{color:var(--c-primary)}
.plans-page .banner{background:#3a2c0f;border-color:#f59e0b;color:#fcd34d}
.plans-page .plangrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.plans-page .addongrid{grid-template-columns:1fr}
@media(max-width:700px){.plans-page .plangrid{grid-template-columns:1fr}}
.plans-page .card{position:relative;overflow:hidden;background:var(--c-surface);border:1px solid var(--c-border);border-radius:18px;padding:22px;gap:8px;box-shadow:0 6px 24px #0007;transition:border-color .15s,transform .15s}
.plans-page .card:hover{border-color:var(--c-input);transform:translateY(-2px)}.plans-page .card:has(input:checked){border-color:var(--c-primary);box-shadow:0 0 0 2px #17cfb055,0 6px 24px #0007}
.plans-page .card.off:hover{transform:none}.plans-page .card input{position:absolute;top:18px;right:18px;width:20px;height:20px;accent-color:var(--c-primary)}
.plans-page .card.pro{background:linear-gradient(160deg,#1d1630,var(--c-surface) 55%)}
.plans-page .ph{display:flex;gap:12px;align-items:center;padding-right:30px}.plans-page .ph b{display:block;font-size:1.1em}.plans-page .ph i{color:var(--c-muted);font-style:normal;font-size:.85em}
.plans-page .ic{flex:none;color:var(--c-primary);background:var(--c-raised);border-radius:12px;padding:8px;box-sizing:content-box}.plans-page .pro .ic{color:var(--c-accent)}
.plans-page .card .price{font-size:2em;font-weight:800;margin:6px 0 2px;letter-spacing:-.02em}
.plans-page .lim{list-style:none;padding:0;margin:4px 0}.plans-page .lim li{display:flex;gap:8px;padding:3px 0}.plans-page .lim li::before{content:'✓';color:var(--c-primary);font-weight:800}
.plans-page .card small{color:var(--c-muted)}.plans-page .card em{color:#fcd34d;font-style:normal;font-weight:700;font-size:.85em}
.plans-page .card.plan{padding-top:40px}.plans-page .card.plan input{top:40px}
.plans-page .ribbon{position:absolute;top:0;right:22px;background:var(--c-primary);color:var(--c-on-primary);font-size:.72em;font-weight:800;letter-spacing:.02em;padding:4px 12px;border-radius:0 0 10px 10px;white-space:nowrap}
.plans-page .badge{align-self:flex-start;background:var(--c-accent);color:#0f131a;font-weight:800;font-size:.7em;letter-spacing:.08em;border-radius:99px;padding:2px 10px}
.plans-page .email input{background:var(--c-raised);color:var(--c-text);border:1px solid var(--c-input);border-radius:8px}
.plans-page button{background:var(--c-primary);color:var(--c-on-primary);font-weight:800;border-radius:12px}.plans-page button:disabled{background:var(--c-raised);color:var(--c-muted)}
.plans-page .msg{color:#fca5a5}

/* plan ladder: monthly/yearly toggle */
.plans-page .period{display:inline-flex;gap:0;border:1px solid #303541;border-radius:999px;overflow:hidden;margin:6px 0 16px}.plans-page .period button{background:transparent;color:inherit;border:0;padding:10px 18px;font-weight:700;cursor:pointer;font-size:15px}
.plans-page .period button[aria-pressed="true"]{background:#17cfb0;color:#0f131a}.plans-page .period button span{font-size:.75rem;font-weight:600;opacity:.85}
.plans-page .plangrid{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:1000px){.plans-page .plangrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.plans-page .plangrid{grid-template-columns:1fr}}
.plans-page .bl{max-width:1200px}

/* plans: 2 rows (Monthly / Yearly) x 4 cards */
.plans-page .card .price span{font-size:.5em;font-weight:600;color:var(--c-muted)}
.plans-page .rowh{grid-column:1/-1;margin:10px 0 -6px;font-size:.85em;text-transform:uppercase;letter-spacing:.1em;color:var(--c-muted)}.plans-page .rowh span{color:var(--c-primary);text-transform:none;letter-spacing:0;margin-left:6px}
