:root{--color-bg-primary:#3d3d3d;--color-bg-secondary:#12121a;--color-bg-tertiary:#1a1a25;--color-bg-card:#16161f;--color-bg-card-hover:#1e1e2a;--color-text-primary:#fff;--color-text-secondary:#a0a0b0;--color-text-muted:#6b6b7b;--color-accent-primary:#6366f1;--color-accent-secondary:#8b5cf6;--color-accent-tertiary:#a855f7;--color-accent-gradient:linear-gradient(135deg,#6366f1,#a855f7 50%,#efe40c);--color-border:hsla(0,0%,100%,.08);--color-border-hover:hsla(0,0%,100%,.15);--font-family:"Outfit",-apple-system,BlinkMacSystemFont,sans-serif;--shadow-sm:0 2px 8px rgba(0,0,0,.3);--shadow-md:0 4px 20px rgba(0,0,0,.4);--shadow-lg:0 8px 40px rgba(0,0,0,.5);--shadow-glow:0 0 40px rgba(99,102,241,.3);--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-xl:28px;--transition-fast:0.2s ease;--transition-normal:0.3s ease;--transition-slow:0.5s ease}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:80px}body{background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-family);line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none;transition:color var(--transition-fast)}img{height:auto;max-width:100%}.gradient-text{background:var(--color-accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.navbar{background:transparent;left:0;padding:1rem 0;position:fixed;right:0;top:0;transition:all var(--transition-normal);z-index:1000}.navbar.scrolled{backdrop-filter:blur(20px);background:rgba(10,10,15,.95);border-bottom:1px solid var(--color-border);padding:.75rem 0}.nav-container{justify-content:space-between;margin:0 auto;max-width:1400px;padding:0 2rem}.logo,.nav-container{align-items:center;display:flex}.logo{font-size:1.75rem;font-weight:700}.logo-easy{color:var(--color-text-primary)}.logo-quebec{background:var(--color-accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.nav-menu{align-items:center;display:flex;gap:.5rem;list-style:none}.nav-link{border-radius:var(--radius-md);color:var(--color-text-secondary);font-weight:500;padding:.75rem 1.25rem;transition:all var(--transition-fast)}.nav-link:hover{background:hsla(0,0%,100%,.05);color:var(--color-text-primary)}.nav-cta{background:var(--color-accent-gradient);color:#fff!important;margin-left:.5rem}.nav-cta:hover{opacity:.9;transform:translateY(-2px)}.nav-toggle{background:none;border:none;cursor:pointer;display:none;padding:.5rem}.hamburger{display:block;position:relative}.hamburger,.hamburger:after,.hamburger:before{background:var(--color-text-primary);height:2px;transition:var(--transition-fast);width:24px}.hamburger:after,.hamburger:before{content:"";left:0;position:absolute}.hamburger:before{top:-8px}.hamburger:after{bottom:-8px}.btn{align-items:center;border:none;border-radius:var(--radius-xl);cursor:pointer;display:inline-flex;font-family:var(--font-family);font-size:1rem;font-weight:600;gap:.75rem;padding:1rem 2rem;transition:all var(--transition-normal)}.btn-primary{background:var(--color-accent-gradient);box-shadow:var(--shadow-glow);color:#fff}.btn-primary:hover{box-shadow:0 0 60px rgba(99,102,241,.4);transform:translateY(-3px)}.btn-secondary{background:transparent;border:2px solid var(--color-border-hover);color:var(--color-text-primary)}.btn-secondary:hover{background:hsla(0,0%,100%,.05);border-color:var(--color-accent-primary)}.btn-full{justify-content:center;width:100%}.hero{align-items:center;display:flex;min-height:100vh;overflow:hidden;padding:8rem 0 4rem;position:relative}.hero-bg{inset:0;position:absolute;z-index:0}.hero-gradient{animation:pulse 8s ease-in-out infinite;background:radial-gradient(ellipse,rgba(99,102,241,.15) 0,transparent 70%);height:100%;left:-20%;position:absolute;top:-50%;width:80%}.hero-grid{background-image:linear-gradient(hsla(0,0%,100%,.02) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.02) 1px,transparent 0);background-size:60px 60px;inset:0;mask-image:radial-gradient(ellipse 80% 50% at 50% 50%,#000 40%,transparent 100%);position:absolute}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.1)}}.hero-container{align-items:center;display:grid;gap:4rem;grid-template-columns:1fr .8fr;margin:0 auto;max-width:1400px;padding:0 2rem;position:relative;z-index:1}.hero-badge{animation:fadeInUp .8s ease forwards;background:rgba(99,102,241,.15);border:1px solid rgba(99,102,241,.3);border-radius:var(--radius-xl);color:var(--color-accent-primary);display:inline-block;font-size:.875rem;font-weight:500;margin-bottom:1.5rem;padding:.5rem 1.25rem}.hero-title{animation:fadeInUp .8s ease .1s forwards;font-size:clamp(2.5rem,5vw,4rem);font-weight:800;line-height:1.1;margin-bottom:1.5rem;opacity:0}.hero-description{animation:fadeInUp .8s ease .2s forwards;color:var(--color-text-secondary);font-size:1.125rem;margin-bottom:2.5rem;max-width:540px;opacity:0}.hero-buttons{animation:fadeInUp .8s ease .3s forwards;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:3rem;opacity:0}.hero-stats{animation:fadeInUp .8s ease .4s forwards;display:flex;gap:3rem;opacity:0}.stat{display:flex;flex-direction:column}.stat-number{background:var(--color-accent-gradient);-webkit-background-clip:text;font-size:2.5rem;font-weight:700;-webkit-text-fill-color:transparent;background-clip:text}.stat-label{color:var(--color-text-muted);font-size:.875rem}.hero-visual{animation:fadeIn 1s ease .5s forwards;height:500px;opacity:0;position:relative}.floating-card{align-items:center;animation:float 6s ease-in-out infinite;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;gap:.75rem;padding:1rem 1.5rem;position:absolute}.floating-card i{color:var(--color-accent-primary);font-size:1.5rem}.floating-card span{font-weight:600}.card-1{animation-delay:0s;left:10%;top:10%}.card-2{animation-delay:2s;right:5%;top:40%}.card-3{animation-delay:4s;bottom:20%;left:20%}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.scroll-indicator{align-items:center;animation:bounce 2s ease-in-out infinite;bottom:2rem;color:var(--color-text-muted);display:flex;flex-direction:column;font-size:.875rem;gap:.5rem;left:50%;position:absolute;transform:translateX(-50%)}@keyframes bounce{0%,to{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(10px)}}.section-container{margin:0 auto;max-width:1400px;padding:0 2rem}.section-header{margin:0 auto 4rem;max-width:700px;text-align:center}.section-badge{background:rgba(99,102,241,.1);border:1px solid rgba(99,102,241,.2);border-radius:var(--radius-xl);color:var(--color-accent-primary);display:inline-block;font-size:.875rem;font-weight:500;margin-bottom:1rem;padding:.5rem 1.25rem}.section-title{font-size:clamp(2rem,4vw,3rem);font-weight:700;margin-bottom:1rem}.section-description{color:var(--color-text-secondary);font-size:1.125rem}.services{background:var(--color-bg-secondary);padding:8rem 0}.services-grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.service-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:2.5rem;position:relative;transition:all var(--transition-normal)}.service-card:hover{border-color:var(--color-accent-primary);box-shadow:var(--shadow-glow);transform:translateY(-8px)}.service-card.featured{background:linear-gradient(135deg,rgba(99,102,241,.1),rgba(168,85,247,.05));border-color:var(--color-accent-primary)}.service-badge{background:var(--color-accent-gradient);border-radius:var(--radius-xl);color:#fff;font-size:.75rem;font-weight:600;padding:.375rem 1rem;position:absolute;right:24px;top:-12px}.service-icon{align-items:center;background:rgba(99,102,241,.15);border-radius:var(--radius-md);display:flex;height:60px;justify-content:center;margin-bottom:1.5rem;width:60px}.service-icon i{color:var(--color-accent-primary);font-size:1.5rem}.service-card h3{font-size:1.375rem;font-weight:600;margin-bottom:1rem}.service-card p{color:var(--color-text-secondary);margin-bottom:1.5rem}.service-features{list-style:none}.service-features li{align-items:center;color:var(--color-text-secondary);display:flex;font-size:.9rem;gap:.75rem;padding:.5rem 0}.service-features i{color:var(--color-accent-primary);font-size:.75rem}.portfolio{padding:8rem 0}.portfolio-filters{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-bottom:3rem}.filter-btn{background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-xl);color:var(--color-text-secondary);cursor:pointer;font-family:var(--font-family);font-size:.9rem;font-weight:500;padding:.75rem 1.5rem;transition:all var(--transition-fast)}.filter-btn.active,.filter-btn:hover{background:var(--color-accent-gradient);border-color:transparent;color:#fff}.portfolio-grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.portfolio-item{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--transition-normal)}.portfolio-item:hover{box-shadow:var(--shadow-lg);transform:translateY(-8px)}.portfolio-image{height:220px;overflow:hidden;position:relative}.portfolio-placeholder{align-items:center;background:linear-gradient(135deg,var(--color-bg-tertiary) 0,var(--color-bg-secondary) 100%);display:flex;flex-direction:column;height:100%;justify-content:center;width:100%}.portfolio-placeholder i{color:var(--color-accent-primary);font-size:3rem;opacity:.5}.portfolio-overlay{align-items:center;background:rgba(99,102,241,.9);display:flex;inset:0;justify-content:center;opacity:0;position:absolute;transition:opacity var(--transition-normal)}.portfolio-item:hover .portfolio-overlay{opacity:1}.portfolio-link{align-items:center;background:#fff;border-radius:50%;color:var(--color-accent-primary);display:flex;font-size:1.25rem;height:50px;justify-content:center;transform:scale(.8);transition:transform var(--transition-fast);width:50px}.portfolio-item:hover .portfolio-link{transform:scale(1)}.portfolio-info{padding:1.5rem}.portfolio-category{color:var(--color-accent-primary);font-size:.875rem;font-weight:500}.portfolio-info h4{font-size:1.125rem;font-weight:600;margin-top:.5rem}.about{background:var(--color-bg-secondary);padding:8rem 0}.about-grid{align-items:center;display:grid;gap:6rem;grid-template-columns:1fr 1fr}.about-content .section-badge,.about-content .section-title{text-align:left}.about-text{color:var(--color-text-secondary);font-size:1.05rem;margin-bottom:1.5rem}.about-features{display:grid;gap:1.5rem;margin-top:2.5rem}.feature{gap:1.25rem}.feature,.feature-icon{align-items:center;display:flex}.feature-icon{background:rgba(99,102,241,.15);border-radius:var(--radius-md);flex-shrink:0;height:50px;justify-content:center;width:50px}.feature-icon i{color:var(--color-accent-primary);font-size:1.25rem}.feature-text h4{font-size:1rem;font-weight:600;margin-bottom:.25rem}.feature-text p{color:var(--color-text-muted);font-size:.875rem}.about-image-container,.about-visual{position:relative}.about-shape{background:var(--color-accent-gradient);border-radius:var(--radius-lg);height:100%;opacity:.3;position:absolute;right:-20px;top:-20px;width:100%}.about-placeholder{align-items:center;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:1rem;height:400px;justify-content:center;position:relative;width:100%}.about-placeholder i{color:var(--color-accent-primary);font-size:4rem;opacity:.5}.about-placeholder span{color:var(--color-text-muted);font-weight:500}.testimonials{padding:8rem 0}.testimonials-grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.testimonial-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:2rem;transition:all var(--transition-normal)}.testimonial-card:hover{border-color:var(--color-accent-primary);transform:translateY(-5px)}.testimonial-rating{margin-bottom:1.25rem}.testimonial-rating i{color:#fbbf24;font-size:.9rem}.testimonial-text{color:var(--color-text-secondary);font-size:1rem;font-style:italic;line-height:1.7;margin-bottom:1.5rem}.testimonial-author{align-items:center;display:flex;gap:1rem}.author-avatar{align-items:center;background:rgba(99,102,241,.15);border-radius:50%;display:flex;height:50px;justify-content:center;width:50px}.author-avatar i{color:var(--color-accent-primary);font-size:1.25rem}.author-info h4{font-size:1rem;font-weight:600}.author-info span{color:var(--color-text-muted);font-size:.875rem}.contact{background:var(--color-bg-secondary);padding:8rem 0}.contact-grid{align-items:start;display:grid;gap:4rem;grid-template-columns:1fr 1fr}.contact-info .section-badge,.contact-info .section-title{text-align:left}.contact-description{color:var(--color-text-secondary);font-size:1.05rem;margin-bottom:2.5rem}.contact-details{display:grid;gap:1.5rem}.contact-item{gap:1.25rem}.contact-icon,.contact-item{align-items:center;display:flex}.contact-icon{background:rgba(99,102,241,.15);border-radius:var(--radius-md);flex-shrink:0;height:50px;justify-content:center;width:50px}.contact-icon i{color:var(--color-accent-primary);font-size:1.25rem}.contact-text h4{font-size:1rem;font-weight:600;margin-bottom:.25rem}.contact-text p{color:var(--color-text-secondary)}.contact-form-container{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:2.5rem}.contact-form{display:grid;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{color:var(--color-text-secondary);font-size:.9rem;font-weight:500}.form-group input,.form-group select,.form-group textarea{background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-family:var(--font-family);font-size:1rem;padding:1rem 1.25rem;transition:all var(--transition-fast)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-accent-primary);box-shadow:0 0 0 3px rgba(99,102,241,.15);outline:none}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-muted)}.form-group select{cursor:pointer}.form-group textarea{min-height:120px;resize:vertical}.footer{background:var(--color-bg-primary);border-top:1px solid var(--color-border);padding:5rem 0 0}.footer-container{margin:0 auto;max-width:1400px;padding:0 2rem}.footer-grid{display:grid;gap:4rem;grid-template-columns:2fr 1fr 1fr 1.5fr;padding-bottom:4rem}.footer-brand p{color:var(--color-text-secondary);margin:1.5rem 0;max-width:280px}.social-links{display:flex;gap:1rem}.social-links a{align-items:center;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:50%;color:var(--color-text-secondary);display:flex;height:40px;justify-content:center;transition:all var(--transition-fast);width:40px}.social-links a:hover{background:var(--color-accent-primary);border-color:var(--color-accent-primary);color:#fff;transform:translateY(-3px)}.footer-contact h4,.footer-links h4{font-size:1.125rem;font-weight:600;margin-bottom:1.5rem}.footer-links ul{list-style:none}.footer-links li{margin-bottom:.75rem}.footer-links a{color:var(--color-text-secondary);transition:color var(--transition-fast)}.footer-links a:hover{color:var(--color-accent-primary)}.footer-contact p{align-items:center;color:var(--color-text-secondary);display:flex;gap:.75rem;margin-bottom:.75rem}.footer-contact i{color:var(--color-accent-primary);font-size:.9rem}.footer-bottom{border-top:1px solid var(--color-border);padding:1.5rem 0;text-align:center}.footer-bottom p{color:var(--color-text-muted);font-size:.9rem}@media (max-width:1200px){.hero-container{grid-template-columns:1fr;text-align:center}.hero-visual{display:none}.hero-description{margin-left:auto;margin-right:auto}.hero-buttons,.hero-stats{justify-content:center}.about-grid{gap:3rem;grid-template-columns:1fr}.about-content .section-badge,.about-content .section-title,.about-text{text-align:center}.about-features{margin:2.5rem auto 0;max-width:400px}.about-visual{order:-1}.contact-grid{gap:3rem;grid-template-columns:1fr}.contact-info,.contact-info .section-badge,.contact-info .section-title{text-align:center}.contact-details{margin:0 auto;max-width:300px}}@media (max-width:992px){.footer-grid{gap:3rem;grid-template-columns:1fr 1fr}.footer-brand{grid-column:span 2}}@media (max-width:768px){.nav-toggle{display:block;z-index:1001}.nav-menu{background:var(--color-bg-secondary);border-left:1px solid var(--color-border);flex-direction:column;height:100vh;justify-content:center;max-width:300px;padding:2rem;position:fixed;right:-100%;top:0;transition:right var(--transition-normal);width:80%}.nav-menu.active{right:0}.nav-link{font-size:1.125rem;padding:1rem}.nav-cta{margin-left:0;margin-top:1rem}.nav-toggle.active .hamburger{background:transparent}.nav-toggle.active .hamburger:before{top:0;transform:rotate(45deg)}.nav-toggle.active .hamburger:after{bottom:0;transform:rotate(-45deg)}.hero{min-height:auto;padding:6rem 0 3rem}.hero-stats{flex-direction:column;gap:1.5rem}.hero-stats,.stat{align-items:center}.stat{text-align:center}.about,.contact,.portfolio,.services,.testimonials{padding:5rem 0}.section-header{margin-bottom:3rem}.portfolio-filters{gap:.5rem}.filter-btn{font-size:.8rem;padding:.6rem 1rem}.footer-grid{gap:2rem;grid-template-columns:1fr;text-align:center}.footer-brand{grid-column:span 1}.footer-brand p{margin:1.5rem auto}.footer-contact p,.social-links{justify-content:center}}.modal-overlay{align-items:center;backdrop-filter:blur(8px);background:rgba(0,0,0,.85);display:flex;inset:0;justify-content:center;opacity:0;padding:1rem;position:fixed;transition:all var(--transition-normal);visibility:hidden;z-index:2000}.modal-overlay.active{opacity:1;visibility:visible}.modal-container{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);max-height:90vh;max-width:600px;overflow-y:auto;padding:2.5rem;position:relative;transform:scale(.9) translateY(20px);transition:transform var(--transition-normal);width:100%}.modal-overlay.active .modal-container{transform:scale(1) translateY(0)}.modal-close{align-items:center;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:50%;color:var(--color-text-secondary);cursor:pointer;display:flex;height:40px;justify-content:center;position:absolute;right:1rem;top:1rem;transition:all var(--transition-fast);width:40px}.modal-close:hover{background:rgba(239,68,68,.2);border-color:rgba(239,68,68,.4);color:#f87171}.modal-header{margin-bottom:2rem;text-align:center}.modal-header h3{font-size:1.75rem;font-weight:700;margin:.75rem 0 .5rem}.modal-header p{color:var(--color-text-secondary)}.quote-step{display:none}.quote-step.active{animation:fadeInUp .4s ease;display:block}.quote-step h4{align-items:center;color:var(--color-text-primary);display:flex;font-size:1.125rem;font-weight:600;gap:.75rem;margin-bottom:1.5rem}.quote-step h4 i{color:var(--color-accent-primary)}.quote-options{display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}.timeline-options{grid-template-columns:repeat(3,1fr)}.quote-option{cursor:pointer}.quote-option input{display:none}.quote-option .option-content{align-items:center;background:var(--color-bg-card);border:2px solid var(--color-border);border-radius:var(--radius-md);display:flex;flex-direction:column;padding:1.5rem 1rem;text-align:center;transition:all var(--transition-fast)}.quote-option:hover .option-content{background:rgba(99,102,241,.05);border-color:var(--color-accent-primary)}.quote-option input:checked+.option-content{background:rgba(99,102,241,.15);border-color:var(--color-accent-primary);box-shadow:0 0 20px rgba(99,102,241,.2)}.quote-option .option-content i{color:var(--color-accent-primary);font-size:1.75rem;margin-bottom:.75rem}.quote-option .option-content span{font-weight:600;margin-bottom:.25rem}.quote-option .option-content small{color:var(--color-text-muted);font-size:.8rem}.quote-checkboxes{display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}.quote-checkbox{cursor:pointer}.quote-checkbox input{display:none}.quote-checkbox .checkbox-content{align-items:center;background:var(--color-bg-card);border:2px solid var(--color-border);border-radius:var(--radius-md);display:flex;gap:1rem;padding:1rem 1.25rem;transition:all var(--transition-fast)}.quote-checkbox:hover .checkbox-content{border-color:var(--color-accent-primary)}.quote-checkbox input:checked+.checkbox-content{background:rgba(99,102,241,.15);border-color:var(--color-accent-primary)}.quote-checkbox .checkbox-content i{color:var(--color-accent-primary);flex-shrink:0;font-size:1.25rem;width:24px}.quote-checkbox .checkbox-content span{flex:1;font-weight:500}.quote-checkbox .checkbox-content small{color:var(--color-accent-secondary);font-size:.8rem;font-weight:600}.quote-result{background:linear-gradient(135deg,rgba(99,102,241,.1),rgba(168,85,247,.1));border:1px solid rgba(99,102,241,.3);border-radius:var(--radius-md);margin-top:2rem;padding:1.5rem}.result-header{align-items:center;display:flex;justify-content:space-between}.result-header>span{color:var(--color-text-secondary);font-weight:500}.result-price{align-items:baseline;display:flex;gap:.5rem}.price-value{background:var(--color-accent-gradient);-webkit-background-clip:text;font-size:2.5rem;font-weight:800;-webkit-text-fill-color:transparent;background-clip:text}.price-currency{font-size:1rem;font-weight:500}.price-currency,.result-note{color:var(--color-text-muted)}.result-note{font-size:.8rem;margin-top:.75rem;text-align:right}.quote-actions{display:flex;gap:1rem;margin-top:2rem}.quote-actions .btn{flex:1}.btn-prev{flex:0.5!important}.quote-contact{animation:fadeInUp .4s ease;border-top:1px solid var(--color-border);margin-top:2rem;padding-top:2rem}.quote-contact h4{align-items:center;display:flex;font-size:1.125rem;font-weight:600;gap:.75rem;margin-bottom:1.5rem}.quote-contact h4 i{color:var(--color-accent-primary)}.quote-contact-fields{display:grid;gap:1rem}.quote-contact-fields input{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-family:var(--font-family);font-size:1rem;padding:1rem 1.25rem;transition:all var(--transition-fast)}.quote-contact-fields input:focus{border-color:var(--color-accent-primary);box-shadow:0 0 0 3px rgba(99,102,241,.15);outline:none}.quote-contact-fields input::placeholder{color:var(--color-text-muted)}.quote-progress{background:var(--color-bg-tertiary);border-radius:2px;height:4px;margin-top:2rem;overflow:hidden}.progress-bar{height:100%;transition:width var(--transition-normal);width:33.33%}.floating-cta,.progress-bar{background:var(--color-accent-gradient)}.floating-cta{align-items:center;animation:pulse-cta 2s ease-in-out infinite;border:none;border-radius:var(--radius-xl);bottom:2rem;box-shadow:var(--shadow-glow);color:#fff;cursor:pointer;display:flex;font-family:var(--font-family);font-size:.95rem;font-weight:600;gap:.75rem;padding:1rem 1.5rem;position:fixed;right:2rem;transition:all var(--transition-normal);z-index:1500}.floating-cta:hover{box-shadow:0 0 50px rgba(99,102,241,.5);transform:translateY(-3px) scale(1.02)}.floating-cta i{font-size:1.125rem}@keyframes pulse-cta{0%,to{box-shadow:var(--shadow-glow)}50%{box-shadow:0 0 50px rgba(99,102,241,.4)}}@media (max-width:768px){.modal-container{max-height:85vh;padding:1.5rem}.modal-header h3{font-size:1.5rem}.quote-checkboxes,.quote-options,.timeline-options{grid-template-columns:1fr}.quote-option .option-content{flex-direction:row;padding:1rem;text-align:left}.quote-option .option-content i{margin-bottom:0;margin-right:1rem}.result-header{flex-direction:column;gap:.5rem}.result-header,.result-note{text-align:center}.quote-actions{flex-direction:column}.btn-prev{flex:1!important}.floating-cta{bottom:1rem;font-size:.875rem;padding:.875rem 1.25rem;right:1rem}.floating-cta span{display:none}.floating-cta i{margin:0}}@media (max-width:480px){.footer-container,.nav-container,.section-container{padding:0 1rem}.hero-title{font-size:2rem}.hero-buttons{align-items:center;flex-direction:column}.btn{justify-content:center;width:100%}.section-title{font-size:1.75rem}.portfolio-grid,.services-grid,.testimonials-grid{grid-template-columns:1fr}.contact-form-container,.service-card,.testimonial-card{padding:1.5rem}.about-placeholder{height:280px}}