.loading-spinner{width:3rem;height:3rem;border-top:3px solid var(--color-gray-100);border:3px solid var(--color-gray-100);border-top-color:var(--color-primary);border-radius:50%;margin:0 auto 2rem}.back-button{position:absolute;top:1rem;left:1rem;display:flex;align-items:center;color:var(--color-text-secondary);background:none;border:none;cursor:pointer;font-size:.875rem;transition:var(--transition-normal);z-index:10;font-family:var(--font-family-body)}.back-button:hover{color:var(--color-text-primary)}.address-input,.contact-input,.mortgage-input{width:100%;height:100%;background:transparent;color:var(--color-text-primary);font-family:var(--font-family-body);font-size:1rem;font-weight:500;border:none;outline:none;padding:0;box-sizing:border-box;transition:var(--transition-normal)}.address-input::-moz-placeholder,.contact-input::-moz-placeholder,.mortgage-input::-moz-placeholder{color:var(--color-text-muted)}.address-input::placeholder,.contact-input::placeholder,.mortgage-input::placeholder{color:var(--color-text-muted)}.address-input{font-size:1.25rem;text-align:center}.address-input:focus,.contact-input:focus,.mortgage-input:focus{outline:none}.address-input.error{color:var(--color-border-error)}.address-input.validating{color:var(--color-border-success)}.pac-container{border-radius:.5rem;box-shadow:var(--shadow-md);border:1px solid var(--color-border-default);margin-top:.25rem;font-family:var(--font-family-body);z-index:1000;background:var(--color-white)}.pac-item{padding:.75rem 1rem;border-bottom:1px solid var(--color-gray-100);cursor:pointer;font-size:.875rem;color:var(--color-text-primary);transition:var(--transition-fast)}.pac-item:hover{background-color:var(--color-gray-50)}.pac-item:last-child{border-bottom:none}.pac-item-selected{background-color:var(--color-gray-100)}.pac-matched{font-weight:600;color:var(--color-primary)}.pac-icon{display:none}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}.error-shake{animation:shake .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .3s ease-out}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.scale-in{animation:scaleIn .3s ease-out}@keyframes slideInRight{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slideInLeft{0%{transform:translateX(-100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slideOutLeft{0%{transform:translateX(0);opacity:1}to{transform:translateX(-100%);opacity:0}}@keyframes slideOutRight{0%{transform:translateX(0);opacity:1}to{transform:translateX(100%);opacity:0}}.slide-in-right{animation:slideInRight .4s ease-out}.slide-in-left{animation:slideInLeft .4s ease-out}.slide-out-left{animation:slideOutLeft .4s ease-out}.slide-out-right{animation:slideOutRight .4s ease-out}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.spin{animation:spin 1s linear infinite}.button-hover{transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.button-hover:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg)}.button-hover:active{transform:translateY(0)}.focus-ring:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (max-width:768px){.loading-spinner{width:2.5rem;height:2.5rem}.back-button{top:.5rem;left:.5rem;font-size:.75rem}.address-input{font-size:1rem}.pac-item{padding:.5rem .75rem;font-size:.8rem}}@media (prefers-contrast:high){.pac-container{border:2px solid var(--color-text-primary)}.pac-item:hover{background-color:var(--color-text-primary);color:var(--color-white)}}@media (prefers-reduced-motion:reduce){.fade-in,.loading-spinner,.pulse,.scale-in,.slide-in-left,.slide-in-right,.slide-out-left,.slide-out-right,.spin{animation:none}.button-hover{transition:none}}