:root{
  --ink:#1F1F1F; --ink-2:#5A5A5A; --ink-3:#8C8C8C; --ink-4:#B4B4B4;
  --line:rgba(31,31,31,.10); --line-2:rgba(31,31,31,.18); --wash:#F7F7F7;
  --ok:#0A7D3F; --ok-bg:#ECF7F0; --warn:#B45309; --warn-bg:#FFFBEB; --warn-line:#FDE68A;
  --f:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --m:ui-monospace,"SF Mono",Menlo,monospace;
}
*{box-sizing:border-box}
html{background:#fff;-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--ink);font-family:var(--f);font-size:16px;
     line-height:1.5;-webkit-font-smoothing:antialiased}
button,input,textarea,select,a{font-family:inherit}
.w{max-width:1240px;margin:0 auto;padding:0 32px}
.bar{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.85);
     backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px);
     border-bottom:1px solid var(--line)}
.bar .in{max-width:1240px;margin:0 auto;padding:14px 32px;display:flex;align-items:center;gap:18px}
.mark{font-size:17px;font-weight:600;letter-spacing:-.02em;text-decoration:none;color:var(--ink)}
.sp{flex:1}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:9999px;
     padding:12px 24px;font-size:15px;font-weight:500;text-decoration:none;cursor:pointer;
     border:1px solid transparent;transition:transform .18s cubic-bezier(.2,.7,.2,1),
     background .18s,border-color .18s,color .18s}
.btn.dark{background:var(--ink);color:#fff}
.btn.dark:hover:not(:disabled){transform:translateY(-2px);background:#000}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line-2)}
.btn.ghost:hover:not(:disabled){transform:translateY(-2px);border-color:var(--ink);background:rgba(31,31,31,.03)}
.btn.sm{padding:8px 16px;font-size:14px}
.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}
.btn:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
h1{margin:0;font-weight:500;letter-spacing:-.035em;line-height:.98;font-size:clamp(34px,5.4vw,62px)}
h2{margin:0;font-weight:500;letter-spacing:-.028em;line-height:1.05;font-size:clamp(22px,2.6vw,30px)}
.eyebrow{font-size:13px;font-weight:600;color:var(--ink-3);margin:0 0 18px}
.lede{font-size:17px;line-height:1.55;color:var(--ink-2)}
.lede b{color:var(--ink);font-weight:600}
.card{border:1px solid var(--line);border-radius:14px;background:#fff}
.pad{padding:22px 24px}
label{display:block;font-size:13px;font-weight:600;margin:0 0 8px}
input[type=text],input[type=email],input[type=password],textarea{
  width:100%;border:1px solid var(--line-2);border-radius:12px;padding:13px 16px;font-size:15px;
  color:var(--ink);background:#fff;outline:none;transition:border-color .15s,box-shadow .15s}
textarea{font-family:var(--m);font-size:13px;line-height:1.7;letter-spacing:.03em;resize:vertical;
         min-height:120px}
input:focus,textarea:focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(31,31,31,.07)}
::placeholder{color:var(--ink-4)}
.err{margin:14px 0 0;font-size:14px;color:#B42318}
.muted{color:var(--ink-3);font-size:13px}
.prof{display:block;line-height:0;color:var(--ink-3);background:none;border:0;cursor:pointer;padding:0}
.prof:hover{color:var(--ink)}
.prof svg{display:block;width:26px;height:26px}
