:root{
    --ink:#0f2433;--ink-soft:#3e5566;--paper:#fbfaf6;--paper-2:#f1ede3;
    --teal:#1f6f6b;--accent:#7a2a3a;--gold:#c9a84c;--sage:#4a7c59;
    --line:#e3dccb;--error:#c0392b;--success:#1f6f6b;--radius:12px;
    --shadow:0 4px 24px rgba(15,36,51,.1);
}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--paper-2);color:var(--ink);min-height:100vh;}

/* HERO */
.hero{background:var(--ink);padding:48px 24px 40px;text-align:center;}
.hero-badge{display:inline-block;background:rgba(201,168,76,.15);color:var(--gold);border:1px solid rgba(201,168,76,.3);border-radius:99px;padding:4px 14px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px;}
.hero h1{font-size:clamp(22px,4vw,32px);font-weight:800;color:#fff;margin-bottom:10px;line-height:1.25;}
.hero p{font-size:15px;color:rgba(255,255,255,.65);max-width:560px;margin:0 auto;line-height:1.65;}

/* FORM WRAPPER */
.form-wrap{max-width:760px;margin:32px auto 64px;padding:0 20px;}

/* CARD */
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px 32px;margin-bottom:20px;}
@media(max-width:560px){.card{padding:20px 18px;}}
.card-title{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin-bottom:18px;padding-bottom:10px;border-bottom:1px solid var(--line);}

/* FIELDS */
.field-group{display:flex;flex-direction:column;gap:5px;margin-bottom:14px;}
.field-label{font-size:11px;font-weight:700;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.05em;}
.field-label .req{color:var(--error);}
.field-input{padding:10px 13px;border:1px solid var(--line);border-radius:8px;font-size:14px;font-family:inherit;color:var(--ink);background:var(--paper);transition:border-color .15s;}
.field-input:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(31,111,107,.08);}
.field-hint{font-size:12px;color:var(--ink-soft);margin-top:3px;}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media(max-width:520px){.two-col{grid-template-columns:1fr;}}

/* CHECKBOX GRID */
.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 16px;}
@media(max-width:520px){.check-grid{grid-template-columns:1fr;}}
.check-item{display:flex;align-items:flex-start;gap:9px;padding:9px 12px;border:1px solid var(--line);border-radius:8px;cursor:pointer;transition:border-color .15s,background .15s;user-select:none;background:var(--paper);}
.check-item:hover{border-color:var(--teal);background:rgba(31,111,107,.04);}
.check-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--teal);flex-shrink:0;margin-top:1px;cursor:pointer;}
.check-item-text{font-size:13px;line-height:1.4;}
.check-item-sub{font-size:11px;color:var(--ink-soft);}

/* CLUSTER TAGS */
.cluster-num{display:inline-block;width:20px;height:20px;border-radius:50%;background:var(--teal);color:#fff;font-size:10px;font-weight:800;line-height:20px;text-align:center;flex-shrink:0;margin-right:2px;}

/* SUBMIT */
.btn-submit{width:100%;padding:14px;background:var(--teal);color:#fff;border:none;border-radius:9px;font-size:16px;font-weight:700;cursor:pointer;transition:opacity .15s;font-family:inherit;}
.btn-submit:hover{opacity:.88;}
.btn-submit:disabled{opacity:.5;cursor:not-allowed;}

/* SUCCESS */
.success-screen{display:none;text-align:center;padding:60px 24px;}
.success-icon{font-size:56px;margin-bottom:16px;}
.success-screen h2{font-size:24px;font-weight:800;margin-bottom:10px;}
.success-screen p{font-size:15px;color:var(--ink-soft);max-width:420px;margin:0 auto 24px;}
.btn-again{padding:11px 28px;background:transparent;border:1px solid var(--teal);color:var(--teal);border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;}
.btn-again:hover{background:rgba(31,111,107,.06);}

/* ERROR NOTICE */
.notice-err{padding:12px 16px;border-radius:8px;font-size:13px;background:rgba(192,57,43,.07);border:1px solid rgba(192,57,43,.2);color:var(--error);display:none;margin-top:12px;}

/* FOOTER */
footer{text-align:center;padding:24px;font-size:12px;color:var(--ink-soft);}
footer a{color:var(--teal);text-decoration:none;}

/* === Extracted inline styles === */
.hidden { display: none !important; }
.location-other-wrap { display: none; }
.location-other-wrap.show { display: block; }
.success-screen.show { display: block; }
.notice-err.show { display: block; }
.cluster-hint { font-size: 13px; color: var(--ink-soft); margin-bottom: 16px; }

