.ks-faq { display:grid; grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr); gap:clamp(48px,9vw,150px); max-width:1450px; margin:150px auto; color:#fff; }
.ks-faq__intro { display:flex; min-height:520px; flex-direction:column; justify-content:space-between; }
.ks-faq h2 { margin:0; color:#fff; font-size:clamp(42px,4.2vw,64px); font-weight:600; line-height:1.04; letter-spacing:-.045em; }
.ks-faq__intro-bottom { max-width:390px; }
.ks-faq__intro p { margin:0 0 24px; color:#fff; font-size:17px; font-weight:500; line-height:1.5; }
.ks-faq__cta { margin:0; padding:0; border:0; background:transparent; font:inherit; cursor:pointer; }
.ks-faq__cta .cta-name { font-size:13px; }
.ks-faq__items { display:grid; align-content:start; gap:12px; }
.ks-faq__item { border:1px solid #2a2a39; border-radius:30px; background:transparent; transition:border-color .24s ease; }
.ks-faq__item summary { display:flex; min-height:78px; align-items:center; justify-content:space-between; gap:26px; padding:16px 26px; color:#fff; cursor:pointer; list-style:none; font-size:20px; font-weight:600; line-height:1.25; }
.ks-faq__item summary::-webkit-details-marker { display:none; }
.ks-faq__item summary i { position:relative; display:block; width:24px; height:24px; flex:0 0 24px; border:1px solid #2a2a39; border-radius:50%; background:#fff; }
.ks-faq__item summary i::before, .ks-faq__item summary i::after { position:absolute; top:50%; left:50%; width:9px; height:1px; background:#02021e; content:""; transform:translate(-50%,-50%); }
.ks-faq__item summary i::after { transform:translate(-50%,-50%) rotate(90deg); transition:transform .2s ease; }
.ks-faq__item[open] summary i::after { transform:translate(-50%,-50%) rotate(0); }
.ks-faq__answer { max-width:680px; padding:0 74px 24px 26px; color:rgba(255,255,255,.78); font-size:16px; font-weight:400; line-height:1.55; }
.ks-faq__answer p { margin:0; }
.ks-faq__item summary:focus-visible { outline:2px solid #58b2f4; outline-offset:-4px; border-radius:26px; }

@media (max-width:850px) { .ks-faq { grid-template-columns:1fr; gap:48px; margin:90px auto; } .ks-faq__intro { min-height:0; gap:28px; } .ks-faq__intro-bottom { max-width:520px; } }
@media (max-width:600px) { .ks-faq { gap:36px; margin:72px auto; } .ks-faq h2 { font-size:42px; } .ks-faq__intro p { font-size:16px; } .ks-faq__item { border-radius:26px; } .ks-faq__item summary { min-height:66px; padding:14px 18px; gap:14px; font-size:17px; } .ks-faq__item summary i { width:21px; height:21px; flex-basis:21px; } .ks-faq__answer { padding:0 56px 18px 18px; font-size:15px; } .ks-faq__cta .cta-name { font-size:12px; } }
