/* Standalone FAQ block — same pattern as page-problems.css, for pages that
   do not load the problem-page stylesheet (industries). */
.pwp-pfaq { padding-block: clamp(64px, 7vw, 104px); }
@media (min-width: 1024px) {
  .pwp-pfaq > .pwp-container { display: grid; grid-template-columns: minmax(220px, 0.65fr) minmax(0, 1.75fr); gap: clamp(48px, 6vw, 96px); align-items: start; }
  .pwp-pfaq > .pwp-container > h2 { position: sticky; inset-block-start: 112px; margin: 0; max-inline-size: 9ch; }
}
.pwp-pfaq__list {
  margin-block-start: clamp(28px, 5vw, 48px);
  border-block-start: var(--pwp-hairline-strong);
  max-inline-size: min(72ch, 100%);
}
@media (min-width: 1024px) { .pwp-pfaq__list { margin-block-start: 0; max-inline-size: none; } }

.pwp-pfaq__item { border-block-end: var(--pwp-hairline-strong); transition: background-color var(--pwp-dur-craft-base) var(--pwp-ease-soft); }
.pwp-mode-dark .pwp-pfaq__item[open] { background: color-mix(in oklab, var(--pwp-accent) 4%, transparent); }

.pwp-pfaq__item summary {
  cursor: pointer; list-style: none;
  padding: clamp(20px, 2vw, 28px) clamp(8px, 1.25vw, 18px);
  display: grid; grid-template-columns: minmax(0, 1fr) 32px; align-items: center; gap: clamp(16px, 2vw, 28px);
  font-family: var(--pwp-ff-display); font-size: clamp(1rem, 1.25vw, 1.18rem); line-height: 1.35; text-transform: uppercase; letter-spacing: var(--pwp-track-h3);
  position: relative; min-block-size: 44px;
  transition: color var(--pwp-dur-craft-base) var(--pwp-ease-soft);
}
.pwp-pfaq__item summary::-webkit-details-marker { display: none; }
.pwp-pfaq__item summary:hover,
.pwp-pfaq__item summary:focus-visible { color: var(--pwp-accent-deep); }
.pwp-mode-dark .pwp-pfaq__item summary:hover,
.pwp-mode-dark .pwp-pfaq__item summary:focus-visible { color: var(--pwp-accent-bright); }
.pwp-pfaq__item summary:focus-visible { outline: 2px solid var(--pwp-accent); outline-offset: -2px; }

.pwp-pfaq__qtext { max-inline-size: 58ch; }

.pwp-pfaq__icon { flex: 0 0 auto; inline-size: 32px; block-size: 32px; display: grid; place-items: center; }
.pwp-pfaq__icon::before,
.pwp-pfaq__icon::after {
  content: ""; grid-area: 1 / 1;
  background: currentColor; color: var(--pwp-fg-muted);
  transition: background-color var(--pwp-dur-craft-micro) var(--pwp-ease-soft), transform var(--pwp-dur-craft-base) var(--pwp-ease-soft), opacity var(--pwp-dur-craft-base) var(--pwp-ease-soft);
}
.pwp-pfaq__icon::before { inline-size: 20px; block-size: 2px; }
.pwp-pfaq__icon::after { inline-size: 2px; block-size: 20px; }
.pwp-pfaq__item[open] .pwp-pfaq__icon::after { transform: scaleY(0); opacity: 0; }
.pwp-pfaq__item[open] .pwp-pfaq__icon::before,
.pwp-pfaq__item[open] .pwp-pfaq__icon::after,
.pwp-pfaq__item summary:hover .pwp-pfaq__icon::before,
.pwp-pfaq__item summary:hover .pwp-pfaq__icon::after,
.pwp-pfaq__item summary:focus-visible .pwp-pfaq__icon::before,
.pwp-pfaq__item summary:focus-visible .pwp-pfaq__icon::after { background: var(--pwp-accent); }

.pwp-pfaq__answer { display: grid; grid-template-rows: 1fr; transition: grid-template-rows 320ms var(--pwp-ease-soft), opacity 220ms var(--pwp-ease-soft); }
.pwp-pfaq__answerinner { min-block-size: 0; overflow: hidden; }
.js .pwp-pfaq__item[open] .pwp-pfaq__answer { grid-template-rows: 1fr; opacity: 1; }
.js .pwp-pfaq__item.is-opening .pwp-pfaq__answer,
.js .pwp-pfaq__item.is-closing .pwp-pfaq__answer { grid-template-rows: 0fr; opacity: 0; }
.pwp-pfaq__item p {
  margin: 0; padding: 0 clamp(48px, 5vw, 72px) clamp(22px, 2.4vw, 30px) clamp(8px, 1.25vw, 18px);
  color: var(--pwp-fg-muted); max-inline-size: 66ch; line-height: 1.65;
}

@media (prefers-reduced-motion: reduce) {
  .pwp-pfaq__answer, .pwp-pfaq__icon::before, .pwp-pfaq__icon::after, .pwp-pfaq__item { transition: none; }
}
