:root{
  --maxw:1100px;
  --accent:#0f172a;
  --accent-2:#0ea5a4;
  --muted:#6b7280;
  --card-bg:#ffffff;
  --glass: rgba(255,255,255,0.7);
  --shadow: 0 8px 30px rgba(15,23,42,0.08);
  --radius:12px;
}

*{box-sizing:border-box}
body{font-family:Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial; margin:0; color:#0b1220; background:linear-gradient(180deg,#f8fafc 0%, #f1f5f9 100%)}
.container{max-width:var(--maxw);margin:0 auto;padding:20px}

/* header/footer remain mostly same */
.site-header{background:transparent;backdrop-filter: blur(6px);position:sticky;top:0;z-index:40}
.site-header .container{display:flex;align-items:center;justify-content:space-between;padding:12px 20px}
.logo{font-weight:900;color:var(--accent);text-decoration:none;font-size:20px}
.nav a{margin-left:14px;text-decoration:none;color:var(--muted);font-weight:600}

/* Hero */
.hero{position:relative;padding:48px 20px 12px;margin-top:14px;overflow:visible}
.hero-inner{display:grid;grid-template-columns:1fr 360px;gap:28px;align-items:center;background:linear-gradient(135deg, rgba(14,165,164,0.06), rgba(15,23,42,0.02));border-radius:16px;padding:28px;box-shadow:var(--shadow)}
.hero-text h1{margin:0;font-size:34px;letter-spacing:-0.02em;color:var(--accent)}
.hero-text .lead{margin:10px 0 18px;color:var(--muted);font-size:15px}
.hero-ctas .btn{margin-right:10px}
.btn{display:inline-block;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:700;border:none;cursor:pointer;transition:all .25s ease}
.btn.primary{background:linear-gradient(90deg,var(--accent),var(--accent-2));color:#fff;box-shadow:0 8px 22px rgba(14,165,164,0.12);transform:translateY(0)}
.btn.primary:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(14,165,164,0.14)}
.btn.outline{background:transparent;border:2px solid rgba(11,18,32,0.06);color:var(--accent)}
.contact{margin-top:12px;color:var(--muted);font-weight:600}
.contact a{color:var(--accent-2);text-decoration:none}

/* Hero gallery small thumbnails */
.hero-gallery{display:flex;gap:10px;justify-content:center;align-items:center}
.hero-gallery .thumb{width:100px;height:80px;border-radius:10px;overflow:hidden;box-shadow:0 6px 18px rgba(2,6,23,0.08);transform:translateY(0);transition:transform .35s ease}
.hero-gallery .thumb img{width:100%;height:100%;object-fit:cover;display:block}
.hero-gallery .thumb:hover{transform:translateY(-6px)}
.hero-wave{position:absolute;left:0;right:0;bottom:-1px;height:60px;fill: #ffffff;opacity:0.95}

/* Categories / Cards */
.features{margin-top:30px}
.features h2{margin-bottom:14px}
.grid{display:grid;gap:14px}
.categories{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.card{background:var(--card-bg);padding:16px;border-radius:12px;box-shadow:var(--shadow);text-align:center;text-decoration:none;color:inherit;transition:transform .28s cubic-bezier(.2,.9,.2,1), box-shadow .28s}
.card:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(2,6,23,0.08)}
.card-icon{font-size:28px;margin-bottom:8px}
.card-title{font-weight:700;color:var(--accent)}

/* Gallery */
.featured{margin-top:28px}
.gallery{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.work img{width:100%;height:180px;object-fit:cover;border-radius:8px;transition:transform .35s ease, filter .35s ease}
.work:hover img{transform:scale(1.03);filter:brightness(.96)}
.title{margin-top:8px;font-weight:600;color:var(--muted);font-size:14px}

/* footer */
.site-footer{background:transparent;padding:20px;margin-top:30px;text-align:center;color:var(--muted)}

/* floating WhatsApp button */
.fab-wa{position:fixed;right:18px;bottom:18px;background:linear-gradient(135deg,#10b981,#06b6d4);width:56px;height:56px;border-radius:999px;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 14px 30px rgba(2,6,23,0.18);text-decoration:none;z-index:60;transform:translateY(0);transition:transform .18s ease}
.fab-wa:hover{transform:translateY(-6px)}
.fab-wa svg{opacity:0.98}
.fab-wa .wa-dot{position:absolute;right:8px;top:8px;width:8px;height:8px;border-radius:50%;background:#fff;opacity:.18}

/* small screens */
@media (max-width:900px){
  .hero-inner{grid-template-columns:1fr; text-align:center}
  .hero-gallery{justify-content:center;margin-top:12px}
  .hero-text .lead{font-size:14px}
  .hero-text h1{font-size:26px}
}

/* Animation helpers */
[data-anim] {opacity:0;transform:translateY(14px);transition:opacity .6s ease, transform .6s ease}
[data-anim].in {opacity:1;transform:translateY(0)}
[data-anim="fade-in"] {transform:translateY(6px);transition-duration:.6s}
[data-anim="slide-up"] {transform:translateY(18px)}

/* Typing effect */
.typing {
  border-right: 2px solid var(--accent-2);
  white-space: nowrap;
  overflow: hidden;
  display: inline-block;
  width: 0;
  animation: typing 3s steps(30, end) forwards, blink .8s infinite;
}

.typing + .typing {
  animation-delay: 3.2s; 
}

@keyframes typing {
  from { width: 0 }
  to { width: 100% }
}

@keyframes blink {
  0%, 50% { border-color: var(--accent-2); }
  51%, 100% { border-color: transparent; }
}
