/* Hero Section */
.hero {
  display:flex; align-items:center; justify-content:center;
  text-align:center;
  padding: 3rem 0;
}
.hero-content .logo {
  margin-bottom: 0;
}
.hero-content .logo img {
  height: 180px;
}
.hero-content .tagline {
  color: var(--cyan);
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 1px;
  margin-top: 0.25rem;
  margin-bottom: 2rem;
  text-align: center;
}
.hero-content h4 { color: var(--cyan); font-size:1rem; letter-spacing:2px; margin-bottom:1rem; }
.hero-content h1 { font-size:3rem; line-height:1.2; margin-bottom:2rem; }
.btn {
  display:inline-block; padding:0.75rem 2rem;
  background: var(--cyan); color: var(--blue-dark); font-weight:600;
  border-radius: 50px; transition: transform .2s;
}
.btn:hover { transform: scale(1.05); }

/* Section Headings */
.services h2,
.portfolio h2,
.about h2,
.contact h2 { margin-bottom:2rem; font-size:2rem; color: var(--cyan); text-align: center; }

/* Preview Section Headings */
.services-preview h2,
.about-preview h2,
.portfolio-preview h2,
.contact-preview h2 { 
  margin-bottom:3rem; 
  font-size:2.5rem; 
  color: var(--cyan); 
  text-align: center; 
  font-weight: 600;
  letter-spacing: 1px;
}

.services-preview h2 a,
.about-preview h2 a,
.portfolio-preview h2 a,
.contact-preview h2 a {
  color: var(--cyan);
  text-decoration: none;
  transition: color 0.3s ease;
  position: relative;
}

.services-preview h2 a:hover,
.about-preview h2 a:hover,
.portfolio-preview h2 a:hover,
.contact-preview h2 a:hover {
  color: var(--white);
}

.services-preview h2 a::after,
.about-preview h2 a::after,
.portfolio-preview h2 a::after,
.contact-preview h2 a::after {
  content: ' →';
  opacity: 0;
  transition: opacity 0.3s ease;
}

.services-preview h2 a:hover::after,
.about-preview h2 a:hover::after,
.portfolio-preview h2 a:hover::after,
.contact-preview h2 a:hover::after {
  opacity: 1;
}

/* Home Intro */
.home-intro {
  padding: 4rem 0;
  text-align: center;
}

.home-intro p {
  max-width: 800px;
  margin: 0 auto;
  font-size: 1.1rem;
  line-height: 1.8;
  color: var(--white);
  opacity: 0.9;
}

/* Services Preview */
.services-preview {
  padding: 6rem 0;
  margin: 4rem 0;
  width: 100%;
  max-width: none;
  padding: 6rem 2rem;
}

.services-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.5rem;
  justify-items: center;
  width: 100%;
  max-width: 800px;
  margin: 3rem auto 0 auto;
}

.service-item {
  background: var(--blue-dark);
  padding: 2.5rem 2rem;
  border-radius: 12px;
  text-align: center;
  transition: all 0.3s ease;
  border: 1px solid transparent;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  max-width: 350px;
  width: 100%;
}

.service-item:hover {
  transform: translateY(-8px);
  border-color: var(--cyan);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
}

.service-item h3 {
  color: var(--cyan);
  margin-bottom: 1.5rem;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.5px;
}

.service-item p {
  line-height: 1.7;
  font-size: 1rem;
  color: var(--white);
  opacity: 0.9;
}

/* About Preview */
.about-preview {
  padding: 6rem 0;
  margin: 4rem 0;
  width: 100%;
  max-width: none;
  padding: 6rem 2rem;
}

.about-preview p {
  max-width: 800px;
  line-height: 1.8;
  text-align: center;
  margin: 0 auto 3rem auto;
  font-size: 1.1rem;
  color: var(--white);
  opacity: 0.9;
}

.values-preview {
  max-width: 900px;
  margin: 0 auto;
  width: 100%;
}

