:root{--bd:#e4e4e7;--mut:#fafafa;--fg:#09090b;--mf:#71717a}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font:15px/1.65 Inter,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--fg);background:#fff;-webkit-font-smoothing:antialiased}
a{color:inherit}
.w{max-width:1120px;margin:0 auto;padding:0 24px}
header{border-bottom:1px solid var(--bd);position:sticky;top:0;background:#fff;z-index:5}
.nav{display:flex;align-items:center;justify-content:space-between;height:56px}
.nav a,.nav button{color:var(--mf);text-decoration:none;margin-left:24px;font:inherit;font-size:14px;background:none;border:0;cursor:pointer}
.nav a:hover,.nav button:hover{color:var(--fg)}
.nav .brand{font-weight:700;letter-spacing:.04em;color:var(--fg);margin:0}
section{border-bottom:1px solid var(--bd);padding:80px 0}
h1{font-size:clamp(34px,6vw,64px);line-height:1.05;letter-spacing:-.035em;font-weight:700;max-width:16ch}
h2{font-size:clamp(26px,3.4vw,34px);letter-spacing:-.025em;line-height:1.15;margin-bottom:12px}
h3{font-size:17px;letter-spacing:-.01em;margin-bottom:6px}
.lead{color:var(--mf);font-size:18px;max-width:58ch;margin:24px 0 32px}
.sub{color:var(--mf);max-width:60ch;margin-bottom:40px}
.btn{display:inline-block;height:40px;line-height:38px;padding:0 18px;border:1px solid var(--fg);background:var(--fg);color:#fff;font:500 14px inherit;font-family:inherit;cursor:pointer;text-decoration:none;margin:0 8px 8px 0}
.btn:hover{background:#27272a}.btn.o{background:#fff;color:var(--fg);border-color:var(--bd)}.btn.o:hover{background:var(--mut)}
.btn[disabled]{opacity:.5;cursor:wait}
:focus-visible{outline:2px solid var(--fg);outline-offset:2px}
.grid{display:grid;border-top:1px solid var(--bd);border-left:1px solid var(--bd)}
.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}
.cell{padding:28px;border-right:1px solid var(--bd);border-bottom:1px solid var(--bd);display:flex;flex-direction:column}
.cell p{color:var(--mf)}
.price{font-size:34px;font-weight:700;letter-spacing:-.03em;margin-top:18px}
.price small{font-size:14px;font-weight:400;color:var(--mf);letter-spacing:0}
.note{font-size:13px;color:var(--mf);margin-bottom:18px}
.cell ul{list-style:none;margin:6px 0 24px;flex:1}
.cell li{padding:7px 0;border-top:1px solid var(--bd);font-size:14px}
.cell .btn{margin:0;text-align:center}
.feat{background:var(--mut)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.steps p{color:var(--mf)}
footer{padding:40px 0;color:var(--mf);font-size:14px}
footer .w{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px}
footer button,footer a{background:none;border:0;font:inherit;color:inherit;cursor:pointer;margin-left:20px}
label{display:block;font-size:13px;font-weight:500;margin:14px 0 6px}
input,select,textarea{width:100%;height:40px;border:1px solid var(--bd);border-radius:0;padding:0 12px;font:inherit;background:#fff;color:var(--fg)}
textarea{height:84px;padding:10px 12px;resize:vertical}
.row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.hint{font-size:12px;color:var(--mf);margin-top:4px}
dialog{border:1px solid var(--fg);padding:28px;width:min(540px,calc(100% - 32px));max-height:92vh;overflow:auto;margin:auto;color:var(--fg)}
dialog::backdrop{background:rgba(9,9,11,.45)}
dialog h2{font-size:22px}dialog .x{float:right;background:none;border:0;font:inherit;color:var(--mf);cursor:pointer}
dialog p.t{color:var(--mf);margin:10px 0;font-size:14px}
.msg{border:1px solid var(--bd);background:var(--mut);padding:12px 14px;margin:16px 0 0;font-size:14px}
.msg.err{border-color:var(--fg)}
.hp{position:absolute;left:-9999px}
.tag{display:inline-block;border:1px solid var(--bd);padding:0 8px;font-size:12px;white-space:nowrap}.tag.paid{background:var(--fg);color:#fff;border-color:var(--fg)}
.tw{overflow-x:auto;border:1px solid var(--bd)}
table{border-collapse:collapse;width:100%;font-size:13px}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--bd);vertical-align:top;white-space:nowrap}
th{background:var(--mut);font-weight:600}td.wrap{white-space:normal;min-width:200px}
td form{display:inline}td select{height:30px;width:auto;font-size:12px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--bd);border-left:1px solid var(--bd);margin:24px 0}
.stats div{padding:16px 20px;border-right:1px solid var(--bd);border-bottom:1px solid var(--bd)}.stats b{display:block;font-size:24px;letter-spacing:-.02em}.stats span{font-size:13px;color:var(--mf)}
.bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.bar input,.bar select{width:auto;flex:1;min-width:140px}.bar .btn{margin:0}
@media(max-width:860px){.g3,.g2,.steps{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}section{padding:56px 0}.row{grid-template-columns:1fr}.nav .hide{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
