/* customer site (my.*) - builds on admin.css */
.site{background:var(--paper)}
.brandline{display:inline-flex;align-items:center;gap:10px;font-weight:800;color:#fff}
.brandline img{width:34px;height:34px;object-fit:contain;filter:drop-shadow(0 1px 3px rgba(0,0,0,.35))}
.top{background:linear-gradient(90deg,var(--ink2),var(--ink));border-bottom:3px solid var(--gold)}
.top .in{max-width:900px;margin:0 auto;padding:14px 24px}
.hero{position:relative;overflow:hidden;color:#fff;background:radial-gradient(900px 420px at 0 0,rgba(245,184,0,.18),transparent 60%),radial-gradient(800px 500px at 100% 100%,#24427a,transparent 60%),linear-gradient(160deg,var(--ink2),var(--ink));padding-bottom:90px}
.hero::after{content:"";position:absolute;inset:auto 0 0 0;height:4px;background:var(--gold)}
.hero .in{max-width:900px;margin:0 auto;padding:22px 24px 0}
.hero h1{color:#fff;font-size:1.9rem;margin:34px 0 8px}
.hero h1::before{display:none}
.hero p{color:#cdd8e8;font-size:1.05rem;max-width:620px;margin:0 0 18px}
.perks{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.perks li{padding:5px 14px 5px 12px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.06);font-size:.92em;color:#e8eef7}
.perks li::before{content:"✓";color:var(--gold);font-weight:900;margin-inline-end:6px}
.site main{max-width:900px;position:relative}
.hero+main{margin-top:-70px}
.regform{padding:8px 28px 24px}
.step{padding:18px 0 6px;border-bottom:1px dashed var(--line)}
.step:last-of-type{border-bottom:0}
.step h2{margin:0 0 14px;font-size:1.05rem}
.step h2::before{display:none}
.num{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--ink);color:#fff;font-size:.85em;font-weight:800}
.opt{color:var(--muted);font-weight:400;font-size:.88em}
.pks{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;border-radius:var(--r)}
.pks[aria-invalid=true]{outline:2px solid var(--bad);outline-offset:4px}
.pk{margin:0;display:block;position:relative;cursor:pointer}
.pk input{position:absolute;opacity:0;inset:12px auto auto 12px}
.pk-body{display:grid;gap:4px;height:100%;padding:14px 16px;border:1.5px solid var(--line);border-radius:var(--r);background:#fff;transition:border-color .15s,box-shadow .15s,background .15s}
.pk-body b{color:var(--ink2);font-size:1.02rem}
.pk-body small{color:var(--muted);font-weight:400;line-height:1.7}
.pk-price{margin-top:4px;font-weight:800;color:var(--ink3);font-size:.92em}
.pk:hover .pk-body{border-color:#9fb0c7}
.pk input:checked+.pk-body{border-color:var(--gold);background:var(--gold-soft);box-shadow:0 0 0 3px rgba(245,184,0,.25)}
.pk input:checked+.pk-body b::after{content:"✓";float:left;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--gold);color:var(--ink2);font-size:.8em}
.pk input:focus-visible+.pk-body{outline:3px solid var(--gold);outline-offset:2px}
.chips{display:flex;flex-wrap:wrap}
.chips label.check{margin:0 0 8px 8px}
.vh{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
textarea{resize:vertical}
.ferr{color:var(--bad);font-weight:600}
[aria-invalid=true]{border-color:var(--bad)}
.hp{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.submit{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding-top:18px}
.submit button{font-size:1.08rem;padding:12px 34px}
.done{text-align:center;padding:36px 28px;font-size:1.05rem}
.tick{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 12px;border-radius:50%;background:var(--ok-soft);color:var(--ok);font-size:2rem;font-weight:900}
.track{display:inline-block;font:800 1.6rem/1.6 Consolas,monospace;letter-spacing:.06em;color:var(--ink2);background:var(--gold-soft);border:2px dashed var(--gold2);padding:4px 18px;border-radius:10px}
.foot{text-align:center;color:var(--muted);padding:24px;font-size:.88em}
@media(max-width:640px){.hero h1{font-size:1.5rem}.regform{padding:4px 16px 20px}.submit button{width:100%;justify-content:center}}
