/* EPC page only. Existing typography is inherited unchanged. */
.epc-page-solar-epc-solutions {
  --epc-accent: #ef2b25;
  --epc-border: rgba(17, 24, 39, .09);
  --epc-shadow: 0 22px 55px rgba(17, 24, 39, .09);
}

.epc-page-solar-epc-solutions .epc-corporate-hero {
  position: relative;
  overflow: hidden;
  background: radial-gradient(circle at 88% 18%, rgba(239,43,37,.08), transparent 27%), linear-gradient(135deg, #fff 0%, #fbfbfb 55%, #fff5f4 100%);
}

.epc-page-solar-epc-solutions .epc-corporate-hero::after {
  content: "";
  position: absolute;
  right: -90px;
  bottom: -150px;
  width: 340px;
  height: 340px;
  border: 1px solid rgba(239,43,37,.12);
  border-radius: 50%;
  box-shadow: 0 0 0 38px rgba(239,43,37,.025), 0 0 0 76px rgba(239,43,37,.018);
  pointer-events: none;
}

.epc-page-solar-epc-solutions .epc-corporate-hero-grid { position: relative; z-index: 1; }

.epc-page-solar-epc-solutions .epc-corporate-hero-image,
.epc-page-solar-epc-solutions .epc-service-photo-grid figure {
  overflow: hidden;
  border: 1px solid var(--epc-border);
  box-shadow: var(--epc-shadow);
}

.epc-page-solar-epc-solutions .epc-corporate-hero-image {
  transition: transform .35s ease, box-shadow .35s ease;
}

.epc-page-solar-epc-solutions .epc-corporate-hero-image img {
  content: url("images/solar-epc-banner.jpg");
}

.epc-page-solar-epc-solutions .epc-corporate-hero-image:hover {
  transform: translateY(-5px);
  box-shadow: 0 28px 65px rgba(17,24,39,.13);
}

.epc-page-solar-epc-solutions .epc-corporate-content {
  background: linear-gradient(180deg, rgba(255,255,255,0), rgba(239,43,37,.025) 48%, rgba(255,255,255,0));
}

.epc-page-solar-epc-solutions .epc-editor-card-grid article {
  border: 1px solid var(--epc-border);
  background: linear-gradient(145deg, #fff 0%, #fff 70%, #fff6f5 100%);
  box-shadow: 0 16px 42px rgba(17,24,39,.07);
}

.epc-page-solar-epc-solutions .epc-editor-intro {
  position: relative;
  border: 0;
  border-bottom: 1px solid var(--epc-border);
  background: transparent;
  box-shadow: none;
}

.epc-page-solar-epc-solutions .epc-editor-intro::before {
  content: "";
  position: absolute;
  top: 0;
  left: -28px;
  width: 4px;
  height: 72px;
  border-radius: 4px;
  background: var(--epc-accent);
  box-shadow: 0 12px 28px rgba(239,43,37,.2);
}

.epc-page-solar-epc-solutions .epc-editor-intro::after {
  content: "";
  position: absolute;
  right: 1%;
  top: 50%;
  width: min(57%, 760px);
  height: 300px;
  background: url("images/epc-line-city-user-v3.png") center / contain no-repeat;
  opacity: 1;
  transform: translateY(-50%);
  pointer-events: none;
}

.epc-page-solar-epc-solutions .epc-editor-card-grid article {
  position: relative;
  overflow: hidden;
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.epc-page-solar-epc-solutions .epc-editor-card-grid article::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: var(--epc-accent);
  transform: scaleY(.35);
  transition: transform .3s ease;
}

.epc-page-solar-epc-solutions .epc-editor-card-grid article:hover {
  transform: translateY(-6px);
  border-color: rgba(239,43,37,.2);
  box-shadow: 0 24px 55px rgba(17,24,39,.11);
}

.epc-page-solar-epc-solutions .epc-editor-card-grid article:hover::before { transform: scaleY(1); }

.epc-page-solar-epc-solutions .epc-editor-application-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.epc-page-solar-epc-solutions .epc-editor-application-grid a {
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 18px 44px rgba(17,24,39,.16);
  transition: transform .35s ease, box-shadow .35s ease;
}

.epc-page-solar-epc-solutions .epc-editor-application-grid a::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(145deg, transparent 42%, rgba(239,43,37,.2));
  opacity: 0;
  transition: opacity .35s ease;
  pointer-events: none;
}

.epc-page-solar-epc-solutions .epc-editor-application-grid a:hover {
  transform: translateY(-7px);
  box-shadow: 0 28px 58px rgba(17,24,39,.22);
}

.epc-page-solar-epc-solutions .epc-editor-application-grid a:hover::after { opacity: 1; }
.epc-page-solar-epc-solutions .epc-editor-application-grid strong { z-index: 2; }

.epc-page-solar-epc-solutions .epc-corporate-enquiry {
  border: 1px solid rgba(239,43,37,.12);
  box-shadow: 0 22px 56px rgba(17,24,39,.08);
}

@media (max-width: 767px) {
  .epc-page-solar-epc-solutions .epc-editor-application-grid { grid-template-columns: 1fr; gap: 18px; }
  .epc-page-solar-epc-solutions .epc-corporate-hero::after { width: 220px; height: 220px; right: -110px; bottom: -100px; }
  .epc-page-solar-epc-solutions .epc-editor-intro::before { left: -14px; height: 54px; }
  .epc-page-solar-epc-solutions .epc-editor-intro::after { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .epc-page-solar-epc-solutions .epc-corporate-hero-image,
  .epc-page-solar-epc-solutions .epc-editor-card-grid article,
  .epc-page-solar-epc-solutions .epc-editor-application-grid a,
  .epc-page-solar-epc-solutions .epc-editor-application-grid a::after { transition: none; }
}
