/* ===== EDISON — "OVER 50 YEARS" EXPERIENCE SECTION ===== */

.ecx-experience{

  --ecx-container:1300px;

  --ecx-gutter:40px;

  --ecx-maroon:#801330;

  --ecx-heading:#231F20;

  --ecx-body:#414042;

  width:100%;

  background:transparent;

  padding:60px 0;

}

.ecx-experience *{

  box-sizing:border-box;

}

.ecx-experience-inner{

  width:100%;

  max-width:var(--ecx-container);

  margin:0 auto;

  padding:0 var(--ecx-gutter);

  display:flex;

  align-items:flex-start;

  justify-content:center;

  gap:60px;

}

/* ---------- Left: the big stat ---------- */

.ecx-experience .ecx-stat{

  flex:0 0 auto;

  display:block;

}

.ecx-experience .ecx-stat-over{

  display:block;

  color:var(--ecx-heading);

  font-size:26px;

  font-weight:400;

  line-height:1;

  margin:0 0 2px;

}

.ecx-experience .ecx-stat-row{

  display:flex;

  align-items:flex-end;

  gap:12px;

  margin:0;

}

.ecx-experience .ecx-stat-num{

  display:block;

  color:var(--ecx-maroon);

  font-size:96px;

  font-weight:800;

  line-height:.88;

  letter-spacing:-3px;

  margin:0;

}

.ecx-experience .ecx-stat-label{

  display:block;

  color:var(--ecx-heading);

  font-size:30px;

  font-weight:400;

  line-height:1.15;

  padding-bottom:6px;

  margin:0;

}

.ecx-experience .ecx-stat-label span{

  display:block;

}

/* ---------- Right: paragraph ---------- */

.ecx-experience .ecx-experience-copy{

  flex:1 1 auto;

  max-width:640px;

}

.ecx-experience .ecx-experience-copy p{

  color:var(--ecx-body);

  font-size:13px;

  line-height:1.75;

  margin:0;

}

/* ---------- Responsive ---------- */

@media (max-width:1024px){

  .ecx-experience{

    --ecx-gutter:24px;

    padding:48px 0;

  }

  .ecx-experience-inner{

    gap:36px;

  }

  .ecx-experience .ecx-stat-num{

    font-size:78px;

    letter-spacing:-2px;

  }

  .ecx-experience .ecx-stat-over{

    font-size:22px;

  }

  .ecx-experience .ecx-stat-label{

    font-size:25px;

  }

}

@media (max-width:768px){

  .ecx-experience-inner{

    flex-direction:column;

    align-items:flex-start;

    gap:24px;

  }

  .ecx-experience .ecx-experience-copy{

    max-width:100%;

  }

  .ecx-experience .ecx-experience-copy p{

    font-size:14px;

    line-height:1.7;

  }

}

@media (max-width:600px){

  .ecx-experience{

    --ecx-gutter:16px;

    padding:38px 0;

  }

  .ecx-experience .ecx-stat-num{

    font-size:66px;

    letter-spacing:-1.5px;

  }

  .ecx-experience .ecx-stat-over{

    font-size:19px;

  }

  .ecx-experience .ecx-stat-label{

    font-size:21px;

  }

  .ecx-experience .ecx-stat-row{

    gap:9px;

  }

}

/* ===== WHY EDISON / EDISON EDGE ===== */
#ec-why-root *, #ec-why-root *::before, #ec-why-root *::after {

  margin: 0; padding: 0; box-sizing: border-box;

}

#ec-why-root {

  display: block;

  font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

  background: #f8f9fa;

  width: 100%;

}

/* ── Section wrapper ── */

#ec-why-root .ec-w-wrap {

  padding: 64px 24px 80px;

  max-width: 1280px;

  margin: 0 auto;

}

/* ── Header ── */

#ec-why-root .ec-w-eyebrow {

  font-size: 11px;

  font-weight: 600;

  letter-spacing: 0.2em;

  text-transform: uppercase;

  color: #9f1239;

  margin-bottom: 10px;

  display: block;

}

#ec-why-root .ec-w-heading {

  font-size: clamp(28px, 4vw, 40px);

  font-weight: 800;

  color: #7b0e2a;

  line-height: 1.15;

  margin-bottom: 14px;

}

