.qa { max-width: 1000px; padding-block: clamp(2.5rem, 6vw, 5rem); }
.qa-intro { padding-bottom: 1rem; }
.qa h1 { margin: 0 0 1rem; font-size: clamp(2.6rem, 6vw, 4.6rem); font-weight: 550; letter-spacing: -.05em; line-height: 1.08; }
.qa h1 em { font: italic 1em Georgia, serif; color: #497357; }
.qa .intro { max-width: 36rem; }
.qa-group { border-top: 1px solid #cad9cf; display: grid; grid-template-columns: minmax(10rem, 1fr) 2fr; gap: 2rem; padding-block: 1.6rem; }
.qa h2 { font-size: clamp(1.3rem, 2.6vw, 1.75rem); letter-spacing: -.035em; }
.qa details + details { border-top: 1px solid #dde6df; }
.qa summary { cursor: pointer; padding: .95rem .3rem; font-weight: 600; line-height: 1.5; }
.qa summary::marker { color: #497357; }
.qa summary:focus-visible { outline: 2px solid var(--teal); outline-offset: 2px; }
.qa details p { margin: 0 0 1rem; padding-inline: .3rem; color: #455e56; line-height: 1.75; }
.qa details a { color: var(--teal); text-decoration: underline; text-underline-offset: .2em; }
.qa-contact { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: space-between; align-items: center; background: #eaf0e8; padding: 1.5rem; border-radius: .7rem; }
@media (max-width: 700px) { .qa-group { grid-template-columns: 1fr; gap: .5rem; } }
