/* GTP Guard — custom utilities on top of Tailwind CDN */

html { scroll-behavior: smooth; }
body { font-family: "Inter", system-ui, sans-serif; }

.font-head { font-family: "Poppins", sans-serif; }
.font-serif-accent { font-family: "Playfair Display", serif; }

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

/* Hero subtle dot grid */
.dotgrid {
  background-image: radial-gradient(rgba(255,255,255,0.05) 1px, transparent 1px);
  background-size: 22px 22px;
}

/* Service / card hover */
.card-hover { transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.card-hover:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(0,0,0,.10); border-color: #C8102E; }

/* Timeline */
.tl-dot { box-shadow: 0 0 0 4px rgba(200,16,46,.15); }

/* Client logo cells */
.logo-cell { transition: color .15s ease, border-color .15s ease; filter: grayscale(1); opacity: .8; }
.logo-cell:hover { filter: none; opacity: 1; color: #C8102E; border-color: #C8102E; }

/* Mobile menu */
.menu-link { display:block; padding:12px 8px; color:#D3D1C7; font-size:15px; border-bottom:1px solid rgba(255,255,255,.06); }
.menu-link:hover { color:#fff; }
