.overlay{display:none;position:fixed;inset:0;z-index:1000;background:rgba(28,25,21,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);align-items:center;justify-content:center;padding:20px}
.overlay.open{display:flex}
.modal{background:var(--paper);border:1px solid var(--rule);border-radius:2px;box-shadow:0 40px 80px rgba(28,25,21,.35);display:flex;flex-direction:column;max-height:90vh;max-width:640px;overflow-y:auto;position:relative;width:100%}
.modal-header{align-items:center;background:var(--paper);border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;padding:24px 32px;position:sticky;top:0;z-index:2}
.modal-header h3{font-family:var(--serif);font-size:22px;font-weight:500;letter-spacing:-.01em;line-height:1.15}
.modal-header h3 em{color:var(--brown);font-style:italic}
.modal-step-label{color:var(--brown);display:block;font-family:var(--mono);font-size:10px;letter-spacing:.14em;margin-top:4px;text-transform:uppercase}
.modal-close{background:var(--paper-2);border:0;border-radius:50%;color:var(--ink-3);cursor:pointer;display:grid;font-size:16px;height:36px;place-items:center;transition:all .2s;width:36px}
.modal-close:hover{background:var(--ink);color:var(--paper)}
.modal-body{display:flex;flex-direction:column;gap:18px;padding:28px 32px 32px}
.sched-prompt{color:var(--ink-2);font-size:15px;line-height:1.55;text-align:center}
.sched-choices{display:flex;flex-wrap:wrap;gap:12px}
.sched-choice-btn{background:var(--paper);border:1px solid var(--rule-2);border-radius:2px;color:var(--ink);cursor:pointer;display:flex;flex:1;flex-direction:column;font-family:var(--sans);font-size:14.5px;font-weight:500;gap:4px;line-height:1.3;min-width:180px;padding:18px 20px;text-align:left;text-decoration:none;transition:all .25s}
.sched-choice-btn:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.sched-choice-btn span{color:var(--ink-3);font-family:var(--mono);font-size:11px;font-weight:400;letter-spacing:.04em;line-height:1.4}
.sched-choice-btn:hover span{color:rgba(245,239,228,.7)}
.sched-step{display:none;flex-direction:column;gap:16px}
.sched-step.active{display:flex}
.sched-back{align-self:flex-start;background:transparent;border:0;color:var(--brown);cursor:pointer;font-family:var(--mono);font-size:11px;letter-spacing:.08em;padding:6px 12px;text-transform:uppercase}
.sched-back:hover{color:var(--ink)}
.form-group{display:flex;flex-direction:column;gap:6px}
.form-group>label{color:var(--ink-3);font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase}
.field-label-text{display:inline!important}
.field-label-text .req{color:var(--brown);display:inline!important;margin-left:2px}
.form-group input,.form-group textarea,.form-group select{background:var(--paper);border:1px solid var(--rule-2);border-radius:2px;color:var(--ink);font-family:var(--sans);font-size:14.5px;outline:none;padding:12px 14px;transition:border-color .2s}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--ink)}
.form-group textarea{min-height:80px;resize:vertical}
.form-submit{align-self:center;background:var(--ink);border:0;border-radius:999px;color:var(--paper);cursor:pointer;font-family:var(--sans);font-size:14px;font-weight:600;letter-spacing:.01em;margin-top:8px;padding:14px 32px;transition:background .2s}
.form-submit:hover{background:var(--brown)}
.form-submit:disabled{cursor:not-allowed;opacity:.5}
.honeypot-field{height:1px!important;left:-10000px!important;overflow:hidden!important;position:absolute!important;top:auto!important;width:1px!important}
.sent-msg{align-items:center;display:none;flex-direction:column;gap:8px;padding:24px 0;text-align:center}
.sent-msg h4{color:var(--sage);font-family:var(--serif);font-size:22px;font-weight:500}
.sent-msg p{color:var(--ink-3);font-size:14px;line-height:1.6;max-width:40ch}
.quiz-modal{max-width:680px;scrollbar-color:rgba(139,90,43,.55) transparent;scrollbar-width:thin}
.quiz-progress{background:var(--rule);height:2px;margin-bottom:4px;overflow:hidden}
.quiz-progress-bar{background:var(--brown);height:100%;transition:width .4s ease}
.quiz-step{display:none;flex-direction:column;gap:12px}
.quiz-step.active{display:flex}
.quiz-question{color:var(--ink);font-family:var(--serif);font-size:22px;font-weight:500;letter-spacing:-.01em;line-height:1.25}
.quiz-subtitle{color:var(--ink-3);font-size:13px;font-style:italic;line-height:1.5;margin-top:-10px}
.quiz-options{display:flex;flex-direction:column;gap:6px}
.quiz-option{align-items:center;background:var(--paper);border:1px solid var(--rule);border-radius:2px;color:var(--ink);cursor:pointer;display:flex;font-size:14px;gap:12px;line-height:1.4;padding:12px 16px;text-align:left;transition:all .2s}
.quiz-option:hover{background:var(--paper-2);border-color:var(--ink)}
.quiz-option.selected{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.quiz-option .chk{border:1px solid var(--rule-2);border-radius:2px;color:transparent;display:grid;flex-shrink:0;font-size:10px;height:16px;place-items:center;width:16px}
.quiz-option.selected .chk{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.quiz-comment-label{color:var(--ink-3);font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.12em;margin-top:8px;text-transform:uppercase}
.quiz-comment,.quiz-other-input{background:var(--paper);border:1px solid var(--rule-2);border-radius:2px;color:var(--ink);font-family:var(--sans);font-size:13.5px;min-height:50px;outline:none;padding:11px 14px;resize:vertical;transition:border-color .2s;width:100%}
.quiz-comment:focus,.quiz-other-input:focus{border-color:var(--ink)}
.quiz-nav{align-items:center;border-top:1px solid var(--rule);display:flex;gap:10px;justify-content:space-between;margin-top:12px;padding-top:14px}
.quiz-nav-btn{border:0;border-radius:999px;cursor:pointer;font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.01em;padding:11px 22px;transition:all .2s}
.quiz-nav-btn.prev{background:transparent;border:1px solid var(--rule-2);color:var(--ink-2)}
.quiz-nav-btn.skip{background:transparent;color:var(--ink-3);font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.quiz-nav-btn.next{background:var(--ink);border:1px solid var(--ink);color:var(--paper);margin-left:auto}
.quiz-nav-btn.next:hover{background:var(--brown);border-color:var(--brown)}
.quiz-form{display:flex;flex-direction:column;gap:10px;margin-top:8px}
.quiz-form>label{color:var(--ink-3);display:flex;flex-direction:column;font-family:var(--mono);font-size:10.5px;font-weight:500;gap:4px;letter-spacing:.12em;text-transform:uppercase}
.quiz-form input,.quiz-form textarea,.quiz-form select{background:var(--paper);border:1px solid var(--rule-2);border-radius:2px;color:var(--ink);font-family:var(--sans);font-size:13.5px;letter-spacing:normal;outline:none;padding:11px 14px;text-transform:none;transition:border-color .2s}
.quiz-form textarea{min-height:60px;resize:vertical}
.quiz-sent-msg{margin:0 auto;max-width:680px;padding:8px 0 22px;position:relative;text-align:center}
.quiz-sent-msg::before{background:var(--brown);content:"";display:block;height:1px;margin:0 auto 26px;width:54px}
.quiz-sent-msg h4{color:var(--sage);font-family:var(--serif);font-size:28px;font-weight:500;letter-spacing:-.01em;margin-bottom:12px}
.quiz-sent-msg p{color:var(--ink-3);font-size:16px;line-height:1.65;margin:0 auto;max-width:620px}
.email-send-btn{align-self:center;background:var(--ink);border:0;border-radius:999px;color:var(--paper);cursor:pointer;font-size:14px;font-weight:600;margin-top:12px;padding:14px 32px}
.email-send-btn:hover{background:var(--brown)}
@media(max-width:640px){.overlay{padding:12px}.modal{max-height:calc(100svh - 24px)}.modal-header{padding:20px 22px}.modal-body{padding:20px 22px 24px}.sched-choice-btn{min-width:100%}.quiz-sent-msg h4{font-size:24px}.quiz-sent-msg p{font-size:14px}}
