.orient-trigger {
  display:flex; align-items:center; gap:18px;
  width:100%; max-width:520px; margin-top:20px; padding:18px 22px;
  border:1.5px solid rgba(124,77,255,.25); border-radius:16px;
  background:linear-gradient(135deg,rgba(124,77,255,.08),rgba(251,233,221,.6));
  color:var(--ink); text-align:left; cursor:pointer;
  font-family:var(--sans,"Hanken Grotesk",Arial,sans-serif);
  transition:background .2s,border-color .2s,box-shadow .2s;
}
.orient-trigger:hover { border-color:var(--purple); background:linear-gradient(135deg,rgba(124,77,255,.12),rgba(251,233,221,.8)); box-shadow:0 8px 22px rgba(124,77,255,.09); }
.orient-trigger-icon { flex-shrink:0; font-size:32px; line-height:1; }
.orient-trigger-copy { flex:1; min-width:0; }
.orient-trigger-copy strong { display:block; margin:0 0 4px; color:var(--ink); font-family:var(--serif,"Lora",Georgia,serif); font-size:20px; font-weight:400; font-style:normal; line-height:1.2; }
.orient-trigger-copy small { display:block; color:var(--muted); font-size:13px; line-height:1.4; }

.orient-dialog {
  position:fixed; inset:0; width:calc(100% - 32px); max-width:560px;
  max-height:calc(100dvh - 32px); margin:auto; padding:40px 32px 32px;
  overflow-y:auto; overscroll-behavior:contain; box-sizing:border-box;
  border:1px solid #e7e0e9; border-radius:20px;
  background:#fffdfb; color:var(--ink,#25232a);
  box-shadow:0 20px 60px rgba(0,0,0,.2);
  font-family:var(--sans,"Hanken Grotesk",Arial,sans-serif);
  font-size:14px; line-height:1.55;
}
.orient-dialog::backdrop { background:rgba(25,21,30,.58); backdrop-filter:blur(4px); }
.orient-dialog *, .orient-dialog *::before, .orient-dialog *::after { box-sizing:border-box; }
.orient-dialog button, .orient-dialog input { font:inherit; }
.orient-dialog button { cursor:pointer; }
.orient-dialog button:focus-visible, .orient-dialog a:focus-visible, .orient-trigger:focus-visible { outline:3px solid var(--purple,#6841c6); outline-offset:4px; }
.orient-close {
  position:absolute; top:14px; right:14px; display:grid; place-items:center;
  width:36px; height:36px; padding:0; border:1px solid var(--line,#ded9df);
  border-radius:10px; background:#fff; color:var(--muted,#625e67);
}
.orient-close span { font-size:26px; font-weight:300; line-height:1; }
.orient-close:hover { background:#f4f0f7; color:var(--ink); }
.orient-brand { margin:5px 0 14px; text-align:center; font-size:12px; font-weight:700; letter-spacing:.04em; }
.orient-brand span { color:var(--purple); font-weight:500; }
.orient-dialog .orient-title {
  margin:0 0 10px; padding:0 8px; text-align:center;
  font-family:var(--serif,"Lora",Georgia,serif); font-size:28px;
  font-weight:400; font-style:normal; line-height:1.2; letter-spacing:-.02em;
}
.orient-sub { margin:0 0 24px; text-align:center; font-size:13px; line-height:1.5; color:var(--muted); }
.orient-progress { display:flex; gap:6px; margin:0 0 26px; }
.orient-progress-step { flex:1; height:4px; border-radius:2px; background:#e7e1eb; }
.orient-progress-step.is-active { background:var(--purple); }
.orient-form, .orient-fieldset { margin:0; padding:0; border:0; min-width:0; }
.orient-question { position:relative; width:100%; padding:0 0 0 36px; margin:0 0 20px; font-size:16px; font-weight:600; line-height:1.5; }
.orient-question:focus, .orient-result-title:focus { outline:none; }
.orient-question-number { position:absolute; left:0; top:0; display:grid; place-items:center; width:25px; height:25px; background:var(--purple); color:#fff; border-radius:50%; font-size:12px; line-height:1; }
.orient-options { display:flex; flex-direction:column; gap:8px; }
.orient-option {
  display:flex; align-items:center; gap:11px; padding:13px 15px;
  border:1.5px solid var(--line); border-radius:10px;
  background:#fff; color:var(--ink); font-size:14px; line-height:1.45;
  cursor:pointer; transition:background .15s,border-color .15s;
}
.orient-option:hover { border-color:var(--purple); }
.orient-option:has(input:checked) { border-color:var(--purple); background:#f2edf9; }
.orient-option:has(input:focus-visible) { outline:3px solid var(--purple); outline-offset:3px; }
.orient-option input { width:16px; height:16px; flex-shrink:0; margin:0; accent-color:var(--purple); }
.orient-option input:focus-visible { outline:none; }
.orient-actions { display:flex; align-items:center; gap:9px; margin-top:24px; }
.orient-next {
  display:inline-flex; justify-content:center; align-items:center; flex:1;
  min-height:48px; padding:13px 18px; border:1px solid var(--purple); border-radius:10px;
  background:var(--purple); color:#fff; text-decoration:none; text-align:center;
  font-family:var(--sans); font-size:14px; font-weight:600; line-height:1.45;
}
.orient-next:not(:disabled):hover { background:#5733b0; border-color:#5733b0; }
.orient-next:disabled { opacity:.4; cursor:not-allowed; }
.orient-back { min-height:48px; padding:12px 17px; border:1px solid var(--line); border-radius:10px; background:transparent; color:var(--muted); font-size:13px; }
.orient-back:hover { background:#f4f0f7; color:var(--ink); }
.orient-result { padding:8px 0 0; text-align:center; }
.orient-result-icon { margin:0 0 15px; font-size:42px; line-height:1; }
.orient-result-eyebrow { margin:0 0 11px; color:var(--purple); font-size:14px; font-weight:600; letter-spacing:.11em; text-transform:uppercase; }
.orient-dialog .orient-result-title { margin:0 0 17px; font-family:var(--serif); font-size:36px; font-weight:400; font-style:normal; line-height:1.15; letter-spacing:-.025em; }
.orient-result-description { margin:0 auto 19px; max-width:42ch; font-size:15px; line-height:1.6; color:var(--ink); }
.orient-result-reason { margin:0 0 20px; color:var(--muted); font-size:13px; line-height:1.65; text-align:left; }
.orient-support { margin:0 0 22px; padding:15px 17px; background:#f2edf8; border-radius:10px; text-align:left; }
.orient-support strong { display:block; margin:0 0 5px; font-size:13px; font-weight:600; color:var(--ink); }
.orient-support p { margin:0; font-size:13px; line-height:1.6; color:var(--muted); }
.orient-result-link { display:flex; width:100%; }
.orient-appointment { display:block; width:fit-content; margin:14px auto 0; padding:5px 0; border-bottom:1px solid var(--line); color:var(--purple); font-size:13px; }
.orient-restart { display:block; width:fit-content; margin:17px auto 0; padding:8px; background:none; border:0; color:var(--muted); font-size:12px; text-decoration:underline; text-underline-offset:3px; }
@media(max-width:650px) {
  .orient-trigger { padding:16px; gap:12px; }
  .orient-trigger-icon { font-size:27px; }
  .orient-trigger-copy strong { font-size:19px; }
  .orient-trigger-copy small { font-size:11px; }
  .orient-dialog { width:calc(100% - 24px); max-height:calc(100dvh - 24px); padding:43px 22px 24px; border-radius:17px; }
  .orient-dialog .orient-title { font-size:25px; padding:0; }
  .orient-sub { font-size:12px; }
  .orient-question { font-size:15px; }
  .orient-option { font-size:13px; padding:12px; gap:9px; }
  .orient-next { font-size:13px; padding:12px; }
  .orient-back { font-size:12px; padding:12px; }
  .orient-dialog .orient-result-title { font-size:31px; }
}
@media(prefers-reduced-motion:reduce) {
  .orient-trigger, .orient-option { transition:none; }
}
