/* Page-specific CSS for How-It-Works Accordion with Hero Wrapper */
body.How-It-Works-Page .How-It-Works {
  background-color: #f4f9fc;
  padding: 0 2rem 4rem;
  margin: 0 auto;
  color: var(--navy-blue);
}

/* Hero wrapper around title & intro */
body.How-It-Works-Page .How-It-Works-hero {
  position: relative;
  overflow: hidden;
  width: 100vw;
  left: 50%;
  transform: translateX(-50%);
  /* pull up to section top to touch nav */
  margin-top: 0;
  /* bottom rounding only */
  margin-bottom: 4rem;
}

body.How-It-Works-Page .How-It-Works-hero::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-image: url('/Assets/Images/Stock/how-it-works-hero.jpg');
  background-position: center;
  background-size: cover;
  -webkit-filter: blur(6px) grayscale(0%);
  filter: blur(6px) grayscale(0%);
  transform: scale(1.05);
  transition: filter 0.4s ease-in-out;
  /* lazy-load background placeholder */
  will-change: filter;
}

/* when out of view, go full gray */
body.How-It-Works-Page.scrolled-past-how-it-works-hero .How-It-Works-hero::before {
  -webkit-filter: blur(6px) grayscale(100%);
  filter: blur(6px) grayscale(100%);
}

body.How-It-Works-Page .How-It-Works-hero.lazy-loaded::before {
  background-image: url('/Assets/Images/Stock/how-it-works-hero.jpg');
}
body.How-It-Works-Page .How-It-Works-hero-content {
  position: relative;
  padding: 2rem 2rem;
  margin-bottom: 4rem;
  text-align: center;
}

/* Shift accordion down */
body.How-It-Works-Page .How-It-Works-accordion {
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}
body.How-It-Works-Page .How-It-Works-accordion {
  margin-top: 2rem;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

body.How-It-Works-Page #How-It-Works-title {
  font-size: Clamp(3rem, 16vw, 8rem);
  font-family: Bilya Signature;
  margin-bottom: 2.5rem;
  color: var(--old-gold);
  text-shadow: 0 0 8px rgba(0, 0, 0, 0.9);
}

body.How-It-Works-Page .How-It-Works-intro h2 {
  text-align: center;
  color: white;
  font-size: Clamp(0.7rem, 4vw, 2rem);
  max-width: 700px;
  margin: 1.2rem auto;
  text-shadow: 0 0 5px rgba(0, 0, 0, 0.9);
}

body.How-It-Works-Page .How-It-Works-intro p {
  text-align: center;
  color: white;
  font-size: Clamp(0.7rem, 4vw, 2rem);
  max-width: 700px;
  margin: 0.2rem auto;
  text-shadow: 0 0 5px rgba(0, 0, 0, 0.9);
}

body.How-It-Works-Page .How-It-Works-accordion {
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

body.How-It-Works-Page .How-It-Works-item + .How-It-Works-item {
  border-top: 1px solid rgba(0, 0, 0, 0.2);
}

body.How-It-Works-Page .How-It-Works-trigger {
  width: 100%;
  background: var(--navy-blue);
  color: var(--old-gold);
  border: none;
  padding: 1.2rem 1.5rem;
  display: grid;
  grid-template-columns: 2rem 1fr 2rem;
  align-items: center;
  cursor: pointer;
  transition: background 0.4s ease;
}

body.How-It-Works-Page .How-It-Works-trigger:hover {
  filter: brightness(1.3);
}

body.How-It-Works-Page .How-It-Works-step {
  font-size: 1.2rem;
  font-weight: bold;
  color: inherit;
}

body.How-It-Works-Page .How-It-Works-heading {
  font-size: 1.25rem;
}

body.How-It-Works-Page .How-It-Works-icon {
  width: 1rem;
  height: 1rem;
  fill: none;
  stroke: var(--navy-blue);
  stroke-width: 2;
  transform: rotate(0deg);
  transition: transform 0.4s ease;
}

body.How-It-Works-Page .How-It-Works-panel {
  max-height: 0;
  overflow: hidden;
  background: #fff;
  padding: 0 1.5rem;
  transition: max-height 0.4s ease, padding 0.4s ease;
}

body.How-It-Works-Page .How-It-Works-panel.open {
  text-align: center;
  padding: 1rem 1.5rem 2rem;
  max-height: 1500px;
}

body.How-It-Works-Page .How-It-Works-panel p {
  line-height: 1.6;
  margin-bottom: 1rem;
}

body.How-It-Works-Page .How-It-Works-panel figure {
  margin: 0;
  text-align: center;
}

body.How-It-Works-Page .How-It-Works-panel img {
  display: block;
  width: auto;
  max-width: 50%;
  max-height: 800px;
  object-fit: cover;
  margin: 0 auto 0.5rem;
  border-radius: 0.5rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  transition: all 0.3s ease-in-out;
}

body.How-It-Works-Page .How-It-Works-panel img:hover {
  transform: scale(1.1);
  filter: brightness(1.2);
}

body.How-It-Works-Page .How-It-Works-panel figcaption {
  font-size: 0.9rem;
  color: var(--navy-blue);
}

body.How-It-Works-Page .How-It-Works-button,
body.How-It-Works-Page .contact-button {
  display: inline-block;
  margin-top: 1rem;
  background: var(--navy-blue);
  color: var(--old-gold);
  padding: 0.6rem 1.2rem;
  border-radius: 2rem;
  outline: 2px solid var(--old-gold);
  text-decoration: none;
  font-weight: bold;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease-in-out, filter 0.3s ease-in-out;
}

body.How-It-Works-Page .How-It-Works-button:hover,
body.How-It-Works-Page .contact-button:hover {
  transform: translateY(-3px);
  filter: brightness(1.3);
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.15);
}

body.How-It-Works-Page .How-It-Works-item.open .How-It-Works-trigger {
  background: var(--navy-blue);
  outline: 2px solid var(--old-gold);
  color: var(--old-gold);
}

body.How-It-Works-Page .How-It-Works-item.open .How-It-Works-icon {
  transform: rotate(180deg);
  stroke: var(--old-gold);
}

@media (max-width: 768px) {
  body.How-It-Works-Page .How-It-Works-trigger {
    grid-template-columns: 1.5rem 1fr 1.5rem;
    padding: 1rem;
  }
  body.How-It-Works-Page .How-It-Works-heading {
    font-size: 1.1rem;
  }
}
