:root{--font-family:"Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--transition-fast:.2s ease;--transition-normal:.3s cubic-bezier(.4, 0, .2, 1);--max-width:1200px;--bg-primary:#f8fafc;--bg-secondary:#fff;--text-primary:#0f172a;--text-secondary:#475569;--border-color:#e2e8f0cc;--glass-bg:#ffffffbf;--glass-border:#e2e8f099;--accent:#0ea5e9;--accent-hover:#0284c7;--accent-light:#0ea5e926;--success:#10b981;--success-hover:#059669;--danger:#ef4444;--danger-hover:#dc2626;--card-shadow:0 10px 30px -10px #0f172a14;--card-shadow-hover:0 20px 40px -15px #0f172a26;--nav-shadow:0 4px 20px -2px #0f172a0d}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-family);background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;line-height:1.6}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 24px}.container-sm{max-width:768px}.grid{gap:24px;display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-1-3{grid-template-columns:1fr 3fr}.grid-2-3{grid-template-columns:3fr 2fr}.flex{display:flex}.justify-between{justify-content:space-between}.align-center{align-items:center}.flex-grow{flex-grow:1}.gap-3{gap:12px}.gap-4{gap:16px}.text-center{text-align:center}.text-secondary{color:var(--text-secondary)}.text-gradient{background:linear-gradient(135deg,#22d3ee,#0ea5e9);-webkit-text-fill-color:transparent;-webkit-background-clip:text;display:inline-block}.text-sm{font-size:.875rem}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.mt-8{margin-top:32px}.mb-4{margin-bottom:16px}.hide{display:none!important}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn{align-center:center;font-family:var(--font-family);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);border:1px solid #0000;justify-content:center;padding:10px 20px;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background-color:var(--accent);color:#fff}.btn-primary:hover{background-color:var(--accent-hover);transform:translateY(-2px);box-shadow:0 4px 12px #0ea5e940}.btn-secondary{background-color:var(--accent-light);color:var(--accent);border:1px solid #0ea5e91a}.btn-secondary:hover{background-color:var(--accent);color:#fff;transform:translateY(-2px)}.btn-success{background-color:var(--success);color:#fff}.btn-success:hover{background-color:var(--success-hover);transform:translateY(-2px);box-shadow:0 4px 12px #10b98140}.btn-danger{border:1px solid var(--danger);color:var(--danger);background-color:#0000}.btn-danger:hover{background-color:var(--danger);color:#fff}.btn-icon{color:var(--text-primary);cursor:pointer;transition:background-color var(--transition-fast);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:8px;display:flex}.btn-icon:hover{background-color:var(--border-color)}.segmented-toggle{border:1px solid var(--border-color);border-radius:var(--radius-sm);background-color:#0f172a14;align-items:center;padding:2px;display:flex}.segmented-toggle button{color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);font-size:.75rem;font-weight:800;font-family:var(--font-family);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;height:100%;padding:6px 12px;display:flex}.segmented-toggle button:hover{color:var(--text-primary)}.segmented-toggle button.active{background-color:var(--bg-secondary);color:var(--text-primary);box-shadow:0 1px 4px #00000014}.segmented-toggle button.active .sun-icon{color:#d97706}.segmented-toggle button.active .moon-icon{color:#38bdf8}.btn-lg{border-radius:var(--radius-md);padding:14px 28px;font-size:1.05rem}.btn-sm{padding:6px 12px;font-size:.85rem}.btn-block{width:100%;display:flex}.icon{width:20px;height:20px}.glass-card{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-md);box-shadow:var(--card-shadow);transition:transform var(--transition-normal), box-shadow var(--transition-normal);padding:28px}.app-header{z-index:100;background:var(--glass-bg);border-bottom:1px solid var(--glass-border);-webkit-backdrop-filter:blur(12px);transition:background-color var(--transition-normal), border var(--transition-normal);position:fixed;top:0;left:0;right:0}.header-container{justify-content:space-between;align-items:center;height:72px;display:flex}.logo{color:var(--text-primary);letter-spacing:-.5px;white-space:nowrap;align-items:center;gap:10px;font-size:1.45rem;font-weight:800;text-decoration:none;display:flex}.logo-icon{width:34px;height:34px;animation:6s infinite shine}@keyframes shine{0%,to{transform:scale(1)rotate(0)}50%{transform:scale(1.1)rotate(15deg)}}.logo-accent{background:linear-gradient(135deg,#22d3ee,#0ea5e9);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.nav-links{gap:32px;display:flex}.nav-links a{color:var(--text-secondary);transition:color var(--transition-fast);font-size:.95rem;font-weight:500;text-decoration:none}.nav-links a:hover{color:var(--accent)}.header-actions{align-items:center;gap:16px;display:flex}.header-cta{align-items:center;gap:8px;display:inline-flex}.cta-icon{flex-shrink:0;width:18px;height:18px}.mobile-menu-btn{display:none}.mobile-nav{background:var(--bg-secondary);border-left:1px solid var(--border-color);z-index:200;flex-direction:column;width:300px;height:100vh;padding:40px 24px;transition:right .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;right:-320px;box-shadow:-10px 0 30px #0000001a}.mobile-nav.open{right:0}.mobile-nav .close-btn{align-self:flex-end;margin-bottom:40px}.mobile-nav-links{flex-direction:column;gap:24px;display:flex}.mobile-nav-links a{color:var(--text-primary);transition:color var(--transition-fast);font-size:1.2rem;font-weight:600;text-decoration:none}.mobile-nav-links a:hover{color:var(--accent)}main{margin-top:72px}section{padding:50px 0}.section-header{margin-bottom:48px}.section-tag{letter-spacing:1.5px;text-transform:uppercase;color:var(--accent);margin-bottom:12px;font-size:.8rem;font-weight:700;display:inline-block}.section-header h2{letter-spacing:-.5px;margin:0 0 16px;font-size:2.25rem;font-weight:800}.section-header p{color:var(--text-secondary);max-width:600px;margin:0 auto;font-size:1.1rem}.hero-section{position:relative;overflow:hidden}.hero-container{align-items:center}.hero-content h1{letter-spacing:-1.5px;margin:0 0 20px;font-size:3.5rem;font-weight:800;line-height:1.15}.badge{background-color:var(--accent-light);color:var(--accent);border-radius:50px;margin-bottom:24px;padding:6px 14px;font-size:.85rem;font-weight:700;display:inline-block}.hero-desc{color:var(--text-secondary);max-width:500px;margin-bottom:36px;font-size:1.15rem}.hero-actions{gap:16px;margin-bottom:40px;display:flex}.hero-trust{align-items:center;gap:16px;display:flex}.trust-avatars{display:flex}.trust-avatar{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;margin-left:-8px;font-size:.8rem;display:flex}.trust-avatar:first-child{margin-left:0}.trust-text{color:var(--text-secondary);font-size:.9rem}.hero-visual{position:relative}.hero-image-card{border-radius:var(--radius-lg);padding:12px;position:relative;overflow:visible}.hero-img{border-radius:var(--radius-md);object-fit:cover;width:100%;height:auto;display:block}.floating-badge{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-md);box-shadow:var(--nav-shadow);align-items:center;gap:12px;max-width:220px;padding:12px 18px;display:flex;position:absolute}.badge-icon{background-color:var(--accent-light);border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.4rem;display:flex}.floating-badge strong{font-size:.875rem;display:block}.floating-badge p{color:var(--text-secondary);margin:0;font-size:.75rem}.badge-top{animation:4s ease-in-out infinite alternate float-y;top:10%;left:-20px}.badge-bottom{animation:4s ease-in-out infinite alternate-reverse float-y;bottom:10%;right:-20px}@keyframes float-y{0%{transform:translateY(0)}to{transform:translateY(-10px)}}.service-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:transform var(--transition-normal), border var(--transition-normal), box-shadow var(--transition-normal);flex-direction:column;padding:32px;display:flex}.service-card:hover{border-color:var(--accent);box-shadow:var(--card-shadow-hover);transform:translateY(-8px)}.service-card.featured{border-color:var(--accent);background-color:var(--bg-secondary);position:relative}.card-badge{background-color:var(--accent);color:#fff;border-radius:50px;padding:4px 10px;font-size:.75rem;font-weight:700;position:absolute;top:20px;right:20px}.service-icon{background-color:var(--accent-light);width:48px;height:48px;color:var(--accent);border-radius:var(--radius-sm);justify-content:center;align-items:center;margin-bottom:24px;display:flex}.service-icon svg{width:24px;height:24px}.service-card h3{margin:0 0 12px;font-size:1.25rem;font-weight:700}.service-card p{color:var(--text-secondary);flex-grow:1;margin-bottom:20px;font-size:.9rem}.service-bullets{flex-direction:column;gap:8px;margin:0 0 24px;padding:0;list-style:none;display:flex}.service-bullets li{color:var(--text-secondary);align-items:center;gap:8px;font-size:.85rem;display:flex}.service-bullets li:before{content:"✓";color:var(--accent);font-weight:700}.service-link{color:var(--accent);margin-top:auto;font-size:.9rem;font-weight:600;text-decoration:none}.calculator-section{background-color:var(--bg-secondary)}.form-group{margin-bottom:24px}.form-label{margin-bottom:8px;font-size:.95rem;font-weight:600;display:block}.toggle-group{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);grid-template-columns:repeat(4,1fr);padding:4px;display:grid}.toggle-btn{color:var(--text-secondary);font-size:.875rem;font-weight:600;font-family:var(--font-family);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:6px;padding:10px}.toggle-btn.active{background-color:var(--bg-secondary);color:var(--accent);box-shadow:0 2px 8px #0000000d}.counter-input{border:1px solid var(--border-color);border-radius:var(--radius-sm);background-color:var(--bg-primary);height:46px;display:flex;overflow:hidden}.counter-input button{width:46px;color:var(--text-primary);cursor:pointer;transition:background-color var(--transition-fast);background:0 0;border:none;font-size:1.25rem;font-weight:600}.counter-input button:hover{background-color:var(--border-color)}.counter-input input{text-align:center;color:var(--text-primary);background:0 0;border:none;flex-grow:1;width:40px;font-size:1.1rem;font-weight:700}.calc-badge-text{color:var(--accent);background-color:var(--accent-light);border-radius:4px;padding:2px 8px;font-size:.85rem;font-weight:700}.slider{-webkit-appearance:none;background:var(--bg-primary);border-radius:4px;outline:none;width:100%;height:8px;margin:12px 0}.slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);cursor:pointer;border:2px solid var(--bg-secondary);width:20px;height:20px;transition:transform var(--transition-fast);border-radius:50%;box-shadow:0 2px 6px #00000026}.slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.freq-cards{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.freq-card{border:1px solid var(--border-color);border-radius:var(--radius-sm);text-align:center;cursor:pointer;background-color:var(--bg-primary);transition:all var(--transition-fast);flex-direction:column;padding:12px 8px;display:flex}.freq-card input{opacity:0;pointer-events:none;position:absolute}.freq-card.active{border-color:var(--accent);background-color:var(--accent-light)}.freq-content strong{font-size:.875rem;display:block}.discount-badge{color:var(--success);margin-top:4px;font-size:.7rem;font-weight:700;display:inline-block}.addon-checkbox{cursor:pointer;position:relative}.addon-checkbox input{opacity:0;pointer-events:none;position:absolute}.addon-content{border:1px solid var(--border-color);border-radius:var(--radius-sm);background-color:var(--bg-primary);transition:all var(--transition-fast);align-items:center;gap:12px;padding:12px;display:flex}.addon-icon{font-size:1.5rem}.addon-info{flex-direction:column;display:flex}.addon-info span:first-child{color:var(--text-primary);font-size:.875rem;font-weight:600}.addon-price{color:var(--text-secondary);font-size:.75rem}.addon-checkbox input:checked+.addon-content{border-color:var(--accent);background-color:var(--accent-light)}.sticky-card{position:sticky;top:100px}.pricing-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:32px}.price-big{color:var(--accent);margin-top:8px;font-size:3.25rem;font-weight:800;line-height:1}.frequency-caption{color:var(--text-secondary);margin-top:4px;font-size:.875rem}.divider{border:0;border-top:1px solid var(--border-color);margin:20px 0}.breakdown-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.breakdown-list li{justify-content:space-between;font-size:.9rem;display:flex}.breakdown-list li span:last-child{font-weight:600}.math-steps{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);padding:14px;font-family:monospace;font-size:.75rem;line-height:1.5}.math-steps strong{font-family:var(--font-family);color:var(--text-primary);margin-bottom:6px;font-size:.8rem;display:block}.dashboard-section{background-color:var(--bg-primary)}.dashboard-profile{background-color:var(--bg-secondary);height:fit-content}.profile-header{align-items:center;gap:16px;margin-bottom:24px;display:flex}.profile-avatar{background-color:var(--accent-light);border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.5rem;display:flex}.profile-header h3{margin:0;font-size:1.15rem}.profile-stats{border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px;padding:20px 0;display:grid}.stat-item{text-align:center}.stat-num{color:var(--accent);font-size:1.75rem;font-weight:800}.stat-label{color:var(--text-secondary);font-size:.75rem}.profile-perks h4{margin:0 0 12px;font-size:.9rem}.profile-perks ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.profile-perks li{color:var(--text-secondary);align-items:center;gap:8px;font-size:.8rem;display:flex}.profile-perks li:before{content:"✦";color:var(--accent)}.bookings-root{flex-direction:column;gap:16px;display:flex}.empty-state{text-align:center;background-color:var(--bg-secondary);border:2px dashed var(--border-color);border-radius:var(--radius-md);padding:60px 24px}.empty-state-icon{margin-bottom:16px;font-size:3rem}.empty-state p{color:var(--text-secondary);margin-bottom:24px}.booking-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);flex-direction:column;gap:16px;padding:24px;display:flex}.booking-card-header{justify-content:space-between;align-items:flex-start;display:flex}.booking-card-title h4{margin:0;font-size:1.15rem;font-weight:700}.booking-status{text-transform:uppercase;border-radius:50px;padding:4px 10px;font-size:.75rem;font-weight:700}.booking-status.scheduled{background-color:var(--accent-light);color:var(--accent)}.booking-card-details{background-color:var(--bg-primary);border-radius:var(--radius-sm);border:1px solid var(--border-color);grid-template-columns:repeat(3,1fr);gap:16px;padding:12px 16px;display:grid}.booking-detail-item span:first-child{color:var(--text-secondary);font-size:.75rem;display:block}.booking-detail-item span:last-child{font-size:.85rem;font-weight:600}.booking-card-notes{flex-direction:column;gap:6px;display:flex}.booking-card-notes label{color:var(--text-secondary);font-size:.8rem;font-weight:600}.booking-notes-textarea{font-family:var(--font-family);border-radius:var(--radius-sm);border:1px solid var(--border-color);background-color:var(--bg-primary);color:var(--text-primary);resize:vertical;min-height:50px;padding:8px 12px;font-size:.85rem}.booking-notes-textarea:focus{border-color:var(--accent);outline:none}.booking-card-actions{justify-content:flex-end;gap:12px;display:flex}.reschedule-box{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);flex-direction:column;gap:12px;margin-top:8px;padding:14px;display:flex}.reschedule-box h5{margin:0;font-size:.85rem}.reschedule-inputs{grid-template-columns:2fr 1fr;gap:8px;display:grid}.reviews-section{background-color:var(--bg-secondary)}.filter-pills{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.pill-btn{background-color:var(--bg-primary);border:1px solid var(--border-color);font-weight:600;font-family:var(--font-family);cursor:pointer;color:var(--text-secondary);transition:all var(--transition-fast);border-radius:50px;padding:8px 20px}.pill-btn:hover,.pill-btn.active{background-color:var(--accent);color:#fff;border-color:var(--accent)}.review-card{background-color:var(--bg-primary);padding:32px}.review-rating{margin-bottom:16px;font-size:1.1rem}.review-text{color:var(--text-primary);margin-bottom:24px;font-size:.95rem;font-style:italic}.review-author strong{display:block}.faq-accordion-set{flex-direction:column;gap:16px;display:flex}details[name=faq]{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:all var(--transition-normal);overflow:hidden}details[name=faq] summary{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:24px;list-style:none;display:flex}details[name=faq] summary::-webkit-details-marker{display:none}details[name=faq] summary h3{margin:0;font-size:1.1rem;font-weight:700}.summary-icon{width:24px;height:24px;position:relative}.summary-icon:before,.summary-icon:after{content:"";background-color:var(--text-primary);transition:transform var(--transition-normal);position:absolute}.summary-icon:before{width:16px;height:2px;top:11px;left:4px}.summary-icon:after{width:2px;height:16px;top:4px;left:11px}details[name=faq][open] .summary-icon:after{transform:rotate(90deg)scaleY(0)}.details-content{color:var(--text-secondary);padding:0 24px 24px;font-size:.95rem}details::details-content{transition:height .3s,opacity .3s}.contact-card{padding:40px}.contact-form{margin-top:32px}.form-control,.form-control-select{width:100%;height:48px;font-family:var(--font-family);background-color:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary);border-radius:var(--radius-sm);transition:all var(--transition-fast);padding:10px 16px;font-size:.95rem}textarea.form-control{height:auto}.form-control:focus,.form-control-select:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-light);outline:none}.floating-group{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);transition:border-color var(--transition-normal), box-shadow var(--transition-normal), background-color var(--transition-normal);align-items:center;margin-bottom:24px;display:flex;position:relative;overflow:hidden}.floating-group:hover{border-color:#0ea5e973}.floating-group:focus-within{border-color:var(--accent);background-color:var(--bg-secondary);box-shadow:0 8px 24px -6px #0ea5e926, 0 0 0 3px var(--accent-light)}.floating-group:after{content:"";background:linear-gradient(90deg, var(--accent), #22d3ee);width:0;height:2px;transition:width var(--transition-normal) cubic-bezier(.4, 0, .2, 1), left var(--transition-normal) cubic-bezier(.4, 0, .2, 1);border-radius:0 0 var(--radius-sm) var(--radius-sm);z-index:2;position:absolute;bottom:-1px;left:50%}.floating-group:focus-within:after{width:100%;left:0}.floating-input{box-sizing:border-box;width:100%;height:54px;font-family:var(--font-family);color:var(--text-primary);border-radius:var(--radius-sm);transition:color var(--transition-fast);background:0 0;border:none;outline:none;padding:22px 16px 4px 48px;font-size:.98rem;box-shadow:none!important}textarea.floating-input{resize:vertical;height:118px;padding-top:24px;padding-bottom:8px}.floating-label{color:var(--text-secondary);pointer-events:none;transition:transform var(--transition-normal) cubic-bezier(.4, 0, .2, 1), color var(--transition-normal);transform-origin:0 0;z-index:1;font-size:.98rem;position:absolute;top:17px;left:48px}.floating-input:focus~.floating-label,.floating-input:not(:placeholder-shown)~.floating-label,.floating-input.has-value~.floating-label,.floating-input[type=date]~.floating-label{color:var(--accent);font-weight:600;transform:translateY(-9px)scale(.75)}.floating-input option,.form-control option,.form-control-select option{background-color:var(--bg-secondary);color:var(--text-primary)}.floating-group:has(textarea){align-items:flex-start}.floating-group:has(textarea) .input-icon{top:18px}.floating-group:has(textarea) .floating-label{top:18px}:is(.floating-group:has(textarea) .floating-input:focus~.floating-label,.floating-group:has(textarea) .floating-input:not(:placeholder-shown)~.floating-label,.floating-group:has(textarea) .floating-input.has-value~.floating-label){transform:translateY(-11px)scale(.75)}.input-icon{width:20px;height:20px;color:var(--text-secondary);pointer-events:none;transition:color var(--transition-fast), transform var(--transition-normal) cubic-bezier(.4, 0, .2, 1);z-index:1;justify-content:center;align-items:center;display:flex;position:absolute;top:17px;left:16px}.input-icon svg{stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}.floating-group:focus-within .input-icon{color:var(--accent);transform:scale(1.08)}.floating-input:-webkit-autofill{caret-color:var(--text-primary);-webkit-text-fill-color:var(--text-primary)!important;-webkit-box-shadow:0 0 0 100px var(--bg-secondary) inset!important;box-shadow:0 0 0 100px var(--bg-secondary) inset!important}.floating-input:-webkit-autofill:hover{caret-color:var(--text-primary);-webkit-text-fill-color:var(--text-primary)!important;-webkit-box-shadow:0 0 0 100px var(--bg-secondary) inset!important;box-shadow:0 0 0 100px var(--bg-secondary) inset!important}.floating-input:-webkit-autofill:focus{caret-color:var(--text-primary);-webkit-text-fill-color:var(--text-primary)!important;-webkit-box-shadow:0 0 0 100px var(--bg-secondary) inset!important;box-shadow:0 0 0 100px var(--bg-secondary) inset!important}.floating-input:-webkit-autofill:active{caret-color:var(--text-primary);-webkit-text-fill-color:var(--text-primary)!important;-webkit-box-shadow:0 0 0 100px var(--bg-secondary) inset!important;box-shadow:0 0 0 100px var(--bg-secondary) inset!important}.contact-success-msg{background-color:var(--accent-light);color:var(--accent);border-radius:var(--radius-sm);text-align:center;border:1px solid #0ea5e933;margin-top:16px;padding:16px;font-weight:600}.app-footer{background-color:var(--bg-secondary);border-top:1px solid var(--border-color);padding:60px 0 30px}.footer-grid{grid-template-columns:2fr 1fr 1fr;gap:40px;margin-bottom:40px;display:grid}.footer-brand p{color:var(--text-secondary);max-width:320px;margin-top:16px;font-size:.9rem}.footer-links{flex-direction:column;gap:12px;display:flex}.footer-links h4{margin:0 0 8px;font-size:1rem;font-weight:700}.footer-links a{color:var(--text-secondary);transition:color var(--transition-fast);font-size:.9rem;text-decoration:none}.footer-links a:hover{color:var(--accent)}.footer-bottom{border-top:1px solid var(--border-color);color:var(--text-secondary);padding-top:30px;font-size:.85rem}.booking-modal-dialog{border-radius:var(--radius-lg);background-color:var(--bg-secondary);color:var(--text-primary);box-sizing:border-box;opacity:0;transition-behavior:allow-discrete;border:none;width:100%;max-width:600px;padding:0;transition-property:opacity,transform,display,overlay;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1);transform:scale(.95);box-shadow:0 25px 50px -12px #00000040}.booking-modal-dialog[open]{opacity:1;transform:scale(1)}@starting-style{.booking-modal-dialog[open]{opacity:0;transform:scale(.95)}}.booking-modal-dialog::backdrop{transition:display .3s allow-discrete, overlay .3s allow-discrete, background-color .3s ease-out;background-color:#0000}.booking-modal-dialog[open]::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0f172a80}@starting-style{.booking-modal-dialog[open]::backdrop{-webkit-backdrop-filter:blur();backdrop-filter:blur();background-color:#0000}}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:24px;display:flex}.modal-header h2{margin:0;font-size:1.35rem;font-weight:800}.modal-steps-indicator{background-color:var(--bg-primary);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:20px 40px;display:flex}.step-dot{z-index:2;flex-direction:column;align-items:center;gap:6px;display:flex;position:relative}.step-dot span{background-color:var(--bg-secondary);border:2px solid var(--border-color);width:28px;height:28px;color:var(--text-secondary);transition:all var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:flex}.step-dot label{color:var(--text-secondary);font-size:.7rem;font-weight:700}.step-dot.active span{border-color:var(--accent);background-color:var(--accent);color:#fff}.step-dot.active label{color:var(--accent)}.step-dot.completed span{border-color:var(--success);background-color:var(--success);color:#fff}.step-dot.completed label{color:var(--success)}.step-connector{background-color:var(--border-color);flex-grow:1;height:2px;margin:-16px 10px 0}.step-connector.active{background-color:var(--accent)}.step-connector.completed{background-color:var(--success)}.modal-body-form{padding:24px}.wizard-step{display:none}.wizard-step.active{display:block}.wizard-step h3{margin:0 0 16px;font-size:1.1rem}.wizard-actions{justify-content:space-between;display:flex}.time-slots-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.time-slot-card{border:1px solid var(--border-color);border-radius:var(--radius-sm);text-align:center;cursor:pointer;background-color:var(--bg-primary);transition:all var(--transition-fast);flex-direction:column;padding:12px 8px;display:flex}.time-slot-card input{opacity:0;pointer-events:none;position:absolute}.time-slot-card.active{border-color:var(--accent);background-color:var(--accent-light)}.time-slot-info strong{font-size:.875rem;display:block}.time-slot-info span{color:var(--text-secondary);font-size:.7rem}.summary-review-box{background-color:var(--bg-primary);flex-direction:column;gap:10px;margin-bottom:24px;padding:20px;display:flex}.summary-row{justify-content:space-between;font-size:.9rem;display:flex}.summary-row strong{color:var(--text-secondary)}.summary-row span{text-align:right;font-weight:600}.total-row{font-size:1.15rem}.total-row strong{font-weight:800;color:var(--text-primary)!important}.total-row span{color:var(--accent);font-size:1.25rem;font-weight:800}@media (width<=1024px){.nav-links{display:none}.mobile-menu-btn{display:flex}.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3,.grid-2-3,.grid-1-3{grid-template-columns:1fr}.hero-container{text-align:center;grid-template-columns:1fr}.hero-content h1{font-size:2.75rem}.hero-desc{margin:0 auto 32px}.hero-actions,.hero-trust{justify-content:center}.hero-visual{margin-top:40px}.footer-grid{grid-template-columns:1fr;gap:30px}}@media (width<=768px){.grid-2,.grid-4,.toggle-group{grid-template-columns:1fr}.freq-cards{grid-template-columns:repeat(2,1fr)}.time-slots-grid{grid-template-columns:1fr}.modal-steps-indicator{padding:15px 20px}}@media (width<=600px){.container{padding:0 16px}.header-actions{gap:12px}.header-cta{border-radius:50%;justify-content:center;width:40px;height:40px;padding:0}.header-cta .cta-text{display:none}.logo{gap:8px;font-size:1.3rem}.logo-icon{width:30px;height:30px}}@media (prefers-reduced-motion:reduce){*,:before,:after{background-attachment:initial!important;scroll-behavior:auto!important;transition-duration:0s!important;transition-delay:0s!important;animation-duration:1ms!important;animation-iteration-count:1!important;animation-delay:-1ms!important}.booking-modal-dialog{transition-duration:.1s;transform:none}@starting-style{.booking-modal-dialog[open]{transform:none}}}.calendar-view-toggle-container{background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;padding:1.25rem;display:flex}.calendar-grid-month{background-color:var(--border-color);border-radius:var(--radius-md);box-shadow:var(--card-shadow);grid-template-columns:repeat(7,1fr);gap:8px;margin-top:1rem;padding:8px;display:grid}.calendar-header-day{background-color:var(--bg-secondary);text-align:center;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-sm);padding:10px;font-size:.85rem;font-weight:700}.calendar-day{background-color:var(--bg-secondary);border-radius:var(--radius-sm);min-height:120px;transition:all var(--transition-fast);flex-direction:column;gap:6px;padding:8px;display:flex;position:relative}.calendar-day:hover{box-shadow:inset 0 0 0 1px var(--accent)}.calendar-day-num{color:var(--text-secondary);align-self:flex-end;font-size:.9rem;font-weight:700}.calendar-day.today{background:var(--accent-light)}.calendar-day.today .calendar-day-num{color:var(--accent);background:var(--bg-secondary);border-radius:50%;padding:2px 6px;box-shadow:0 2px 4px #0000001a}.calendar-day.empty{opacity:.4;pointer-events:none;background-color:#0000}.calendar-booking-item{cursor:pointer;transition:transform var(--transition-fast);border-radius:4px;flex-direction:column;gap:2px;padding:4px 8px;font-size:.75rem;font-weight:600;line-height:1.2;display:flex}.calendar-booking-item:hover{transform:translateY(-1px);box-shadow:0 4px 8px #0000001a}.calendar-booking-item.regular{color:var(--accent);border-left:3px solid var(--accent);background-color:#0ea5e91f}.calendar-booking-item.deep{color:var(--success);border-left:3px solid var(--success);background-color:#10b9811f}.calendar-booking-item.moveinout{color:#d97706;background-color:#f59e0b1f;border-left:3px solid #d97706}.calendar-booking-item.postconstruction{color:#7c3aed;background-color:#8b5cf61f;border-left:3px solid #7c3aed}.calendar-booking-item .booking-item-time{opacity:.8;text-transform:uppercase;font-size:.65rem}.calendar-booking-item .booking-item-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.calendar-grid-week{grid-template-columns:repeat(7,1fr);gap:12px;margin-top:1rem;display:grid}.calendar-week-column{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);min-height:400px;box-shadow:var(--card-shadow);flex-direction:column;display:flex}.calendar-week-column-header{text-align:center;border-bottom:1px solid var(--border-color);background-color:var(--bg-primary);border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md);padding:12px}.calendar-week-column-header .week-day-name{text-transform:uppercase;color:var(--text-secondary);font-size:.85rem;font-weight:700}.calendar-week-column-header .week-day-date{margin-top:2px;font-size:1.15rem;font-weight:800}.calendar-week-column-header.today{background-color:var(--accent-light);color:var(--accent)}.calendar-week-bookings{background-color:var(--bg-secondary);border-bottom-left-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md);flex-direction:column;flex-grow:1;gap:8px;padding:12px;display:flex}.calendar-week-bookings.empty:after{content:"No jobs";text-align:center;color:var(--text-secondary);opacity:.5;margin-top:2rem;font-size:.75rem;display:block}.detail-modal-row{border-bottom:1px solid var(--border-color);justify-content:space-between;padding:8px 0;font-size:.9rem;display:flex}.detail-modal-row span:first-child{color:var(--text-secondary)}.detail-modal-row span:last-child{font-weight:600}
