:root{--bg:#faf9f7;--surface:#fff;--text:#1a1a1a;--muted:#666060;--accent:#0b2f51;--accent-dark:#082443;--accent-soft:#0b2f5114;--line:#00000014;--shadow:0 20px 60px #00000014;--radius:20px;--container:1200px}*{box-sizing:border-box;margin:0}body{color:var(--text);background:var(--bg);font-family:Inter,sans-serif;line-height:1.6}.container{max-width:var(--container);margin:0 auto;padding:0 1rem}.section{padding:6rem 0}.section-header{text-align:center;max-width:800px;margin:0 auto 4rem}.eyebrow{color:var(--accent);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.5rem;font-size:.85rem;font-weight:600;display:block}.topbar{background:var(--surface);border-bottom:1px solid var(--line);z-index:10;position:sticky;top:0}.topbar-inner{justify-content:space-between;align-items:center;padding:1rem 0;display:flex}.brand-block{align-items:center;gap:1rem;display:flex}.brand-logo{height:2.5rem}.brand-tag{color:var(--muted);font-size:.9rem}.topbar-nav{gap:2rem;display:flex}.topbar-nav a{color:var(--text);font-weight:500;text-decoration:none}.topbar-nav a:hover{color:var(--accent)}.topbar-cta{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:50px;padding:.75rem 1.5rem;font-weight:600}.hero{background:linear-gradient(135deg, var(--surface) 0%, #f8f6f3 100%)}.hero-content{text-align:center;max-width:1000px;margin:0 auto;padding:2rem 0}.hero h1{margin-bottom:1rem;font-size:clamp(2.5rem,5vw,4rem);font-weight:800;line-height:1.1}.hero-lead{max-width:700px;color:var(--muted);margin:0 auto 2rem;font-size:1.3rem}.hero-stats{flex-wrap:wrap;justify-content:center;gap:3rem;margin-bottom:3rem;display:flex}.stat{text-align:center}.stat strong{color:var(--accent);font-size:2.5rem;font-weight:800;display:block}.hero-gallery{flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:3rem;display:flex}.hero-gallery img{object-fit:cover;border-radius:var(--radius);width:400px;height:250px;box-shadow:var(--shadow)}.hero-actions{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.button{cursor:pointer;border:none;border-radius:50px;justify-content:center;align-items:center;padding:1rem 2rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.button-primary{color:#fff;background:#0b2f51}.button-primary:hover{background:#082443;transform:translateY(-2px)}.button-secondary{color:var(--text);border:2px solid var(--line);background:#fff}.button-secondary:hover{background:var(--accent-soft);border-color:var(--accent)}.button.large{padding:1.2rem 2.5rem;font-size:1.1rem}.services{background:var(--surface)}.services-grid{grid-template-columns:repeat(4,1fr);gap:2rem;display:grid}@media (width<=900px){.services-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.services-grid{grid-template-columns:1fr}}.service-card{border-radius:var(--radius);box-shadow:var(--shadow);text-align:left;background:#fff;padding:2rem}.service-card h3{color:var(--text);margin-bottom:1rem}.service-card ul{margin:0;padding-left:1.2rem}.service-card ul li{margin-bottom:.35rem}.gallery-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;display:grid}.gallery-grid img{object-fit:cover;border-radius:var(--radius);width:100%;height:300px;box-shadow:var(--shadow)}.process-steps{flex-wrap:wrap;justify-content:space-around;gap:2rem;display:flex}.step{text-align:center;flex:1;min-width:180px}.step-number{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;margin:0 auto 1rem;font-size:1.5rem;font-weight:800;display:flex}.step h3{margin-bottom:.5rem}.testimonials-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;display:grid}blockquote{border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;padding:2rem;font-style:italic}cite{color:var(--accent);margin-top:1rem;font-weight:600;display:block}.faq-list details{margin-bottom:1rem}.faq-list summary{cursor:pointer;border-radius:var(--radius);background:#fff;padding:1rem;font-weight:600}.faq-list p{background:var(--surface);border-radius:var(--radius);margin:0;padding:1rem}.cta-panel{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-dark) 100%);color:#fff;text-align:center;padding:4rem 0}.cta-content h2{margin-bottom:1rem;font-size:clamp(2rem,4vw,3.5rem)}.cta-content p{opacity:.95;max-width:600px;margin:0 auto 2rem;font-size:1.2rem}.cta-actions{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.button-inverted{color:var(--accent);background:#fff;border:none}.button-inverted:hover{background:#f0f4f8;transform:translateY(-2px)}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.modal-overlay.active{display:flex}.modal-card{border-radius:var(--radius);background:#fff;width:90%;max-width:500px;max-height:90vh;padding:2.5rem;position:relative;overflow-y:auto;box-shadow:0 40px 100px #0000004d}.modal-close{cursor:pointer;color:var(--muted);background:0 0;border:none;font-size:2rem;position:absolute;top:1rem;right:1rem}.estimate-form{gap:1.5rem;display:grid}.estimate-form label{margin-bottom:.25rem;font-weight:600;display:block}.estimate-form input,.estimate-form select{border:2px solid var(--line);border-radius:12px;padding:1rem;font-size:1rem}.estimate-form input:focus,.estimate-form select:focus{border-color:var(--accent);outline:none}.sticky-mobile-cta{display:none}@media (width<=768px){.topbar{display:none}.hero-stats,.process-steps{flex-direction:column;gap:1.5rem}.hero-actions,.cta-actions{flex-direction:column}.services-grid{grid-template-columns:1fr}.sticky-mobile-cta{z-index:200;padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #00000014}.sticky-mobile-cta a{background:var(--accent);color:#fff;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:16px;font-size:1.05rem;font-weight:700;text-decoration:none;display:flex}body{padding-bottom:80px}}@media (width<=480px){.container{padding:0 .75rem}.section{padding:4rem 0}}
