/* Shared Q&A: aligned introduction and disclosures, with explicit typography. */
.product-faq { padding: var(--product-section-space) var(--site-gutter); background: var(--ivory); color: #010c3d; font-family:var(--font-body); scroll-margin-top: 100px; }
.product-faq__inner { width: min(100%,var(--site-content-width)); margin-inline: auto; display: grid; grid-template-columns: minmax(0,2fr) minmax(0,3fr); gap: clamp(32px,6vw,80px); align-items: start; }
.product-faq__heading { min-width: 0; }
.product-faq__heading h2 { text-wrap: balance; font-family:var(--font-display); font-weight:500; font-size: var(--product-heading-size); line-height: 1.15; letter-spacing: -.025em; margin: 0 0 20px; }
.product-faq__heading p { max-width: 58ch; margin: 0; font-size: 16px; line-height: 1.65; color: #526178; }
.product-faq__list { min-width: 0; border-top: 1px solid #deded7; }
.product-faq__item { border-bottom: 1px solid #deded7; }
.product-faq__item summary { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 20px 4px; list-style: none; cursor: pointer; color: var(--ink); font-family:var(--font-display); font-size:18px; font-weight:500; line-height: 1.5; transition: color .2s,background .2s; }
.product-faq__item summary::-webkit-details-marker { display: none; }
.product-faq__item summary svg { width: 20px; height: 20px; flex: 0 0 20px; color: #71809b; }
.product-faq__plus { transform-origin: center; transition: transform .25s,opacity .25s; }
.product-faq__item summary:hover { color: #1f5fe8; }

.product-faq__item[open] summary { color: #1f5fe8; padding-bottom: 12px; }
.product-faq__item[open] .product-faq__plus { transform: rotate(90deg); opacity: 0; }
.product-faq__item summary:focus-visible { outline: 2px solid #1f5fe8; outline-offset: -2px; }
.product-faq__answer { padding: 0 36px 22px 4px; }
.product-faq__answer p { margin: 0; max-width: 72ch; color: #475569; font-family:var(--font-body); font-size:16px; line-height: 1.75; }
@supports (interpolate-size: allow-keywords) {
 .product-faq__item { interpolate-size: allow-keywords; }
 .product-faq__item::details-content { height: 0; overflow: clip; transition: height .3s cubic-bezier(.22,1,.36,1), content-visibility .3s allow-discrete; }
 .product-faq__item[open]::details-content { height: auto; }
}
@media(max-width:760px) { .product-faq__inner { grid-template-columns: minmax(0,1fr); gap: 28px; } .product-faq__item summary { font-size: 16px; gap: 16px; } }
@media(prefers-reduced-motion:reduce) { .product-faq__item::details-content,.product-faq__item summary,.product-faq__plus { transition: none; } }
