/*
 * PineArc Contractor Homepage — homepage.css
 * All styles scoped under .pch-homepage
 * Rename-safe: no #allpro-homepage references, no ap- prefix classes
 * Version: 1.0.0
 */

/* ── Design tokens ────────────────────────────────────────────────────────── */
.pch-homepage {
  --pch-black:      #090909;
  --pch-dark:       #111111;
  --pch-dark-2:     #1a1a1a;
  --pch-dark-3:     #242424;
  --pch-mid:        #3a3a3a;
  --pch-light:      #a8a8a8;
  --pch-white:      #ffffff;
  --pch-red:        #C41230;
  --pch-red-dark:   #9e0e26;
  --pch-gold:       #c8a84b;
  --pch-gold-light: #e8c96b;

  --pch-hd:   'Barlow Condensed', sans-serif;
  --pch-body: 'Inter', sans-serif;
  --pch-ease: cubic-bezier(0.16, 1, 0.3, 1);

  --pch-radius:    8px;
  --pch-radius-lg: 16px;
  --pch-section:   clamp(80px, 10vw, 140px) 0;

  font-family: var(--pch-body);
  color: var(--pch-white);
  background: var(--pch-black);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

.pch-homepage *, .pch-homepage *::before, .pch-homepage *::after {
  box-sizing: border-box;
}
.pch-homepage a { color: inherit; text-decoration: none; }
.pch-homepage img { display: block; max-width: 100%; height: auto; }
.pch-homepage ul, .pch-homepage ol { list-style: none; padding: 0; margin: 0; }
.pch-homepage h1, .pch-homepage h2, .pch-homepage h3,
.pch-homepage h4, .pch-homepage p { margin: 0; }
.pch-homepage h1, .pch-homepage h2, .pch-homepage h3, .pch-homepage h4,
.pch-homepage strong { color: var(--pch-white); }
.pch-homepage p, .pch-homepage li { color: rgba(255,255,255,.76); }

/* ── Layout containers ────────────────────────────────────────────────────── */
.pch-homepage .pch-container {
  width: 100%; max-width: 1280px;
  margin: 0 auto;
  padding: 0 clamp(20px, 4vw, 60px);
}
.pch-homepage .pch-container--wide   { max-width: 1440px; }
.pch-homepage .pch-container--narrow { max-width: 860px; }
.pch-homepage .pch-section { padding: var(--pch-section); }

/* ── Utility ──────────────────────────────────────────────────────────────── */
.pch-homepage .pch-eyebrow {
  font-family: var(--pch-body);
  font-size: .72rem; font-weight: 600;
  letter-spacing: .2em; text-transform: uppercase;
  color: var(--pch-gold);
  display: flex; align-items: center; gap: 12px;
  margin-bottom: 18px;
}
.pch-homepage .pch-eyebrow::before {
  content: '';
  display: block; width: 32px; height: 2px;
  background: var(--pch-red); flex-shrink: 0;
}
.pch-homepage .pch-divider {
  width: 60px; height: 3px;
  background: var(--pch-red);
  margin: 24px 0 32px;
}
.pch-homepage .pch-divider--center { margin-left: auto; margin-right: auto; }
.pch-homepage .pch-divider--gold   { background: var(--pch-gold); }

/* ── Buttons ──────────────────────────────────────────────────────────────── */
.pch-homepage .pch-btn {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 16px 36px;
  border-radius: 3px;
  font-family: var(--pch-body); font-size: .88rem;
  font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
  cursor: pointer; border: 2px solid transparent;
  transition: all .28s var(--pch-ease);
  white-space: nowrap;
}
.pch-homepage .pch-btn svg { width: 18px; height: 18px; flex-shrink: 0; }
.pch-homepage .pch-btn--primary {
  background: var(--pch-red); color: var(--pch-white); border-color: var(--pch-red);
}
.pch-homepage .pch-btn--primary:hover {
  background: var(--pch-red-dark); border-color: var(--pch-red-dark);
  transform: translateY(-2px);
  box-shadow: 0 12px 40px rgba(196,18,48,.35);
}
.pch-homepage .pch-btn--outline {
  background: transparent; color: var(--pch-white);
  border-color: rgba(255,255,255,.4);
}
.pch-homepage .pch-btn--outline:hover {
  border-color: var(--pch-white); background: rgba(255,255,255,.06);
  transform: translateY(-2px);
}
.pch-homepage .pch-btn--gold {
  background: var(--pch-gold); color: var(--pch-black); border-color: var(--pch-gold);
}
.pch-homepage .pch-btn--gold:hover {
  background: var(--pch-gold-light);
  transform: translateY(-2px);
}

/* ── Reveal animation ─────────────────────────────────────────────────────── */
.pch-homepage .pch-reveal {
  opacity: 0; transform: translateY(36px);
  transition: opacity .85s var(--pch-ease), transform .85s var(--pch-ease);
}
.pch-homepage .pch-reveal.pch-visible { opacity: 1; transform: translateY(0); }
.pch-homepage .pch-d1 { transition-delay: .1s; }
.pch-homepage .pch-d2 { transition-delay: .2s; }
.pch-homepage .pch-d3 { transition-delay: .3s; }

/* ── Image placeholder (shown before real photos are added) ───────────────── */
.pch-homepage .pch-img-placeholder {
  background: var(--pch-dark-3);
  background-image: repeating-linear-gradient(
    -45deg, transparent, transparent 10px,
    rgba(255,255,255,.015) 10px, rgba(255,255,255,.015) 20px
  );
}

/* ══════════════════════════════════════════════════════════════════════════ */
/*  HERO                                                                       */
/* ══════════════════════════════════════════════════════════════════════════ */
.pch-homepage .pch-hero {
  position: relative; width: 100%;
  height: 100svh; min-height: 620px;
  overflow: hidden;
  display: flex; align-items: flex-end;
  padding-bottom: clamp(60px, 8vh, 100px);
}
.pch-homepage .pch-hero__video-wrap {
  position: absolute; inset: 0; z-index: 0;
}
.pch-homepage .pch-hero__video-wrap video,
.pch-homepage .pch-hero__video-wrap .pch-hero__poster-img {
  width: 100%; height: 100%; object-fit: cover;
}
.pch-homepage .pch-hero__placeholder {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #0d1117 0%, #1a0508 40%, #0d0d0d 100%);
}
.pch-homepage .pch-hero__placeholder::after {
  content: ''; position: absolute; inset: 0;
  background:
    repeating-linear-gradient(0deg,   transparent, transparent 80px, rgba(196,18,48,.03) 80px, rgba(196,18,48,.03) 81px),
    repeating-linear-gradient(90deg,  transparent, transparent 80px, rgba(196,18,48,.03) 80px, rgba(196,18,48,.03) 81px);
  animation: pchGridShift 20s linear infinite;
}
@keyframes pchGridShift { to { transform: translate(80px, 80px); } }

.pch-homepage .pch-hero__overlay {
  position: absolute; inset: 0; z-index: 1;
  background:
    linear-gradient(to right, rgba(9,9,9,.85) 0%, rgba(9,9,9,.4) 60%, rgba(9,9,9,.1) 100%),
    linear-gradient(to top,   rgba(9,9,9,.9)  0%, transparent 50%);
}
.pch-homepage .pch-hero__content {
  position: relative; z-index: 2; width: 100%;
}
.pch-homepage .pch-hero__inner { max-width: 760px; }

.pch-homepage .pch-hero__pretitle {
  font-size: .72rem; font-weight: 600;
  letter-spacing: .22em; text-transform: uppercase;
  color: var(--pch-gold);
  display: flex; align-items: center; gap: 12px;
  margin-bottom: 20px;
  opacity: 0; transform: translateY(20px);
  animation: pchFadeUp .8s var(--pch-ease) .2s forwards;
}
.pch-homepage .pch-hero__pretitle::before {
  content: ''; display: block;
  width: 40px; height: 2px; background: var(--pch-red); flex-shrink: 0;
}

.pch-homepage .pch-hero h1 {
  font-family: var(--pch-hd);
  font-size: clamp(3.2rem, 7vw, 7rem);
  font-weight: 900; line-height: .96;
  letter-spacing: -.01em; text-transform: uppercase;
  color: var(--pch-white); margin-bottom: 28px;
  opacity: 0; transform: translateY(30px);
  animation: pchFadeUp .9s var(--pch-ease) .4s forwards;
}
.pch-homepage .pch-hero h1 em { font-style: normal; color: var(--pch-red); }

.pch-homepage .pch-hero__sub {
  font-size: clamp(.9rem, 1.4vw, 1.1rem);
  color: rgba(255,255,255,.7); line-height: 1.7;
  max-width: 540px; margin-bottom: 40px;
  opacity: 0; transform: translateY(20px);
  animation: pchFadeUp .8s var(--pch-ease) .6s forwards;
}

.pch-homepage .pch-hero__ctas {
  display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 52px;
  opacity: 0; transform: translateY(20px);
  animation: pchFadeUp .8s var(--pch-ease) .75s forwards;
}

.pch-homepage .pch-hero__badges {
  display: flex; flex-wrap: wrap; gap: 10px;
  opacity: 0; animation: pchFadeIn .8s var(--pch-ease) 1s forwards;
}
.pch-homepage .pch-trust-chip {
  display: flex; align-items: center; gap: 8px;
  padding: 8px 16px;
  background: rgba(255,255,255,.06);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,.1); border-radius: 40px;
  font-size: .7rem; font-weight: 600;
  letter-spacing: .08em; text-transform: uppercase;
  color: rgba(255,255,255,.85);
}
.pch-homepage .pch-dot {
  width: 6px; height: 6px;
  border-radius: 50%; background: var(--pch-gold); flex-shrink: 0;
}