#ec-why-root .ec-w-subtext {

  font-size: 16px;

  font-weight: 400;

  color: #4b5563;

  line-height: 1.65;

  max-width: 540px;

  margin-bottom: 56px;

}

/* ── 5-card grid ── */

#ec-why-root .ec-w-grid {

  display: grid;

  grid-template-columns: 1fr;

  gap: 56px 28px;

  margin-bottom: 48px;

}

@media (min-width: 600px) {

  #ec-why-root .ec-w-grid {

    grid-template-columns: repeat(2, 1fr);

  }

}

@media (min-width: 1024px) {

  /* 6-col ghost grid so row 2 can center its 2 cards */

  #ec-why-root .ec-w-grid {

    grid-template-columns: repeat(6, 1fr);

  }

  #ec-why-root .ec-w-card { grid-column: span 2; }

  #ec-why-root .ec-w-card:nth-child(4) { grid-column: 2 / span 2; }

  #ec-why-root .ec-w-card:nth-child(5) { grid-column: 4 / span 2; }

}

/* ── Card ── */

#ec-why-root .ec-w-card {

  background: #ffffff;

  border-radius: 24px;

  padding: 32px 28px 28px;

  padding-top: 60px;

  display: flex;

  flex-direction: column;

  position: relative;

  box-shadow: 0 4px 6px -1px rgba(0,0,0,0.07), 0 10px 20px -5px rgba(0,0,0,0.09);

  transition: transform 0.3s cubic-bezier(0.4,0,0.2,1), box-shadow 0.3s ease;

}

#ec-why-root .ec-w-card:hover {

  transform: translateY(-7px);

  box-shadow: 0 20px 40px -10px rgba(159,18,57,0.2), 0 8px 16px -4px rgba(0,0,0,0.08);

}

/* ── Floating icon ── */

#ec-why-root .ec-w-icon {

  position: absolute;

  left: 28px;

  top: -28px;

  width: 60px;

  height: 60px;

  background: #9f1239;

  border-radius: 14px;

  display: flex;

  align-items: center;

  justify-content: center;

  box-shadow: 0 8px 18px -4px rgba(159,18,57,0.4);

  flex-shrink: 0;

}

#ec-why-root .ec-w-icon svg {

  width: 28px;

  height: 28px;

  display: block;

}

/* $ badge for Student Aid card */

#ec-why-root .ec-w-icon .ec-badge {

  position: absolute;

  top: -7px;

  right: -7px;

  background: #ffffff;

  border: 2px solid #9f1239;

  border-radius: 50%;

  width: 22px;

  height: 22px;

  display: flex;

  align-items: center;

  justify-content: center;

  font-size: 11px;

  font-weight: 800;

  color: #9f1239;

  line-height: 1;

}

/* ── Card content ── */

#ec-why-root .ec-w-tag {

  display: inline-block;

  font-size: 10px;

  font-weight: 600;

  letter-spacing: 0.14em;

  text-transform: uppercase;

  color: #9f1239;

  background: rgba(159,18,57,0.08);

  border-radius: 4px;

  padding: 3px 8px;

  margin-bottom: 10px;

  width: fit-content;

}

#ec-why-root .ec-w-title {

  font-size: 18px;

  font-weight: 700;

  color: #111827;

  line-height: 1.3;

  margin-bottom: 10px;

}

#ec-why-root .ec-w-body {

  font-size: 14.5px;

  color: #6b7280;

  line-height: 1.65;

  flex: 1;

  margin-bottom: 22px;

}

#ec-why-root .ec-w-link {

  display: inline-flex;

  align-items: center;

  gap: 6px;

  font-size: 13.5px;

  font-weight: 600;

  color: #9f1239;

  text-decoration: none !important;

  position: relative;

  width: fit-content;

}

#ec-why-root .ec-w-link::after {

  content: '';

  position: absolute;

  left: 0;

  bottom: -2px;

  width: 0;

  height: 2px;

  background: #9f1239;

  transition: width 0.28s ease;

}

#ec-why-root .ec-w-link:hover::after { width: 100%; }

#ec-why-root .ec-w-link:hover { color: #9f1239 !important; }

#ec-why-root .ec-w-arrow {

  display: inline-block;

  font-style: normal;

  transition: transform 0.2s ease;

}

