/*
 * Prasad Construction Inc — Homepage Styles
 * assets/home/styles.css — page-specific only
 */

/* ── HERO ────────────────────────────────────────────────── */
.pc-hero {
  position: relative;
  background: #8B1A1A;
  overflow: hidden;
  min-height: 92vh;
  display: flex;
  align-items: center;
}
.pc-hero::after {
  content: '';
  position: absolute;
  bottom: -1px; left: 0; right: 0;
  height: 100px;
  background: #F8F7F4;
  clip-path: polygon(0 100%, 100% 10%, 100% 100%);
}
.pc-hero__bg { position: absolute; inset: 0; pointer-events: none; }
.pc-hero__inner { position: relative; z-index: 2; padding: 100px 0 150px; width: 100%; }
.pc-hero__ctas  { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 36px; }
.pc-hero__stats {
  display: flex; gap: 0; flex-wrap: wrap;
  margin-top: 64px; padding-top: 40px;
  border-top: 1px solid rgba(255,255,255,.1);
}
.pc-stat__num {
  font-family: 'Oswald', sans-serif;
  font-size: 2.6rem; font-weight: 700;
  color: #E8671A; line-height: 1;
}
.pc-stat__lbl {
  font-family: 'Source Sans 3', sans-serif;
  font-size: .75rem; color: rgba(255,255,255,.45);
  text-transform: uppercase; letter-spacing: .12em; margin-top: 6px;
}

/* ── PROCESS ─────────────────────────────────────────────── */
.pc-process { position: relative; }
.pc-step    { padding: 40px 28px 32px; text-align: center; }
.pc-step__num {
  font-family: 'Oswald', sans-serif;
  font-size: 3rem; font-weight: 700;
  color: rgba(232,103,26,.55);
  line-height: 1; margin-bottom: 20px;
}

/* ── GALLERY ─────────────────────────────────────────────── */
.pc-gallery { display: grid; gap: 6px; }
.pc-gallery__item { position: relative; overflow: hidden; background: #8B1A1A; }
.pc-gallery__item:first-child { grid-column: span 2; grid-row: span 2; }
.pc-gallery__item svg {
  width: 100%; height: 100%; display: block;
  min-height: 220px; transition: transform .5s ease;
}
.pc-gallery__item:first-child svg { min-height: 460px; }
.pc-gallery__item:hover svg { transform: scale(1.04); }
.pc-gallery__cap {
  position: absolute; bottom: 0; left: 0; right: 0;
  padding: 48px 22px 18px;
  background: linear-gradient(to top, rgba(17,29,40,.88) 0%, transparent 100%);
  font-family: 'Oswald', sans-serif; font-size: .88rem; font-weight: 600;
  text-transform: uppercase; letter-spacing: .06em; color: #FFFFFF;
  opacity: 0; transition: opacity .25s;
}
.pc-gallery__item:hover .pc-gallery__cap { opacity: 1; }

/* ── TESTIMONIALS ────────────────────────────────────────── */
.pc-testimonial {
  background: #FFFFFF; padding: 32px;
  border-radius: 3px; border-top: 3px solid #E8E4DF;
  display: flex; flex-direction: column;
}
.pc-testimonial__stars { display: flex; gap: 2px; margin-bottom: 16px; }
.pc-testimonial__stars svg { width: 15px; height: 15px; fill: #E8671A; stroke: none; }
.pc-testimonial__quote {
  font-family: 'Source Sans 3', sans-serif; font-size: .95rem;
  line-height: 1.75; color: #444; font-style: italic;
  margin-bottom: 24px; flex: 1;
}
.pc-testimonial__author { display: flex; align-items: center; gap: 12px; margin-top: auto; padding-top: 20px; border-top: 1px solid #E8E4DF; }
.pc-testimonial__avatar {
  width: 42px; height: 42px; border-radius: 50%;
  background: #8B1A1A; display: flex; align-items: center;
  justify-content: center; font-family: 'Oswald', sans-serif;
  font-size: .95rem; font-weight: 700; color: #E8671A; flex-shrink: 0;
}
.pc-testimonial__name { font-family: 'Source Sans 3', sans-serif; font-weight: 700; font-size: .9rem; color: #8B1A1A; }
.pc-testimonial__role { font-family: 'Source Sans 3', sans-serif; font-size: .78rem; color: #9A9590; margin-top: 2px; }

/* ── RESPONSIVE ──────────────────────────────────────────── */
@media (max-width: 820px) {
  .pc-gallery { grid-template-columns: 1fr 1fr; }
  .pc-gallery__item:first-child { grid-column: span 2; grid-row: span 1; }
  .pc-hero__ctas { flex-direction: column; }
  .pc-hero__ctas .pc-btn { width: 100%; justify-content: center; }
}
@media (max-width: 600px) {
  .pc-hero        { min-height: auto !important; }
  .pc-hero__inner { padding: 72px 0 100px !important; }
  .pc-stat__num   { font-size: 1.8rem; }
  .pc-service-card { padding: 24px 18px; }
  .pc-step        { padding: 20px 14px; }
  .pc-gallery     { grid-template-columns: 1fr !important; }
  .pc-gallery__item:first-child { grid-column: span 1 !important; grid-row: span 1 !important; }
  .pc-gallery__item svg { min-height: 200px !important; }
  .pc-gallery__cap { opacity: 1; }
}