.pch-homepage .pch-hero__scroll {
  position: absolute; bottom: 36px; right: clamp(20px,4vw,60px); z-index: 2;
  display: flex; flex-direction: column; align-items: center; gap: 10px;
  opacity: 0; animation: pchFadeIn 1s var(--pch-ease) 1.4s forwards;
  writing-mode: vertical-lr;
  font-size: .65rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase;
  color: rgba(255,255,255,.4);
}
.pch-homepage .pch-hero__scroll::after {
  content: ''; width: 1px; height: 60px;
  background: linear-gradient(to bottom, rgba(255,255,255,.3), transparent);
}

.pch-homepage .pch-hero__media-nav {
  position: absolute; bottom: 36px; left: 50%; transform: translateX(-50%); z-index: 2;
  display: flex; gap: 8px;
  opacity: 0; animation: pchFadeIn 1s 1.4s forwards;
}
.pch-homepage .pch-hero__media-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: rgba(255,255,255,.3); cursor: pointer; border: none; padding: 0;
  transition: all .3s;
}
.pch-homepage .pch-hero__media-dot.active {
  background: var(--pch-red); width: 24px; border-radius: 3px;
}

@keyframes pchFadeUp { to { opacity: 1; transform: translateY(0); } }
@keyframes pchFadeIn { to { opacity: 1; } }

/* ══════════════════════════════════════════════════════════════════════════ */
/*  STATS BAR                                                                  */
/* ══════════════════════════════════════════════════════════════════════════ */
.pch-homepage .pch-stats-bar { background: var(--pch-red); }
.pch-homepage .pch-stats-bar__inner {
  max-width: 1280px; margin: 0 auto;
  padding: 0 clamp(20px,4vw,60px);
  display: grid; grid-template-columns: repeat(4, 1fr);
}
.pch-homepage .pch-stat {
  padding: 28px 20px; text-align: center;
  border-right: 1px solid rgba(255,255,255,.15);
}
.pch-homepage .pch-stat:last-child { border-right: none; }
.pch-homepage .pch-stat__num {
  font-family: var(--pch-hd);
  font-size: clamp(2rem, 3.5vw, 3rem);
  font-weight: 900; line-height: 1; color: var(--pch-white); display: block;
}
.pch-homepage .pch-stat__label {
  font-size: .7rem; font-weight: 600;
  letter-spacing: .14em; text-transform: uppercase;
  color: rgba(255,255,255,.7); margin-top: 6px; display: block;
}
@media (max-width: 640px) {
  .pch-homepage .pch-stats-bar__inner { grid-template-columns: repeat(2,1fr); }
  .pch-homepage .pch-stat:nth-child(2) { border-right: none; }
}