#ec-why-root .ec-w-link:hover .ec-w-arrow { transform: translateX(4px); }

/* ── Stats bar ── */

#ec-why-root .ec-w-stats {

  display: grid;

  grid-template-columns: 1fr;

  background: #ffffff;

  border: 1px solid rgba(159,18,57,0.12);

  border-radius: 16px;

  overflow: hidden;

  box-shadow: 0 2px 10px rgba(0,0,0,0.06);

}

@media (min-width: 600px) {

  #ec-why-root .ec-w-stats { grid-template-columns: repeat(3, 1fr); }

}

#ec-why-root .ec-w-stat {

  padding: 28px 32px;

  border-bottom: 1px solid rgba(159,18,57,0.09);

  text-align: center;

}

@media (min-width: 600px) {

  #ec-why-root .ec-w-stat {

    border-bottom: none;

    border-right: 1px solid rgba(159,18,57,0.09);

    text-align: left;

  }

  #ec-why-root .ec-w-stat:last-child { border-right: none; }

}

#ec-why-root .ec-w-stat-num {

  display: block;

  font-size: 34px;

  font-weight: 800;

  color: #9f1239;

  line-height: 1;

  margin-bottom: 6px;

}

#ec-why-root .ec-w-stat-label {

  font-size: 13px;

  color: #6b7280;

  line-height: 1.45;

}

/* ── Scroll-triggered fade-up ── */

@keyframes ec-fadeUp {

  from { opacity: 0; transform: translateY(22px); }

  to   { opacity: 1; transform: translateY(0); }

}

#ec-why-root .ec-anim {

  opacity: 0;

}

#ec-why-root .ec-anim.ec-visible {

  animation: ec-fadeUp 0.55s ease both;

}

#ec-why-root .ec-d1  { animation-delay: 0.05s; }

#ec-why-root .ec-d2  { animation-delay: 0.12s; }

#ec-why-root .ec-d3  { animation-delay: 0.18s; }

#ec-why-root .ec-d4  { animation-delay: 0.26s; }

#ec-why-root .ec-d5  { animation-delay: 0.34s; }

#ec-why-root .ec-d6  { animation-delay: 0.42s; }

#ec-why-root .ec-d7  { animation-delay: 0.50s; }

#ec-why-root .ec-d8  { animation-delay: 0.58s; }

@media (prefers-reduced-motion: reduce) {

  #ec-why-root .ec-anim { opacity: 1 !important; animation: none !important; }

}

 /* ===== FINANCIAL AID ===== */
.edc-finaid {

    background: #faf6f7;

    border-left: 5px solid #801330;

    border-right: 5px solid #801330;

    border-radius: 6px;

    padding: 40px 35px;

    margin: 30px 0;

    text-align: center;

  }

  .edc-finaid h2 {

    color: #801330;

    margin: 0 0 15px;

  }

  .edc-finaid p {

    max-width: 720px;

    margin: 0 auto 25px;

  }

  .edc-finaid a.edc-finaid-btn {

    display: inline-block;

    background: #801330;

    color: #ffffff;

    padding: 13px 32px;

    border-radius: 4px;

    text-decoration: none;

    font-weight: 600;

    transition: background 0.3s ease;

  }

  .edc-finaid a.edc-finaid-btn:hover {

    background: #5e0e24;

    color: #ffffff;

  }

  @media (max-width: 767px) {

    .edc-finaid {

      padding: 30px 20px;

    }

  }

  /* ===== STUDENT REVIEWS ===== */
.reviews-section--wide {

position: relative;

width: 100%;

padding: 80px 0 70px;

overflow: hidden;

box-sizing: border-box;

background-image:

linear-gradient(rgba(124, 10, 44, 0.78), rgba(124, 10, 44, 0.78)),

url('https://edisoncollege.ca/wp-content/smush-webp/2024/03/Rectangle-11.png.webp');

background-size: cover;

background-position: center;

background-repeat: no-repeat;

}

.reviews-header {

max-width: 1800px;

margin: 0 auto 40px;

padding: 0 24px;

text-align: center;

position: relative;

z-index: 2;

}

