*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--navy: #183B63;--navy-dark: #0f2740;--blue: #2980B9;--blue-dark: #2171a5;--white: #ffffff;--cream: #f5f1ec;--light: #faf9f7;--grey: #64748b;--text: #1e293b;--border: #e2e0dc;--gold: #f4b400;--font: system-ui, -apple-system, "Segoe UI", Arial, sans-serif;--max-w: 1100px;--radius: 8px}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font);color:var(--text);background:var(--white);line-height:1.65}img{max-width:100%;height:auto;display:block}a{color:var(--blue)}a:hover{color:var(--navy)}.container{max-width:var(--max-w);margin:0 auto;padding:0 1.25rem}h1,h2,h3,h4{line-height:1.2;font-weight:700;color:var(--navy)}h1{font-size:clamp(1.75rem,4vw,2.5rem)}h2{font-size:clamp(1.35rem,3vw,1.85rem);margin-bottom:.75rem}h3{font-size:clamp(1.1rem,2vw,1.35rem)}p{margin-bottom:1rem}p:last-child{margin-bottom:0}.btn{display:inline-block;padding:.75rem 1.75rem;border-radius:var(--radius);font-weight:600;font-size:1rem;text-decoration:none;cursor:pointer;border:2px solid transparent;transition:background .2s,color .2s,border-color .2s,box-shadow .2s;text-align:center;letter-spacing:.01em}.btn-primary{background:var(--white);color:var(--navy);border-color:var(--white)}.btn-primary:hover{background:var(--light);border-color:var(--light);color:var(--navy);box-shadow:0 2px 12px #00000026}.btn-outline{background:transparent;color:var(--white);border-color:#ffffff80}.btn-outline:hover{background:#ffffff1a;border-color:var(--white);color:var(--white)}.btn-call{background:var(--navy);color:var(--white);border-color:var(--navy)}.btn-call:hover{background:var(--navy-dark);border-color:var(--navy-dark);color:var(--white)}.btn-lg{padding:1rem 2.25rem;font-size:1.05rem}.btn-full{width:100%;display:block}.section .btn-primary,.form-group+.btn-primary,#contact-form .btn-primary{background:var(--blue);color:var(--white);border-color:var(--blue)}.section .btn-primary:hover,.form-group+.btn-primary:hover,#contact-form .btn-primary:hover{background:var(--blue-dark);border-color:var(--blue-dark);color:var(--white);box-shadow:0 2px 12px #0000001f}.site-header{background:var(--white);color:var(--navy);position:sticky;top:0;z-index:100;box-shadow:0 1px 3px #00000014;border-bottom:1px solid var(--border)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1.25rem;max-width:var(--max-w);margin:0 auto}.site-logo{text-decoration:none;display:flex;align-items:center;gap:.6rem}.site-logo-img{width:auto;height:32px;flex-shrink:0}.site-logo-text{color:var(--navy);font-weight:700;font-size:1.1rem;line-height:1.2}.site-logo-text span{color:var(--grey);display:block;font-size:.75rem;font-weight:400;letter-spacing:.02em}.header-phone{color:var(--grey);text-decoration:none;font-weight:500;font-size:.9rem;display:flex;align-items:center;gap:.4rem;transition:color .2s}.header-phone:hover{color:var(--navy)}.header-phone svg{flex-shrink:0}.header-cta{display:none}@media(min-width:600px){.header-cta{display:inline-block;font-size:.9rem;padding:.55rem 1.25rem;background:var(--blue);border-color:var(--blue);color:var(--white)}}.header-cta:hover{background:var(--blue-dark);border-color:var(--blue-dark);color:var(--white)}.site-nav{background:var(--navy)}.nav-inner{max-width:var(--max-w);margin:0 auto;padding:0 1.25rem;display:flex;gap:0;overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none}.nav-inner::-webkit-scrollbar{display:none}.nav-inner a{color:#ffffffbf;text-decoration:none;padding:.6rem 1rem;font-size:.875rem;white-space:nowrap;display:block;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}.nav-inner a:hover{color:var(--white)}.nav-inner a.active{color:var(--white);border-bottom-color:var(--blue)}.hero{background:linear-gradient(145deg,var(--navy) 0%,var(--blue) 100%);color:var(--white);padding:3.5rem 1.25rem;text-align:center}.hero-image{background:linear-gradient(#183b63b3,#183b6399),url(/images/window-repair-bristol-suction-tool.jpg) center/cover no-repeat}.hero h1{color:var(--white);margin-bottom:1rem}.hero p{font-size:1.1rem;opacity:.88;max-width:620px;margin:0 auto 1.75rem}.hero-ctas{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.hero-email{margin-top:1.25rem;font-size:.9rem;opacity:.7}.hero-email a{color:var(--white);text-decoration:underline}.hero-email a:hover{opacity:1}.hero-proof{display:flex;gap:.5rem 1.5rem;flex-wrap:wrap;justify-content:center;font-size:.85rem;opacity:.75;margin-top:1.75rem;color:var(--white)}.hero-proof span{display:flex;align-items:center;gap:.35rem}.trust-bar{background:var(--cream);padding:.85rem 1.25rem;border-bottom:1px solid var(--border);position:relative;z-index:10}.trust-bar-inner{max-width:var(--max-w);margin:0 auto;display:flex;gap:1rem 2rem;flex-wrap:wrap;justify-content:center;align-items:center}.trust-item{display:flex;align-items:center;gap:.4rem;font-weight:600;font-size:.85rem;color:var(--navy)}.trust-item svg{flex-shrink:0}.trust-badges{display:flex;gap:1.5rem 2.5rem;flex-wrap:wrap;justify-content:center;padding:2rem 1.25rem;background:var(--white);border-bottom:1px solid var(--border)}.trust-badge{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--navy)}.trust-badge svg{color:var(--blue);flex-shrink:0}.section{padding:4rem 1.25rem}.section-alt{background:var(--cream)}.section-navy{background:var(--navy);color:var(--white)}.section-navy h2,.section-navy h3{color:var(--white)}.section-title{text-align:center;margin-bottom:2.75rem}.section-title p{color:var(--grey);font-size:1.05rem;max-width:600px;margin:.5rem auto 0}.card-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:1.75rem;transition:box-shadow .25s,transform .2s}a.card:hover{box-shadow:0 8px 24px #00000014;transform:translateY(-3px)}.card-icon{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;background:var(--light);border-radius:8px;margin-bottom:.75rem;color:var(--navy)}.card-img{width:calc(100% + 3.5rem);height:180px;object-fit:cover;border-radius:var(--radius) var(--radius) 0 0;margin:-1.75rem -1.75rem 1rem;display:block}.card-price{color:var(--blue);font-weight:600}.card-link{color:var(--navy);font-weight:600;font-size:.9rem}.card h3{margin-bottom:.5rem}.two-col{display:grid;gap:3rem;grid-template-columns:1fr}@media(min-width:768px){.two-col{grid-template-columns:1fr 1fr;align-items:start}}.reviews-grid{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}.review-card{background:var(--white);border:1px solid var(--border);border-left:3px solid var(--blue);border-radius:var(--radius);padding:1.5rem}.review-stars{color:var(--gold);font-size:1.1rem;margin-bottom:.5rem;display:flex;gap:2px}.review-text{font-style:italic;margin-bottom:.75rem;font-size:.95rem;line-height:1.6}.review-author{font-weight:600;font-size:.85rem;color:var(--grey)}.reviews-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}.reviews-header strong{font-size:1.1rem;color:var(--navy)}.reviews-count{color:var(--grey);font-size:.9rem}.reviews-link{color:var(--blue);font-weight:600;font-size:.9rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-weight:600;margin-bottom:.4rem;font-size:.95rem}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.75rem 1rem;border:1.5px solid var(--border);border-radius:var(--radius);font-size:1rem;font-family:var(--font);transition:border-color .2s,box-shadow .2s;background:var(--white)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px #2e6da41f}.form-group textarea{min-height:110px;resize:vertical}.form-error{color:#dc3545;font-size:.85rem;margin-top:.25rem;display:none}.form-error.show{display:block}.form-notice{font-size:.85rem;color:var(--grey);margin-top:.75rem}.form-success{background:#d4edda;border:1px solid #c3e6cb;border-radius:var(--radius);padding:1rem;color:#155724;display:none}.form-success.show{display:block}.quick-cta-box{color:var(--white)}.quick-cta-box h3{color:var(--white);margin-bottom:.75rem;font-size:1.5rem}.quick-cta-box p{opacity:.85;font-size:.95rem}.quick-cta-box .form-notice{color:#ffffff8c}.quick-cta-box .btn-primary{background:var(--blue);color:var(--white);border-color:var(--blue)}.quick-cta-box .btn-primary:hover{background:var(--blue-dark);border-color:var(--blue-dark);color:var(--white);box-shadow:0 2px 12px #0003}.form-hint{background:#ffffff14;border-radius:var(--radius);padding:.75rem;font-size:.85rem;margin-bottom:1rem;border:1px solid rgba(255,255,255,.12);line-height:1.5}.form-hint a{color:#fffc}.jobs-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:1.5rem}.job-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:box-shadow .25s}.job-card:hover{box-shadow:0 4px 16px #0000000f}.job-card img{width:100%;height:200px;object-fit:cover}.job-info{padding:1.25rem 1.5rem}.job-info strong{display:block;color:var(--navy);margin-bottom:.25rem}.job-info .job-location{font-size:.8rem;color:var(--blue);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.job-info p{font-size:.9rem;margin-top:.5rem;color:var(--grey)}.owner-photo{width:100%;max-width:360px;border-radius:var(--radius);aspect-ratio:3/4;object-fit:cover}.owner-placeholder{width:100%;max-width:360px;aspect-ratio:3/4;background:var(--light);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;color:var(--grey);font-size:.9rem;border:2px dashed var(--border)}.steps{display:grid;gap:2.5rem;margin-top:1.75rem}@media(min-width:768px){.steps{grid-template-columns:1fr 1fr 1fr}}.step{text-align:center}.step-number{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:50%;background:var(--blue);color:var(--white);font-weight:700;font-size:1.25rem;margin-bottom:1rem}.step h3{margin-bottom:.5rem}.step p{font-size:.95rem;color:var(--grey)}.pricing-table{width:100%;border-collapse:collapse;margin-top:1rem;border-radius:var(--radius);overflow:hidden}.pricing-table th{background:var(--navy);color:var(--white);padding:.8rem 1rem;text-align:left;font-size:.875rem;font-weight:600}.pricing-table td{padding:.75rem 1rem;border-bottom:1px solid var(--border);font-size:.95rem}.pricing-table tr:last-child td{border-bottom:none}.pricing-table tr:nth-child(2n) td{background:var(--light)}.pricing-note{font-size:.85rem;color:var(--grey);margin-top:.75rem}.pricing-fallback{background:var(--light);border-radius:var(--radius);padding:1.25rem;text-align:center}.faq-list{list-style:none}.faq-item{border-bottom:1px solid var(--border)}.faq-question{width:100%;background:none;border:none;text-align:left;padding:1.1rem 0;font-size:1rem;font-weight:600;cursor:pointer;display:flex;justify-content:space-between;align-items:center;color:var(--navy);font-family:var(--font)}.faq-question:after{content:"+";font-size:1.3rem;color:var(--blue);flex-shrink:0;margin-left:1rem}.faq-question[aria-expanded=true]:after{content:"−"}.faq-answer{padding:0 0 1rem;color:var(--text);display:none}.faq-answer.open{display:block}.breadcrumb{font-size:.85rem;color:var(--grey);padding:.85rem 0}.breadcrumb a{color:var(--grey);text-decoration:none}.breadcrumb a:hover{color:var(--navy)}.breadcrumb span{margin:0 .4rem}.site-footer{background:var(--navy-dark);color:#fffc;padding:3rem 1.25rem 1.75rem}.footer-grid{max-width:var(--max-w);margin:0 auto;display:grid;gap:2.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2.5rem}.footer-col h4{color:var(--white);margin-bottom:.85rem;font-size:1rem}.footer-col a{color:#ffffffa6;text-decoration:none;display:block;margin-bottom:.4rem;font-size:.9rem;transition:color .2s}.footer-col a:hover{color:var(--blue)}.footer-col p{font-size:.9rem;margin-bottom:.35rem}.footer-bottom{max-width:var(--max-w);margin:0 auto;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1);display:flex;gap:1rem;flex-wrap:wrap;justify-content:space-between;font-size:.8rem;color:#fff6}.sticky-phone,.sticky-cta{display:none}@media(max-width:767px){.sticky-cta{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--blue);z-index:200;align-items:center;justify-content:center;box-shadow:0 -2px 8px #00000026}.sticky-cta a{display:flex;align-items:center;justify-content:center;gap:.5rem;color:var(--white);text-decoration:none;font-weight:700;font-size:1rem;padding:.9rem 1rem;width:100%}body:has(.sticky-cta){padding-bottom:54px}.sticky-phone{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--navy-dark);z-index:200;align-items:center;justify-content:center;box-shadow:0 -2px 8px #00000026}.sticky-phone a{display:flex;align-items:center;justify-content:center;gap:.5rem;color:var(--white);text-decoration:none;font-weight:700;font-size:1rem;padding:.9rem 1rem;width:100%}body:has(.sticky-phone){padding-bottom:54px}}.trust-split{max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;min-height:280px}@media(max-width:767px){.trust-split{grid-template-columns:1fr}.trust-split img{max-height:250px}}.repair-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin-top:1.25rem}.repair-card{display:block;padding:1.25rem 1.5rem;background:#fff;border:1px solid var(--border);border-radius:var(--radius);text-decoration:none;color:inherit;transition:border-color .2s,box-shadow .2s}a.repair-card:hover{border-color:var(--blue);box-shadow:0 4px 12px #0000000f}.repair-card strong{color:var(--navy);font-size:1rem;display:block;margin-bottom:.4rem}.repair-card p{color:var(--grey);font-size:.875rem;margin:0;line-height:1.5}.callout{background:var(--light);border-left:3px solid var(--blue);border-radius:var(--radius);padding:1.25rem}.callout-important{background:var(--cream);border-left:3px solid var(--blue);border-radius:var(--radius);padding:1.25rem}@media(max-width:600px){.pricing-table{font-size:.875rem}.pricing-table th,.pricing-table td{padding:.55rem .65rem}}@media(max-width:600px){.section [style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr!important}}.text-center{text-align:center}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.cookie-banner[data-astro-cid-fzbxxtek]{position:fixed;bottom:0;left:0;right:0;background:var(--navy);color:var(--white);padding:1rem 1.5rem;z-index:9999;display:none}.cookie-banner[data-astro-cid-fzbxxtek].visible{display:block}.cookie-inner[data-astro-cid-fzbxxtek]{max-width:900px;margin:0 auto;display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.cookie-inner[data-astro-cid-fzbxxtek] p[data-astro-cid-fzbxxtek]{margin:0;flex:1;font-size:.9rem;min-width:200px}.cookie-inner[data-astro-cid-fzbxxtek] a[data-astro-cid-fzbxxtek]{color:#fffc;text-decoration:underline}.cookie-buttons[data-astro-cid-fzbxxtek]{display:flex;gap:.75rem;flex-shrink:0}.btn-ghost[data-astro-cid-fzbxxtek]{background:transparent;border:1px solid rgba(255,255,255,.4);color:var(--white);padding:.5rem 1rem;border-radius:var(--radius);cursor:pointer;font-size:.9rem}.btn-ghost[data-astro-cid-fzbxxtek]:hover{border-color:#fffc}.btn-sm[data-astro-cid-fzbxxtek]{padding:.5rem 1rem;font-size:.9rem}@media(max-width:600px){.cookie-inner[data-astro-cid-fzbxxtek]{flex-direction:column;align-items:flex-start;gap:.75rem}.cookie-banner[data-astro-cid-fzbxxtek]{bottom:3.5rem}}
