.faq-hero{
  display:block;
  grid-template-columns:minmax(0,1fr);
  padding-block:var(--hero-top) var(--space-6);
  background:#FFFFFF;
  color:#1B1A18;
}

.faq-hero__inner{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  min-width:0;
}

.faq-hero .c-kicker{margin-inline:auto}

.faq-hero h1{
  max-width:52rem;
  margin-top:var(--space-2);
  color:#1B1A18;
}

.faq-hero__lead{
  max-width:46rem;
  margin-top:var(--space-2);
  color:#56534D;
  font-size:var(--text-lg);
  overflow-wrap:break-word;
}

.faq-hero__actions{margin-top:var(--space-3)}
.faq-hero__inner .faq-hero__actions{justify-content:center}

.faq-hero__hint{
  max-width:44rem;
  margin-top:var(--space-3);
  color:#56534D;
  font-size:var(--text-sm);
}

.faq-hero__hint a{
  color:#7A4F00;
  text-decoration:underline;
  text-underline-offset:3px;
}

.faq-directory{
  padding-block:var(--space-6);
  background:#F6F5F2;
  color:#1B1A18;
}

.faq-directory__heading{
  max-width:46rem;
  margin-bottom:var(--space-4);
}

.faq-directory__heading h2{
  margin-top:var(--space-2);
  color:#1B1A18;
}

.faq-directory__heading p{
  margin-top:var(--space-2);
  color:#56534D;
}

.faq-directory__grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:var(--space-2);
  align-items:stretch;
}

.faq-directory__item{
  display:flex;
  flex-direction:column;
  min-width:0;
  height:100%;
  padding:var(--space-3);
  border-radius:var(--radius);
  transition:transform .2s,box-shadow .2s;
}

.faq-directory__item:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow);
}

.faq-directory__item strong{
  font:600 var(--text-card)/1.4 var(--font-heading);
  overflow-wrap:break-word;
}

.faq-directory__item span{
  margin-top:var(--space-1);
  font-size:var(--text-sm);
  overflow-wrap:break-word;
}

