@layer components{.estimate-project-section{background-color:#fff;flex-direction:column;min-height:100dvh;display:flex}body:has(.announcement-bar) .estimate-project-section{min-height:calc(100dvh - 2.25rem)}@media (width>=62rem){body:has(.announcement-bar) .estimate-project-section{min-height:calc(100dvh - 2.5rem)}}.estimate-project-section .estimate-shell{flex:auto;justify-content:center;align-items:flex-start;padding:4.5rem 1.25rem 11rem;display:flex}@media (width>=992px){.estimate-project-section .estimate-shell{padding:7rem 1.25rem 12rem}}.estimate-project-section:has([data-chat-contacts]:not([hidden])) :is(.estimate-project-section .estimate-shell){padding-bottom:2rem}@media (width>=48rem){.estimate-project-section:has([data-chat-contacts]:not([hidden])) :is(.estimate-project-section .estimate-shell){padding-bottom:17rem}}.estimate-chat{width:100%;max-width:44rem}.estimate-chat .greeting{text-align:center;margin-bottom:2rem!important}.estimate-chat .greeting .ai-orb{width:3rem;height:3rem;margin:0 auto 1.25rem!important}.estimate-chat .greeting .hello{font-size:var(--text-heading-3);color:var(--color-dark);text-wrap:balance;line-height:1.2;margin-bottom:0!important}.estimate-chat .greeting .hello .gradient{color:#0000;background:linear-gradient(90deg,#0894ff,#c959dd 60%,#ff2e54);-webkit-background-clip:text;background-clip:text}.estimate-chat .suggestions{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.estimate-chat .suggestions[hidden]{display:none}.estimate-chat .suggestions .suggestion{cursor:pointer;border:1px solid var(--color-gray-200);font-size:var(--text-sm);text-align:left;color:var(--color-dark);background-color:#fff;border-radius:999px;padding:.625rem 1.125rem;line-height:1;transition:border-color .15s ease-in-out,color .15s ease-in-out}.estimate-chat .suggestions .suggestion:hover{border-color:var(--color-primary)}.estimate-chat .suggestions-label{font-size:var(--text-sm);color:var(--color-gray-500);margin-bottom:.75rem!important}.estimate-chat .stream{flex-direction:column;display:flex;gap:.625rem!important}.estimate-chat .stream:not(:empty){margin-bottom:1.5rem!important}.estimate-chat .stream .message{animation:.35s ease-out both estimate-card-in;display:flex}.estimate-chat .stream .message .bubble{max-width:85%;font-size:var(--text-base);white-space:pre-wrap;border-radius:1rem;padding:.75rem 1.125rem;line-height:1.45}.estimate-chat .stream .message .bubble a{color:var(--color-primary);overflow-wrap:anywhere;text-decoration:underline}.estimate-chat .stream .message.from-bot .bubble{background-color:var(--color-light);color:var(--color-dark);border-top-left-radius:.375rem}.estimate-chat .stream .message.from-user{justify-content:flex-end}.estimate-chat .stream .message.from-user .bubble{border:1px solid var(--color-gray-200);color:var(--color-dark);background-color:#fff;border-bottom-right-radius:.375rem;box-shadow:0 1px 2px #00011f0a}.estimate-chat .stream .typing{align-items:center;gap:.3rem;height:1.45em;display:inline-flex}.estimate-chat .stream .typing span{background-color:var(--color-gray-400);border-radius:999px;width:.4rem;height:.4rem;animation:1.2s ease-in-out infinite estimate-typing}.estimate-chat .stream .typing span:nth-child(2){animation-delay:.15s}.estimate-chat .stream .typing span:nth-child(3){animation-delay:.3s}.estimate-chat .steps .step{animation:.35s ease-out both estimate-card-in}.estimate-chat .step-label{font-size:var(--text-sm);color:var(--color-gray-500);margin-bottom:.75rem!important}.estimate-chat .cards{flex-wrap:wrap;display:flex;gap:.625rem!important}.estimate-chat .cards input[type=radio]{opacity:0;pointer-events:none;position:absolute}.estimate-chat .cards .card{flex:10rem;display:flex}.estimate-chat .cards label{cursor:pointer;border:1px solid var(--color-gray-200);width:100%;color:var(--color-dark);background-color:#fff;border-radius:.75rem;flex-direction:column;gap:.75rem;padding:1rem;text-decoration:none;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out,transform .15s ease-in-out;animation:.4s ease-out both estimate-card-in;display:flex}.estimate-chat .cards label:hover{border-color:var(--color-gray-300);transform:translateY(-2px);box-shadow:0 6px 20px #00011f0f}.estimate-chat .cards label .icon{color:var(--color-primary)}.estimate-chat .cards label .icon svg{width:1.25rem;height:1.25rem}.estimate-chat .cards label .text{font-size:var(--text-sm);color:var(--color-gray-700);line-height:1.4}.composer{background-color:var(--color-gray-100);border-radius:1rem;padding:.75rem}.composer input{width:100%;font-size:var(--text-base);color:var(--color-dark);border:0;padding:.375rem .375rem 2.25rem;display:block;background-color:#0000!important}.composer input::placeholder{color:var(--color-gray-500)}.composer input:focus{box-shadow:none;outline:none}.composer .toolbar{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.composer .attach,.composer .dictate{cursor:pointer;width:2rem;height:2rem;color:var(--color-gray-500);background-color:#0000;border:0;border-radius:8px;flex:none;place-items:center;padding:0;transition:background-color .15s ease-in-out,color .15s ease-in-out;display:grid}:is(.composer .attach,.composer .dictate):hover{background-color:var(--color-gray-200);color:var(--color-dark)}:is(.composer .attach,.composer .dictate) svg{width:1.05rem;height:1.05rem;display:block}:is(.composer .attach,.composer .dictate) input[type=file],:is(.composer .attach,.composer .dictate)[hidden]{display:none}.composer .dictate{margin-left:auto}.composer .dictate.is-recording{background-color:color-mix(in srgb, var(--color-danger) 12%, transparent);color:var(--color-danger)}.composer .dictate.is-recording svg{animation:1.2s ease-in-out infinite estimate-recording}.composer .send{cursor:pointer;background-color:var(--color-dark);color:#fff;border:0;border-radius:8px;flex:none;place-items:center;width:2rem;height:2rem;transition:background-color .15s ease-in-out,opacity .15s ease-in-out;display:grid}.composer .send:hover:not(:disabled){background-color:var(--color-primary)}.composer .send:disabled{background-color:var(--color-gray-300);cursor:not-allowed}.composer .send svg{width:1.05rem;height:1.05rem}.privacy-note{text-align:center;font-size:var(--text-xs);color:var(--color-gray-500);margin:.75rem 0 0!important}.estimate-footer{z-index:10;background-color:#fff;flex-direction:column;align-items:center;padding:0 1.25rem 1.5rem;display:flex;position:fixed;bottom:0;left:0;right:0}.estimate-footer:before{content:"";pointer-events:none;background:linear-gradient(#0000,#fff);height:2.5rem;position:absolute;bottom:100%;left:0;right:0}.estimate-footer>.composer,.estimate-footer>.contact-fields,.estimate-footer>.privacy-note{width:100%;max-width:44rem}.estimate-footer>.contact-fields{background-color:var(--color-gray-100);border-radius:1rem;margin-top:1rem;padding:1.25rem 1.5rem}.estimate-footer>.contact-fields[hidden]{display:none}.estimate-footer>.contact-fields .title{font-size:var(--text-sm);color:var(--color-gray-500);margin-bottom:1rem!important}.estimate-footer>.contact-fields .fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}@media (width<48rem){.estimate-footer>.contact-fields .fields{grid-template-columns:minmax(0,1fr)}}.estimate-footer>.contact-fields .fields>div:has(select){display:flex}.estimate-footer>.contact-fields .fields>div:has(select)>*{margin-bottom:0!important}.estimate-footer>.contact-fields .fields>div:has(select) select{flex:none;width:auto}.estimate-footer>.contact-fields .fields>div:has(select)>div:last-child{flex:auto}.estimate-footer>.contact-fields .fields>div{margin-bottom:0!important}.estimate-footer>.contact-fields .confirm{justify-content:space-between;align-items:center;gap:1rem;margin-top:1.25rem;display:flex}@media (width<48rem){.estimate-footer>.contact-fields .confirm{flex-direction:column;align-items:stretch}}.estimate-footer>.contact-fields .confirm>div{margin-bottom:0!important}.estimate-footer>.contact-fields .confirm label{font-size:var(--text-xs);color:var(--color-gray-600);line-height:1.4}.estimate-footer:has(.composer.is-hidden) .composer,.estimate-footer:has(.composer.is-hidden) .privacy-note{display:none}@media (width<48rem){.estimate-footer:has(.composer.is-hidden){padding-bottom:0;position:static}.estimate-footer:has(.composer.is-hidden):before{content:none}}}@keyframes estimate-card-in{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}@keyframes estimate-typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-.2rem)}}@keyframes estimate-recording{0%,to{opacity:1}50%{opacity:.35}}
