@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.hero-project {
    position: relative;
    text-align: center;
    overflow: hidden;
    opacity: 0;
    animation: fadeIn 2s forwards;
    animation-delay: 0.5s;
}

.hero-project img {
    width: 100%;
    height: 400px;
    object-fit: cover;
    margin-top: 3rem;
}

.project-content {
    max-width: 1200px;
    margin: 2rem auto;
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 2rem;
    padding: 0 2rem;
    opacity: 0;
    animation: fadeIn 2s forwards;
    animation-delay: 0.5s;
}

.project-content .text h2 {
    color: #1a2a6c;
    font-size: 1.5rem;
    font-weight: 500;
    margin-bottom: 1rem;
}

.project-content p {
    font-size: 1rem;
    font-weight: 300;
}

.sidebar {
    font-size: 0.95rem;
    font-weight: 300;
    text-align: right;
    opacity: 0;
    animation: fadeIn 2s forwards;
    animation-delay: 0.5s;
}

.sidebar p {
    margin-bottom: 1rem;
}

.sidebar strong {
    color: #1a2a6c;
}

.gallery {
  max-width: 1200px;
  margin: 2rem auto;
  display: grid;
  gap: 1rem;
  padding: 0 2rem;
  opacity: 0;
  animation: fadeIn 2s forwards;
  animation-delay: 0.5s;
}

.gallery-4 {
  grid-template-columns: repeat(2, 1fr);
}

.gallery img {
  width: 100%;
  border-radius: 8px;
  object-fit: cover;
}

.buttons {
  text-align: center;
  margin: 2rem auto;
  gap: 1rem;
}

.buttons{
  display:flex;
  justify-content:center;
  align-items:center;
  gap: 1rem;
  margin: 2rem 0 3rem;
  flex-wrap: wrap; 
  opacity: 0;
  animation: fadeIn 2s forwards;
  animation-delay: 0.5s;           
}


.btn{
  --btn-bg: #173a7a;         
  --btn-bg-hover:#1d4695;
  --btn-shadow: 0 10px 22px rgba(23,58,122,.25);

  display:inline-flex;
  align-items:center;
  justify-content:center;

  min-width: 260px;           
  height: 56px;             
  padding: 0 28px;
  border-radius: 12px;

  background: var(--btn-bg);
  color:#fff;
  text-decoration:none;
  font-weight:400;
  font-size: 18px;
  line-height:1;            
  letter-spacing:.2px;

  box-shadow: var(--btn-shadow);
  transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease;
  white-space: nowrap;      
  user-select: none;
}


.btn:hover{
  background: var(--btn-bg-hover);
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(23,58,122,.28);
}

.btn:active{
  transform: translateY(0);
  box-shadow: 0 6px 14px rgba(23,58,122,.22);
}


.btn:focus-visible{
  outline: 3px solid #ca4e44;   
  outline-offset: 3px;
}

.btn--ghost{
  --btn-bg: #ffffff;
  --btn-bg-hover:#f3f5f8;
  color:#173a7a;
  border: 2px solid #dfe5ef;
  box-shadow: 0 8px 18px rgba(0,0,0,.06);
}

@media (max-width: 768px) {
    .hero-project img {
        height: 10vh;
        min-height: 200px;
    }

    .gallery {
        grid-template-columns: 1fr;
        padding: 35px;
    }
}

@media (max-width: 992px) {
    .project-content {
        grid-template-columns: 1fr;
    }

    .hero-project img {
        height: 20vh;
        min-height: 200px;
    }

    .gallery {
        grid-template-columns: 1fr;
    }
}