.reviews-header .label {

display: inline-block;

margin-bottom: 12px;

font-weight: 600;

letter-spacing: 0.16em;

text-transform: uppercase;

opacity: 0.9;

color: #ffffff;

}

.reviews-header h2 {

margin: 0;

line-height: 1.2;

color: #ffffff;

}

.reviews-header .divider {

width: 48px;

height: 2px;

margin: 14px auto 0;

border-radius: 2px;

background: rgba(255,255,255,0.35);

}

.carousel-outer {

position: relative;

width: 100%;

max-width: 100%;

margin: 0 auto;

padding: 0 40px;

box-sizing: border-box;

z-index: 2;

overflow: visible;

}

.carousel-track-wrap {

overflow: hidden;

width: 100%;

}

.carousel-track {

display: flex;

align-items: stretch;

justify-content: flex-start;

gap: 20px;

transition: transform 0.45s cubic-bezier(.4,0,.2,1);

will-change: transform;

}

.review-card {

flex-shrink: 0;

background: #ffffff;

border-radius: 1em;

box-shadow: 0 4px 24px rgba(0,0,0,.07);

padding: 2em 1.75em 1.75em;

display: flex;

flex-direction: column;

justify-content: flex-start;

gap: 1em;

border-top: 3px solid transparent;

transition: transform .3s, box-shadow .3s, border-color .3s;

position: relative;

overflow: hidden;

box-sizing: border-box;

min-height: 380px;

max-height: 520px;

height: 520px;

}

.review-card:hover {

transform: translateY(-4px);

box-shadow: 0 16px 36px rgba(0,0,0,0.14);

}

.review-card::after {

content: "“";

position: absolute;

top: -16px;

right: 14px;

font-size: 100px;

line-height: 1;

color: rgba(0,0,0,0.04);

pointer-events: none;

}

.card-text {

line-height: 1.75;

opacity: .82;

overflow-y: auto;

flex: 1 1 auto;

min-height: 0;

padding-right: 6px;

}

.card-author {

display: flex;

align-items: center;

gap: 12px;

margin-top: auto;

}

.author-photo {

width: 54px;

height: 54px;

border-radius: 50%;

object-fit: cover;

flex-shrink: 0;

background: #ededed;

}

.author-info {

display: flex;

flex-direction: column;

gap: 4px;

min-width: 0;

}

.card-name {

font-weight: 700;

color: #444;

line-height: 1.2;

}

.card-program {

color: #999;

font-size: 0.95em;

line-height: 1.3;

}

.card-stars {

display: flex;

gap: 3px;

line-height: 1;

}

.star {

color: #f5a623;

font-size: 16px;

}

.review-card.video-card {

padding: 0;

}

.review-card.video-card::after {

display: none;

}

.video-thumb {

position: relative;

width: 100%;

padding-top: 56.25%;

overflow: hidden;

border-radius: 18px 18px 0 0;

cursor: pointer;

background: #ddd;

}

.video-thumb iframe {

position: absolute;

inset: 0;

width: 100%;

height: 100%;

border: 0;

}

.thumb-img {

position: absolute;

inset: 0;

width: 100%;

height: 100%;

object-fit: cover;

transition: transform 0.35s ease;

}

.video-thumb:hover .thumb-img,

.video-thumb:focus .thumb-img {

transform: scale(1.04);

}

.play-btn {

position: absolute;

top: 50%;

left: 50%;

transform: translate(-50%, -50%);

width: 58px;

height: 58px;

border-radius: 50%;

background: rgba(124, 10, 44, 0.92);

display: flex;

align-items: center;

justify-content: center;

box-shadow: 0 4px 20px rgba(0,0,0,0.3);

pointer-events: none;

}

.play-btn svg {

width: 20px;

height: 20px;

fill: #fff;

margin-left: 3px;

}

.video-info {

padding: 20px 22px 24px;

display: flex;

flex-direction: column;

gap: 10px;

}

.card-line {

width: 32px;

height: 2px;

border-radius: 2px;

background: rgba(124, 10, 44, 0.28);

}

.carousel-btn {

position: absolute;

top: 50%;

transform: translateY(-50%);

width: 42px;

height: 42px;

border-radius: 50%;

border: 1px solid rgba(255,255,255,0.45);

background: rgba(255,255,255,0.12);

color: #ffffff;

display: flex;

align-items: center;

justify-content: center;

cursor: pointer;

z-index: 999;

}

