/* Base */
:root{--bg:#0b0c10;--card:#111318;--muted:#cfd6e6;--text:#e8eefc;--brand:#2bb673;--brand-2:#1ba8e0;--accent:#f1b722;--danger:#ff4d4f}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.6}
img{max-width:100%;height:auto;display:block;border-radius:12px}
a{color:var(--brand-2);text-decoration:none}
a:hover{text-decoration:underline}

/* Layout */
.container{width:min(1100px,92%);margin-inline:auto}
.grid-2{display:grid;gap:2rem;align-items:center}
@media(min-width:900px){.grid-2{grid-template-columns:1.1fr .9fr}}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(11,12,16,.8);backdrop-filter:saturate(120%) blur(8px);border-bottom:1px solid rgba(255,255,255,.06);transition:box-shadow .2s ease}
.site-header.scrolled{box-shadow:0 10px 30px rgba(0,0,0,.35)}
.site-header .container{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.logo{font-weight:800;letter-spacing:.5px;color:#fff}
.nav a{color:var(--muted);margin-left:18px;padding:8px 10px;border-radius:8px}
.nav a:hover{color:#fff;background:rgba(255,255,255,.06)}
.nav a.active{color:#fff;background:linear-gradient(135deg,rgba(43,182,115,.18),rgba(27,168,224,.18))}

/* Hero */
.hero{padding:60px 0 30px}
.hero h1{font-size:clamp(1.8rem,4vw,2.6rem);margin:0 0 12px}
.hero p{color:var(--muted)}
.badges{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 22px}
.badges span{font-size:.85rem;color:#d9ffef;background:rgba(43,182,115,.16);border:1px solid rgba(43,182,115,.3);padding:6px 10px;border-radius:999px}
.btn{display:inline-block;background:linear-gradient(135deg,var(--brand),#25c08a);color:#04110a;padding:12px 18px;border-radius:10px;font-weight:700;border:none;cursor:pointer;box-shadow:0 10px 22px rgba(37,192,138,.22)}
.btn:hover{filter:brightness(1.05)}

/* Sections */
.features{padding:26px 0 12px}
.features h2,.gallery h2,.cta h2{margin-bottom:14px}
.cards{display:grid;gap:18px}
@media(min-width:700px){.cards{grid-template-columns:repeat(3,1fr)}}
.card{background:var(--card);border:1px solid rgba(255,255,255,.06);padding:18px;border-radius:14px;transition:transform .2s ease,box-shadow .2s ease}
.card:hover{transform:translateY(-2px);box-shadow:0 16px 28px rgba(0,0,0,.28)}
.card h3{margin:4px 0 8px}
.gallery{padding:10px 0 18px}
.gallery-grid{display:grid;gap:14px}
@media(min-width:800px){.gallery-grid{grid-template-columns:repeat(3,1fr)}}

.cta{padding:38px 0 70px}
.cta .container{background:linear-gradient(135deg,rgba(27,168,224,.12),rgba(43,182,115,.12));border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:26px}

/* About */
.about-grid{display:grid;gap:22px;margin:14px 0 40px}
@media(min-width:800px){.about-grid{grid-template-columns:1.1fr .9fr}}

/* Services */
.service-hero{margin:24px 0 36px}

/* Contact */
.contact-grid{display:grid;gap:24px;margin:10px 0 40px}
@media(min-width:900px){.contact-grid{grid-template-columns:1.1fr .9fr}}
form{background:var(--card);border:1px solid rgba(255,255,255,.06);padding:18px;border-radius:14px}
.field{margin-bottom:14px}
label{display:block;margin-bottom:6px}
input,textarea{width:100%;padding:12px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#0e1117;color:var(--text)}
input:focus,textarea:focus{outline:2px solid rgba(27,168,224,.5);border-color:transparent}
.checkbox{display:flex;gap:10px;align-items:flex-start}
.optins{margin:16px 0;padding:12px;border:1px dashed rgba(255,255,255,.16);border-radius:12px}
.optins .note{color:var(--muted);font-size:.9rem}
.error{color:var(--danger);font-size:.85rem;height:1.1rem;display:block;margin-top:6px}
.invalid{border-color:rgba(255,77,79,.7)!important}
#formStatus{margin-top:12px}

/* Footer */
.site-footer{border-top:1px solid rgba(255,255,255,.06);margin-top:24px;padding:18px 0 36px}
.footer-grid{display:grid;gap:18px}
@media(min-width:700px){.footer-grid{grid-template-columns:1.5fr 1fr}}
.site-footer nav a{display:inline-block;margin-right:12px;color:var(--muted)}
.site-footer nav a.active{color:#fff}

/* Back to top */
.back-to-top{position:fixed;right:18px;bottom:18px;width:42px;height:42px;border-radius:50%;border:none;background:linear-gradient(135deg,var(--brand-2),#60d1ff);color:#001018;font-weight:900;cursor:pointer;box-shadow:0 12px 24px rgba(0,0,0,.35);opacity:0;visibility:hidden;transform:translateY(10px);transition:all .2s ease}
.back-to-top.show{opacity:1;visibility:visible;transform:none}

/* Legal pages */
.legal h1{margin-top:10px}
.legal h2{margin:18px 0 8px}
.legal p,.legal li{color:var(--muted)}