.values-preview h3 {
  color: var(--cyan);
  text-align: center;
  margin-bottom: 2rem;
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: 0.5px;
}

.values-preview ul {
  list-style: none;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
  justify-items: center;
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
}

.values-preview li {
  background: var(--blue-mid);
  padding: 1.5rem;
  border-radius: 8px;
  text-align: center;
  font-weight: 500;
  font-size: 1rem;
  color: var(--white);
  transition: all 0.3s ease;
  border: 1px solid transparent;
  max-width: 280px;
  width: 100%;
}

.values-preview li:hover {
  border-color: var(--cyan);
  transform: translateY(-3px);
}

/* Portfolio Preview */
.portfolio-preview {
  padding: 6rem 0;
  margin: 4rem 0;
  width: 100%;
  max-width: none;
  padding: 6rem 2rem;
}

.portfolio-preview p {
  max-width: 800px;
  line-height: 1.8;
  text-align: center;
  margin: 0 auto 3rem auto;
  font-size: 1.1rem;
  color: var(--white);
  opacity: 0.9;
}

.portfolio-preview-grid {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  justify-items: center;
  width: 100%;
  max-width: 600px;
  margin: 3rem auto 0 auto;
}

.portfolio-item {
  aspect-ratio: auto;
  background: var(--blue-dark);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  border: 1px solid transparent;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  max-width: 600px;
  width: 100%;
  min-height: 200px;
  padding: 1.5rem;
}

.portfolio-item:hover {
  transform: scale(1.05);
  border-color: var(--cyan);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
}

/* BlueShield image hover effects */
.portfolio-item a:hover img {
  transform: scale(1.05);
}

.portfolio-item a:hover .portfolio-item a > div:first-child > div:last-child {
  opacity: 1;
}

/* Portfolio item styles */
.portfolio-link {
  text-decoration: none;
  color: inherit;
  display: block;
  width: 100%;
}

.portfolio-image-container {
  width: 100%;
  height: 200px;
  border-radius: 8px;
  margin-bottom: 1rem;
  overflow: hidden;
  position: relative;
}

.portfolio-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform 0.3s ease;
}

.portfolio-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0,0,0,0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.portfolio-overlay-text {
  background: rgba(0,0,0,0.8);
  color: white;
  padding: 8px 16px;
  border-radius: 4px;
  font-size: 0.9rem;
}

.portfolio-title {
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
  color: var(--cyan);
}

.portfolio-description {
  font-size: 0.9rem;
  opacity: 0.8;
  line-height: 1.3;
}

/* Hover effects */
.portfolio-link:hover .portfolio-image {
  transform: scale(1.05);
}

.portfolio-link:hover .portfolio-overlay {
  opacity: 1;
}

.portfolio-placeholder {
  color: var(--cyan);
  font-weight: 600;
  font-size: 1.2rem;
  letter-spacing: 0.5px;
}

/* Contact Preview */
.contact-preview {
  padding: 6rem 0;
  margin: 4rem 0;
  width: 100%;
  max-width: none;
  padding: 6rem 2rem;
}

.contact-preview p {
  max-width: 800px;
  line-height: 1.8;
  text-align: center;
  margin: 0 auto 3rem auto;
  font-size: 1.1rem;
  color: var(--white);
  opacity: 0.9;
}

.contact-form-placeholder {
  max-width: 600px;
  margin: 0 auto;
}

/* Services */
.service-cards {
  display:grid; grid-template-columns:repeat(auto-fit, minmax(240px,1fr));
  gap:2rem;
}
.card {
  background: var(--blue-mid); padding:2rem; border-radius:12px;
  text-align:center;
}
.card h3 { margin-bottom:1rem; }
.card p { line-height:1.5; }

/* Portfolio */
.portfolio {
  background: var(--blue-mid);
  overflow: hidden;
}

/* About */
.about p { max-width:700px; line-height:1.8; text-align: center; margin: 0 auto; }

/* Footer */
.site-footer {
  text-align:center; padding:2rem 0; font-size:0.9rem;
} 