/* ══════════════════════════════════════════════════════════════════════════ */
/*  WHY CHOOSE US                                                              */
/* ══════════════════════════════════════════════════════════════════════════ */
.pch-homepage .pch-why { background: var(--pch-dark); }
.pch-homepage .pch-why__grid {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: clamp(40px,6vw,100px); align-items: center;
}
.pch-homepage .pch-why__media { position: relative; }
.pch-homepage .pch-why__img-main {
  width: 100%; aspect-ratio: 4/5; object-fit: cover;
  border-radius: var(--pch-radius); display: block;
}
.pch-homepage .pch-why__img-accent {
  position: absolute; bottom: -24px; right: -24px;
  width: 48%; aspect-ratio: 1.2; object-fit: cover;
  border-radius: var(--pch-radius); border: 4px solid var(--pch-dark); display: block;
}
.pch-homepage .pch-why__badge-float {
  position: absolute; top: 24px; left: -20px;
  background: var(--pch-red); padding: 16px 20px;
  border-radius: var(--pch-radius); text-align: center;
}
.pch-homepage .pch-why__badge-num {
  font-family: var(--pch-hd); font-size: 2.2rem; font-weight: 900; line-height: 1; display: block;
}
.pch-homepage .pch-why__badge-lbl {
  font-size: .62rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
  opacity: .85; margin-top: 4px; display: block;
}
.pch-homepage .pch-why h2 {
  font-family: var(--pch-hd);
  font-size: clamp(2.6rem, 4.5vw, 4.2rem);
  font-weight: 900; line-height: .96; text-transform: uppercase;
  letter-spacing: -.01em; margin-bottom: 24px;
}
.pch-homepage .pch-why h2 span { color: var(--pch-red); display: block; }
.pch-homepage .pch-why__body {
  font-size: clamp(.9rem, 1.2vw, 1rem); line-height: 1.8;
  color: rgba(255,255,255,.65); margin-bottom: 32px;
}
.pch-homepage .pch-why__points {
  display: flex; flex-direction: column; gap: 16px; margin-bottom: 40px;
}
.pch-homepage .pch-why__point {
  display: flex; align-items: flex-start; gap: 14px;
  font-size: .9rem; color: rgba(255,255,255,.8);
}
.pch-homepage .pch-why__point-icon {
  width: 24px; height: 24px; flex-shrink: 0;
  background: rgba(196,18,48,.15); border-radius: 50%;
  display: flex; align-items: center; justify-content: center; margin-top: 1px;
}
.pch-homepage .pch-why__point-icon::after {
  content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--pch-red);
}
.pch-homepage .pch-why__certs {
  display: flex; flex-wrap: wrap; gap: 12px;
  padding-top: 32px; border-top: 1px solid rgba(255,255,255,.08); margin-top: 8px;
}
.pch-homepage .pch-why__cert {
  padding: 8px 18px;
  border: 1px solid rgba(255,255,255,.12); border-radius: 4px;
  font-size: .68rem; font-weight: 600;
  letter-spacing: .1em; text-transform: uppercase;
  color: var(--pch-gold);
}
@media (max-width: 800px) {
  .pch-homepage .pch-why__grid { grid-template-columns: 1fr; }
  .pch-homepage .pch-why__media { order: -1; }
  .pch-homepage .pch-why__img-accent { right: 0; bottom: -20px; }
}