.carousel-btn:hover {

background: #ffffff;

color: #7c0a2c;

border-color: #ffffff;

}

.carousel-btn svg {

width: 18px;

height: 18px;

}

.carousel-btn.prev { left: 10px; }

.carousel-btn.next { right: 10px; }

.carousel-dots {

display: flex;

justify-content: center;

gap: 8px;

margin-top: 24px;

position: relative;

z-index: 2;

}

.ec-dot {

width: 10px;

height: 10px;

border-radius: 50%;

background: rgba(255,255,255,0.35);

cursor: pointer;

transition: transform 0.2s ease, background 0.2s ease;

border: 0;

}

.ec-dot.active {

background: #ffffff;

transform: scale(1.15);

}

.video-thumb:focus,

.carousel-btn:focus,

.ec-dot:focus {

outline: 2px solid #ffffff;

outline-offset: 2px;

}

@media (min-width: 1400px) {

.carousel-outer {

padding: 0 36px;

}

}

@media (max-width: 1199px) {

.carousel-outer {

padding: 0 32px;

}

}

@media (max-width: 1024px) {

.reviews-section--wide {

padding: 70px 0 60px;

}

.carousel-outer {

padding: 0 28px;

}

.review-card {

min-height: 340px;

}

}

@media (max-width: 767px) {

.reviews-section--wide {

padding: 56px 0 90px;

}

.reviews-header {

margin-bottom: 28px;

padding: 0 16px;

}

.carousel-outer {

padding: 0 12px;

}

.carousel-track {

justify-content: flex-start;

}

.review-card {

padding: 1.5em 1.25em;

min-height: 300px;

max-height: 460px;

height: 460px;

}

.review-card.video-card {

padding: 0;

}

.video-thumb {

border-radius: 16px 16px 0 0;

}

.carousel-btn {

width: 38px;

height: 38px;

}

.carousel-btn.prev {

left: 6px;

}

.carousel-btn.next {

right: 6px;

}

}

@media (max-width: 480px) {

.reviews-header h2 {

font-size: 30px;

line-height: 1.2;

}

.review-card {

min-height: 300px;

}

.author-photo {

width: 50px;

height: 50px;

}

}

/* ===== SECTION: FAQ ===== */

.ecp-faq{

  background:var(--bg);

  padding:64px 0 72px;

}

.ecp-faq h2{

  color:var(--heading)!important;

  margin-bottom:28px;

}

.ecp-faq details{

  background:#fff;

  border:1px solid var(--border);

  border-radius:8px;

  box-shadow:0 2px 10px rgba(0,0,0,.04);

  margin-bottom:16px;

}

.ecp-faq details:last-child{

  margin-bottom:0;

}

.ecp-faq summary{

  position:relative;

  list-style:none;                 /* remove default triangle */

  cursor:pointer;

  font-size:19px;

  font-weight:700;

  line-height:1.35;

  color:var(--heading);

  padding:20px 56px 20px 24px;

}

.ecp-faq summary::-webkit-details-marker{

  display:none;                    /* Safari triangle */

}

.ecp-faq summary:focus-visible{

  outline:3px solid var(--secondary);

  outline-offset:-3px;

  border-radius:8px;

}

/* Plus / minus indicator */

.ecp-faq summary::after{

  content:"+";

  position:absolute;

  right:22px;

  top:50%;

  transform:translateY(-50%);

  color:var(--secondary);

  font-size:26px;

  font-weight:700;

  line-height:1;

}

.ecp-faq details[open] summary::after{

  content:"\2013";                 /* en dash as minus */

}

.ecp-faq .ecp-faq-a{

  padding:0 24px 22px;

}

.ecp-faq .ecp-faq-a p{

  margin:0 0 12px;

}

.ecp-faq .ecp-faq-a p:last-child{

  margin-bottom:0;

}

/* Responsive */

@media(max-width:980px){

  .ecp-faq{

    padding:48px 0 56px;

  }

  .ecp-faq summary{

    font-size:17px;

    padding:18px 48px 18px 18px;

  }

  .ecp-faq .ecp-faq-a{

    padding:0 18px 20px;

  }

}