/* Formation form — styles 1:1 with goldblum.ch redesign design system (build/assets/global.css) */
:root{
  --primary:#1d1d1d; --secondary:#b2b2b2; --faint:#b2b2b2;
  --line:#e6e6e6; --line-strong:#b2b2b2; --red:#ff0000; --red-strong:#d31818;
  --bg:#fff; --bg-soft:#f5f5f5; --inverse:#f9f9f9; --muted:#f5f5f5;
  --fw-light:300; --fw-regular:400; --fw-medium:500; --fw-bold:700;
  --font:"Geologica",system-ui,-apple-system,sans-serif;
  --container:760px;
  --r:0;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font);color:var(--primary);line-height:1.4;background:var(--bg);font-size:15px;font-weight:var(--fw-regular);font-variation-settings:'CRSV' 0,'SHRP' 0;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}

/* top bar */
.bar{border-bottom:1px solid var(--line)}
.bar .in{max-width:var(--container);margin:0 auto;padding:20px 24px;display:flex;align-items:center;justify-content:space-between}
.bar img{height:30px}
.back{font-size:14px;color:#666}

.wrap{max-width:var(--container);margin:0 auto;padding:48px 24px 80px}
.eyebrow{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--red);font-weight:var(--fw-light)}
h1{font-weight:var(--fw-medium);font-size:clamp(30px,5vw,40px);line-height:1.05;letter-spacing:-.02em;margin-top:8px}
h2.step-title{font-weight:500;font-size:24px;letter-spacing:-.01em;margin-bottom:4px}
.lede{margin-top:14px;color:#444;max-width:54ch}
.muted{color:var(--secondary)}

/* progress */
.progress{display:flex;gap:6px;margin:28px 0 8px}
.progress .dot{flex:1;height:4px;background:var(--line);transition:background .2s}
.progress .dot.done{background:var(--red)}
.progress .dot.active{background:var(--primary)}
.stepmeta{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin-bottom:18px}

/* form grid */
form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
/* wizard: the form wraps step sections; each step is its own 2-col grid */
#wizard{display:block}
#wizard .step{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-content:start}
.field{display:flex;flex-direction:column;gap:6px}
.field.full,.full{grid-column:1/-1}
label{font-size:13px;letter-spacing:.02em;color:#555}
label .req{color:var(--red)}
.hint{font-size:12px;color:var(--faint)}
input,select,textarea{font-family:var(--font);font-size:15px;padding:12px 14px;border:1px solid var(--line-strong);border-radius:var(--r);background:#fff;color:var(--primary);width:100%}
input:focus,select:focus,textarea:focus{outline:2px solid var(--red);outline-offset:-1px;border-color:var(--red)}
textarea{min-height:110px;resize:vertical}
input[type=file]{padding:9px 10px;font-size:13px;background:var(--bg-soft)}
input[readonly]{background:var(--muted);color:var(--secondary);cursor:default}
input[readonly]:focus{outline:none;border-color:var(--line-strong)}
.hint.warn{color:var(--red-strong);font-weight:var(--fw-medium)}

/* radio/checkbox cards */
.choices{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}
.choice{border:1px solid var(--line-strong);padding:14px;cursor:pointer;display:flex;gap:10px;align-items:flex-start;transition:.15s}
.choice:hover{border-color:var(--primary)}
.choice input{width:auto;margin-top:3px}
.choice.sel{border-color:var(--red);background:#faf7f7}
.choice .t{font-weight:500;font-size:14px}
.choice .d{font-size:12px;color:var(--secondary)}

.checkrow{grid-column:1/-1;display:flex;gap:10px;align-items:flex-start;font-size:13px;color:#555}
.checkrow input{width:auto;margin-top:2px}

.notice{grid-column:1/-1;font-size:12.5px;color:#777;border-left:3px solid var(--red);padding:10px 14px;background:#faf7f7}

/* live company-name check (Zefix) */
.namecheck{font-size:13px;line-height:1.45;margin-top:2px;min-height:0}
.namecheck:empty{display:none}
.namecheck.checking{color:var(--secondary)}
.namecheck.ok{color:#1a7f37}
.namecheck.similar{color:#9a6700}
.namecheck.taken{color:var(--red-strong);font-weight:var(--fw-medium)}
.namecheck ul{margin:4px 0 0;padding-left:0}
.namecheck li{font-size:12.5px;color:#555;padding:1px 0}

/* dependency warning callout (e.g. resident director requirement) */
.dep-warn{grid-column:1/-1;font-size:13px;line-height:1.5;color:#7a4b00;background:#fff8ec;border:1px solid #e6c787;border-left:3px solid #d98a00;padding:12px 14px;margin-top:14px}
.dep-warn[hidden]{display:none}
.dep-warn strong{color:#7a4b00}
.section-h{grid-column:1/-1;font-weight:500;font-size:15px;border-bottom:1px solid var(--line);padding-bottom:6px;margin-top:8px}

/* persons */
.person{grid-column:1/-1;border:1px solid var(--line);padding:16px;position:relative}
.person + .person{margin-top:4px}
.person-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.person-head .t{font-weight:500}
.person-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.rm{font-size:12px;color:var(--red);background:none;border:0;cursor:pointer;text-decoration:underline}
.add-btn{grid-column:1/-1;justify-self:start}

/* buttons — goldblum.ch signature: dark fill settling to red on hover */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:inherit;font-size:16px;font-weight:var(--fw-regular);padding:16px 32px;border:1px solid var(--primary);background:var(--primary);color:var(--inverse);cursor:pointer;border-radius:var(--r);transition:background .35s ease,border-color .35s ease,color .35s ease}
.btn:hover{background:var(--red);border-color:var(--red);color:#fff}
.btn--outline{background:transparent;color:var(--primary);border-color:var(--secondary)}
.btn--outline:hover{background:transparent;border-color:var(--red);color:var(--red)}
.btn--ghost{background:transparent;color:var(--primary);border:0;border-bottom:1px solid currentColor;padding:6px 0;font-size:15px}
.btn--ghost:hover{background:transparent;border-color:var(--red);color:var(--red)}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.btn--small{padding:9px 16px;font-size:13px}

.nav{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;margin-top:18px;gap:12px}

/* review */
.review h3{font-size:14px;font-weight:500;border-bottom:2px solid var(--red);padding-bottom:4px;margin:18px 0 8px}
.review table{width:100%;border-collapse:collapse;font-size:14px}
.review td{padding:4px 12px 4px 0;vertical-align:top}
.review td.k{color:#777;white-space:nowrap;width:38%}

.error-banner{grid-column:1/-1;background:#fff0f0;border:1px solid var(--red);color:var(--red-strong);padding:12px 14px;font-size:14px;display:none}
.error-banner.show{display:block}

.hidden{display:none !important}
.spin{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:s .7s linear infinite}
@keyframes s{to{transform:rotate(360deg)}}

@media(max-width:600px){
  form,.person-grid{grid-template-columns:1fr}
}
