:root{--shift-ivy:#2d4739;--shift-cloud:#f5f5f0;--shift-stone:#8b8b7a;--shift-peach:#ffdab3;--shift-sage:#a8b5a0;--text-primary:#1a1a1a;--text-secondary:#666;--text-muted:#999;--border-color:#e0e0e0;--shadow-sm:0 1px 3px rgba(0,0,0,.08);--shadow-md:0 4px 12px rgba(0,0,0,.1);--shadow-lg:0 8px 24px rgba(0,0,0,.12);--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-full:9999px;--font-display:"Cormorant Garamond",Georgia,serif;--font-body:"Poppins",-apple-system,BlinkMacSystemFont,sans-serif}.shift-matcher{font-family:var(--font-body);margin:0 auto;max-width:600px;min-height:500px;padding:20px}.matcher-loading{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;justify-content:center;min-height:400px}.loading-spinner{animation:spin 1s linear infinite;border:3px solid var(--shift-cloud);border-radius:50%;border-top-color:var(--shift-ivy);height:40px;margin-bottom:16px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.matcher-container{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:flex;flex-direction:column;height:100%;min-height:500px;overflow:hidden}.chat-messages{display:flex;flex:1;flex-direction:column;gap:12px;overflow-y:auto;padding:24px}.chat-message{animation:fadeSlideIn .3s ease-out;display:flex}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.bot-message{justify-content:flex-start}.user-message{justify-content:flex-end}.message-bubble{border-radius:var(--radius-lg);font-size:15px;line-height:1.5;max-width:80%;padding:12px 18px}.bot-message .message-bubble{background:var(--shift-cloud);border-bottom-left-radius:4px;color:var(--text-primary)}.user-message .message-bubble{background:var(--shift-ivy);border-bottom-right-radius:4px;color:#fff}.message-bubble.typing:after{animation:blink .7s infinite;content:"|";margin-left:2px}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.chat-input-area{background:#fff;border-top:1px solid var(--border-color);padding:16px 24px 24px}.options-container{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.option-btn{background:#fff;border:2px solid var(--border-color);border-radius:var(--radius-full);color:var(--text-primary);cursor:pointer;font-family:var(--font-body);font-size:14px;padding:10px 18px;transition:all .2s ease}.option-btn:hover{background:var(--shift-cloud);border-color:var(--shift-ivy)}.option-btn.selected{background:var(--shift-ivy);border-color:var(--shift-ivy);color:#fff}.single-select .option-btn:hover{background:var(--shift-ivy);color:#fff;transform:translateY(-2px)}.button-container{display:flex;gap:12px;justify-content:flex-end}.continue-btn,.restart-btn,.skip-btn{border:none;border-radius:var(--radius-full);cursor:pointer;font-family:var(--font-body);font-size:15px;font-weight:500;padding:12px 28px;transition:all .2s ease}.continue-btn{background:var(--shift-ivy);color:#fff}.continue-btn:hover:not(:disabled){background:#1f332a;transform:translateY(-2px)}.continue-btn:disabled{cursor:not-allowed;opacity:.5}.continue-btn.primary{font-size:16px;padding:14px 36px}.skip-btn{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary)}.skip-btn:hover{background:var(--shift-cloud)}.restart-btn{background:transparent;border:2px solid var(--shift-ivy);color:var(--shift-ivy);padding:10px 24px}.restart-btn:hover{background:var(--shift-ivy);color:#fff}.matcher-results{padding:24px 0}.results-header{margin-bottom:32px;text-align:center}.results-header h2{color:var(--shift-ivy);font-family:var(--font-display);font-size:32px;font-weight:500;margin:0 0 12px}.results-header p{color:var(--text-secondary);font-size:16px;margin:0}.results-grid{display:flex;flex-direction:column;gap:24px}.therapist-card{animation:cardSlideIn .5s ease-out backwards;animation-delay:var(--delay);background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;position:relative;transition:transform .3s ease,box-shadow .3s ease}.therapist-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}@keyframes cardSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.card-badge{border-radius:20px;box-shadow:0 2px 8px rgba(0,0,0,.15);font-size:.875rem;font-weight:600;left:16px;letter-spacing:.3px;padding:8px 16px;position:absolute;top:16px;z-index:2}.badge-top{background:linear-gradient(135deg,#2d5f3f,#3d7f5f);color:#fff;font-weight:700}.badge-great{background:linear-gradient(135deg,#577b8d,#6b94aa);color:#fff}.badge-excellent{background:var(--shift-ivy);color:#fff}.badge-good{background:var(--shift-cloud);color:var(--text-primary)}.card-image-portrait{aspect-ratio:3/4;background:var(--shift-cloud);border-radius:var(--radius-lg) var(--radius-lg) 0 0;overflow:hidden;position:relative;width:100%}.card-image-portrait img{height:100%;object-fit:cover;object-position:center 20%;transition:transform .4s ease;width:100%}.therapist-card:hover .card-image-portrait img{transform:scale(1.05)}.card-image{height:200px;overflow:hidden;width:100%}.card-image img{height:100%;object-fit:cover;object-position:center top;width:100%}.card-content{padding:20px 24px 24px}.card-content h3{color:var(--shift-ivy);font-family:var(--font-display);font-size:24px;font-weight:500;margin:0 0 8px}.card-content .teaser{color:var(--text-secondary);font-size:14px;line-height:1.6;margin:0 0 16px}.specialties{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.specialty-tag{background:var(--shift-cloud);border-radius:var(--radius-full);color:var(--shift-ivy);font-size:12px;font-weight:500;padding:4px 12px}.card-meta{display:flex;font-size:14px;gap:16px;margin-bottom:16px}.card-meta .rate{color:var(--text-primary);font-weight:500}.card-meta .availability{color:var(--shift-sage)}.card-actions{display:flex;gap:12px}.card-actions a{border-radius:var(--radius-full);flex:1;font-size:14px;font-weight:500;padding:12px 20px;text-align:center;text-decoration:none;transition:all .2s ease}.btn-secondary{background:var(--shift-cloud);border:1px solid transparent;color:var(--shift-ivy)}.btn-secondary:hover{background:var(--shift-sage);border-color:var(--shift-sage)}.btn-primary{background:var(--shift-ivy);color:#fff}.btn-primary:hover{background:#1f332a;box-shadow:0 4px 12px rgba(45,71,57,.3);transform:translateY(-2px)}.no-results{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:48px 24px;text-align:center}.no-results h2{color:var(--shift-ivy);font-family:var(--font-display);margin-bottom:16px}.no-results p{color:var(--text-secondary);margin-bottom:12px}.no-results a{color:var(--shift-ivy);text-decoration:underline}.results-footer{margin-top:32px;padding:24px;text-align:center}.results-footer p{color:var(--text-secondary);font-size:14px}.results-footer a{color:var(--shift-ivy);text-decoration:underline}.results-footer a:hover{color:#1f332a}@media (max-width:600px){.shift-matcher{padding:12px}.chat-messages{padding:16px}.message-bubble{font-size:14px;max-width:90%}.chat-input-area{padding:12px 16px 16px}.option-btn{font-size:13px;padding:8px 14px}.results-header h2{font-size:26px}.card-image-portrait{aspect-ratio:3/4}.card-image{height:160px}.card-content{padding:16px 20px 20px}.card-content h3{font-size:20px}.card-actions{flex-direction:column}.card-badge{font-size:.75rem;padding:6px 12px}}.card-actions a:focus,.continue-btn:focus,.option-btn:focus,.restart-btn:focus,.skip-btn:focus{outline:2px solid var(--shift-ivy);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}