:root{
  --bg:#0f1724; /* deep navy */
  --accent:#00c2a8; /* bright teal */
  --muted:#9aa7b2;
  --card:#0d1b26;
  --glass: rgba(255,255,255,0.04);
  --radius:14px;
  --max-width:1100px;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,Arial,sans-serif;background:linear-gradient(180deg,var(--bg),#07101a);color:#e6eef3;line-height:1.5}
.container{max-width:var(--max-width);margin:0 auto;padding:2rem}
.site-header{backdrop-filter: blur(6px);position:sticky;top:0;z-index:80;background:linear-gradient(180deg, rgba(0,0,0,0.25), transparent)}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:1rem 0}
.brand{font-weight:700;color:var(--accent);text-decoration:none;font-size:1.25rem}
.nav a{color:var(--muted);margin-left:1rem;text-decoration:none;transition:color .25s}
.nav a:hover{color:var(--accent)}

.hero{min-height:70vh;display:flex;align-items:center}
.hero-inner{padding:4rem 0}
.title{font-size:2.6rem;margin:0 0 .5rem;text-shadow:0 6px 24px rgba(0,0,0,.6)}
.subtitle{color:var(--muted);margin:0 0 1.25rem;max-width:60ch}
.cta{display:inline-block;background:linear-gradient(90deg,var(--accent),#3be3c4);color:#002022;padding:.9rem 1.25rem;border-radius:10px;text-decoration:none;font-weight:600;box-shadow:0 8px 30px rgba(0,0,0,.45);transform:translateY(0);transition:transform .18s,box-shadow .18s}
.cta:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,0,0,.6)}
.cta.ghost{background:transparent;border:1px solid rgba(255,255,255,0.06);color:var(--accent);padding:.8rem 1rem}

.section-title{font-size:1.5rem;color:#dff6ef;margin-bottom:1rem}
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
.card{background:linear-gradient(180deg,var(--card),rgba(13,27,38,0.6));padding:1.25rem;border-radius:12px;box-shadow:0 6px 20px rgba(0,0,0,.45);transition:transform .4s,box-shadow .4s;cursor:pointer}
.card:hover{transform:translateY(-8px) rotateX(4deg);box-shadow:0 28px 60px rgba(0,0,0,.6)}
.card h3{margin:0 0 .5rem}

/* Keyframe animations */
@keyframes floatY{0%{transform:translateY(0)}50%{transform:translateY(-6px)}100%{transform:translateY(0)}}
.card{animation:floatY 6s ease-in-out infinite}

.about,.contact{padding:3rem 0}
.contact-form{display:grid;gap:.75rem;max-width:700px}
.contact-form label{display:block}
input,textarea{width:100%;padding:.75rem;border-radius:8px;border:1px solid rgba(255,255,255,0.06);background:var(--glass);color:inherit}
.btn{background:var(--accent);border:none;color:#002;padding:.85rem 1rem;border-radius:8px;font-weight:600}

/* Reveal animation */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.reveal.visible{opacity:1;transform:none}

/* Fancy cursor */
.cursor{position:fixed;pointer-events:none;top:0;left:0;width:28px;height:28px;border-radius:50%;transform:translate(-50%,-50%);background:linear-gradient(180deg,var(--accent),#7ef0d8);mix-blend-mode:screen;z-index:9999;box-shadow:0 6px 20px rgba(0,0,0,.4);transition:width .12s height .12s}

/* hero parallax background accent */
.hero{position:relative;overflow:hidden}
.hero:before{content:'';position:absolute;right:-10%;top:-20%;width:60vmax;height:60vmax;background:radial-gradient(circle at 30% 30%, rgba(0,194,168,0.12), transparent 30%);transform:rotate(12deg);filter:blur(36px);pointer-events:none}

/* reveal stagger */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.reveal.visible{opacity:1;transform:none}
.reveal.delay-1{transition-delay:.12s}
.reveal.delay-2{transition-delay:.24s}
.reveal.delay-3{transition-delay:.36s}

@media (max-width:720px){.title{font-size:1.8rem}.header-inner{padding:.5rem 0}}