/* ══════════════════════════════════════════════════════════════════════════ */
/*  SERVICE CARDS                                                              */
/* ══════════════════════════════════════════════════════════════════════════ */
.pch-homepage .pch-services { background: var(--pch-black); }
.pch-homepage .pch-services__header {
  text-align: center; margin-bottom: clamp(40px,6vw,72px);
}
.pch-homepage .pch-services h2 {
  font-family: var(--pch-hd);
  font-size: clamp(2.4rem,4.5vw,4rem);
  font-weight: 900; text-transform: uppercase; letter-spacing: -.01em; line-height: .96;
}
.pch-homepage .pch-services h2 em { font-style: normal; color: var(--pch-red); }
.pch-homepage .pch-services__grid {
  display: grid; grid-template-columns: repeat(3,1fr); gap: 2px;
}
.pch-homepage .pch-service-card {
  position: relative; overflow: hidden;
  aspect-ratio: .85; background: var(--pch-dark-2); cursor: pointer;
  border: 1px solid rgba(255,255,255,.06);
}
.pch-homepage .pch-service-card:nth-child(1) .pch-service-card__bg { background-color: #1a1010; }
.pch-homepage .pch-service-card:nth-child(2) .pch-service-card__bg { background-color: #0e1218; }
.pch-homepage .pch-service-card:nth-child(3) .pch-service-card__bg { background-color: #101510; }
.pch-homepage .pch-service-card:nth-child(4) .pch-service-card__bg { background-color: #121012; }
.pch-homepage .pch-service-card:nth-child(5) .pch-service-card__bg { background-color: #151210; }
.pch-homepage .pch-service-card:nth-child(6) .pch-service-card__bg { background-color: #0e1215; }
.pch-homepage .pch-service-card.pch-no-image .pch-service-card__bg {
  background-image:
    radial-gradient(circle at 18% 18%, rgba(196,18,48,.22), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.055), transparent 42%),
    repeating-linear-gradient(135deg, transparent, transparent 18px, rgba(255,255,255,.025) 18px, rgba(255,255,255,.025) 19px);
}
.pch-homepage .pch-service-card__bg {
  position: absolute; inset: 0;
  background-size: cover;
  background-position: var(--pch-roof-image-position, center 65%); background-position: center;
  transition: transform .8s var(--pch-ease);
}
.pch-homepage .pch-service-card:hover .pch-service-card__bg { transform: scale(1.06); }
.pch-homepage .pch-service-card__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(9,9,9,.92) 0%, rgba(9,9,9,.3) 50%, rgba(9,9,9,.05) 100%);
  transition: background .4s;
}
.pch-homepage .pch-service-card.pch-no-image .pch-service-card__overlay {
  background: linear-gradient(to top, rgba(9,9,9,.96), rgba(9,9,9,.58));
}
.pch-homepage .pch-service-card:hover .pch-service-card__overlay {
  background: linear-gradient(to top, rgba(9,9,9,.95) 0%, rgba(9,9,9,.5) 60%, rgba(9,9,9,.15) 100%);
}
.pch-homepage .pch-service-card__content {
  position: absolute; bottom: 0; left: 0; right: 0;
  padding: clamp(20px,3vw,36px);
}
.pch-homepage .pch-service-card__num {
  font-family: var(--pch-hd); font-size: .75rem; font-weight: 700;
  letter-spacing: .18em; color: var(--pch-gold); display: block; margin-bottom: 10px;
}
.pch-homepage .pch-service-card h3 {
  font-family: var(--pch-hd);
  font-size: clamp(1.6rem,2.5vw,2.2rem);
  font-weight: 900; text-transform: uppercase; line-height: 1; margin-bottom: 10px;
  color: var(--pch-white);
}
.pch-homepage .pch-service-card__desc {
  font-size: .82rem; color: rgba(255,255,255,.78); line-height: 1.6;
  max-height: 96px; overflow: hidden; opacity: .92;
  transition: max-height .5s var(--pch-ease), opacity .4s;
}
.pch-homepage .pch-service-card:hover .pch-service-card__desc { max-height: 140px; opacity: 1; }
.pch-homepage .pch-service-card__arrow {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: .72rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase;
  color: var(--pch-gold); margin-top: 16px;
  opacity: .9; transform: translateY(0);
  transition: opacity .3s, transform .3s var(--pch-ease);
}
.pch-homepage .pch-service-card__arrow::after { content: '→'; font-size: 1rem; }
.pch-homepage .pch-service-card:hover .pch-service-card__arrow { opacity: 1; transform: translateY(0); }
@media (max-width: 860px) {
  .pch-homepage .pch-services__grid { grid-template-columns: repeat(2,1fr); }
  .pch-homepage .pch-service-card { aspect-ratio: 1; }
}
@media (max-width: 540px) {
  .pch-homepage .pch-services__grid { grid-template-columns: 1fr; }
  .pch-homepage .pch-service-card { aspect-ratio: 1.3; }
}

/* ══════════════════════════════════════════════════════════════════════════ */
/*  WATER MANAGEMENT                                                           */
/* ══════════════════════════════════════════════════════════════════════════ */
.pch-homepage .pch-water {
  background: var(--pch-dark-2); position: relative; overflow: hidden;
}
.pch-homepage .pch-water::before {
  content: 'WATER';
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%,-50%);
  font-family: var(--pch-hd); font-size: 22vw; font-weight: 900;
  color: rgba(255,255,255,.025); pointer-events: none; white-space: nowrap;
}
.pch-homepage .pch-water__grid {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: clamp(40px,6vw,100px); align-items: center;
  position: relative; z-index: 1;
}
.pch-homepage .pch-water h2 {
  font-family: var(--pch-hd);
  font-size: clamp(2.6rem,4.5vw,4.2rem);
  font-weight: 900; text-transform: uppercase; line-height: .96;
  margin-bottom: 24px; letter-spacing: -.01em;
}
.pch-homepage .pch-water h2 em { color: var(--pch-red); font-style: normal; }
.pch-homepage .pch-water__body {
  font-size: .95rem; line-height: 1.8; color: rgba(255,255,255,.78); margin-bottom: 36px;
}
.pch-homepage .pch-water__features {
  display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 40px;
}
.pch-homepage .pch-water__feature {
  padding: 20px; background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: var(--pch-radius); border-left: 3px solid var(--pch-red);
}
.pch-homepage .pch-water__feature h4 {
  font-family: var(--pch-hd); font-size: 1rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .04em; margin-bottom: 8px;
}
.pch-homepage .pch-water__feature p {
  font-size: .78rem; color: rgba(255,255,255,.74); line-height: 1.6;
}
.pch-homepage .pch-water__video-frame {
  width: 100%; aspect-ratio: .88;
  background: var(--pch-dark-3); border-radius: var(--pch-radius-lg);
  overflow: hidden; position: relative;
  background-image:
    radial-gradient(circle at 28% 20%, rgba(196,18,48,.18), transparent 34%),
    repeating-linear-gradient(135deg, transparent, transparent 15px, rgba(255,255,255,.025) 15px, rgba(255,255,255,.025) 30px);
}
.pch-homepage .pch-water__video {
  position: absolute; inset: 0;
  width: 100%; height: 100%; object-fit: cover;
  background: var(--pch-black);
}
.pch-homepage .pch-water__play-btn {
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%,-50%);
  width: 72px; height: 72px; border-radius: 50%;
  background: rgba(196,18,48,.9); backdrop-filter: blur(8px);
  border: 2px solid rgba(255,255,255,.2);
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; transition: transform .3s, background .3s;
}
.pch-homepage .pch-water__play-btn:hover { transform: translate(-50%,-50%) scale(1.1); background: var(--pch-red); }
.pch-homepage .pch-water__play-btn::after {
  content: ''; width: 0; height: 0;
  border-style: solid; border-width: 10px 0 10px 18px;
  border-color: transparent transparent transparent white; margin-left: 4px;
}
.pch-homepage .pch-water__video-label {
  position: absolute; bottom: 20px; left: 20px;
  font-size: .65rem; font-weight: 600; letter-spacing: .14em;
  text-transform: uppercase; color: rgba(255,255,255,.82);
  background: rgba(9,9,9,.72); padding: 8px 10px; border-radius: 3px;
}
.pch-homepage .pch-water__stat-strip {
  display: grid; grid-template-columns: repeat(3,1fr);
  gap: 1px; background: rgba(255,255,255,.06);
  border-radius: var(--pch-radius); overflow: hidden; margin-top: 16px;
}
.pch-homepage .pch-water__stat-item {
  background: var(--pch-dark-2); padding: 16px 12px; text-align: center;
}
.pch-homepage .pch-water__stat-item strong {
  font-family: var(--pch-hd); font-size: 1.6rem; font-weight: 900;
  color: var(--pch-red); display: block; line-height: 1;
}
.pch-homepage .pch-water__stat-item span {
  font-size: .65rem; color: rgba(255,255,255,.74); letter-spacing: .1em; text-transform: uppercase;
}
@media (max-width: 800px) {
  .pch-homepage .pch-water__grid { grid-template-columns: 1fr; }
  .pch-homepage .pch-water__features { grid-template-columns: 1fr; }
}

/* ══════════════════════════════════════════════════════════════════════════ */
/*  ROOFING AUTHORITY                                                          */
/* ══════════════════════════════════════════════════════════════════════════ */
.pch-homepage .pch-roofing { background: var(--pch-black); }
.pch-homepage .pch-roofing__header {
  display: grid; grid-template-columns: 1fr auto;
  align-items: end; gap: 40px;
  margin-bottom: clamp(40px,6vw,72px);
}
.pch-homepage .pch-roofing h2 {
  font-family: var(--pch-hd);
  font-size: clamp(2.6rem,4.5vw,4.2rem);
  font-weight: 900; text-transform: uppercase; line-height: .96;
}
.pch-homepage .pch-roofing h2 span { color: var(--pch-red); display: block; }
.pch-homepage .pch-cert-badge {
  padding: 16px 24px;
  border: 1px solid rgba(200,168,75,.25); border-radius: var(--pch-radius);
  text-align: center; white-space: nowrap;
}
.pch-homepage .pch-cert-badge__label {
  font-size: .62rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
  color: var(--pch-gold); display: block; margin-bottom: 4px;
}
.pch-homepage .pch-cert-badge__title {
  font-family: var(--pch-hd); font-size: 1rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .06em;
}
.pch-homepage .pch-roofing__types {
  display: grid; grid-template-columns: repeat(5,1fr); gap: 2px;
}
.pch-homepage .pch-roof-type {
  position: relative; overflow: hidden;
  aspect-ratio: .7; background: var(--pch-dark-2); cursor: pointer;
}
.pch-homepage .pch-roof-type:nth-child(1) .pch-roof-type__bg { background: linear-gradient(145deg,#1a1012,#0d0d0d); }
.pch-homepage .pch-roof-type:nth-child(2) .pch-roof-type__bg { background: linear-gradient(145deg,#0e1418,#0d0d0d); }
.pch-homepage .pch-roof-type:nth-child(3) .pch-roof-type__bg { background: linear-gradient(145deg,#121218,#0d0d0d); }
.pch-homepage .pch-roof-type:nth-child(4) .pch-roof-type__bg { background: linear-gradient(145deg,#151210,#0d0d0d); }
.pch-homepage .pch-roof-type:nth-child(5) .pch-roof-type__bg { background: linear-gradient(145deg,#101510,#0d0d0d); }
.pch-homepage .pch-roof-type__bg {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  transition: transform .6s var(--pch-ease);
}
.pch-homepage .pch-roof-type:hover .pch-roof-type__bg { transform: scale(1.08); }
.pch-homepage .pch-roof-type__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(9,9,9,.9) 0%, rgba(9,9,9,.2) 100%);
}
.pch-homepage .pch-roof-type__content {
  position: absolute; bottom: 0; left: 0; right: 0; padding: 20px 16px;
}
.pch-homepage .pch-roof-type h3 {
  font-family: var(--pch-hd); font-size: 1.1rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: .02em; margin-bottom: 6px;
}
.pch-homepage .pch-roof-type p {
  font-size: .7rem; color: rgba(255,255,255,.5); line-height: 1.5;
  max-height: 0; overflow: hidden; transition: max-height .4s, opacity .3s; opacity: 0;
}
.pch-homepage .pch-roof-type:hover p { max-height: 60px; opacity: 1; }
@media (max-width: 860px) {
  .pch-homepage .pch-roofing__types { grid-template-columns: repeat(3,1fr); }
  .pch-homepage .pch-roofing__header { grid-template-columns: 1fr; }
}
@media (max-width: 540px) { .pch-homepage .pch-roofing__types { grid-template-columns: repeat(2,1fr); } }

/* ══════════════════════════════════════════════════════════════════════════ */
/*  GUTTER AUTHORITY                                                           */
/* ══════════════════════════════════════════════════════════════════════════ */
.pch-homepage .pch-gutters { background: var(--pch-dark); }
.pch-homepage .pch-gutters__grid {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: clamp(40px,6vw,100px); align-items: center;
}
.pch-homepage .pch-gutters h2 {
  font-family: var(--pch-hd);
  font-size: clamp(2.6rem,4.5vw,4.2rem);
  font-weight: 900; text-transform: uppercase; line-height: .96; margin-bottom: 24px;
}
.pch-homepage .pch-gutters h2 span { color: var(--pch-red); display: block; }
.pch-homepage .pch-gutters__body {
  font-size: .95rem; line-height: 1.8; color: rgba(255,255,255,.65); margin-bottom: 32px;
}
.pch-homepage .pch-gutters__specs {
  display: flex; flex-direction: column; gap: 14px; margin-bottom: 40px;
}
.pch-homepage .pch-gutters__spec {
  display: flex; align-items: center; gap: 14px;
  padding: 16px 20px; background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.06); border-radius: var(--pch-radius);
}
.pch-homepage .pch-spec-icon {
  width: 36px; height: 36px; flex-shrink: 0;
  background: rgba(196,18,48,.15); border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
}
.pch-homepage .pch-spec-icon::after {
  content: ''; width: 10px; height: 10px; border-radius: 50%; background: var(--pch-red);
}
.pch-homepage .pch-spec-label {
  font-family: var(--pch-hd); font-size: 1rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .04em;
}
.pch-homepage .pch-spec-sub { font-size: .76rem; color: rgba(255,255,255,.45); margin-top: 2px; }
.pch-homepage .pch-gutters__media { position: relative; }
.pch-homepage .pch-gutters__img {
  width: 100%; aspect-ratio: .85; object-fit: cover;
  border-radius: 10px; display: block;
  background: linear-gradient(135deg,#0a1018,#150810);
}
.pch-homepage .pch-gutters__warranty {
  position: absolute; bottom: -20px; left: 50%; transform: translateX(-50%);
  background: var(--pch-red); padding: 14px 28px;
  border-radius: var(--pch-radius); text-align: center; white-space: nowrap;
}
.pch-homepage .pch-warranty-title {
  font-family: var(--pch-hd); font-size: 1rem; font-weight: 900;
  text-transform: uppercase; letter-spacing: .06em; display: block;
}
.pch-homepage .pch-warranty-sub {
  font-size: .62rem; font-weight: 600; letter-spacing: .14em;
  text-transform: uppercase; color: rgba(255,255,255,.75); display: block;
}
@media (max-width: 800px) {
  .pch-homepage .pch-gutters__grid { grid-template-columns: 1fr; }
  .pch-homepage .pch-gutters__media { padding-bottom: 40px; }
}

/* ══════════════════════════════════════════════════════════════════════════ */
/*  PROJECT GALLERY                                                            */
/* ══════════════════════════════════════════════════════════════════════════ */
.pch-homepage .pch-gallery { background: var(--pch-dark-2); }
.pch-homepage .pch-gallery__header {
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: 20px; flex-wrap: wrap;
  margin-bottom: clamp(32px,5vw,56px);
}
.pch-homepage .pch-gallery h2 {
  font-family: var(--pch-hd);
  font-size: clamp(2.4rem,4.5vw,4rem);
  font-weight: 900; text-transform: uppercase; line-height: .96;
}
.pch-homepage .pch-gallery__filters { display: flex; gap: 4px; flex-wrap: wrap; }
.pch-homepage .pch-gal-filter {
  padding: 10px 20px; background: transparent;
  border: 1px solid rgba(255,255,255,.15); border-radius: 40px;
  font-family: var(--pch-body); font-size: .72rem; font-weight: 600;
  letter-spacing: .1em; text-transform: uppercase;
  color: rgba(255,255,255,.6); cursor: pointer; transition: all .2s;
}
.pch-homepage .pch-gal-filter:hover,
.pch-homepage .pch-gal-filter.active {
  background: var(--pch-red); border-color: var(--pch-red); color: var(--pch-white);
}
.pch-homepage .pch-gallery__grid {
  display: grid; grid-template-columns: repeat(12,1fr);
  grid-auto-rows: 220px; gap: 4px;
}
.pch-homepage .pch-gallery-item { overflow: hidden; background: var(--pch-dark-2); position: relative; cursor: pointer; }
.pch-homepage .pch-gallery-item.pch-no-image {
  border: 1px solid rgba(255,255,255,.08);
}
.pch-homepage .pch-gallery-item:nth-child(1) { grid-column: span 5; grid-row: span 2; }
.pch-homepage .pch-gallery-item:nth-child(2) { grid-column: span 4; }
.pch-homepage .pch-gallery-item:nth-child(3) { grid-column: span 3; }
.pch-homepage .pch-gallery-item:nth-child(4) { grid-column: span 3; }
.pch-homepage .pch-gallery-item:nth-child(5) { grid-column: span 4; }
.pch-homepage .pch-gallery-item:nth-child(6) { grid-column: span 4; grid-row: span 2; }
.pch-homepage .pch-gallery-item:nth-child(7) { grid-column: span 3; }
.pch-homepage .pch-gallery-item:nth-child(8) { grid-column: span 5; }
.pch-homepage .pch-gallery-item__bg {
  position: absolute; inset: 0;
  background: var(--pch-dark-3); background-size: cover; background-position: center;
  transition: transform .7s var(--pch-ease);
}
.pch-homepage .pch-gallery-item.pch-no-image .pch-gallery-item__bg {
  background:
    radial-gradient(circle at 20% 20%, rgba(200,168,75,.16), transparent 32%),
    linear-gradient(135deg, rgba(196,18,48,.18), rgba(255,255,255,.035)),
    repeating-linear-gradient(45deg, transparent, transparent 16px, rgba(255,255,255,.025) 16px, rgba(255,255,255,.025) 17px);
}
.pch-homepage .pch-gallery-item:hover .pch-gallery-item__bg { transform: scale(1.05); }
.pch-homepage .pch-gallery-item__overlay {
  position: absolute; inset: 0; background: linear-gradient(to top, rgba(9,9,9,.68), rgba(9,9,9,.08)); transition: background .3s;
}
.pch-homepage .pch-gallery-item:hover .pch-gallery-item__overlay { background: rgba(9,9,9,.45); }
.pch-homepage .pch-gallery-item__label {
  position: absolute; bottom: 0; left: 0; right: 0;
  padding: 12px 16px;
  background: linear-gradient(to top, rgba(9,9,9,.8), transparent);
  font-size: .7rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase;
  color: rgba(255,255,255,.86);
  transform: translateY(0); transition: transform .3s var(--pch-ease);
}
.pch-homepage .pch-gallery-item:hover .pch-gallery-item__label { transform: translateY(0); }
.pch-homepage .pch-gallery__cta { text-align: center; margin-top: 40px; }
@media (max-width: 860px) {
  .pch-homepage .pch-gallery__grid { grid-template-columns: repeat(6,1fr); grid-auto-rows: 180px; }
  .pch-homepage .pch-gallery-item:nth-child(1) { grid-column: span 6; grid-row: span 1; }
  .pch-homepage .pch-gallery-item:nth-child(2) { grid-column: span 3; }
  .pch-homepage .pch-gallery-item:nth-child(3) { grid-column: span 3; }
  .pch-homepage .pch-gallery-item:nth-child(4) { grid-column: span 4; }
  .pch-homepage .pch-gallery-item:nth-child(5) { grid-column: span 2; }
  .pch-homepage .pch-gallery-item:nth-child(6) { grid-column: span 3; grid-row: span 1; }
  .pch-homepage .pch-gallery-item:nth-child(7) { grid-column: span 3; }
  .pch-homepage .pch-gallery-item:nth-child(8) { grid-column: span 6; }
}

/* ══════════════════════════════════════════════════════════════════════════ */
/*  REVIEWS                                                                    */
/* ══════════════════════════════════════════════════════════════════════════ */
.pch-homepage .pch-reviews { background: var(--pch-dark); }
.pch-homepage .pch-reviews__header { text-align: center; margin-bottom: clamp(36px,5vw,64px); }
.pch-homepage .pch-reviews h2 {
  font-family: var(--pch-hd);
  font-size: clamp(2.4rem,4.5vw,4rem);
  font-weight: 900; text-transform: uppercase; line-height: .96;
}
.pch-homepage .pch-reviews__rating-row {
  display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 16px;
}
.pch-homepage .pch-reviews__stars { color: #FFB800; font-size: 1.2rem; letter-spacing: 2px; }
.pch-homepage .pch-reviews__score {
  font-family: var(--pch-hd); font-size: 1.6rem; font-weight: 900;
}
.pch-homepage .pch-reviews__count { font-size: .78rem; color: rgba(255,255,255,.45); }
.pch-homepage .pch-reviews__track {
  display: flex; gap: 20px; overflow-x: auto;
  scroll-snap-type: x mandatory; scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch; padding-bottom: 16px; scrollbar-width: none;
}
.pch-homepage .pch-reviews__track::-webkit-scrollbar { display: none; }
.pch-homepage .pch-review-card {
  flex-shrink: 0; width: clamp(280px,35vw,400px); scroll-snap-align: start;
  background: var(--pch-dark-2);
  border: 1px solid rgba(255,255,255,.06); border-radius: var(--pch-radius-lg);
  padding: 28px; transition: border-color .3s;
}
.pch-homepage .pch-review-card:hover { border-color: rgba(196,18,48,.3); }
.pch-homepage .pch-review-card__stars { color: #FFB800; margin-bottom: 14px; }
.pch-homepage .pch-review-card__text {
  font-size: .88rem; line-height: 1.75; color: rgba(255,255,255,.82);
  margin-bottom: 20px; font-style: italic;
}
.pch-homepage .pch-review-card__text::before { content: '\201C'; }
.pch-homepage .pch-review-card__text::after  { content: '\201D'; }
.pch-homepage .pch-review-card__author { display: flex; align-items: center; gap: 12px; }
.pch-homepage .pch-review-card__avatar {
  width: 40px; height: 40px; border-radius: 50%; background: var(--pch-red);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--pch-hd); font-size: 1.1rem; font-weight: 800; flex-shrink: 0;
}
.pch-homepage .pch-review-card__name { font-size: .88rem; font-weight: 600; color: var(--pch-white); }
.pch-homepage .pch-review-card__meta { font-size: .72rem; color: rgba(255,255,255,.68); }
.pch-homepage .pch-review-card__source {
  margin-left: auto; font-size: .65rem; font-weight: 700;
  letter-spacing: .06em; color: rgba(255,255,255,.58);
}
.pch-homepage .pch-reviews__nav { display: flex; justify-content: center; gap: 12px; margin-top: 32px; }
.pch-homepage .pch-rev-btn {
  width: 44px; height: 44px; border-radius: 50%;
  border: 1px solid rgba(255,255,255,.15); background: transparent;
  color: var(--pch-white); cursor: pointer; display: flex; align-items: center;
  justify-content: center; font-size: 1.2rem; transition: all .2s;
}
.pch-homepage .pch-rev-btn:hover { background: var(--pch-red); border-color: var(--pch-red); }

/* ══════════════════════════════════════════════════════════════════════════ */
/*  SERVICE AREAS                                                              */
/* ══════════════════════════════════════════════════════════════════════════ */
.pch-homepage .pch-area { background: var(--pch-black); }
.pch-homepage .pch-area__grid {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: clamp(40px,6vw,100px); align-items: center;
}
.pch-homepage .pch-area h2 {
  font-family: var(--pch-hd);
  font-size: clamp(2.4rem,4vw,3.8rem);
  font-weight: 900; text-transform: uppercase; line-height: .96; margin-bottom: 20px;
}
.pch-homepage .pch-area h2 em { color: var(--pch-red); font-style: normal; }
.pch-homepage .pch-area__body {
  font-size: .95rem; line-height: 1.8; color: rgba(255,255,255,.78); margin-bottom: 32px;
}
.pch-homepage .pch-area__region-label {
  font-size: .7rem; font-weight: 600; letter-spacing: .14em;
  text-transform: uppercase; color: var(--pch-gold); margin: 16px 0 8px;
}
.pch-homepage .pch-area__cities { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.pch-homepage .pch-city-chip {
  display: inline-block; padding: 6px 16px;
  border: 1px solid rgba(255,255,255,.12); border-radius: 40px;
  font-size: .72rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase;
  color: rgba(255,255,255,.82); transition: all .2s;
}
.pch-homepage .pch-city-chip:hover,
.pch-homepage a.pch-city-chip:hover {
  border-color: var(--pch-red); color: var(--pch-white); background: rgba(196,18,48,.1);
}
.pch-homepage .pch-city-chip--primary {
  border-color: rgba(255,255,255,.22); color: rgba(255,255,255,.78);
}
.pch-homepage .pch-area__map {
  width: 100%; aspect-ratio: 1.1;
  background: var(--pch-dark-2); border-radius: var(--pch-radius-lg);
  overflow: hidden; border: 1px solid rgba(255,255,255,.06);
}
.pch-homepage .pch-area__map iframe {
  width: 100%; height: 100%; border: none;
  filter: invert(1) hue-rotate(200deg) saturate(.6) brightness(.7);
}
@media (max-width: 800px) { .pch-homepage .pch-area__grid { grid-template-columns: 1fr; } }

/* ══════════════════════════════════════════════════════════════════════════ */
/*  FAQ                                                                        */
/* ══════════════════════════════════════════════════════════════════════════ */
.pch-homepage .pch-faq { background: var(--pch-dark-2); }
.pch-homepage .pch-faq__grid {
  display: grid; grid-template-columns: 1fr 1.4fr;
  gap: clamp(40px,6vw,100px); align-items: start;
}
.pch-homepage .pch-faq__left { position: sticky; top: 100px; }
.pch-homepage .pch-faq h2 {
  font-family: var(--pch-hd);
  font-size: clamp(2.6rem,4.5vw,4.2rem);
  font-weight: 900; text-transform: uppercase; line-height: .96; margin-bottom: 20px;
}
.pch-homepage .pch-faq h2 span { color: var(--pch-red); display: block; }
.pch-homepage .pch-faq__sub {
  font-size: .95rem; line-height: 1.8; color: rgba(255,255,255,.78); margin-bottom: 32px;
}
.pch-homepage .pch-faq__items { display: flex; flex-direction: column; }
.pch-homepage .pch-faq__item { border-bottom: 1px solid rgba(255,255,255,.06); overflow: hidden; }
.pch-homepage .pch-faq__q {
  width: 100%; background: none; border: none; color: rgba(255,255,255,.9);
  text-align: left; padding: 22px 0;
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  font-family: var(--pch-body); font-size: .95rem; font-weight: 600;
  cursor: pointer; transition: color .2s;
}
.pch-homepage .pch-faq__q:hover { color: var(--pch-red); }
.pch-homepage .pch-faq__icon {
  width: 28px; height: 28px; border-radius: 50%;
  border: 1px solid rgba(255,255,255,.15);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; font-size: 1.1rem; transition: all .3s;
}
.pch-homepage .pch-faq__item.pch-open .pch-faq__q .pch-faq__icon {
  background: var(--pch-red); border-color: var(--pch-red); transform: rotate(45deg);
}
.pch-homepage .pch-faq__a {
  font-size: .88rem; line-height: 1.8; color: rgba(255,255,255,.76);
  max-height: 0; overflow: hidden;
  transition: max-height .5s var(--pch-ease), padding .4s;
}
.pch-homepage .pch-faq__item.pch-open .pch-faq__a { max-height: 320px; padding-bottom: 20px; }
@media (max-width: 800px) {
  .pch-homepage .pch-faq__grid { grid-template-columns: 1fr; }
  .pch-homepage .pch-faq__left { position: static; }
}

/* ══════════════════════════════════════════════════════════════════════════ */
/*  FINAL CTA                                                                  */
/* ══════════════════════════════════════════════════════════════════════════ */
.pch-homepage .pch-final-cta {
  position: relative;
  padding: clamp(100px,14vw,180px) clamp(20px,5vw,80px);
  text-align: center; overflow: hidden;
}
.pch-homepage .pch-final-cta__bg {
  position: absolute; inset: 0; z-index: 0;
  background: linear-gradient(135deg, #0d0d0d 0%, #1a0305 50%, #0d0d0d 100%);
}
.pch-homepage .pch-final-cta__bg::after {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(ellipse at center, rgba(196,18,48,.12) 0%, transparent 70%);
}
.pch-homepage .pch-final-cta__content {
  position: relative; z-index: 1; max-width: 860px; margin: 0 auto;
}
.pch-homepage .pch-final-cta h2 {
  font-family: var(--pch-hd);
  font-size: clamp(3.2rem,7vw,7.5rem);
  font-weight: 900; text-transform: uppercase;
  line-height: .92; letter-spacing: -.02em; margin-bottom: 20px;
}
.pch-homepage .pch-final-cta h2 em { color: var(--pch-red); font-style: normal; }
.pch-homepage .pch-final-cta__sub {
  font-size: clamp(.9rem,1.4vw,1.1rem); line-height: 1.7;
  color: rgba(255,255,255,.78); margin-bottom: 48px;
}
.pch-homepage .pch-final-cta__ctas {
  display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; margin-bottom: 40px;
}
.pch-homepage .pch-final-cta__phone-label {
  font-size: .7rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase;
  color: rgba(255,255,255,.66); margin-bottom: 8px; display: block;
}
.pch-homepage .pch-final-cta__phone {
  font-family: var(--pch-hd);
  font-size: clamp(2rem,4vw,3.5rem);
  font-weight: 900; letter-spacing: .04em;
  color: var(--pch-white); transition: color .2s; display: block; margin-top: 16px;
}
.pch-homepage .pch-final-cta__phone:hover { color: var(--pch-red); }
.pch-homepage .pch-final-cta__hours {
  font-size: .75rem; color: rgba(255,255,255,.66); letter-spacing: .06em; margin-top: 20px;
}

/* ══════════════════════════════════════════════════════════════════════════ */
/*  MOBILE STICKY CTA                                                          */
/* ══════════════════════════════════════════════════════════════════════════ */
.pch-homepage .pch-mobile-cta {
  display: none; position: fixed; bottom: 0; left: 0; right: 0; z-index: 30;
  padding: 12px 20px; background: var(--pch-red); text-align: center;
  font-family: var(--pch-hd); font-size: 1.2rem; font-weight: 800;
  letter-spacing: .06em; color: var(--pch-white);
}
@media (max-width: 640px) { .pch-homepage .pch-mobile-cta { display: block; } }

/* ══════════════════════════════════════════════════════════════════════════ */
/*  RESPONSIVE MISC                                                            */
/* ══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 640px) {
  .pch-homepage .pch-hero__ctas        { flex-direction: column; }
  .pch-homepage .pch-hero__ctas .pch-btn { width: 100%; justify-content: center; }
  .pch-homepage .pch-final-cta__ctas   { flex-direction: column; }
  .pch-homepage .pch-final-cta__ctas .pch-btn { width: 100%; justify-content: center; }
}
