/* Register company page */
.reg-body { background: var(--bg); min-height: 100dvh; }
.reg-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; max-width: 1040px; margin: 0 auto; padding: 22px 16px; }
.reg-brand { display: inline-flex; align-items: baseline; gap: 10px; text-decoration: none; }
.reg-brand .brand-mark { font-size: 28px; }
.reg-main { max-width: 1040px; margin: 0 auto; padding: 8px 16px 64px; }
.reg-steps { display: flex; gap: 8px; margin: 0 0 24px; padding: 0; list-style: none; counter-reset: s; font-size: 13px; font-weight: 600; color: var(--faint); }
.reg-steps li { counter-increment: s; display: inline-flex; align-items: center; gap: 6px; }
.reg-steps li::before { content: counter(s); display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 50%; border: 1px solid var(--line); font-size: 11px; }
.reg-steps li + li::after { content: none; }
.reg-steps li.on { color: var(--ink); }
.reg-steps li.on::before { background: var(--ink); color: #fff; border-color: var(--ink); }
.reg-steps li.done { color: var(--muted); }
.reg-steps li.done::before { content: "✓"; background: var(--surface-3); }
.reg-step { max-width: 560px; }
.reg-step[data-step="2"] { max-width: none; }
.reg-title { font-size: clamp(26px, 4vw, 34px); font-weight: 600; letter-spacing: -0.025em; }

/* Plan picker: three cards side by side */
.plan-grid { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
.plan-card { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 24px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); cursor: pointer; transition: border-color 150ms ease, box-shadow 150ms ease; }
@media (hover: hover) and (pointer: fine) { .plan-card:hover { border-color: var(--ink-2); } }
.plan-card:focus-visible { outline: 2px solid var(--link); outline-offset: 2px; }
.plan-card[aria-checked="true"] { border-color: var(--ink); box-shadow: 0 0 0 1px var(--ink); }
.plan-card.popular { border-color: var(--orange); }
.plan-badge { position: absolute; top: -11px; left: 24px; padding: 2px 10px; border-radius: 999px; background: var(--orange); color: #fff; font-size: 11px; font-weight: 700; }
.plan-name { font-size: 20px; font-weight: 600; }
.plan-price { display: flex; align-items: baseline; gap: 4px; margin: 6px 0 4px; }
.plan-price .mono { font-size: 30px; font-weight: 500; letter-spacing: -0.03em; }
.plan-features { margin: 6px 0 0; padding: 14px 0 0; border-top: 1px solid var(--line-2); list-style: none; display: grid; gap: 8px; min-height: 120px; font-size: 13.5px; }
.plan-features li::before { content: "✓"; margin-right: 8px; color: var(--ink); font-weight: 700; }
.plan-features li.plan-more { color: var(--faint); }
.plan-features li.plan-more::before { content: "+"; color: var(--faint); }
