:root{--black:#0a0a0a;--gray:#1a1a1a;--blue:#00BFFF;--white:#fff;--muted:#b7c1ca;--line:rgba(255,255,255,.14);--shadow:0 24px 60px rgba(0,0,0,.35)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--white);font-family:Inter,system-ui,sans-serif;line-height:1.6;padding-top:78px}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.site-header{position:fixed;inset:0 0 auto 0;height:78px;z-index:50;display:flex;align-items:center;gap:22px;padding:12px clamp(16px,4vw,48px);background:rgba(10,10,10,.9);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font-family:Oswald,sans-serif;font-size:1.55rem;font-weight:700;letter-spacing:.05em}.brand img{width:46px;height:46px;object-fit:contain}.nav-links{display:flex;align-items:center;gap:24px;margin-inline:auto}.nav-links a{color:#dbe7ee;font-weight:700;font-size:.92rem;text-transform:uppercase;letter-spacing:.08em}.nav-links a:hover{color:var(--blue)}.header-call{background:var(--blue);color:#001018;font-weight:900;border-radius:999px;padding:12px 18px;text-transform:uppercase;letter-spacing:.06em}.menu-toggle{display:none;background:none;border:0;width:42px}.menu-toggle span{display:block;height:3px;background:#fff;margin:7px 0;border-radius:8px}.hero{position:relative;min-height:calc(100vh - 78px);display:grid;align-items:center;overflow:hidden;padding:64px clamp(18px,6vw,86px)}.hero-bg{position:absolute;inset:0;opacity:.72}.hero-bg img{width:100%;height:100%;object-fit:cover;filter:contrast(1.12) saturate(1.04)}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.68) 43%,rgba(0,0,0,.28) 100%),radial-gradient(circle at 20% 35%,rgba(0,191,255,.18),transparent 34%)}.hero-content{position:relative;z-index:2;text-align:left;max-width:900px}.hero-content .trust-pills{justify-content:flex-start}.hero-content .hero-actions{justify-content:flex-start}.eyebrow{color:var(--blue);font-weight:900;text-transform:uppercase;letter-spacing:.18em;font-size:.82rem}.hero h1,.page-hero h1,.section h2,.cta-band h2{font-family:Oswald,sans-serif;text-transform:uppercase;line-height:.98;letter-spacing:.03em}.hero h1{font-size:clamp(3.1rem,9vw,7.4rem);margin:6px 0 16px;text-shadow:0 18px 38px rgba(0,0,0,.72)}.tagline{font-size:clamp(1.08rem,2.5vw,1.45rem);font-weight:800;color:#eef8ff;max-width:760px;text-shadow:0 8px 22px rgba(0,0,0,.7)}.trust-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:28px 0}.trust-pills span,.trust-bar span{border:1px solid var(--line);background:rgba(255,255,255,.08);border-radius:999px;padding:10px 14px;font-weight:800;color:#eef8ff}.hero-actions,.center{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 20px;border-radius:999px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;border:1px solid transparent}.btn-primary{background:var(--blue);color:#001018}.btn-secondary{border-color:var(--blue);color:#fff;background:rgba(0,191,255,.08)}.trust-bar{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;padding:22px 16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#070707}.section{padding:clamp(56px,8vw,104px) clamp(16px,5vw,72px)}.section-head{max-width:820px;margin:0 auto 34px;text-align:center}.section-head h2,.section.split h2,.cert-section h2{font-size:clamp(2.1rem,6vw,4.5rem);margin:0 0 14px}.section-head p,.section.split p,.page-hero p,.cta-band p{color:var(--muted);font-size:1.05rem}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;max-width:1240px;margin:0 auto 34px}.service-grid.wide{grid-template-columns:repeat(3,minmax(0,1fr))}.service-card{position:relative;min-height:290px;border-radius:24px;overflow:hidden;background:#111;border:1px solid var(--line);box-shadow:var(--shadow)}.service-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.62;transition:.5s transform}.service-card:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.9),rgba(0,0,0,.18))}.service-card div{position:absolute;inset:auto 0 0 0;z-index:2;padding:22px}.service-card h3{font-family:Oswald,sans-serif;text-transform:uppercase;font-size:1.75rem;margin:0 0 8px}.service-card p{color:#dce8ee;margin:0 0 12px}.service-card a{color:var(--blue);font-weight:900;text-transform:uppercase}.service-card:hover img{transform:scale(1.07)}.service-card.no-photo{background:linear-gradient(145deg,#1a1a1a,#0b0b0b);border-top:5px solid var(--blue)}.service-card.no-photo:after{background:radial-gradient(circle at top right,rgba(0,191,255,.16),transparent 42%)}.service-card.no-photo div{inset:0;display:flex;flex-direction:column;justify-content:flex-end}.service-icon{width:52px;height:52px;border:1px solid rgba(0,191,255,.55);border-radius:16px;display:grid;place-items:center;color:var(--blue);font-size:1.7rem;font-weight:900;margin-bottom:auto;background:rgba(0,191,255,.08)}.dark-panel{background:linear-gradient(180deg,#111,#080808)}.masonry-grid{columns:3 260px;column-gap:16px;max-width:1200px;margin:0 auto 28px}.gallery-item{break-inside:avoid;position:relative;margin:0 0 16px;border:0;padding:0;border-radius:22px;overflow:hidden;background:#111;cursor:pointer;box-shadow:var(--shadow);width:100%;text-align:left}.gallery-item img{width:100%;height:auto}.gallery-item span{position:absolute;inset:auto 10px 10px 10px;background:rgba(0,0,0,.72);border:1px solid var(--line);border-radius:999px;padding:8px 12px;font-weight:900}.split{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center;max-width:1180px;margin:0 auto}.image-card{border:1px solid var(--line);background:#111;border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}.image-card img{width:100%;height:100%;object-fit:cover}.page-hero{padding:80px 18px 44px;text-align:center;background:radial-gradient(circle at top,rgba(0,191,255,.18),transparent 40%),#0a0a0a;border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(3rem,10vw,7rem);margin:0 0 10px}.cta-band{text-align:center;padding:58px 18px;background:linear-gradient(90deg,#071016,#111);border-block:1px solid var(--line)}.cta-band h2{font-size:clamp(2rem,5vw,4rem);margin:0 0 8px}.cert-section img{max-width:min(720px,100%);margin:0 auto;border-radius:24px;border:1px solid var(--line);box-shadow:var(--shadow)}.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:24px;max-width:1120px;margin:0 auto}.contact-card,.estimate-form{background:#111;border:1px solid var(--line);border-radius:26px;padding:28px;box-shadow:var(--shadow)}.contact-card h2{font-size:2.4rem}.big-phone{font-family:Oswald,sans-serif;color:var(--blue);font-size:clamp(2.2rem,6vw,4rem);line-height:1;display:block;margin:12px 0}.estimate-form{display:grid;gap:14px}.estimate-form label{font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#e8f5ff;font-size:.82rem}.estimate-form input,.estimate-form textarea,.estimate-form select{width:100%;margin-top:6px;border:1px solid var(--line);border-radius:16px;background:#080808;color:#fff;padding:14px;font:inherit}.form-note{color:var(--muted);font-size:.9rem}.site-footer{padding:54px clamp(16px,5vw,72px) 96px;background:#050505;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:24px;max-width:1160px;margin:0 auto}.footer-logo{width:110px}.site-footer h3{font-family:Oswald,sans-serif;text-transform:uppercase;font-size:1.4rem}.site-footer a,.site-footer p{display:block;color:#cdd8df}.footer-bottom{max-width:1160px;margin:34px auto 0;padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:#84939c}.mobile-cta{display:none}.lightbox{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;flex-direction:column;padding:18px}.lightbox.open{display:flex}.lightbox img{max-height:80vh;border-radius:18px}.lightbox p{font-weight:900}.lightbox button{position:absolute;top:18px;right:18px;font-size:2.5rem;background:var(--blue);border:0;border-radius:50%;width:52px;height:52px}
/* === Desktop Footer Centering === */
@media (min-width:901px){
  .footer-grid{text-align:center}
  .footer-grid .footer-logo{margin:0 auto 14px}
  .footer-grid a,.footer-grid p{margin-inline:auto}
}

@media(max-width:900px){body{padding-top:66px;padding-bottom:64px}.site-header{height:66px;padding:10px 14px}.brand span{font-size:1.2rem}.brand img{width:38px;height:38px}.nav-links{position:fixed;top:66px;left:0;right:0;background:#080808;border-bottom:1px solid var(--line);display:none;flex-direction:column;align-items:flex-start;padding:18px}.nav-links.open{display:flex}.header-call{margin-left:auto;padding:10px 13px;font-size:.8rem}.menu-toggle{display:block}.hero{min-height:calc(100vh - 66px)}.service-grid,.service-grid.wide{grid-template-columns:1fr}.split,.contact-layout,.footer-grid{grid-template-columns:1fr}.footer-bottom{display:grid;gap:8px}.mobile-cta{position:fixed;z-index:60;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr}.mobile-cta a{background:var(--blue);color:#001018;font-weight:1000;text-align:center;padding:15px 8px;text-transform:uppercase}.mobile-cta a:first-child{background:#fff}.section{padding-inline:16px}.service-card{min-height:260px}}
/* === AI Chat Widget === */
.wilde-chat{position:fixed;z-index:90;right:22px;bottom:22px;font-family:Inter,system-ui,sans-serif}
.chat-launch{position:relative;width:64px;height:64px;border-radius:50%;border:0;background:var(--blue);color:#001018;font-size:1.6rem;font-weight:900;cursor:pointer;box-shadow:0 8px 28px rgba(0,191,255,.35);display:grid;place-items:center}
.chat-launch.is-open{opacity:0;pointer-events:none}
.chat-pulse{position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--blue);animation:pulse 2s infinite}
@keyframes pulse{0%{transform:scale(1);opacity:.6}100%{transform:scale(1.35);opacity:0}}
.chat-icon{position:relative;z-index:2}
.chat-panel{position:absolute;right:0;bottom:80px;width:min(380px,92vw);max-height:520px;background:var(--gray);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden}
.chat-panel[hidden]{display:none}
.chat-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;background:#0a0a0a;border-bottom:1px solid var(--line)}
.chat-head strong{font-family:Oswald,sans-serif;text-transform:uppercase;font-size:1.15rem}
.chat-head span{display:block;color:var(--muted);font-size:.82rem;margin-top:2px}
.chat-close{background:none;border:0;color:#fff;font-size:1.6rem;cursor:pointer;width:36px;height:36px;display:grid;place-items:center}
.chat-body{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px}
.chat-msg{max-width:88%;padding:12px 14px;border-radius:18px;font-size:.95rem;line-height:1.45}
.chat-user{align-self:flex-end;background:var(--blue);color:#001018;font-weight:700}
.chat-bot{align-self:flex-start;background:#111;border:1px solid var(--line);color:#fff}
.chat-form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line);background:#0a0a0a}
.chat-input{flex:1;border:1px solid var(--line);border-radius:14px;background:#080808;color:#fff;padding:12px 14px;font:inherit;font-size:.95rem}
.chat-input:focus{outline:0;border-color:var(--blue)}
.chat-send{background:var(--blue);color:#001018;border:0;border-radius:14px;padding:12px 16px;font-weight:900;text-transform:uppercase;cursor:pointer}
@media(max-width:900px){
  .wilde-chat{right:14px;bottom:78px}
  .chat-panel{bottom:74px;right:0;width:92vw;max-height:60vh}
}
