:root{--bg:#0a0a0c;--bg2:#141418;--card:#1b1b21;--txt:#e9e9ef;--mut:#9a9aa8;--acc:#00e5ff;--acc2:#7c3aed}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--txt);line-height:1.6}
a{color:var(--acc);text-decoration:none}
.wrap{max-width:1150px;margin:0 auto;padding:0 20px}
header{position:sticky;top:0;z-index:10;background:rgba(10,10,12,.9);backdrop-filter:blur(8px);border-bottom:1px solid #222}
nav{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{font-weight:900;font-size:1.4rem;letter-spacing:1px;color:#fff}.logo span{color:var(--acc)}
.links{display:flex;gap:22px;list-style:none}.links a{color:var(--txt);font-weight:600;font-size:.95rem}.links a:hover{color:var(--acc)}
#menuBtn{display:none;background:none;border:1px solid #333;color:#fff;font-size:1.3rem;padding:4px 10px;border-radius:6px}
.btn{display:inline-block;background:linear-gradient(90deg,var(--acc),var(--acc2));color:#000;font-weight:800;padding:14px 28px;border-radius:999px;text-transform:uppercase;letter-spacing:1px;border:0;cursor:pointer;font-size:1rem}
.btn.ghost{background:transparent;color:var(--acc);border:2px solid var(--acc)}
.hero{min-height:88vh;display:flex;align-items:center;background:radial-gradient(circle at 75% 40%,rgba(0,229,255,.25),transparent 45%),radial-gradient(circle at 20% 80%,rgba(124,58,237,.3),transparent 45%),var(--bg);position:relative;overflow:hidden}
.hero h1{font-size:clamp(2.6rem,7vw,5.2rem);line-height:1.05;font-weight:900;text-transform:uppercase}
.hero h1 em{font-style:normal;background:linear-gradient(90deg,var(--acc),var(--acc2));-webkit-background-clip:text;color:transparent}
.hero p{font-size:1.25rem;color:var(--mut);max-width:600px;margin:20px 0 32px}
.hero .ctas{display:flex;gap:14px;flex-wrap:wrap}
.eq{position:absolute;right:6%;bottom:12%;display:flex;gap:8px;align-items:flex-end;height:180px;opacity:.5}
.eq i{width:14px;background:linear-gradient(var(--acc),var(--acc2));border-radius:4px;animation:b 1.2s ease-in-out infinite alternate}
@keyframes b{from{height:20%}to{height:100%}}
section{padding:90px 0}section.alt{background:var(--bg2)}
h2{font-size:clamp(2rem,4vw,2.8rem);font-weight:900;text-transform:uppercase;margin-bottom:12px}
.sub{color:var(--mut);margin-bottom:44px;max-width:650px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px}
.card{background:var(--card);border:1px solid #2a2a33;border-radius:14px;padding:28px;transition:.25s}
.card:hover{border-color:var(--acc);transform:translateY(-4px);box-shadow:0 10px 30px rgba(0,229,255,.12)}
.card svg{width:44px;height:44px;stroke:var(--acc);fill:none;stroke-width:1.8;margin-bottom:14px}
.card h3{margin-bottom:8px}.card p,.card li{color:var(--mut)}.card ul{padding-left:18px}
.gal{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.gal div{aspect-ratio:4/3;border-radius:12px;border:1px dashed #444;display:flex;align-items:center;justify-content:center;color:var(--mut);background:linear-gradient(135deg,#17171d,#22222b)}
details{background:var(--card);border:1px solid #2a2a33;border-radius:10px;padding:18px 22px;margin-bottom:12px}
summary{font-weight:700;cursor:pointer}details p{color:var(--mut);margin-top:10px}
form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
form .full{grid-column:1/-1}
label{font-size:.9rem;font-weight:600;display:block;margin-bottom:6px}
input,select,textarea{width:100%;background:var(--card);border:1px solid #333;color:var(--txt);padding:12px;border-radius:8px;font:inherit}
input:focus,textarea:focus{outline:2px solid var(--acc)}
.checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}
.checks label{font-weight:400;display:flex;gap:8px;align-items:center}.checks input{width:auto}
.contact{display:grid;grid-template-columns:1fr 2fr;gap:40px}
.ph{color:#ffcc00;font-family:monospace}
#formMsg{color:var(--acc);font-weight:700}
footer{background:#050506;border-top:1px solid #222;padding:40px 0;color:var(--mut);font-size:.9rem}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px}
@media(max-width:820px){#menuBtn{display:block}.links{display:none;position:absolute;top:64px;left:0;right:0;flex-direction:column;background:#0a0a0c;padding:20px;border-bottom:1px solid #222}.links.open{display:flex}.contact,form{grid-template-columns:1fr}.eq{display:none}section{padding:60px 0}}

.grid.svc{grid-template-columns:repeat(4,1fr)}@media(max-width:1000px){.grid.svc{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.grid.svc{grid-template-columns:1fr}}

.hero{background:linear-gradient(90deg,rgba(10,10,12,.92) 0%,rgba(10,10,12,.7) 45%,rgba(10,10,12,.35) 100%),linear-gradient(0deg,var(--bg) 0%,transparent 30%),url(/images/hero.webp) center/cover no-repeat,var(--bg)}
@media(max-width:820px){.hero{background:linear-gradient(rgba(10,10,12,.78),rgba(10,10,12,.88)),url(/images/hero.webp) 60% center/cover no-repeat,var(--bg)}}
.grid.svc .card{padding:0 0 24px;overflow:hidden}.grid.svc .card>*:not(.card-img){margin-left:24px;margin-right:24px}.card-img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;margin-bottom:18px;border-bottom:1px solid #2a2a33}.grid.svc .card svg{display:none}

.sms-ico{width:1.2em;height:1.2em;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round;vertical-align:-.22em;margin-right:8px}.sms-ico circle{fill:currentColor;stroke:none}
.sms-fab{position:fixed;z-index:90;right:calc(18px + env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));display:inline-flex;align-items:center;padding:13px 20px;border-radius:999px;background:linear-gradient(90deg,var(--acc),var(--acc2));color:#000;font-weight:800;text-transform:uppercase;letter-spacing:1px;font-size:.95rem;box-shadow:0 8px 24px rgba(0,0,0,.5),0 0 18px rgba(0,229,255,.3);transition:opacity .25s,transform .25s}
.sms-fab:hover{transform:translateY(-2px)}.sms-fab.away{opacity:0;transform:translateY(20px);pointer-events:none}
.sms-link:focus-visible,.sms-fab:focus-visible,.btn:focus-visible,.sms-close:focus-visible{outline:3px solid #fff;outline-offset:3px}
.sms-link.inline{color:var(--acc);text-decoration:underline}
.sms-hint{color:var(--mut);margin:0 0 14px;font-size:.95rem}
.sms-pop{position:fixed;z-index:100;background:var(--card);border:1px solid var(--acc);border-radius:12px;padding:14px 40px 12px 16px;box-shadow:0 10px 30px rgba(0,0,0,.6);min-width:220px;color:var(--txt)}
.sms-pop p{margin:0}.sms-pop-num{font-size:1.25rem;font-weight:800;color:var(--acc);margin-top:4px!important}
.sms-close{position:absolute;top:6px;right:8px;background:none;border:0;color:var(--mut);font-size:1.4rem;cursor:pointer;line-height:1}
footer{padding-bottom:calc(80px + env(safe-area-inset-bottom))}
@media(max-width:560px){.sms-fab{padding:12px 16px;font-size:.85rem}}
