@charset "utf-8";
:root{
  --hp4u-faq-maxw: 1200px;
  --hp4u-faq-gap:  .75rem;
  --hp4u-faq-border: #D9875C;
  --hp4u-faq-radius: 14px;
  --hp4u-faq-focus: #0b63ce;
  --hp4u-faq-q: #4d5259;
	--hp4u-faq-q-open: #ffffff;
  --hp4u-faq-a: #4d5259;
--hp4u-faq-title-bg:#F8F7F6;
	--hp4u-faq-title-bg-open:#D9875C;
	--hp4u-faq-title-bg-hover:#f7e7de;
	--hp4u-faq-panel-bg:#F8F7F6;
}

.hp4u-faq{ max-width:var(--hp4u-faq-maxw); margin:2rem auto; }
.hp4u-faq-title{ text-align:center; margin:0 0 1rem 0; }

.hp4u-faq-list{
  margin:0!important; padding:0;
  display:flex; flex-direction:column; gap:var(--hp4u-faq-gap);
  list-style:none;
}

.hp4u-faq-item{
  border:1px solid var(--hp4u-faq-border);
  border-radius:var(--hp4u-faq-radius);
  overflow:hidden;
  background:var(--hp4u-faq-panel-bg);
  /* keeps item visible under sticky header when brought into view */
  scroll-margin-top: var(--hp4u-faq-scroll-margin, 80px);
}

.hp4u-faq-q{ margin:0; }

.hp4u-faq-toggle{
  display:block; width:100%; text-align:center;
  padding:1rem 1.125rem; background:var(--hp4u-faq-title-bg); border:0; cursor:pointer;
  font-weight:var(--hp4u-main-fontweight-bold)!important;
  color:var(--hp4u-faq-q);
}
.hp4u-faq-toggle:hover{background:var(--hp4u-faq-title-bg-hover);}
.hp4u-faq-item.is-open .hp4u-faq-toggle{background:var(--hp4u-faq-title-bg-open);color:var(--hp4u-faq-q-open);}
.hp4u-faq-toggle:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px #fff, 0 0 0 6px var(--hp4u-faq-focus);
  border-radius:8px;
}

/* NEW: calm height/opacity animation driven by JS */
.hp4u-faq-panel{
  max-height:0;               /* closed */
  opacity:0;
  overflow:hidden;
  padding:0;                  /* padding is applied to inner */
  transition:
   max-height .42s cubic-bezier(.2,.6,.2,1),
   opacity    .25s ease;
  will-change:max-height, opacity;
}
.hp4u-faq-panel-inner{
  overflow:visible;
  min-height:0;
  padding:0 1.125rem 0;       /* horizontal padding always; bottom added when open */
  color:var(--hp4u-faq-a);
}

/* Open state */
.hp4u-faq-item.is-open .hp4u-faq-panel{
  opacity:1;
}
.hp4u-faq-item.is-open .hp4u-faq-panel-inner{
  padding-bottom:1rem;
}
h3.hp4u-faq-q{
font-family: var(--hp4u-base-font-family) !important;
font-weight: var(--hp4u-main-fontweight-bold) !important;	
}
/* Normalize FAQ question text to match other 24px bold headings */
h3.hp4u-faq-q{
  font-family: var(--hp4u-base-font-family) !important;
  font-weight: var(--hp4u-main-fontweight-bold) !important;
  font-size: clamp(20.2105px, calc(19.1278px + 0.338346vw), 24px) !important;
  line-height: 1.35 !important;
}

/* Make the button inherit the exact same typography (avoid extra bold rendering) */
.hp4u-faq-toggle{
  font: inherit !important;
  letter-spacing: inherit !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
/* Content niceties */
.hp4u-faq-panel-inner :is(p,ul,ol,dl):first-child{ margin-top:1rem; }
.hp4u-faq-panel-inner :is(p,ul,ol,dl):last-child{ margin-bottom:0; }

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .hp4u-faq-panel{ transition:none; }
}
