:root{--color-primary:#8225a4;--color-primary-soft:#cba9d7;--color-bg:#9f5dba;--color-text:#f8f4fb;--color-muted:#f8f4fbb8;--radius:14px;--font:system-ui, "Segoe UI", Roboto, Ubuntu, Cantarell, sans-serif}*,:before,:after{box-sizing:border-box}html,body{min-height:100%;font-family:var(--font);background:radial-gradient(1200px 800px at 10% -10%, #fff3, transparent), radial-gradient(900px 600px at 100% 0%, #cba9d759, transparent), var(--color-bg);color:var(--color-text);margin:0}#root{min-height:100vh}a{color:var(--color-primary-soft)}.page{min-height:100vh;padding:1.25rem clamp(1rem,4vw,2.5rem) 3rem}.center{flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex}.narrow{max-width:480px;margin:0 auto}.top-bar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.logo{object-fit:contain;width:auto;height:52px}.top-actions{flex-wrap:wrap;gap:.5rem;display:flex}.landing-main{gap:1.5rem;max-width:900px;margin:0 auto;display:grid}.card{border-radius:var(--radius);background:linear-gradient(145deg,#8225a42e,#030102d9);border:1px solid #cba9d759;padding:clamp(1.25rem,3vw,2rem);box-shadow:0 18px 50px #00000073}.hero h1{letter-spacing:-.02em;margin:.35rem 0 .75rem;font-size:clamp(1.75rem,4vw,2.35rem)}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--color-primary-soft);margin:0;font-size:.75rem}.lede{color:var(--color-muted);margin:0 0 1.25rem;font-size:1.05rem;line-height:1.55}.benefits h2{margin-top:0;font-size:1.25rem}.benefits ul{color:var(--color-muted);margin:0;padding-left:1.2rem;line-height:1.6}.benefits li{margin-bottom:.5rem}.btn-primary,.btn-ghost,.link{font:inherit;cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;gap:.35rem;text-decoration:none;transition:transform .12s,box-shadow .12s,background .12s;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--color-primary), #5c1b75);color:#fff;padding:.65rem 1.35rem;font-weight:600;box-shadow:0 10px 28px #8225a459}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 32px #8225a473}.btn-primary:disabled{opacity:.65;cursor:not-allowed}.btn-large{padding:.85rem 1.6rem;font-size:1.05rem}.btn-ghost{color:var(--color-text);background:0 0;border:1px solid #cba9d773;padding:.5rem 1rem}.btn-ghost:hover{border-color:var(--color-primary-soft);background:#8225a426}.link{color:var(--color-primary-soft);background:0 0;border:none;padding:0;font-weight:600}.link.subtle{opacity:.85;margin-top:1rem;font-weight:500}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#030102b8;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{border-radius:var(--radius);background:#120814;border:1px solid #cba9d766;width:min(560px,100%);max-height:90vh;padding:1.5rem 1.5rem 1.25rem;position:relative;overflow:hidden auto;box-shadow:0 24px 80px #0000008c}.modal h2{margin-top:0}.modal-close{color:var(--color-muted);cursor:pointer;background:0 0;border:none;font-size:1.5rem;line-height:1;position:absolute;top:.65rem;right:.75rem}.modal-close:hover{color:var(--color-text)}.form-grid{grid-template-columns:1fr 1fr;gap:.75rem 1rem;display:grid}.form-grid label{min-width:0;color:var(--color-muted);flex-direction:column;gap:.35rem;font-size:.85rem;display:flex}.form-grid input,.form-grid select{font:inherit;width:100%;max-width:100%;color:var(--color-text);background:#030102a6;border:1px solid #cba9d759;border-radius:10px;padding:.55rem .65rem}.form-grid input:focus,.form-grid select:focus{border-color:#0000;outline:2px solid #8225a4a6}.span-2{grid-column:span 2}.form-actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;display:flex}.form-actions .btn-primary,.form-actions .btn-ghost{min-height:40px}.form-error{color:#ffb4b4;margin:0;font-size:.9rem}.modal-switch{color:var(--color-muted);margin-top:1rem;font-size:.95rem}.muted{color:var(--color-muted)}.small{font-size:.9rem}.member-main{max-width:560px;margin:0 auto}.member-card h1{margin-top:0}.member-benefits{background:linear-gradient(160deg,#8225a438,#03010259);border:1px solid #cba9d747;border-radius:12px;margin:0 0 1.5rem;padding:1.1rem 1.2rem 1.15rem;box-shadow:inset 0 1px #ffffff0a}.member-benefits h2{letter-spacing:-.01em;color:var(--color-text);margin:0 0 .85rem;font-size:1.1rem;font-weight:650}.member-benefits ul{margin:0;padding:0;list-style:none}.member-benefits li{color:var(--color-muted);margin-bottom:.55rem;padding-left:1.45rem;font-size:.95rem;line-height:1.5;position:relative}.member-benefits li:last-child{margin-bottom:0}.member-benefits li:before{content:"";background:linear-gradient(135deg,#c084fc,#8225a4);border-radius:50%;width:.5rem;height:.5rem;position:absolute;top:.45em;left:0;box-shadow:0 0 0 2px #8225a459}.price-block{margin:1.25rem 0}.price{margin:0;font-size:1.75rem;font-weight:700}.tilde{opacity:.7;margin:0 .15rem;font-weight:400}.success-banner{background:#8225a440;border:1px solid #cba9d773;border-radius:12px;padding:.85rem 1rem;line-height:1.5}.code{letter-spacing:.04em;font-family:ui-monospace,Cascadia Code,Menlo,monospace}.checkout-result main{margin-top:2rem}.result-card{text-align:center;width:100%;max-width:520px}.result-card h1{margin:.5rem 0 .35rem}.result-icon{border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin:0 auto 1rem;font-size:2rem;font-weight:700;display:flex}.result-icon--success{color:#4ade80;background:#4ade802e;border:2px solid #4ade8073}.result-icon--fail{color:#f87171;background:#f871712e;border:2px solid #f8717173}.result-detail-box{text-align:left;background:#8225a426;border:1px solid #cba9d759;border-radius:12px;margin-top:1.25rem;padding:1rem 1.25rem}.result-row{border-bottom:1px solid #cba9d726;justify-content:space-between;align-items:center;gap:1rem;padding:.45rem 0;display:flex}.result-row:last-child{border-bottom:none}.result-label{color:var(--color-muted);font-size:.85rem}.result-value{font-size:.95rem;font-weight:600}.spinner{border:4px solid #cba9d740;border-top-color:var(--color-primary);border-radius:50%;width:52px;height:52px;margin:0 auto 1.25rem;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=680px){.modal{width:100%;max-width:100%;padding:1rem}.form-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.form-actions{justify-content:stretch}.form-actions .btn-primary,.form-actions .btn-ghost{width:100%}}
