/* ================================
   Portfolio Page Global Styles
   Used across all portfolio pages
================================ */

@font-face {
  font-family: 'Sailors';
  src: url('../../projects/fonts/sailors.otf') format('opentype');
}

@font-face {
  font-family: 'Proxima Nova';
  src: url('../../projects/fonts/proxima.otf') format('opentype');
}

@font-face {
  font-family: 'Providence Sans Bold';
  src: url('../../projects/fonts/providencesansbold.otf') format('opentype');
}

@font-face {
  font-family: 'Moms';
  src: url('../../projects/fonts/moms-typewriter.ttf') format('truetype');
}


/* ================================
   SECTION WRAPPER
================================ */

/* Section wrapper */
.portfolio-page-section {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  padding: 60px 20px 40px; /* reduced massively */
  text-align: center;
}

/* Main Title Style */
.portfolio-titlepg {
  font-family: 'Providence Sans Bold', serif; 
  font-size: 4rem;
  color: #000;
  margin-bottom: 30px;
  letter-spacing: 1px;
}

.portfolio-titlerc {
  font-family: 'Moms', serif; 
  font-size: 4rem;
  color: #000;
  margin-bottom: 30px;
  letter-spacing: 1px;
}

.portfolio-titlecl {
  font-family: 'Proxima Nova', serif; 
  font-size: 4rem;
  color: #000;
  margin-bottom: 30px;
  letter-spacing: 1px;
}

/* Subtitle Header */
.portfolio-subtitle {
  font-family: 'Proxima Nova', sans-serif;
  font-size: 1.4rem;
  color: #333;
  margin-bottom: 20px;
  font-weight: 600;
}

/* Paragraph text */
.portfolio-paragraph {
  font-size: 1rem;
  line-height: 1.4; /* was 1.7 — too tall */
  color: #555;
  max-width: 900px;
  margin: 0 auto 5px; /* tiny bottom margin */
}

@media (max-width: 768px) {
  .portfolio-titlepg {
    font-size: 1.8rem;
    line-height: 1.1;
  }
}

@media (max-width: 768px) {
  .portfolio-titlerc {
    font-size: 1.8rem;
    line-height: 1.1;
  }
}

@media (max-width: 768px) {
  .portfolio-titlecl {
    font-size: 1.8rem;
    line-height: 1.1;
  }
}

@media (max-width: 768px) {
  .portfolio-paragraph {
    font-size: 0.9rem;
    line-height: 1.2; /* slightly more readable than 1.1 */
    margin-bottom: 5px;
  }
}

/* ================================
   HERO IMAGE WRAPPER
================================ */

/* ================================
   TEXT SECTION (stays narrow)
================================ */
.portfolio-page-section {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  padding: 60px 20px 40px;
  text-align: center;
}

/* ================================
   HERO IMAGE WRAPPER
================================ */
.portfolio-image-wrapper {
  width: 100%;
  padding: 0 30px; /* master padding */
  margin: 20px 0;
}

/* HERO IMAGE */
.portfolio-image {
  width: 100%;
  height: 600px; /* desktop */
  object-fit: cover;
  border-radius: 20px;
  display: block;
}

/* ================================
   TWO SQUARE IMAGES
================================ */
.portfolio-two-images {
  display: flex;
  gap: 20px;
  padding: 0 30px; /* matches hero */
  margin-top: 10px;
}

.portfolio-img-left,
.portfolio-img-right {
  width: calc(50% - 10px);
  height: 600px; /* desktop square height */
  object-fit: cover;
  border-radius: 20px;
}

/* ================================
   CTA BOX
================================ */
.portfolio-cta-box {
  width: calc(100% - 60px); /* 30px left + 30px right */
  margin: 20px auto 60px;
  padding: 40px 30px;
  background: #000;
  color: #fff;
  border-radius: 20px;
  text-align: center;
  box-sizing: border-box;
}

.cta-title,
.cta-titlecl,
.cta-titlerc {
  font-size: 1.6rem;
  margin-bottom: 10px;
}

.cta-link {
  color: #fff;
  text-decoration: underline;
  font-weight: 600;
}

.cta-link:hover {
  opacity: 0.8;
}

.cta-text {
  font-size: 1rem;
  line-height: 1.5;
  margin-bottom: 25px;
}

.cta-button {
  display: inline-block;
  background: #ffffff;
  color: #000000;
  padding: 12px 28px;
  border-radius: 10px;
  font-size: 1.1rem;
  text-decoration: none;
  transition: 0.3s ease;
}

.cta-button:hover {
  background: #f5f5f5;
  transform: translateY(-2px);
}

/* ================================
   MOBILE OVERRIDES
================================ */
@media (max-width: 768px) {

  /* HERO IMAGE MOBILE HEIGHT */
  .portfolio-image {
    height: 220px; /* restored mobile height */
  }

  /* TWO SQUARE IMAGES MOBILE */
  .portfolio-two-images {
    gap: 10px;
    padding: 0 30px; /* matches hero */
  }

  .portfolio-img-left,
  .portfolio-img-right {
    width: calc(50% - 5px);
    height: 180px; /* mobile square height */
    border-radius: 12px;
    margin-top: -8px;
  }

  /* CTA BOX MOBILE */
  .portfolio-cta-box {
    width: calc(100% - 60px); /* matches hero + images */
    padding: 30px 30px;
    border-radius: 16px;
  }

  .cta-title,
  .cta-titlecl,
  .cta-titlerc {
    font-size: 1.3rem;
  }

  .cta-text {
    font-size: 0.95rem;
  }
}
