/* styles.css - simple, animated single-page */
:root{
  --brand-color: #65b7fd; /* changed from green/teal to light blue */
  --accent: rgba(51,153,255,0.08);
  --text: #222;
  --muted: #666;
  --max-width: 1100px;
  --glass: rgba(255,255,255,0.6);
  --bg: #f7fafb;
}

.social-links {
  margin-top: 10px;
}

.social-links a {
  margin-right: 12px;
  display: inline-block;
}

.social-icon {
  width: 26px;
  height: 26px;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.social-icon:hover {
  transform: scale(1.15);
  opacity: 0.8;
}


.contact-link {
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  color: inherit;
}

.contact-link:hover {
  text-decoration: underline;
}

.contact-icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}



.address {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  text-decoration: none;
  color: inherit;
}

.address:hover {
  text-decoration: underline;
}

.map-pin {
  width: 20px;
  height: 20px;
  margin-top: 2px;
}

/* make sure the section can show the glow */
section {
  position: relative;
  overflow: visible;
  z-index: 0;
}

/* visible pulse + lift animation */
section.flash {
  animation: flashHighlight 0.9s ease;
  -webkit-animation: flashHighlight 0.9s ease;
}

@keyframes flashHighlight {
  0%   { box-shadow: 0 0 0 rgba(36,165,237,0); transform: translateY(0); }
  35%  { box-shadow: 0 0 28px rgba(36,165,237,0.45); transform: translateY(-8px); }
  100% { box-shadow: 0 0 0 rgba(36,165,237,0); transform: translateY(0); }
}



*{box-sizing:border-box}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial; margin:0; color:var(--text); background:linear-gradient(180deg,#ffffff 0%,var(--bg) 100%); -webkit-font-smoothing:antialiased}
.container{max-width:var(--max-width);margin:0 auto;padding:2rem}

.site-header{position:sticky;top:0;background:rgba(255,255,255,0.7);backdrop-filter:blur(6px);box-shadow:0 2px 6px rgba(10,10,10,0.03);z-index:50}
.site-header .container{display:flex;align-items:center;justify-content:space-between; padding: 0.5rem 2rem;}
.logo{height:56px} /* made logo bigger */
.nav a{margin-left:18px;text-decoration:none;color:var(--text);font-weight:600}
.hero{padding:3rem 0 2rem}
.hero-inner{display:flex;gap:2rem;align-items:center}
.hero-text h1{font-size:48px;margin:0;color:var(--brand-color);letter-spacing:1px}
.lead{font-size:18px;color:var(--muted);margin:0.5rem 0 1.2rem}
.cta{display:inline-block;background:var(--brand-color);color:white;padding:12px 18px;border-radius:10px;text-decoration:none;font-weight:700;box-shadow:0 8px 20px rgba(0,0,0,0.08);transform:translateY(0);transition:transform .25s}
.cta:hover{transform:translateY(-3px)}
.hero-visual img{width:420px;max-width:50vw;display:block;filter:drop-shadow(0 12px 30px rgba(0,0,0,0.08));animation:float 6s ease-in-out infinite}

@keyframes float{
  0%{transform:translateY(0)}
  50%{transform:translateY(-12px)}
  100%{transform:translateY(0)}
}

.services{padding:0.0rem 0}
.services h2{text-align:center;color:var(--text)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-top:1.6rem}
.card{background:linear-gradient(180deg,rgba(255,255,255,0.9),white);border-radius:14px;padding:18px;box-shadow:0 8px 22px rgba(10,10,10,0.04);transition:transform .25s,box-shadow .25s;min-height:120px}
.card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(10,10,10,0.07)}
.card h3{margin:0 0 8px;color:var(--brand-color)}

.contact{padding:3.5rem 0;background:linear-gradient(180deg,transparent,rgba(0,0,0,0.02))}
.contact-grid{display:grid;grid-template-columns:1fr 420px;gap:22px;align-items:start}
.contact-info p{margin:0 0 10px}
.contact-form{background:white;padding:18px;border-radius:12px;box-shadow:0 10px 30px rgba(10,10,10,0.05)}
.contact-form label{display:block;font-size:14px;color:var(--muted);margin-bottom:8px}
.contact-form input,.contact-form textarea{width:100%;padding:10px;border-radius:8px;border:1px solid #e6e9ee;margin-top:6px}
.btn{background:var(--brand-color);color:white;border:none;padding:10px 14px;border-radius:10px;font-weight:700;cursor:pointer}

.site-footer{padding:2rem 0;text-align:center;color:var(--muted);font-size:14px}

/* responsive */
@media(max-width:880px){
  .hero-inner{flex-direction:column;text-align:center}
  .contact-grid{grid-template-columns:1fr}
  .logo{height:60px} /* responsive bigger */
}

