aracaju-faq { display:block; }
.faq { max-width:1440px; margin:auto; padding:66px clamp(24px,4vw,64px) 80px; background:#fff; }
.faq__heading { margin-bottom:37px; }
.faq__eyebrow { margin:0 0 19px; color:#476b8d; font-size:13px; font-weight:500; letter-spacing:.23em; }
.faq h2 { margin:0; font:750 clamp(34px,4.1vw,60px)/1.1 var(--font-display); letter-spacing:-.045em; }
.faq__item { border-bottom:1px solid #dce3ec; }
.faq__item[open] { margin-bottom:18px; border-bottom-color:transparent; border-radius:15px; background:#f4f8fe; box-shadow:0 8px 28px #173e6405; }
.faq__item[open]+.faq__item { border-top:1px solid #dce3ec; }
.faq__summary { display:grid; grid-template-columns:52px minmax(0,1fr) 28px; align-items:center; gap:27px; min-height:104px; padding:25px 30px; cursor:pointer; list-style:none; color:#102039; }
.faq__summary::-webkit-details-marker { display:none; }
.faq__summary::marker { content:''; }
.faq__summary h3 { margin:0; font:650 clamp(20px,1.85vw,28px)/1.35 var(--font-display); letter-spacing:-.025em; }
.faq__summary:hover h3 { color:#235e9a; }
.faq__summary:focus-visible { outline:3px solid #176dbb; outline-offset:-4px; border-radius:10px; }
.faq__number { align-self:stretch; display:grid; align-items:center; padding-right:18px; min-height:48px; border-right:1px solid #d4dfe9; color:#476b8d; font-size:20px; line-height:1.3; }
.faq__symbol { position:relative; display:block; width:26px; height:26px; color:#235e9a; }
.faq__symbol::before,.faq__symbol::after { content:''; position:absolute; top:12px; left:2px; right:2px; height:1.7px; background:currentColor; }
.faq__symbol::after { transform:rotate(90deg); transition:transform .18s ease; }
.faq__item[open] .faq__symbol::after { transform:rotate(0); }
.faq__answer { padding:0 72px 29px 109px; color:#536b84; font-size:clamp(17px,1.55vw,22px); line-height:1.55; }
.faq__answer p { max-width:1050px; margin:0; }
.faq__link { display:inline-flex; align-items:center; gap:13px; min-height:44px; margin-top:10px; color:#235e9a; text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:1px; }
.faq__link:hover { color:#153e66; }
.faq__link span { font-size:23px; line-height:1; text-decoration:none; }
aracaju-faq[reduced] .faq__symbol::after { transition:none; }
@media(max-width:900px) and (min-width:701px) {
 .faq__summary { grid-template-columns:42px minmax(0,1fr) 26px; gap:19px; padding-inline:22px; }
 .faq__answer { padding-left:83px; padding-right:50px; }
}
@media(max-width:700px) {
 .faq { padding:44px 22px 60px; }
 .faq__heading { margin-bottom:29px; padding:0 3px; }
 .faq__eyebrow { font-size:11px; letter-spacing:.20em; margin-bottom:20px; }
 .faq h2 { font-size:clamp(30px,8.5vw,43px); line-height:1.1; }
 .faq__item[open] { border-radius:13px; margin-bottom:16px; }
 .faq__summary { grid-template-columns:30px minmax(0,1fr) 22px; gap:16px; min-height:91px; padding:20px 16px; }
 .faq__summary h3 { font-size:clamp(19px,5.2vw,25px); line-height:1.35; }
 .faq__number { font-size:17px; padding-right:9px; min-height:44px; }
 .faq__symbol { width:22px; height:22px; }
 .faq__symbol::before,.faq__symbol::after { top:10px; left:1px; right:1px; }
 .faq__answer { padding:0 20px 26px 62px; font-size:16px; line-height:1.55; }
 .faq__link { margin-top:12px; gap:10px; font-size:16px; }
}
@media(max-width:360px) {
 .faq { padding-inline:16px; }
 .faq__summary { gap:12px; padding-inline:13px; grid-template-columns:25px minmax(0,1fr) 20px; }
 .faq__number { font-size:16px; padding-right:6px; }
 .faq__answer { padding-left:50px; padding-right:17px; }
}
@media(prefers-reduced-motion:reduce) { .faq__symbol::after { transition:none; } }
