.faq {
    max-width:1040px; margin:24px auto; padding:32px;
    border:1px solid var(--orange); border-radius:24px; background:#fff;
    box-shadow:0 14px 36px rgba(2,31,61,.06);
}
.faq h2 {
    margin:0 0 22px; color:var(--navy); font-size:34px;
    font-weight:900; line-height:1.15; text-align:center;
}
.faq__group + .faq__group { margin-top:24px; }
.faq__group h3 {
    margin:18px 0 10px; color:var(--navy-deep); font-size:12px;
    font-weight:900; letter-spacing:.04em;
}
.faq details {
    margin:8px 0; overflow:hidden; border:1px solid #dce3eb;
    border-radius:14px; background:#fff;
}
.faq summary {
    display:flex; min-height:50px; align-items:center; gap:10px; padding:12px 14px;
    color:var(--navy-deep); cursor:pointer; font-family:inherit;
    font-size:15px; font-weight:850; line-height:1.45; list-style:none;
}
.faq summary::-webkit-details-marker { display:none; }
.faq summary::before {
    width:0; height:0; flex:0 0 auto; border-top:5px solid transparent;
    border-bottom:5px solid transparent; border-left:7px solid var(--navy-deep);
    content:""; transform-origin:35% 50%; transition:transform .16s ease;
}
.faq details[open] summary { background:#f7f9fb; }
.faq details[open] summary::before { transform:rotate(90deg); }
.faq details p {
    margin:0; padding:13px 16px 16px 31px; border-top:1px solid #edf0f4;
    color:#455468; font-size:14px; line-height:1.6;
}
.faq__toggle {
    display:block; min-height:42px; margin:18px auto 0; padding:9px 18px;
    border:0; border-radius:999px; background:var(--navy-deep); color:#fff;
    cursor:pointer; font:inherit; font-weight:800;
}
.site-footer {
    padding:34px 18px 0; background:var(--navy-deep);
    color:rgba(255,255,255,.78); font-size:13px; line-height:1.6; text-align:left;
}
.site-footer__inner {
    display:grid; grid-template-columns:1.35fr .9fr 1.1fr .8fr; gap:44px;
    max-width:1180px; margin:0 auto; padding-bottom:30px;
}
.site-footer__brand strong,
.site-footer__nav strong,
.site-footer__socials > strong {
    display:block; margin-bottom:10px; color:#fff; font-size:15px;
}
.site-footer__brand p { max-width:300px; margin:0; }
.site-footer__nav {
    display:flex; flex-direction:column; align-items:flex-start; gap:5px;
}
.site-footer__nav a {
    color:rgba(255,255,255,.78); text-decoration:none;
}
.site-footer__nav a:hover,
.site-footer__nav a:focus-visible { color:var(--orange); }
.site-footer__socials {
    display:flex; flex-direction:column; align-items:flex-start;
}
.site-footer__social-row {
    display:inline-flex; min-height:31px; align-items:center; gap:9px;
    color:rgba(255,255,255,.84); text-decoration:none;
}
.site-footer__social-mark {
    display:inline-grid; width:24px; height:24px; place-items:center;
    border:1px solid rgba(255,255,255,.24); border-radius:50%;
    color:#fff; font-size:10px; font-weight:900;
}
.site-footer__bottom {
    padding:15px 18px; border-top:1px solid rgba(255,255,255,.12);
    color:rgba(255,255,255,.88); text-align:center;
}
@media (max-width:900px) {
    .site-footer__inner {
        grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px;
    }
}
@media (max-width:760px) {
    .faq { margin:20px 0; padding:24px 14px; border-radius:18px; }
    .faq h2 { font-size:30px; }
    .site-footer { padding-top:28px; }
    .site-footer__inner { grid-template-columns:1fr; gap:22px; }
    .site-footer__brand p { max-width:none; }
    .site-footer__bottom { text-align:left; }
}
@media (prefers-reduced-motion:reduce) {
    .faq summary::before { transition:none; }
}
