* { box-sizing: border-box; }
:root { --orange:#F58229; --orange-soft:#fff6ef; --graphite:#252525; --text:#545454; --muted:#777; --border:#dedede; --white:#fff; --background:#faf9f7; --danger:#b42318; }
html { font-size:16px; }
body { margin:0; font-family:"Montserrat",Arial,sans-serif; color:var(--graphite); background:var(--background); line-height:1.55; }
a { color:var(--orange); }
.page-shell { min-height:calc(100vh - 120px); }
.hero { width:min(100% - 32px,760px); margin:0 auto; padding:36px 0 44px; }
.brand { text-align:center; margin-bottom:28px; }
.brand-logo { width:min(300px,72vw); height:auto; display:block; margin:0 auto; }
.brand-slogan { margin:10px 0 0; font-size:.88rem; color:var(--muted); }
.intro { text-align:center; margin:0 auto 28px; max-width:680px; }
.eyebrow { margin:0 0 8px; color:var(--orange); font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
h1 { margin:0; font-size:clamp(2rem,5vw,3rem); line-height:1.1; letter-spacing:-.03em; }
.subtitle { margin:16px auto 0; color:var(--text); max-width:650px; }
.quick-note { margin:12px 0 0; color:var(--muted); font-size:.9rem; font-weight:500; }
.form-card,.thanks-card { background:var(--white); border:1px solid #ece8e3; border-radius:20px; box-shadow:0 12px 34px rgba(30,30,30,.06); }
.form-card { padding:28px; }
.form-section { border:0; padding:0; margin:0 0 28px; }
.form-section legend,.personal-section h2 { margin:0 0 14px; font-size:1.08rem; font-weight:700; }
.required { color:var(--orange); }
.option-grid { display:grid; gap:10px; }
.option-card { position:relative; display:flex; align-items:center; min-height:58px; padding:14px 16px; background:var(--white); border:1px solid var(--border); border-radius:12px; cursor:pointer; transition:.18s ease; }
.option-card:hover { border-color:#bfbfbf; }
.option-card input { position:absolute; opacity:0; pointer-events:none; }
.option-card:has(input:checked) { border-color:var(--orange); background:var(--orange-soft); box-shadow:0 0 0 1px rgba(245,130,41,.15); }
.option-card:has(input:checked)::after { content:"✓"; margin-left:auto; color:var(--orange); font-weight:700; }
.option-card:focus-within { outline:3px solid rgba(245,130,41,.22); outline-offset:2px; }
.conditional-section { overflow:hidden; }
.personal-section { margin-bottom:24px; }
.field { margin-bottom:18px; }
.field label { display:block; margin-bottom:7px; font-size:.92rem; font-weight:600; }
.optional { margin-left:6px; color:var(--muted); font-size:.76rem; font-weight:500; }
.field input { width:100%; min-height:50px; padding:12px 14px; border:1px solid var(--border); border-radius:10px; font:inherit; color:var(--graphite); background:var(--white); outline:none; transition:.18s ease; }
.field input:focus { border-color:var(--orange); box-shadow:0 0 0 3px rgba(245,130,41,.12); }
.field small,.consent small { display:block; margin-top:6px; color:var(--muted); font-size:.78rem; }
.consent { padding-top:6px; }
.check-row { display:flex; gap:10px; align-items:flex-start; font-size:.86rem; color:var(--text); cursor:pointer; }
.check-row input { width:18px; height:18px; margin-top:3px; accent-color:var(--orange); flex:0 0 auto; }
.submit-button { width:100%; min-height:52px; margin-top:22px; border:0; border-radius:12px; padding:14px 18px; background:var(--orange); color:var(--white); font:inherit; font-weight:700; cursor:pointer; text-align:center; transition:.18s ease; }
.submit-button:hover { filter:brightness(.95); transform:translateY(-1px); }
.submit-button:disabled { opacity:.7; cursor:wait; transform:none; }
.field-error { min-height:18px; margin:5px 0 0; color:var(--danger); font-size:.76rem; }
.visually-hidden { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
.site-footer { padding:18px 16px 28px; text-align:center; color:var(--muted); font-size:.78rem; }
.site-footer p { margin:2px 0; }
.thanks-page { background:var(--background); }
.thanks-shell { min-height:100vh; width:min(100% - 32px,680px); margin:0 auto; display:grid; place-items:center; padding:36px 0; }
.thanks-card { width:100%; padding:34px 28px; text-align:center; }
.thanks-logo { width:min(280px,70vw); }
.success-mark { width:52px; height:52px; display:grid; place-items:center; margin:28px auto 16px; border-radius:50%; background:var(--orange-soft); color:var(--orange); font-size:1.6rem; font-weight:700; }
.link-button { display:inline-flex; align-items:center; justify-content:center; text-decoration:none; margin-top:24px; }
@media (min-width:640px) { .option-grid-compact { grid-template-columns:repeat(3,1fr); } }
@media (max-width:520px) { .hero { width:min(100% - 22px,760px); padding-top:22px; } .brand { margin-bottom:22px; } .form-card { padding:20px 16px; border-radius:16px; } h1 { font-size:2rem; } .subtitle { font-size:.94rem; } .option-card { min-height:56px; } }


.inline-thanks {
  margin-top: 24px;
}

.success-title {
  margin: 0;
  font-size: clamp(1.7rem, 4vw, 2.4rem);
  line-height: 1.15;
}

[hidden] {
  display: none !important;
}
