/* FAQ */
.faq { position: relative; z-index: 3; background: #08070a; color: #fff; padding: clamp(60px, 7vw, 110px) 0; border-top: 1px solid rgba(255, 255, 255, .08); }
.faq__wrap { max-width: 1480px; margin: 0 auto; padding: 0 clamp(18px, 3.4vw, 48px); }
.faq__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2.2fr); gap: clamp(24px, 4vw, 72px); align-items: start; margin-top: clamp(20px, 3vw, 40px); }
.faq__title { font-size: clamp(1.7rem, 3.2vw, 3rem); font-weight: 600; letter-spacing: -.035em; line-height: 1.06; max-width: 12ch; position: sticky; top: 120px; }
html.is-rtl .faq__title { letter-spacing: 0; line-height: 1.3; }
.faq__list { border-top: 1px solid rgba(255, 255, 255, .16); }
.faq__item { border-bottom: 1px solid rgba(255, 255, 255, .16); }
.faq__item summary { list-style: none; display: grid; grid-template-columns: 44px minmax(0, 1fr) 28px; gap: 12px; align-items: baseline; padding: clamp(16px, 1.8vw, 24px) 0; cursor: pointer; transition: color .3s ease; }
.faq__item summary::-webkit-details-marker { display: none; }
.faq__n { font-family: var(--dot); font-variation-settings: 'ROND' 100; font-weight: 900; font-size: 1rem; color: rgba(255, 255, 255, .45); }
.faq__q { font-size: clamp(1rem, 1.5vw, 1.35rem); font-weight: 500; letter-spacing: -.02em; line-height: 1.3; }
html.is-rtl .faq__q { letter-spacing: 0; }
.faq__pm { position: relative; width: 18px; height: 18px; justify-self: end; align-self: center; }
.faq__pm::before, .faq__pm::after { content: ''; position: absolute; left: 0; top: 50%; width: 100%; height: 1.5px; background: currentColor; transition: transform .4s cubic-bezier(.2, .8, .2, 1); }
.faq__pm::after { transform: rotate(90deg); }
.faq__item[open] .faq__pm::after { transform: rotate(0deg); }
.faq__item[open] summary, .faq__item summary:hover { color: #ff6b7a; }
.faq__a { overflow: hidden; }
.faq__a p { margin: 0; padding: 0 28px clamp(18px, 2vw, 28px) 56px; max-width: 62ch; color: rgba(255, 255, 255, .68); line-height: 1.7; font-size: .98rem; }
html.is-rtl .faq__a p { padding: 0 56px clamp(18px, 2vw, 28px) 28px; }
.faq__item[open] .faq__a { animation: faqOpen .5s cubic-bezier(.2, .8, .2, 1); }
@keyframes faqOpen { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
@media (max-width: 900px) { .faq__grid { grid-template-columns: 1fr; } .faq__title { position: static; } .faq__a p { padding-inline-start: 0; } }