 @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;900&display=swap');:root{  --primary:#06b6d4;--primary-glow:rgba(6, 182, 212, 0.6);--accent:#f97316;--accent-glow:rgba(249, 115, 22, 0.6); --bg-deep:#020617;--bg-surface:#0f172a; --glass-border:rgba(255, 255, 255, 0.08);--glass-highlight:rgba(255, 255, 255, 0.1); --speed-fast:0.3s;--speed-medium:0.6s;--speed-slow:3s;} html{ scroll-behavior:smooth;-webkit-text-size-adjust:100%;  font-size:clamp(14px, 0.8vw + 0.6rem, 18px);}body{ background-color:var(--bg-deep);color:#f8fafc;font-family:'Inter', sans-serif; width:100%;overflow-x:hidden; -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility; background-image:linear-gradient(rgba(6, 182, 212, 0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(6, 182, 212, 0.03) 1px, transparent 1px);background-size:50px 50px;background-position:center top;animation:gridMove 60s linear infinite; }     .container{ width:100%;margin-left:auto;margin-right:auto;padding-left:1.5rem;padding-right:1.5rem;max-width:1280px;}.section{ padding-top:6rem;padding-bottom:6rem;position:relative;}.hero-section{ padding-top:6rem; padding-bottom:5rem;width:100%;} .text-gradient{  background:linear-gradient(110deg, #fff 0%, #22d3ee 45%, #9333ea 55%, #fff 100%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:startShimmer 4s linear infinite; } .section-title{ font-size:2.25rem;font-weight:900;margin-bottom:2rem;letter-spacing:-0.025em; background:linear-gradient(110deg, #fff 0%, #22d3ee 45%, #9333ea 55%, #fff 100%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:startShimmer 4s linear infinite; filter:drop-shadow(0 0 10px rgba(6, 182, 212, 0.2));}@keyframes startShimmer{ to{ background-position:200% center;}}@media (min-width:768px){ .section-title{ font-size:3rem;}}.line-clamp-2{ display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;} .btn{ position:relative;overflow:hidden;transition:all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); z-index:10; display:inline-flex;transform-style:preserve-3d; perspective:1000px;align-items:center;justify-content:center;cursor:pointer;border:none;font-weight:600;} .btn:focus-visible{ outline:2px solid #fff;outline-offset:4px;box-shadow:0 0 0 4px var(--primary);}.btn::before{ content:'';position:absolute;top:0;left:0;width:0%;height:100%;background:rgba(255, 255, 255, 0.2);transition:width 0.3s ease;z-index:-1;transform:skewX(-15deg);}.btn:hover::before{ width:150%;}.btn:hover{ z-index:50; }.btn-primary{ background:linear-gradient(135deg, var(--primary) 0%, #0891b2 100%);color:#fff; border:1px solid rgba(255, 255, 255, 0.2);box-shadow:0 0 20px rgba(6, 182, 212, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.3);text-transform:uppercase;letter-spacing:0.05em;font-size:0.95rem;}.btn-primary:hover{ box-shadow:0 15px 35px rgba(6, 182, 212, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.3), 0 0 20px rgba(255, 255, 255, 0.4);transform:translateY(-4px) scale(1.02);}.btn-primary:active{ transform:translateY(2px) scale(0.95);box-shadow:0 0 10px rgba(6, 182, 212, 0.4);}.btn-accent{ background:linear-gradient(135deg, var(--accent) 0%, #ea580c 100%);color:#fff;border:1px solid rgba(255, 255, 255, 0.2);box-shadow:0 0 20px rgba(249, 115, 22, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.3);text-transform:uppercase;letter-spacing:0.05em;font-size:0.95rem;}.btn-accent:hover{ box-shadow:0 15px 35px rgba(249, 115, 22, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.3), 0 0 20px rgba(255, 255, 255, 0.4);transform:translateY(-4px) scale(1.02);}.btn-accent:active{ transform:translateY(2px) scale(0.95);box-shadow:0 0 10px rgba(249, 115, 22, 0.4);}.btn-xl{ padding:1rem 2.5rem;font-size:1.25rem;border-radius:9999px; }  .bg-aurora{ background:linear-gradient(135deg, #0f172a 0%, #020617 100%);position:relative;overflow:hidden;}.bg-aurora::before, .bg-aurora::after{ content:'';position:absolute;width:600px;height:600px;border-radius:50%;filter:blur(100px);opacity:0.4;animation:auroraMove 20s infinite alternate cubic-bezier(0.4, 0, 0.2, 1);z-index:0;}.bg-aurora::before{ background:var(--primary);top:-100px;left:-100px;animation-delay:0s;}.bg-aurora::after{ background:var(--accent);bottom:-100px;right:-100px;animation-delay:-5s;}@keyframes auroraMove{ 0%{ transform:translate(0, 0) scale(1) rotate(0deg);opacity:0.4;}50%{ opacity:0.6;}100%{  transform:translate(50px, 30px) scale(1.1) rotate(5deg);opacity:0.5;}}@keyframes spinSlow{ from{ transform:rotate(0deg);}to{ transform:rotate(360deg);}}@keyframes floatRotate{ 0%{ transform:translateY(0) rotate(45deg);}50%{ transform:translateY(-30px) rotate(60deg);}100%{ transform:translateY(0) rotate(45deg);}}@keyframes gridMove{ from{ background-position:0 0;}to{ background-position:50px 50px;}} .card-3d{ transition:transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.4s ease;transform-style:preserve-3d;perspective:1000px;will-change:transform;}.card-3d:hover{ transform:translateY(-10px) scale(1.02);box-shadow:0 20px 40px -10px rgba(0, 0, 0, 0.5), 0 0 30px rgba(6, 182, 212, 0.4); } .scan-line{ position:relative;overflow:hidden;}.scan-line::after{ content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent); animation:scan 3s infinite linear;pointer-events:none;}@keyframes scan{ 0%{ left:-100%;}100%{ left:100%;}} .text-shimmer{ position:relative;color:rgba(255, 255, 255, 0.8);overflow:hidden;background:none;-webkit-background-clip:unset;background-clip:unset;}.text-shimmer::after{ content:attr(data-text); position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to right, transparent 0%, rgba(255, 255, 255, 0.8) 50%, transparent 100%);background-size:50% 100%;background-repeat:no-repeat;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shineMove 3s infinite linear;will-change:transform;}    .text-shimmer{ background:linear-gradient(110deg, #9333ea 0%, #22d3ee 45%, #fff 50%, #22d3ee 55%, #9333ea 100%); background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shineMove 4s linear infinite; }@keyframes shineMove{ to{ background-position:200% center;}}  .text-shimmer{ animation:shineMove 8s linear infinite !important;}@keyframes pulseText{ 0%, 100%{ filter:drop-shadow(0 0 5px rgba(6, 182, 212, 0.5));transform:scale(1);}50%{ filter:drop-shadow(0 0 20px rgba(6, 182, 212, 1));transform:scale(1.02);}} .spotlight-card{ position:relative;overflow:hidden;}.spotlight-card::before{ content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center, rgba(6, 182, 212, 0.15) 0%, transparent 50%);opacity:0;transform:translate(0, 0);transition:opacity 0.5s;pointer-events:none;z-index:0;}.spotlight-card:hover::before{ opacity:1;animation:spotlightMove 3s infinite alternate ease-in-out;}@keyframes spotlightMove{ 0%{ transform:translate(-10%, -10%);}100%{ transform:translate(10%, 10%);}} .border-glow{ position:relative;z-index:0;}.border-glow::before{ content:'';position:absolute;inset:-2px; border-radius:inherit;padding:2px;background:linear-gradient(45deg, var(--primary), #fff, var(--accent), #fff); background-size:200% 200%;animation:gradientBorder 3s ease infinite;-webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;transition:opacity 0.3s ease;pointer-events:none;}.border-glow:hover::before{ opacity:1;}@keyframes gradientBorder{ 0%{ background-position:0% 50%;}50%{ background-position:100% 50%;}100%{ background-position:0% 50%;}} .glass-header{ background:rgba(2, 6, 23, 0.85); -webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255, 255, 255, 0.1);box-shadow:0 10px 30px -10px rgba(6, 182, 212, 0.15); }.glass-panel{ background:linear-gradient(145deg, rgba(30, 41, 59, 0.6) 0%, rgba(15, 23, 42, 0.8) 100%);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255, 255, 255, 0.1);border-top:1px solid rgba(255, 255, 255, 0.2);border-radius:1rem;box-shadow:0 8px 32px 0 rgba(0, 0, 0, 0.36);} @keyframes float{ 0%, 100%{ transform:translateY(0px) rotate(0deg);}50%{ transform:translateY(-25px) rotate(3deg); }}.float-animation{ animation:float 3s ease-in-out infinite; }.float-delayed{ animation:float 7s ease-in-out infinite 1s;}  .btn-pulse{ position:relative; }.btn-pulse::before{ content:'';position:absolute;inset:0;border-radius:inherit;box-shadow:0 0 10px var(--accent-glow);animation:pulseOpacity 2s infinite;z-index:-1;will-change:opacity;}@keyframes pulseOpacity{ 0%{ opacity:0.5;transform:scale(1);}50%{ opacity:1;transform:scale(1.05);}100%{ opacity:0.5;transform:scale(1);}} .fade-in-up{ animation:fadeInUp 0.8s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;opacity:0;transform:translateY(20px);will-change:opacity, transform;}@keyframes fadeInUp{ to{ opacity:1;transform:translateY(0);}}.delay-100{ animation-delay:0.1s;}.delay-200{ animation-delay:0.2s;}.delay-300{ animation-delay:0.3s;} .faq-item{ background:rgba(30, 41, 59, 0.4);border:1px solid rgba(255, 255, 255, 0.05);border-radius:12px;margin-bottom:1rem;overflow:hidden;transition:all 0.3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);}.faq-item:hover{ background:rgba(30, 41, 59, 0.6);border-color:rgba(6, 182, 212, 0.3);transform:translateX(5px);}.faq-item summary{ padding:1.5rem;cursor:pointer;font-weight:600;color:#e2e8f0;list-style:none;position:relative;padding-right:3rem;}.faq-item summary:focus-visible{ outline:2px solid var(--primary);outline-offset:-2px;background:rgba(255, 255, 255, 0.05);}.faq-item summary::marker{ display:none;}.faq-item summary::after{ content:'+';position:absolute;right:1.5rem;top:50%;transform:translateY(-50%);color:var(--primary);font-size:1.5rem;font-weight:bold;transition:transform 0.3s ease;}.faq-item[open] summary::after{ transform:translateY(-50%) rotate(45deg);color:var(--accent);}.faq-item[open] summary{ color:#fff;border-bottom:1px solid rgba(255, 255, 255, 0.05);}.faq-content{ padding:1.5rem;color:#94a3b8;line-height:1.6;background:rgba(0, 0, 0, 0.2); animation:slideDown 0.3s ease-out;}@keyframes slideDown{ from{ opacity:0;transform:translateY(-10px);}to{ opacity:1;transform:translateY(0);}} .sr-only{ position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;}.skip-link{ position:absolute;top:-100px;left:0;background:var(--primary);color:white;padding:1rem;z-index:9999;font-weight:bold;transition:top 0.2s;text-decoration:none;border-radius:0 0 8px 0;}.skip-link:focus{ top:0;}  .btn-pulse{ position:relative;z-index:1;overflow:visible !important;}.btn-pulse::before{ content:'';position:absolute;inset:0;border-radius:inherit;background:transparent;  opacity:0;z-index:-1;box-shadow:0 0 15px var(--accent), 0 0 30px var(--accent);animation:neonThinkingOptimized 1s infinite alternate; pointer-events:none;will-change:transform, opacity;} .btn-primary.btn-pulse::before{ box-shadow:0 0 20px var(--primary), 0 0 40px var(--primary);}.btn-accent.btn-pulse::before{ box-shadow:0 0 20px var(--accent), 0 0 40px var(--accent);}.bg-orange-500.btn-pulse::before{ box-shadow:0 0 20px #f97316, 0 0 40px #f97316;}@keyframes neonThinkingOptimized{ 0%{ opacity:0.3;transform:scale(1);}100%{ opacity:0.8;transform:scale(1.05);  }} .a11y-widget-btn{ position:fixed;bottom:20px;right:20px;width:60px;height:60px;background:#2563eb;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;cursor:pointer;box-shadow:0 4px 20px rgba(37, 99, 235, 0.4);z-index:2147483647; border:3px solid rgba(255, 255, 255, 0.2);transition:all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);}.a11y-panel{  z-index:2147483647; }.a11y-widget-btn:hover, .a11y-widget-btn:focus-visible{ transform:scale(1.1) rotate(10deg);box-shadow:0 8px 25px rgba(37, 99, 235, 0.6);outline:none;border-color:#fff;} .a11y-panel{ position:fixed;bottom:95px;right:20px;width:340px; max-width:calc(100vw - 40px);background:#f8fafc;border-radius:20px;box-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.4);z-index:2147483647;overflow:hidden; display:none;font-family:'Inter', sans-serif;transform-origin:bottom right;border:1px solid rgba(255, 255, 255, 0.5);padding:0;} .a11y-header{ display:flex;align-items:center;justify-content:space-between;padding:1rem;background:#f1f5f9;border-bottom:1px solid #cbd5e1;}.a11y-title{ font-weight:800;color:#0f172a; font-size:0.95rem;display:flex;align-items:center;gap:0.5rem;}.a11y-close{ background:transparent;border:none;color:#64748b;font-size:1.2rem;cursor:pointer;transition:all 0.2s;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;}.a11y-close:hover{ color:#ef4444;background:rgba(239, 68, 68, 0.1);}.a11y-content{   max-height:380px;overflow-y:auto;overflow-x:hidden;padding:1rem;padding-bottom:2rem;scrollbar-width:thin; scrollbar-color:#cbd5e1 transparent;} .a11y-content::-webkit-scrollbar{ width:6px;}.a11y-content::-webkit-scrollbar-track{ background:transparent;}.a11y-content::-webkit-scrollbar-thumb{ background-color:#cbd5e1;border-radius:20px;} .a11y-grid{ display:grid;grid-template-columns:repeat(2, 1fr);gap:0.75rem;margin-bottom:1.5rem;} .a11y-tool-btn{ background:white;border-radius:12px;padding:0.75rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.5rem;cursor:pointer;transition:all 0.2s ease;text-align:center;box-shadow:0 2px 4px rgba(0, 0, 0, 0.05);border:2px solid transparent;height:90px; }.a11y-tool-btn:hover{ transform:translateY(-2px);box-shadow:0 8px 15px -3px rgba(0, 0, 0, 0.1);border-color:#e2e8f0;}.a11y-tool-btn.active{ background:#eff6ff;border-color:#2563eb;color:#2563eb;}.a11y-tool-btn i{ font-size:1.5rem;color:#1e293b;margin-bottom:0;}.a11y-tool-btn.active i{ color:#2563eb;}.a11y-tool-btn span{ font-size:0.75rem;font-weight:700;color:#1e293b;line-height:1.1;}.a11y-tool-btn.active span{ color:#2563eb;} .a11y-slider-container{ grid-column:span 2;background:white;padding:1rem;border-radius:12px;text-align:center;box-shadow:0 2px 4px rgba(0, 0, 0, 0.05);margin-bottom:0; }.a11y-slider-label{ display:block;font-size:0.8rem;font-weight:800;margin-bottom:0.75rem;color:#1e293b;}.a11y-range{ -webkit-appearance:none;appearance:none;width:100%;height:6px;background:#e2e8f0;border-radius:99px;outline:none;}.a11y-range::-webkit-slider-thumb{ -webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:#2563eb;cursor:pointer;box-shadow:0 2px 6px rgba(37, 99, 235, 0.4);} .a11y-reset-btn{ width:100%;padding:0.8rem;background:#2563eb;color:white;border:none;border-radius:12px;font-size:0.85rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:0.5rem;}.a11y-reset-btn:hover{ background:#1d4ed8;} .a11y-footer-link{ display:flex;align-items:center;justify-content:center;gap:0.5rem;margin-top:1rem;color:#64748b;font-size:0.85rem;font-weight:600;text-decoration:none;cursor:pointer;padding-bottom:0.5rem;}.a11y-footer-link:hover{ color:#1e293b;}   body.zoom-120 p, body.zoom-120 a, body.zoom-120 li, body.zoom-120 span, body.zoom-120 button, body.zoom-120 input, body.zoom-120 td, body.zoom-120 th{ font-size:110%; }body.zoom-150 p, body.zoom-150 a, body.zoom-150 li, body.zoom-150 span, body.zoom-150 button, body.zoom-150 input, body.zoom-150 td, body.zoom-150 th{ font-size:125%;} body.zoom-120 .text-xs{ font-size:0.9rem !important;}body.zoom-120 .text-sm{ font-size:1.05rem !important;}body.zoom-120 .text-base{ font-size:1.2rem !important;}body.zoom-120 .text-lg{ font-size:1.35rem !important;}body.zoom-120 .text-xl{ font-size:1.5rem !important;}body.zoom-120 .text-2xl{ font-size:1.8rem !important;}body.zoom-120 .text-3xl{ font-size:2.25rem !important;}body.zoom-120 .text-4xl{ font-size:2.7rem !important;} body.zoom-150 .text-xs{ font-size:1.125rem !important;}body.zoom-150 .text-sm{ font-size:1.31rem !important;}body.zoom-150 .text-base{ font-size:1.5rem !important;}body.zoom-150 .text-lg{ font-size:1.68rem !important;}body.zoom-150 .text-xl{ font-size:1.875rem !important;}body.zoom-150 .text-2xl{ font-size:2.25rem !important;}body.zoom-150 .text-3xl{ font-size:2.8rem !important;}body.zoom-150 .text-4xl{ font-size:3.375rem !important;} body.dyslexia-font{ font-family:'Comic Sans MS', 'Chalkboard SE', sans-serif !important;word-spacing:0.1rem;}body.dyslexia-font *{ font-family:'Comic Sans MS', 'Chalkboard SE', sans-serif !important;} body.highlight-links a{ text-decoration:underline !important;color:#ffff00 !important;background-color:#000 !important;padding:0 2px;} body.text-spacing{ letter-spacing:2px !important;line-height:2 !important;}body.text-spacing p, body.text-spacing h1, body.text-spacing h2, body.text-spacing h3, body.text-spacing h4, body.text-spacing li{ letter-spacing:1.5px !important;line-height:1.8 !important;} body.big-cursor{ cursor:default; }body.big-cursor *{ cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewport="0 0 48 48" style="fill:black;stroke:white;stroke-width:2px;"><path d="M1 1l15 40 5-15 15-5L1 1z"/></svg>'), auto !important;} body.pause-animations *{ animation-play-state:paused !important;transition:none !important;} body.hide-images img, body.hide-images video, body.hide-images canvas, body.hide-images [style*="background-image"]{ opacity:0 !important;visibility:hidden !important;} body.high-contrast{ background-color:#000 !important;background-image:none !important;color:#fff !important;}body.high-contrast *{ background-color:#000 !important;background-image:none !important;color:#fff !important;border-color:#fff !important;box-shadow:none !important;text-shadow:none !important;fill:#fff !important;}body.high-contrast .a11y-widget-btn, body.high-contrast .a11y-tool-btn.active{ background-color:#ffff00 !important;color:#000 !important;border-color:#fff !important;}body.high-contrast img{ filter:grayscale(100%) contrast(120%);border:2px solid #fff !important;} body.font-large{ font-size:125%;} .logo-marquee{ display:flex;overflow:hidden;user-select:none;mask-image:linear-gradient(to right, transparent, black 10%, black 90%, transparent);-webkit-mask-image:linear-gradient(to right, transparent, black 10%, black 90%, transparent);width:100%;}.logo-track{ flex-shrink:0;display:flex;align-items:center;gap:4rem;white-space:nowrap;width:max-content;padding-right:4rem;animation:scrollLogos 35s linear infinite;}.logo-marquee:hover .logo-track{ animation-play-state:paused;}@keyframes scrollLogos{ from{ transform:translateX(0);}to{ transform:translateX(-100%);}} .blog-icon{ width:96px;height:96px;background-image:url('assets/blog-icons.png');background-repeat:no-repeat;background-size:600% 300%; display:block;margin:0 auto 1.5rem auto; border-radius:12px;background-color:white;box-shadow:0 4px 15px rgba(0, 0, 0, 0.3);} .icon-gas-wp{ background-position:0% 0%;}.icon-technician{ background-position:20% 0%;}.icon-price-tag{ background-position:40% 0%;}.icon-gas-smell{ background-position:60% 0%;}.icon-house-price{ background-position:80% 0%;}.icon-funding{ background-position:100% 0%;} .icon-house-wp{ background-position:0% 50%;}.icon-floor-heat{ background-position:20% 50%;}.icon-calc-protect{ background-position:40% 50%;}.icon-plunger{ background-position:60% 50%;}.icon-bathroom{ background-position:80% 50%;}.icon-leak{ background-position:100% 50%;} .icon-barrier-free{ background-position:0% 100%;}.icon-app-control{ background-position:20% 100%;}.icon-location{ background-position:40% 100%;}.icon-frost{ background-position:60% 100%;}.icon-job{ background-position:80% 100%;}.icon-vip{ background-position:100% 100%;}  .animate-bounce-slow{ animation:bounce 3s infinite;}.animate-bounce{ animation:bounce 1s infinite;}@keyframes bounce{ 0%, 100%{ transform:translateY(-25%);animation-timing-function:cubic-bezier(0.8, 0, 1, 1);}50%{ transform:translateY(0);animation-timing-function:cubic-bezier(0, 0, 0.2, 1);}} .btn-pulse{  animation:neonThinkingOptimized 1s infinite alternate !important;} .rotate-180{ transform:rotate(180deg);} .card-3d, .btn, .hero-section, .spotlight-card{ will-change:transform, opacity, filter;transform:translateZ(0);}