.security-requirements { background: #fff; }
.security-requirements .section-heading { margin-bottom: 32px; }
.security-requirements h2 { font-size: clamp(2rem, 3.2vw, 3rem); }
.security-requirements .requirements { gap: 20px; }
.security-requirements .requirement { padding: 26px 24px; border: 1px solid #d5e5f4; border-radius: 12px; background: linear-gradient(145deg, #f3f9ff, #fff 65%); box-shadow: 0 8px 24px rgba(13, 61, 108, .04); }
.security-requirements .requirement-symbol { display: grid; place-items: center; width: 56px; height: 56px; margin-bottom: 24px; border-radius: 14px; color: #fff; background: linear-gradient(135deg, #228bff, #0660d6); box-shadow: 0 7px 16px #1685df25; }
.security-requirements .requirement:nth-child(even) .requirement-symbol { background: linear-gradient(135deg, #00bfd5, #087daf); }
.security-requirements .requirement .icon { width: 30px; height: 30px; margin: 0; color: #fff; stroke-width: 1.8; }
.security-requirements .requirement h3 { font-size: 1rem; line-height: 1.3; margin-bottom: 12px; }
.security-requirements .requirement p { font-size: .85rem; line-height: 1.65; margin: 0; }
.security-requirements .requirements-note { margin: 24px 0 0; padding: 18px 24px; border-left: 3px solid #149edf; border-radius: 0 8px 8px 0; background: #eff7ff; color: #365977; font-size: .94rem; }
.security-faq { border-top: 1px solid #dce8f3; background: #f5f9fd; }
.security-faq .faq-layout { grid-template-columns: .85fr 1.4fr; gap: clamp(32px, 5vw, 72px); align-items: start; }
.security-faq h2 { font-size: clamp(2rem, 3vw, 2.7rem); max-width: 15ch; line-height: 1.15; }
.security-faq .faq-list { display: grid; gap: 12px; border: 0; }
.security-faq .faq-item { border: 1px solid #d4e3f0; border-radius: 10px; background: #fff; overflow: hidden; }
.security-faq .faq-item.open { border-color: #83b9ed; box-shadow: 0 6px 20px #126cc70a; }
.security-faq .faq-question { padding: 20px 24px; min-height: 68px; gap: 20px; font-size: .95rem; font-weight: 600; line-height: 1.4; }
.security-faq .faq-question::after { content: '+'; display: grid; place-items: center; flex: 0 0 28px; height: 28px; border-radius: 50%; background: #edf6ff; color: #1479d7; font-size: 1.4rem; font-weight: 400; line-height: 1; }
.security-faq .faq-item.open .faq-question::after { content: '−'; transform: none; }
.security-faq .faq-question:focus-visible { outline: 2px solid #1685ed; outline-offset: -4px; border-radius: 10px; }
.security-faq .faq-answer p { padding: 0 24px; font-size: .9rem; line-height: 1.7; }
.security-faq .faq-item.open .faq-answer p { padding-bottom: 22px; }
@media (max-width: 1050px) { .security-requirements .requirements { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 800px) { .security-faq .faq-layout { grid-template-columns: 1fr; gap: 24px; } .security-faq h2 { max-width: 22ch; margin-bottom: 0; } }
@media (max-width: 550px) { .security-requirements .requirements { grid-template-columns: 1fr; } .security-requirements .requirement { padding: 22px; } .security-faq .faq-question { padding: 18px; } .security-faq .faq-answer p { padding-inline: 18px; } }
