:root{--paper: #f4f5f0;--card: #ffffff;--ink: #1b2430;--muted: #5b6573;--line: #cfd4da;--blue: #0b3d91;--blue-dark: #082c68;--yellow: #ffc619;--error: #b3261e;--ok: #1f7a4d;--font: "Segoe UI", "Helvetica Neue", Arial, system-ui, sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.55 var(--font)}button,input,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--yellow);outline-offset:2px;box-shadow:0 0 0 5px var(--blue)}.masthead{background:var(--blue);color:#fff;padding:1.75rem 1rem 2.25rem}.masthead-inner,main{max-width:44rem;margin:0 auto}.brand{display:flex;align-items:center;gap:1rem}.sign{flex:none;width:3.25rem;height:3.25rem;background:var(--yellow);transform:rotate(45deg) scale(.78);border:4px solid #fff;border-radius:6px;display:grid;place-items:center}.sign span{transform:rotate(-45deg);font-weight:900;font-size:1.9rem;color:var(--ink);line-height:1}h1{margin:0;font-size:clamp(1.8rem,6vw,2.6rem);font-weight:800;letter-spacing:-.02em;line-height:1.05}.kommune{margin:.2rem 0 0;opacity:.85}.lead{margin:1.25rem 0 0;max-width:34rem;font-size:1.05rem}main{padding:0 1rem 4rem;margin-top:-1.1rem}form,.done{background:var(--card);border:1px solid var(--line);border-top:6px solid var(--yellow);border-radius:4px;padding:1.5rem 1.25rem}fieldset{border:0;padding:0;margin:0 0 2rem;min-width:0}legend{padding:0;margin-bottom:.75rem;font-size:1.2rem;font-weight:750}.cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.6rem}.cat{position:relative;display:block;cursor:pointer}.cat input{position:absolute;opacity:0;top:0;right:0;bottom:0;left:0}.cat-body{display:block;height:100%;padding:.7rem .8rem .7rem 1rem;border:2px solid var(--line);border-left:8px solid var(--line);border-radius:4px;background:#fff}.cat strong{display:block;line-height:1.25}.cat small{color:var(--muted)}.cat:hover .cat-body{border-color:var(--blue)}.cat input:checked+.cat-body{background:var(--blue);border-color:var(--blue);border-left-color:var(--yellow);color:#fff}.cat input:checked+.cat-body small{color:#dbe5f7}.cat input:focus-visible+.cat-body{outline:3px solid var(--yellow);box-shadow:0 0 0 5px var(--blue)}.field{margin-bottom:1rem}label.lbl{display:block;font-weight:600;margin-bottom:.25rem}.opt{font-weight:400;color:var(--muted)}input[type=text],input[type=email],input[type=tel],textarea{width:100%;padding:.65rem .75rem;border:2px solid var(--line);border-radius:4px;background:#fff}textarea{min-height:8rem;resize:vertical}input:focus,textarea:focus{border-color:var(--blue)}.row{display:grid;grid-template-columns:2fr 1fr;gap:.75rem}.hint{color:var(--muted);font-size:.92rem;margin:.3rem 0 0}.has-error input[type=text],.has-error input[type=email],.has-error textarea{border-color:var(--error)}.err{color:var(--error);font-weight:600;font-size:.92rem;margin:.3rem 0 0}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1.1rem;border:2px solid var(--blue);border-radius:4px;background:#fff;color:var(--blue);font-weight:650;cursor:pointer}.btn:hover{background:#eaf0fb}.btn.primary{background:var(--blue);color:#fff;width:100%;justify-content:center;padding:1rem;font-size:1.1rem}.btn.primary:hover{background:var(--blue-dark)}.btn:disabled{opacity:.6;cursor:wait}.geo-ok{color:var(--ok);font-weight:600;margin:.5rem 0 0}.photos{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.75rem}.photo{position:relative;width:6.5rem;height:6.5rem;border:2px solid var(--line);border-radius:4px;overflow:hidden}.photo img{width:100%;height:100%;object-fit:cover;display:block}.photo button{position:absolute;top:2px;right:2px;width:1.8rem;height:1.8rem;border:0;border-radius:50%;background:var(--ink);color:#fff;cursor:pointer;font-size:1.1rem;line-height:1}.check{display:flex;gap:.6rem;align-items:flex-start;margin-bottom:.6rem}.check input{width:1.25rem;height:1.25rem;margin-top:.2rem;flex:none;accent-color:var(--blue)}.hp{position:absolute;left:-9999px;height:0;overflow:hidden}.banner{border-left:6px solid var(--error);background:#fdecea;padding:.75rem 1rem;margin-bottom:1rem;font-weight:600}.done h2{margin-top:0;font-size:1.6rem}.ref{display:inline-block;padding:.35rem .8rem;background:var(--yellow);font-weight:800;letter-spacing:.02em;border-radius:3px}footer{max-width:44rem;margin:0 auto;padding:0 1rem 2rem;color:var(--muted);font-size:.9rem}@media(max-width:30rem){.row{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