.faq-directory__item--blue{background:#E6F0FF;color:#173A66}
.faq-directory__item--green{background:#E2F4EA;color:#14513A}
.faq-directory__item--pink{background:#FCE7EF;color:#7A2244}
.faq-directory__item--violet{background:#ECE8FB;color:#3D2C80}

.faq-topic{
  padding-block:var(--space-6);
  scroll-margin-top:5rem;
  background:#FFFFFF;
  color:#1B1A18;
}

.faq-topic--blue{
  background:#E6F0FF;
  color:#173A66;
}

.faq-topic--pink{
  background:#FCE7EF;
  color:#7A2244;
}

.faq-topic--green{
  background:#E2F4EA;
  color:#14513A;
}

.faq-topic--violet{
  background:#ECE8FB;
  color:#3D2C80;
}

.faq-topic__intro{
  max-width:46rem;
  margin-bottom:var(--space-4);
}

.faq-topic__label{
  display:inline-flex;
  align-items:center;
  width:fit-content;
  font-size:var(--text-sm);
  font-weight:600;
  letter-spacing:.02em;
}

.faq-topic__intro h2{
  margin-top:var(--space-2);
  color:inherit;
}

.faq-topic__intro p{
  margin-top:var(--space-2);
  color:inherit;
}

.faq-topic__questions{
  gap:0;
}

.faq-topic .c-faq details{
  padding-inline:0;
  border-top:1px solid color-mix(in srgb,currentColor 17%,transparent);
  border-radius:0;
  box-shadow:none;
  background:#FFFFFF;
  color:#1B1A18;
}

.faq-topic--blue .c-faq details{
  border-top-color:color-mix(in srgb,currentColor 17%,transparent);
  background:#E6F0FF;
  color:#173A66;
}

.faq-topic--pink .c-faq details{
  border-top-color:color-mix(in srgb,currentColor 17%,transparent);
  background:#FCE7EF;
  color:#7A2244;
}

.faq-topic--green .c-faq details{
  border-top-color:color-mix(in srgb,currentColor 17%,transparent);
  background:#E2F4EA;
  color:#14513A;
}

.faq-topic--violet .c-faq details{
  border-top-color:color-mix(in srgb,currentColor 17%,transparent);
  background:#ECE8FB;
  color:#3D2C80;
}

.faq-topic .c-faq details:last-child{
  border-bottom:1px solid color-mix(in srgb,currentColor 17%,transparent);
}

.faq-topic .c-faq summary{
  min-width:0;
  padding-block:var(--space-3);
  color:inherit;
  overflow-wrap:break-word;
}

.faq-topic .c-faq summary::after{
  background:color-mix(in srgb,currentColor 10%,transparent);
  color:inherit;
}

.faq-topic .c-faq details[open] summary::after{
  background:color-mix(in srgb,currentColor 14%,transparent);
  color:inherit;
}

.faq-topic .c-faq .faq-answer{
  padding:var(--space-2) 0 var(--space-3);
  border-top:1px solid color-mix(in srgb,currentColor 17%,transparent);
  color:inherit;
}

.faq-topic .c-faq .faq-answer p{
  max-width:56rem;
  padding:0;
  color:inherit;
}

.faq-answer a:not(.c-btn){
  font-weight:600;
  text-decoration:underline;
  text-underline-offset:3px;
}

.faq-price-reference{
  margin-top:var(--space-4);
  padding:var(--space-4);
  border-radius:var(--radius);
  background:#F6F5F2;
  color:#1B1A18;
}

.faq-price-reference h3{color:#1B1A18}

.faq-price-reference>p{
  margin-top:var(--space-1);
  margin-bottom:var(--space-3);
  color:#56534D;
}

.faq-price-reference .table-scroll{
  position:relative;
  overflow-x:auto;
}

.faq-price-reference .c-table{
  display:table;
  width:100%;
  font-variant-numeric:tabular-nums;
}

.faq-price-reference .c-table th,
.faq-price-reference .c-table td{
  white-space:nowrap;
}

.faq-price-reference .c-table td:first-child{
  min-width:16rem;
  white-space:normal;
  overflow-wrap:break-word;
}

.faq-price-reference__actions{
  justify-content:flex-start;
  margin-top:var(--space-3);
}

.faq-closing-section{
  padding-block:var(--space-6);
  background:#FFFFFF;
  color:#1B1A18;
}

.faq-closing{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(13rem,auto);
  gap:var(--space-4);
  align-items:center;
  min-width:0;
  padding:var(--space-5);
  border-radius:var(--radius-lg);
  background:#1B1A18;
  color:#FFFFFF;
}

.faq-closing__copy,
.faq-closing__actions{
  min-width:0;
}

.faq-closing__eyebrow{
  display:inline-flex;
  color:#F5A800;
  font-size:var(--text-sm);
  font-weight:600;
}

.faq-closing h2{
  margin-top:var(--space-2);
  color:#FFFFFF;
}

.faq-closing p{
  max-width:43rem;
  margin-top:var(--space-2);
  color:#E8E3DA;
}

.faq-closing__actions{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:var(--space-2);
}

.faq-closing .c-btn--secondary{
  border-color:color-mix(in srgb,currentColor 28%,transparent);
  background:#FFFFFF;
  color:#1B1A18;
}

@media(max-width:64rem){
  .faq-directory__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:42rem){
  .faq-hero{padding-block:var(--space-6)}
  .faq-hero__lead{font-size:var(--text-base)}
  .faq-hero__actions{width:100%}
  .faq-hero__actions .c-btn{width:100%}
  .faq-directory__grid{grid-template-columns:minmax(0,1fr)}
  .faq-directory__item{height:auto}
  .faq-topic,
  .faq-directory,
  .faq-closing-section{padding-block:var(--space-5)}
  .faq-price-reference{padding:var(--space-3)}
  .faq-closing{
    grid-template-columns:minmax(0,1fr);
    padding:var(--space-3);
  }
  .faq-closing__actions .c-btn{width:100%;white-space:normal}
}

@media(prefers-reduced-motion:reduce){
  .faq-directory__item{transition:none}
  .faq-directory__item:hover{transform:none}
}
