.circular-text{margin:0 auto;border-radius:50%;width:200px;position:relative;height:200px;font-weight:700;color:#fff;font-weight:900;text-align:center;cursor:pointer;transform-origin:50% 50%;-webkit-transform-origin:50% 50%}.circular-text span{position:absolute;display:inline-block;inset:0;font-size:24px;transition:all .5s cubic-bezier(0,0,0,1)}@media(prefers-reduced-motion:reduce){.contact-decoration .marketing-badge .circular-text{transform:rotate(0)!important}.contact-decoration .marketing-badge .circular-text span{transition:none!important}}.stepper-outer-container{display:flex;width:100%;flex-direction:column;align-items:center;justify-content:center}.step-circle-container{margin-left:auto;margin-right:auto;width:100%}.step-indicator-row{display:flex;width:100%;align-items:center;padding:1rem 0 2rem}.step-content-default{position:relative;overflow:hidden}.step-default{padding:0}.footer-container{padding-top:2rem}.footer-nav{display:flex}.footer-nav.spread{justify-content:space-between}.footer-nav.end{justify-content:flex-end}.back-button{transition:all .35s;border-radius:9999px;padding:.5rem 1.25rem;color:#17151c;cursor:pointer;font-size:.875rem;font-weight:500;border:1px solid #ded8e7;background:#fff}.back-button:hover{color:#6032f4;background-color:#f7f5fb}.back-button.inactive{pointer-events:none;opacity:.5}.next-button{transition:all .35s;display:flex;align-items:center;justify-content:center;border-radius:9999px;background:#d8ff3e;color:#17151c;font-weight:600;font-size:.875rem;padding:.5rem 1.5rem;cursor:pointer;box-shadow:0 4px 15px #17151c1f}.next-button:hover{transform:translateY(-1px);box-shadow:0 6px 20px #17151c2e}.next-button:active{transform:translateY(0)}.step-indicator{position:relative;cursor:pointer;outline:none}.step-indicator-inner{display:flex;height:2.25rem;width:2.25rem;align-items:center;justify-content:center;border-radius:9999px;font-weight:700}.active-dot{height:.5rem;width:.5rem;border-radius:9999px;background-color:#fff}.step-number{font-size:.875rem}.step-connector{position:relative;margin-left:.5rem;margin-right:.5rem;height:2px;flex:1;overflow:hidden;border-radius:9999px;background-color:#e5e0ea}.step-connector-inner{position:absolute;left:0;top:0;height:100%}.check-icon{height:1.25rem;width:1.25rem;color:#fff}.appointment-overlay,.appointment-overlay *{box-sizing:border-box}.appointment-overlay{position:fixed;inset:0;z-index:500;display:flex;align-items:center;justify-content:center;padding:20px;color:#17151c;font-family:Manrope,Arial,sans-serif}.appointment-backdrop{position:absolute;inset:0;background:#17151c9e;backdrop-filter:blur(5px)}.appointment-dialog{position:relative;z-index:1;width:min(100%,600px);max-height:min(90vh,860px);overflow-y:auto;padding:34px 38px 30px;border:1px solid #e5e0ea;border-radius:24px;background:#faf9f6;color:#17151c;box-shadow:0 24px 80px #0f0b1e47;scrollbar-color:#c9c0d7 transparent}.appointment-close{position:absolute;z-index:2;top:16px;right:16px;display:grid;width:38px;height:38px;place-items:center;padding:0;border:1px solid #e5e0ea;border-radius:50%;background:#fff;color:#746d7f;cursor:pointer;transition:color .16s ease,border-color .16s ease}.appointment-close:hover{border-color:#6032f4;color:#6032f4}.appointment-error{margin:0 0 20px;padding:12px 15px;border:1px solid #f2b4b4;border-radius:12px;background:#fff0f0;color:#a4262c;font-size:13px;font-weight:600}.appointment-dialog .step-indicator-row{width:calc(100% - 52px);padding:4px 0 24px}.appointment-dialog .step-content-default{overflow:visible!important}.appointment-step{display:flex;flex-direction:column;gap:18px;padding:8px 0 2px}.appointment-step-title{margin:0;color:#17151c;font-size:21px;font-weight:800;line-height:1.25;letter-spacing:-.035em}.appointment-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.appointment-field,.appointment-project-type-field{min-width:0}.appointment-label{display:block;margin:0 0 7px;color:#746d7f;font-size:10px;font-weight:800;letter-spacing:.14em;line-height:1.4;text-transform:uppercase}.appointment-input{display:block;width:100%;min-height:46px;padding:11px 14px;border:1px solid #ded8e7;border-radius:11px;background:#fff;color:#17151c;font:inherit;font-size:14px;line-height:1.4;transition:border-color .16s ease,box-shadow .16s ease}.appointment-input::placeholder{color:#9992a3;opacity:1}.appointment-input:focus{border-color:#6032f4;outline:none;box-shadow:0 0 0 3px #6032f41f}.appointment-input.has-error{border-color:#d64c4c}.appointment-textarea{min-height:120px;resize:vertical}.appointment-field-error{display:block;margin:6px 0 0 2px;color:#b32632;font-size:11px;font-weight:600}.appointment-centered-error{text-align:center}.appointment-project-types{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.appointment-choice{min-height:46px;padding:10px 12px;border:1px solid #ded8e7;border-radius:11px;background:#fff;color:#615b6c;font:inherit;font-size:12px;font-weight:700;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease}.appointment-choice:hover{border-color:#c9c0d7;background:#f7f5fb}.appointment-choice.is-selected{border-color:#6032f4;background:#f0eaff;color:#6032f4}.appointment-divider{display:flex;align-items:center;gap:12px;margin:0 0 2px;color:#746d7f;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.appointment-divider>div{height:1px;flex:1;background:#e5e0ea}.appointment-day-grid,.appointment-time-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.appointment-slot{min-width:0;min-height:40px;padding:8px 4px;border:1px solid #ded8e7;border-radius:10px;background:#fff;color:#615b6c;font:inherit;font-size:11px;font-weight:700;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease}.appointment-slot:hover:not(:disabled){border-color:#c9c0d7;background:#f7f5fb}.appointment-slot.is-selected{border-color:#6032f4;background:#6032f4;color:#fff}.appointment-slot.is-booked,.appointment-slot:disabled{border-color:#f0caca;background:#fff0f0;color:#b32632;cursor:not-allowed}.appointment-time-divider{margin-top:16px;transition:opacity .18s ease}.appointment-time-divider.is-disabled,.appointment-time-grid.is-disabled{opacity:.5}.appointment-time-grid.is-disabled{pointer-events:none;filter:grayscale(.4)}.appointment-time-hint{margin:0;color:#898292;font-size:11px;font-style:italic;text-align:center}.appointment-note-hint{margin:0;color:#746d7f;font-size:11px;font-style:italic}.appointment-success-wrap{display:grid;gap:20px;padding:8px 0;text-align:center}.appointment-success-card{display:grid;gap:8px;justify-items:center;padding:24px;border:1px solid #b9e8ca;border-radius:16px;background:linear-gradient(135deg,#effaf2,#f6fcf7)}.appointment-success-card>div:first-child{margin-bottom:2px;font-size:30px}.appointment-success-card h4{margin:0;color:#16713a;font-size:21px;font-weight:800}.appointment-success-card p{margin:0;color:#34784d;font-size:13px}.appointment-success-emoji{margin-bottom:2px;font-size:30px}.appointment-success-title{margin:0;color:#16713a;font-size:21px;font-weight:800}.appointment-success-description{margin:0;color:#34784d;font-size:13px}.appointment-success-close{justify-self:center;padding:11px 24px;border:0;border-radius:999px;background:#d0ff47;color:#17151c;font:inherit;font-weight:800;cursor:pointer}.appointment-success-close:hover{background:#c1f22f}@media(max-width:600px){.appointment-overlay{padding:12px}.appointment-dialog{width:100%;max-height:92vh;padding:58px 20px 22px;border-radius:20px}.appointment-dialog .step-indicator-row{width:100%;padding:0 0 20px}.appointment-fields{grid-template-columns:1fr;gap:13px}.appointment-step{gap:15px}.appointment-day-grid,.appointment-time-grid{gap:6px}.appointment-slot{font-size:10px}}@media(prefers-reduced-motion:reduce){.appointment-overlay *,.appointment-overlay *:before,.appointment-overlay *:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.home-title-preserve-lines{white-space:pre-line}
