:root{--color-primary-red:#ff323c;--color-orange:#ff7900;--color-yellow:#ffc800;--color-green:#5ac328;--color-blue:#2897ff;--color-purple:#a050ff;--color-pink:#ff6ecf;--color-charcoal:#323232;--color-white:#fff;--color-red-aa:#d82036;--color-blue-aa:#1f73c2;--color-purple-aa:#7d41c8;--color-green-aa:#337d0f;--color-pink-aa:#e664c5;--color-navy:#0d123c;--text-primary:#333;--text-secondary:#757575;--text-tertiary:#757575;--text-placeholder:#757575;--text-on-dark:#fff;--text-link:var(--color-blue-aa);--text-error:var(--color-red-aa);--text-success:var(--color-green-aa);--bg-primary:#fff;--bg-secondary:#f8f8f8;--bg-tertiary:#f5f5f5;--bg-hover:#fff5f5;--bg-light-blue:#f0f8ff;--border-light:#e0e0e0;--border-medium:#ccc;--border-dark:#999;--border-interactive:#767676;--interactive:var(--color-red-aa);--interactive-hover:var(--color-primary-red);--interactive-active:#b01828;--interactive-disabled:#ccc;--status-success:var(--color-green-aa);--status-warning:var(--color-yellow);--status-error:var(--color-red-aa);--status-info:var(--color-blue-aa);--dark-bg-primary:#242424;--dark-bg-secondary:#1a1a1a;--dark-text-primary:hsla(0,0%,100%,.87);--font-headline:Poppins,system-ui,-apple-system,sans-serif;--font-body:Roboto,system-ui,-apple-system,sans-serif;--font-logo:brown,system-ui,sans-serif;--font-system:system-ui,Avenir,Helvetica,Arial,sans-serif;--font-regular:400;--font-medium:500;--font-semibold:600;--font-bold:700;--font-size-display-large:3.2rem;--font-size-display-medium:2.5rem;--font-size-display-small:2rem;--font-size-h1:2rem;--font-size-h2:1.75rem;--font-size-h3:1.5rem;--font-size-h4:1.25rem;--font-size-h5:1.125rem;--font-size-h6:1rem;--font-size-body-large:1.125rem;--font-size-body-base:1rem;--font-size-body-small:.9375rem;--font-size-caption:.875rem;--font-size-label:.8125rem;--font-size-small:.75rem;--font-size-tiny:.6875rem;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.6;--line-height-loose:1.75;--letter-spacing-tight:-.02em;--letter-spacing-normal:0;--letter-spacing-wide:.02em;--letter-spacing-wider:.05em;--spacing-0:0;--spacing-0-5:.125rem;--spacing-1:.25rem;--spacing-2:.5rem;--spacing-3:.75rem;--spacing-3-5:.875rem;--spacing-4:1rem;--spacing-4-5:1.125rem;--spacing-5:1.25rem;--spacing-5-5:1.375rem;--spacing-6:1.5rem;--spacing-7:1.75rem;--spacing-7-5:1.875rem;--spacing-8:2rem;--spacing-10:2.5rem;--spacing-12:3rem;--spacing-12-5:3.125rem;--spacing-14:3.5rem;--spacing-16:4rem;--spacing-20:5rem;--spacing-22-5:5.625rem;--spacing-24:6rem;--spacing-30:7.5rem;--spacing-80:20rem;--border-width-none:0;--border-width-thin:1px;--border-width-medium:2px;--border-width-thick:4px;--radius-none:0;--radius-small:.375rem;--radius-medium:.625rem;--radius-large:.75rem;--radius-xl:1rem;--radius-2xl:1.125rem;--radius-full:9999px;--shadow-none:none;--shadow-small:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);--shadow-medium:0 2px 10px rgba(0,0,0,.1);--shadow-large:0 10px 30px rgba(0,0,0,.15);--shadow-xl:0 20px 60px rgba(0,0,0,.3);--shadow-inner:inset 0 2px 4px rgba(0,0,0,.06);--duration-instant:0ms;--duration-fast:.15s;--duration-normal:.2s;--duration-slow:.3s;--duration-slower:.5s;--easing-linear:linear;--easing-in:ease-in;--easing-out:ease-out;--easing-in-out:ease-in-out;--easing-custom:cubic-bezier(.4,0,.2,1);--transition-fast:all var(--duration-fast) var(--easing-in-out);--transition-normal:all var(--duration-normal) var(--easing-in-out);--transition-slow:all var(--duration-slow) var(--easing-in-out);--transition-color:color var(--duration-normal) var(--easing-in-out);--transition-background:background-color var(--duration-normal) var(--easing-in-out);--transition-transform:transform var(--duration-normal) var(--easing-custom);--transition-opacity:opacity var(--duration-normal) var(--easing-in-out);--opacity-disabled:.6;--opacity-muted:.7;--opacity-light:.8;--opacity-medium:.5;--z-base:0;--z-dropdown:1000;--z-sticky:1100;--z-overlay:1200;--z-modal:1300;--z-popover:1400;--z-tooltip:1500;--z-notification:1600;--max-width-content:50rem;--max-width-container:75rem;--max-width-button:var(--spacing-80);--min-width-mobile:20rem;--header-height:var(--spacing-22-5);--input-max-height:var(--spacing-30)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.animate-fade-in{animation:fadeIn var(--duration-slow) var(--easing-in)}.animate-slide-up{animation:slideUp var(--duration-slow) var(--easing-out)}.animate-slide-in-right{animation:slideInRight var(--duration-slow) var(--easing-out)}.transition-fast{transition:var(--transition-fast)}.transition-normal{transition:var(--transition-normal)}.transition-slow{transition:var(--transition-slow)}.custom-scrollbar::-webkit-scrollbar{width:var(--spacing-2)}.custom-scrollbar::-webkit-scrollbar-track{background:var(--bg-secondary)}.custom-scrollbar::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:var(--radius-full)}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--border-dark)}.flex-center{align-items:center;display:flex;justify-content:center}.flex-shrink-0{flex-shrink:0}.message-header{align-items:center;display:flex;gap:var(--spacing-2)}.message-timestamp{color:var(--text-secondary);font-size:var(--font-size-label)}.message-content-box{background:var(--bg-primary);border:var(--border-width-thin) solid var(--border-light);border-radius:var(--radius-large);color:var(--text-primary);font-size:var(--font-size-body-small);line-height:var(--line-height-relaxed);max-width:100%;padding:var(--spacing-3) var(--spacing-4);width:fit-content;word-wrap:break-word;position:relative}.section-container-padding{padding:var(--spacing-4)}.btn-pill-outline-red{align-items:center;background:var(--bg-primary);border:var(--border-width-thin) solid var(--color-red-aa);border-radius:var(--radius-2xl);color:var(--text-primary);display:inline-flex;font-size:var(--font-size-body-small);font-weight:var(--font-medium);justify-content:center;padding:var(--spacing-3) var(--spacing-6);text-decoration:none;transition:var(--transition-normal)}.btn-pill-outline-red:hover{background:var(--bg-hover)}.message-content-link{color:var(--color-red-aa);text-decoration:none;transition:var(--transition-color)}.message-content-link:hover{color:var(--color-primary-red);text-decoration:underline}.message-content-strong{color:var(--color-red-aa);font-weight:var(--font-semibold)}:root{background-color:var(--dark-bg-primary);color:var(--dark-text-primary);color-scheme:light dark;font-family:var(--font-body);font-synthesis:none;font-weight:var(--font-regular);line-height:var(--line-height-normal);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--color-blue-aa);font-weight:var(--font-medium);text-decoration:inherit;transition:var(--transition-color)}a:hover{color:var(--color-blue)}body{margin:0;min-height:100vh;min-width:var(--min-width-mobile)}h1{font-family:var( --font-headline );font-size:var(--font-size-display-large);font-weight:var(--font-semibold);line-height:var(--line-height-tight)}button{background-color:var(--dark-bg-secondary);border:var(--border-width-thin) solid transparent;border-radius:var(--radius-medium);cursor:pointer;font-family:var(--font-body);font-size:1em;font-weight:var(--font-medium);padding:var(--spacing-3) var(--spacing-5);transition:var(--transition-normal)}button:hover{border-color:var(--color-blue-aa)}button:focus,button:focus-visible{outline:var(--border-width-thick) auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{background-color:var(--bg-primary);color:var(--text-primary)}a:hover{color:var(--color-blue)}button{background-color:var(--bg-secondary)}}#root{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-6);min-height:100vh;padding:var(--spacing-24) var(--spacing-8) var(--spacing-8) var(--spacing-8)}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.skip-link{background:var(--color-red-aa);border-radius:0 0 var(--radius-medium) var(--radius-medium);color:var(--color-white);font-weight:var(--font-medium);left:50%;padding:var(--spacing-2) var(--spacing-4);position:absolute;text-decoration:none;top:-100%;transform:translate(-50%);transition:top .2s;z-index:var(--z-overlay)}.skip-link:focus{outline:var(--border-width-medium) solid var(--color-blue-aa);top:0}.chat-container{background:var(--bg-primary);border:var(--border-width-thin) solid var(--border-light);border-radius:var(--radius-xl);box-shadow:none;display:flex;flex:1;flex-direction:column;max-height:80vh;max-width:var(--max-width-content);overflow:hidden;width:100%}.chat-container main{display:flex;flex:1;flex-direction:column;min-height:0}.visually-hidden{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}.chat-input-container{background-color:var(--bg-secondary);flex-shrink:0;padding:0 var(--spacing-4) var(--spacing-4) var(--spacing-4)}.chat-input-wrapper{align-items:center;display:flex;position:relative}.chat-input{background-color:var(--bg-primary);border:var(--border-width-thin) solid var(--border-interactive);border-radius:var(--radius-medium);color:var(--text-primary);flex:1;font-family:var(--font-body);font-size:var(--font-size-body-small);max-height:var(--input-max-height);padding:var(--spacing-3-5) var(--spacing-12-5) var(--spacing-3-5) var(--spacing-4-5);resize:none;transition:var(--transition-color);width:100%}.chat-input::placeholder{color:var(--text-placeholder);opacity:1}.send-button-container{background:var(--border-medium);border:none;border-radius:var(--radius-small);height:var(--spacing-7-5);right:var(--spacing-3);width:var(--spacing-7-5)}.send-button,.send-button-container{align-items:center;cursor:pointer;display:flex;justify-content:center;position:absolute;top:50%;transform:translateY(-50%)}.send-button{background:transparent;border:none;color:var(--border-medium);height:var(--spacing-5-5);padding:0;transition:var(--transition-normal);width:var(--spacing-5-5)}.send-button-container.has-text{background:var(--color-red-aa)}.send-button:disabled{color:var(--interactive-disabled);cursor:not-allowed}.privacy-notice{color:var(--text-primary);font-size:var(--font-size-small);line-height:var(--line-height-normal);margin-bottom:var(--spacing-3);text-align:left}.contact-button{font-size:var(--font-size-caption);margin-top:var(--spacing-3);width:100%}.contact-button:hover{background-color:var(--color-charcoal);border-color:var(--color-charcoal);color:var(--color-white)}.contact-button:hover>.contact-icon{background:var(--color-red-aa)}.contact-icon{align-items:center;background:var(--text-primary);border-radius:var(--radius-full);display:flex;flex-shrink:0;height:var(--spacing-6);justify-content:center;width:var(--spacing-6)}.contact-icon svg{height:var(--spacing-3-5);width:var(--spacing-3-5)}.suggested-queries{background:var(--color-white);display:flex;flex-direction:row;flex-wrap:nowrap;gap:var(--spacing-3);margin-bottom:var(--spacing-3);margin-left:calc(var(--spacing-4)*-1);margin-right:calc(var(--spacing-4)*-1);overflow-x:auto;padding:var(--spacing-4);-webkit-overflow-scrolling:touch;border-bottom:var(--border-width-thin) solid var(--color-charcoal);border-top:var(--border-width-thin) solid var(--color-charcoal);cursor:grab;scrollbar-width:none;-webkit-user-select:none;user-select:none}.suggested-queries.dragging{cursor:grabbing}.suggested-queries::-webkit-scrollbar{display:none}.suggested-queries:focus{outline:2px solid var(--color-red-aa);outline-offset:-2px}.suggested-queries:focus-visible{outline:2px solid var(--color-red-aa);outline-offset:-2px}.suggested-query{align-items:center;background:transparent;border:var(--border-width-medium) solid var(--color-charcoal);border-radius:var(--radius-full);box-sizing:border-box;color:var(--text-primary);cursor:pointer;display:flex;font-size:var(--font-size-body-base);font-weight:var(--font-regular);height:var(--spacing-12);min-width:fit-content;padding:0 var(--spacing-5);transition:var(--transition-normal);white-space:nowrap;width:auto}.suggested-query:hover{background:var(--bg-hover);border-color:var(--color-red-aa)}.chat-header{align-items:center;background:var(--color-charcoal);box-shadow:var(--shadow-medium);color:var(--color-white);display:flex;flex-shrink:0;gap:var(--spacing-3);justify-content:flex-start}.chat-header-content{display:flex;flex-direction:column;gap:var(--spacing-1)}.chat-header-content h1{font-family:var(--font-headline);font-size:var(--font-size-body-large);font-weight:var(--font-semibold);line-height:1;margin:0}.chat-header-content p{font-family:var(--font-body);font-size:var(--font-size-small);font-weight:var(--font-regular);margin:0;opacity:.9}.message-avatar{align-items:center;display:flex;flex-shrink:0;height:var(--spacing-10);justify-content:center;width:var(--spacing-10)}.message-avatar svg{height:100%;width:100%}.message-avatar-large{height:var(--spacing-14);width:var(--spacing-14)}#welcomeMessage{align-items:flex-start;animation:fadeIn var(--duration-slow) var(--easing-in);flex-direction:column}#welcomeMessage .message-content p{margin:0 0 var(--spacing-3) 0}#welcomeMessage .message-content p:last-child{margin-bottom:0}#welcomeMessage .message-content strong{color:var(--color-red-aa);font-weight:var(--font-semibold)}#welcomeMessage .message-content ul{list-style:none;margin:var(--spacing-3) 0;padding-left:var(--spacing-6)}#welcomeMessage .message-content ul li{line-height:var(--line-height-relaxed);margin:var(--spacing-2) 0;padding-left:var(--spacing-5);position:relative}#welcomeMessage .message-content ul li:before{color:var(--color-red-aa);content:"•";font-size:var(--font-size-h5);font-weight:var(--font-bold);left:0;position:absolute;top:calc(var(--spacing-0-5)*-1)}#welcomeMessage .message-content a{color:var(--color-red-aa);font-weight:var(--font-medium);text-decoration:underline;transition:var(--transition-color)}#welcomeMessage .message-content a:hover{color:var(--interactive-active)}#typingIndicator .typing-indicator{color:var(--text-tertiary);display:inline-block;position:relative;width:var(--spacing-20)}.action-buttons{align-items:flex-start;display:flex;flex-direction:column;gap:var(--spacing-1-5);margin-top:var(--spacing-3);max-width:var(--max-width-button);width:100%}.btn-pill{align-items:center;border-radius:var(--radius-full);cursor:pointer;display:flex;font-size:var(--font-size-body-small);font-weight:var(--font-medium);justify-content:center;padding:var(--spacing-3) var(--spacing-6);text-decoration:none;transition:var(--transition-normal)}.action-buttons .btn-pill-outline-red{align-self:flex-start;box-sizing:border-box;height:var(--spacing-12);justify-content:flex-start!important;padding-left:var(--spacing-6)!important;text-align:left;width:80%}.action-buttons .btn-pill-outline-red:hover{text-decoration:none}.contact-button-container{margin-top:var(--spacing-4)}.contact-button{align-items:center;background-color:var(--color-red-aa);border:none;border-radius:var(--radius-full);box-shadow:var(--shadow-small);box-sizing:border-box;cursor:pointer;display:inline-flex;font-size:var(--font-size-body-small);font-weight:var(--font-semibold);gap:var(--spacing-2);height:var(--spacing-12);justify-content:center;max-width:100%;padding:var(--spacing-3) var(--spacing-5);text-decoration:none;transition:var(--transition-background);white-space:nowrap;width:fit-content}.contact-button,.contact-button span{color:var(--color-white)}.contact-button-compact{box-shadow:none!important;box-sizing:border-box;height:var(--spacing-12)!important;justify-content:space-between;max-width:none;padding:var(--spacing-3) var(--spacing-2) var(--spacing-3) var(--spacing-6)!important;width:80%!important}.btn-icon-circle{align-items:center;background:var(--bg-primary);border-radius:var(--radius-full);color:var(--color-red-aa);display:flex;flex-shrink:0;height:var(--spacing-8);justify-content:center;width:var(--spacing-8)}.contact-button:hover{background-color:var(--interactive-active);box-shadow:var(--shadow-medium)}.contact-button-compact:hover,.contact-button:hover,.contact-button:hover span{text-decoration:none!important}.contact-button-compact:hover{background-color:var(--interactive-active);box-shadow:none}.contact-button-compact:hover span{text-decoration:none!important}.contact-button:active,.contact-button:focus,.contact-button:visited{color:var(--color-white);text-decoration:none}@media(max-width:768px){.contact-button{font-size:var(--font-size-caption);padding:var(--spacing-2) var(--spacing-4)}}.copy-button{align-items:center;background:transparent;border:none;border-radius:var(--radius-small);color:var(--text-tertiary);cursor:pointer;display:flex;justify-content:center;padding:var(--spacing-2);position:absolute;right:var(--spacing-3);top:var(--spacing-3);transition:var(--transition-normal)}.copy-button:hover{background:var(--bg-tertiary);color:var(--text-primary)}.copy-button.copied{color:var(--color-green-aa)}.message{animation:fadeIn var(--duration-slow) var(--easing-in);display:flex;margin-bottom:var(--spacing-3)}.message.assistant{align-items:flex-start;flex-direction:column}.message.user{align-items:flex-end;flex-direction:column}.message-content{border-radius:var(--radius-medium);line-height:var(--line-height-normal);max-width:80%;word-wrap:break-word;position:relative}.message.assistant .message-content{background:var(--bg-tertiary);border:none;border-radius:var(--radius-2xl) var(--radius-2xl) var(--radius-2xl) 0;color:var(--text-primary);font-size:var(--font-size-body-small);line-height:var(--line-height-relaxed);padding:var(--spacing-4) var(--spacing-4);width:fit-content}.message-timestamp{color:var(--text-primary);font-size:var(--font-size-tiny);font-weight:var(--font-medium);letter-spacing:var(--letter-spacing-wide)}.message.assistant .message-content a{color:var(--color-red-aa);text-decoration:none;transition:var(--transition-color)}.message.assistant .message-content a:hover{color:var(--color-primary-red);text-decoration:underline}.message.assistant .message-content strong{color:var(--color-red-aa);font-weight:var(--font-semibold)}.message.user .message-content{background:var(--color-red-aa);border-radius:var(--radius-2xl) var(--radius-2xl) 0 var(--radius-2xl);color:var(--color-white);font-size:var(--font-size-body-small);line-height:var(--line-height-relaxed);padding:var(--spacing-4) var(--spacing-5)}.message.assistant .message-content p{margin:0 0 var(--spacing-3) 0}.message.assistant .message-content p:last-child{margin-bottom:0}.message.assistant .message-content ul{list-style-type:disc;margin:0 0 var(--spacing-3) 0;padding-left:var(--spacing-5)}.message.assistant .message-content ul:last-child{margin-bottom:0}.message.assistant .message-content li{margin-bottom:var(--spacing-1)}.message.assistant .message-content li:last-child{margin-bottom:0}.error-message{align-items:flex-start;animation:slideIn var(--duration-slow) var(--easing-out);border-radius:var(--radius-large);display:flex;gap:var(--spacing-3);margin:var(--spacing-4) 0;padding:var(--spacing-4)}.error-message.error{background-color:var(--status-error);border:var(--status-error)}.error-message.warning{background-color:var(--color-orange);border:var(--color-orange)}.error-icon{flex-shrink:0;margin-top:var(--spacing-0-5)}.error-content{display:flex;flex:1;flex-direction:column;gap:var(--spacing-3)}.error-text{font-size:var(--font-size-body-small);line-height:var(--line-height-normal);margin:0}.error-actions{display:flex;gap:var(--spacing-2)}.dismiss-button,.retry-button{border:none;border-radius:var(--radius-small);cursor:pointer;font-size:var(--font-size-caption);font-weight:var(--font-medium);padding:var(--spacing-1-5) var(--spacing-3);transition:var(--transition-normal)}.retry-button{background-color:var(--status-error);color:var(--color-white);padding:var(--spacing-2)}.retry-button,.retry-button:hover:not(:disabled){border:var(--border-width-thin) solid var(--color-white)}.retry-button:disabled{cursor:not-allowed;opacity:var(--opacity-disabled)}.dismiss-button{background-color:transparent;color:inherit;padding:var(--spacing-2)}.dismiss-button,.dismiss-button:hover{border:var(--border-width-thin) solid var(--color-white)}.chat-messages{background:var(--bg-primary);flex:1;min-height:0;overflow-y:auto;padding:var(--spacing-4);position:relative;scroll-behavior:smooth}