:root{--bg: #eceef0;--card: #ffffff;--ink: #000000;--ink-soft: #111827;--muted: #6b7280;--muted-strong: #757b89;--placeholder: #9ca3af;--border: #e2e5e9;--track: #eef0f2;--green: #0e9f6e;--green-dark: #0b7f58;--green-soft: #e6f6f0;--error: #e0455e;--radius-card: 16px;--radius-control: 10px;--shadow-card: 0 10px 40px rgba(17, 24, 39, .1);--transition: .25s;color-scheme:light}
*,*:before,*:after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink-soft);font-family:Montserrat,Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
button{font:inherit;color:inherit}
input,select{font:inherit}
:focus-visible{outline:3px solid rgba(14,159,110,.55);outline-offset:2px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.page{display:flex;min-height:100vh;min-height:100svh;padding:48px 24px}
.page__inner{margin:auto;width:100%;max-width:860px;display:flex;flex-direction:column;align-items:center}
.page__headline{margin:0;max-width:820px;font-size:clamp(1.75rem,5.4vw,2.875rem);font-weight:800;line-height:1.15;letter-spacing:-.01em;color:var(--ink);text-align:center;text-wrap:balance}
.page__terms{margin:14px 0 0;font-size:.8125rem;color:var(--muted);text-align:center}
.page__subheading{margin:26px auto 0;max-width:34ch;font-size:1rem;font-weight:700;line-height:1.45;color:var(--ink-soft);text-align:center;text-wrap:balance}
.page__footer{width:100%;text-align:center}
.page__tagline{margin:26px 0 0;font-size:.8125rem;font-weight:700;color:var(--muted)}
.page__copyright{margin:32px 0 0;font-size:.75rem;color:var(--placeholder)}
.card{width:100%;max-width:540px;margin-top:42px;padding:36px 32px 32px;background:var(--card);border-radius:var(--radius-card);box-shadow:var(--shadow-card);transition:max-width var(--transition) ease}
.card--wide{max-width:820px}
.card__chrome{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:24px}
.card__back{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;margin:-6px 0 -6px -8px;background:none;border:0;border-radius:6px;font-size:.9375rem;font-weight:500;color:var(--muted);cursor:pointer;transition:color .15s ease,background-color .15s ease}
.card__back:hover{color:var(--green-dark);background:var(--green-soft)}
.card__step-count{font-size:.8125rem;font-weight:700;letter-spacing:.045em;text-transform:uppercase;color:var(--muted-strong)}
.progress{height:6px;margin-top:16px;background:var(--track);border-radius:999px;overflow:hidden}
.progress__fill{height:100%;background:var(--green);border-radius:999px;transition:width .35s ease}
.step{animation:step-in var(--transition) ease-out both}
@keyframes step-in{0%{opacity:0;transform:translateY(6px)}
to{opacity:1;transform:none}
}
.step__question{margin:26px 0 0;font-size:1.25rem;font-weight:700;line-height:1.35;color:var(--ink-soft)}
.step__question:focus{outline:none}
.step__hint{margin:8px 0 0;font-size:.875rem;color:var(--muted)}
.step__options{display:grid;gap:15px;margin:20px 0 0;padding:0;list-style:none;border:0}
.step__fields{display:grid;gap:16px;margin-top:20px}
.option{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:15px 18px;background:var(--card);border:2px solid var(--border);border-radius:var(--radius-control);font-size:1rem;font-weight:500;line-height:1.35;color:var(--ink-soft);text-align:left;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}
.option:hover,.option:focus-visible{border-color:var(--green);background:var(--green-soft)}
.option[aria-pressed=true],.option[aria-checked=true]{border-color:var(--green);background:var(--green-soft);font-weight:600}
.option__check{flex:none;color:var(--green);font-size:1rem;line-height:1}
.button{display:block;margin-top:18px;width:100%;padding:15px 20px;background:var(--green);border:2px solid var(--green);border-radius:var(--radius-control);font-size:1rem;font-weight:700;color:#fff;text-align:center;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}
.button:hover{background:var(--green-dark);border-color:var(--green-dark)}
.button:focus-visible{outline-color:var(--green-dark)}
.field__input{width:100%;padding:14px 18px;background:var(--card);border:2px solid var(--border);border-radius:var(--radius-control);font-size:1rem;color:var(--ink-soft);transition:border-color .15s ease,box-shadow .15s ease}
.field__input::placeholder{color:var(--placeholder)}
.field__input:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px #0e9f6e2e}
.field__input[aria-invalid=true]{border-color:var(--error)}
.field__input[aria-invalid=true]:focus{box-shadow:0 0 0 3px #e0455e2e}
.field__error{margin:8px 0 0;font-size:.875rem;font-weight:500;color:var(--error)}
.field__error:empty{display:none}
.outcome{text-align:center}
.outcome__badge{display:grid;place-items:center;width:62px;height:62px;margin:30px auto 0;background:var(--green-soft);border-radius:50%;color:var(--green)}
.outcome__headline{margin:24px auto 0;max-width:700px;font-size:1.3125rem;font-weight:700;line-height:1.4;color:var(--ink-soft)}
.outcome__hint{margin:14px 0 0;font-size:.9375rem;color:var(--muted)}
.outcome__message{margin:40px auto;max-width:30ch;font-size:1.25rem;font-weight:700;line-height:1.4;color:var(--muted)}
.booking__calendly{min-width:320px;height:700px;margin-top:8px}
.booking__fallback{margin:16px 0 0;font-size:.9375rem;color:var(--muted)}
.booking__fallback a{color:var(--green-dark)}
@media(max-width:640px){.page{padding:32px 20px}
.page__subheading{margin-top:20px}
.card{margin-top:30px;padding:24px 20px}
.step__question{margin-top:22px;font-size:1.125rem}
.option{padding:14px 16px}
.outcome__headline{font-size:1.125rem}
.outcome__message{margin:28px auto;font-size:1.0625rem}
.booking__calendly{min-width:0}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}


/* Arc Digital additions */
.page__eyebrow{margin:0 0 12px;font-size:.875rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--green-dark);text-align:center}
.page__highlight{text-decoration:underline;text-decoration-color:var(--green);text-decoration-thickness:3px;text-underline-offset:4px}
