:root{--bg:#f4f5f7;--card:#fff;--ink:#1d2330;--muted:#5d6676;--line:#d6dae1;--accent:#1f4e79;--accent-ink:#fff;--err:#b3261e}
@media (prefers-color-scheme:dark){:root{--bg:#14171c;--card:#1e222a;--ink:#e8eaee;--muted:#a0a8b6;--line:#363c47;--accent:#6aa5dc;--accent-ink:#0b1622;--err:#ff8a80}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
.top{text-align:center;padding:28px 16px 8px}
.top h1{margin:0;font-size:1.7rem}
.top p{margin:4px 0 0;color:var(--muted)}
main{max-width:820px;margin:0 auto;padding:16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:18px;margin-bottom:16px}
.card h2{margin:0 0 4px;font-size:1.15rem;color:var(--accent)}
.card h3{margin:16px 0 4px;font-size:.95rem}
.hint{color:var(--muted);font-size:.85rem;margin:2px 0 10px}
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:10px 12px}
.field{display:flex;flex-direction:column;min-width:0}
.field label,.sig-block>label{font-size:.82rem;font-weight:600;margin-bottom:3px}
.s12{grid-column:span 12}.s5{grid-column:span 5}.s1{grid-column:span 1}.s9{grid-column:span 9}.s8{grid-column:span 8}.s6{grid-column:span 6}.s4{grid-column:span 4}.s3{grid-column:span 3}.s2{grid-column:span 2}
@media(max-width:620px){.s9,.s8,.s6,.s5,.s4,.s3,.s2,.s1{grid-column:span 12}.s1,.s2,.s3{grid-column:span 6}}
input[type=text],input[type=email],input[type=tel],input[type=date],input[type=number],select,textarea,input[type=file]{
  width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--ink);font:inherit}
input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px}
.invalid{border-color:var(--err)!important}
.req{color:var(--err)}.opt{color:var(--muted);font-weight:400}
.yn{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 0;border-bottom:1px dotted var(--line)}
.yn span.q{flex:1}
.yn label{margin:0 0 0 12px;font-weight:400;font-size:.95rem}
details summary{cursor:pointer;color:var(--accent);margin:6px 0}
.criteria{max-height:340px;overflow:auto;border:1px solid var(--line);border-radius:6px;padding:4px 14px;font-size:.88rem;background:var(--bg)}
.legal{font-size:.88rem}
.check{display:flex;gap:10px;align-items:flex-start;margin-top:12px;font-weight:600}
.check input{margin-top:5px;width:18px;height:18px}
.sig-block{margin-top:14px}
canvas.sig{display:block;width:100%;height:130px;border:1px dashed var(--muted);border-radius:6px;background:#fff;touch-action:none}
.link{background:none;border:0;color:var(--accent);cursor:pointer;padding:4px 0;font:inherit;font-size:.85rem}
.btn{display:block;width:100%;padding:14px;border:0;border-radius:8px;background:var(--accent);color:var(--accent-ink);font:inherit;font-weight:700;font-size:1.05rem;cursor:pointer}
.btn:disabled{opacity:.6;cursor:wait}
.btn.secondary{display:inline-block;width:auto;padding:10px 18px}
.msg{padding:10px 12px;border-radius:6px;border:1px solid var(--err);color:var(--err);margin:0 0 12px}
.msg.ok{border-color:var(--accent);color:var(--accent)}
.done{text-align:center}
.hp{position:absolute;left:-9999px;height:0;width:0;opacity:0}
footer{text-align:center;color:var(--muted);font-size:.8rem;padding:8px 16px 32px}
.hero{position:relative;padding:0;min-height:260px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;color:#fff;
  background:linear-gradient(transparent 35%,rgba(0,0,0,.65)),url(property.jpg) center/cover no-repeat}
.hero h1,.hero p{text-shadow:0 1px 4px rgba(0,0,0,.6);margin:0}
.hero p{color:#fff;padding-bottom:16px;margin-top:2px}
.hero h1{padding-top:120px}
