/* FAQ dinâmico — usa os tokens da página quando existem */
.faq2{--f-fg:var(--page-fg, #141414); --f-muted:var(--muted, #5F5C57); --f-line:var(--rule, #E4DFD5); --f-surface:var(--surface, #FFFFFF); --f-gold:#B99E6E; --f-ease:cubic-bezier(.77,0,.18,1);
  padding-block:clamp(96px, 12vw, 180px); color:var(--f-fg)}
.faq2-grid{display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.5fr); gap:clamp(36px, 6vw, 96px); align-items:start}
.faq2-grid > *{min-width:0}
.faq2-side{position:sticky; top:110px; display:grid; gap:26px}
.faq2-side h2{font-size:clamp(38px, 4.8vw, 76px); line-height:1.02}
.faq2-label{font-size:13.5px; color:var(--f-muted)}
.faq2-ask{display:grid; gap:10px}
.faq2-field{display:flex; align-items:center; gap:8px; border-bottom:1px solid var(--f-line); transition:border-color .3s}
.faq2-field:focus-within{border-color:var(--f-gold)}
.faq2-field input{flex:1; min-width:0; font:inherit; font-size:18px; color:var(--f-fg); background:transparent; border:0; padding:14px 2px; min-height:56px}
.faq2-field input::placeholder{color:var(--f-muted)}
.faq2-field input:focus{outline:none}
.faq2-field button{flex:none; width:44px; height:44px; border-radius:50%; border:1px solid var(--f-line); background:transparent; color:var(--f-fg); font-size:18px; cursor:pointer; transition:background-color .3s, border-color .3s, color .3s}
.faq2-field button:hover{background:var(--f-fg); color:var(--f-surface); border-color:var(--f-fg)}
.faq2-suggest{display:flex; flex-wrap:wrap; gap:8px}
.faq2-suggest button{font:inherit; font-size:13px; color:var(--f-fg); background:transparent; border:1px solid var(--f-line); border-radius:999px; padding:9px 13px; min-height:40px; cursor:pointer; transition:border-color .25s}
.faq2-suggest button:hover{border-color:var(--f-gold)}
.faq2-answer{border:1px solid var(--f-gold); border-radius:20px; padding:22px; background:var(--f-surface); display:grid; gap:12px; position:relative; overflow:hidden}
.faq2-answer::before{content:""; position:absolute; left:0; top:0; height:2px; width:100%; background:var(--f-gold); transform-origin:left; transform:scaleX(var(--p, 0)); transition:transform .2s linear}
.faq2-a-head{display:flex; justify-content:space-between; gap:12px; color:var(--f-muted); font-family:var(--f-mono, ui-monospace, monospace); font-size:11.5px; letter-spacing:.12em; text-transform:uppercase}
.faq2-a-q{font-family:var(--f-display, Georgia, serif); font-size:21px; line-height:1.25}
.faq2-a-text{font-size:16px; line-height:1.6; font-weight:300; min-height:3.2em}
.faq2-a-text.typing::after{content:"▍"; color:var(--f-gold); animation:faq2blink .9s infinite; margin-left:2px}
@keyframes faq2blink{0%,100%{opacity:.2}50%{opacity:1}}
.faq2-a-actions{display:flex; flex-wrap:wrap; gap:10px}
.faq2-a-actions a,.faq2-a-actions button{font:inherit; font-size:14px; color:var(--f-fg); background:transparent; border:1px solid var(--f-line); border-radius:999px; padding:0 16px; min-height:44px; display:inline-flex; align-items:center; gap:8px; text-decoration:none; cursor:pointer}
.faq2-a-actions .primary{background:var(--f-fg); color:var(--f-surface); border-color:var(--f-fg)}
.faq2-filters{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:22px}
.faq2-filters button{font:inherit; font-size:13.5px; color:var(--f-muted); background:transparent; border:1px solid var(--f-line); border-radius:999px; padding:0 15px; min-height:40px; cursor:pointer; transition:color .25s, border-color .25s, background-color .25s}
.faq2-filters button[aria-pressed="true"]{color:var(--f-surface); background:var(--f-fg); border-color:var(--f-fg)}
.faq2-list{list-style:none; margin:0; padding:0; border-top:1px solid var(--f-line)}
.faq2-item{border-bottom:1px solid var(--f-line); position:relative; transition:opacity .35s}
.faq2-item::after{content:""; position:absolute; left:0; bottom:-1px; height:1px; width:100%; background:var(--f-gold); transform:scaleX(0); transform-origin:left; transition:transform .7s var(--f-ease)}
.faq2-item:hover::after,.faq2-item.open::after,.faq2-item.is-match::after{transform:scaleX(1)}
.faq2-item.is-dim{opacity:.32}
.faq2-item h3{margin:0; font:inherit; letter-spacing:0}
.faq2-item h3 button{all:unset; box-sizing:border-box; width:100%; cursor:pointer; display:grid; grid-template-columns:44px minmax(0,1fr) 28px; gap:14px; align-items:center; padding:24px 0; min-height:44px}
.faq2-item h3 button:focus-visible{outline:2px solid var(--f-gold); outline-offset:4px; border-radius:6px}
.faq2-n{font-family:var(--f-mono, ui-monospace, monospace); font-size:12px; color:var(--f-muted); transition:color .3s}
.faq2-q{font-size:clamp(17px, 1.5vw, 21px); line-height:1.35; transition:transform .5s var(--f-ease)}
.faq2-item h3 button:hover .faq2-q{transform:translateX(6px)}
.faq2-item.open .faq2-n,.faq2-item.is-match .faq2-n{color:var(--f-gold)}
.faq2-pm{width:28px; height:28px; border-radius:50%; border:1px solid var(--f-line); position:relative; transition:transform .5s var(--f-ease), border-color .3s, background-color .3s}
.faq2-pm::before,.faq2-pm::after{content:""; position:absolute; left:50%; top:50%; width:10px; height:1px; background:var(--f-fg); transform:translate(-50%,-50%)}
.faq2-pm::after{transform:translate(-50%,-50%) rotate(90deg); transition:transform .5s var(--f-ease)}
.faq2-item.open .faq2-pm{border-color:var(--f-gold); transform:rotate(180deg)}
.faq2-item.open .faq2-pm::after{transform:translate(-50%,-50%) rotate(0deg)}
.faq2-body{height:0; overflow:hidden; visibility:hidden}
.faq2-body p{padding:0 46px 26px 58px; color:var(--f-muted); font-weight:300; font-size:16.5px; line-height:1.65; max-width:44em; margin:0}
.faq2-body mark{background:transparent; color:var(--f-fg); box-shadow:inset 0 -0.42em 0 rgba(185,158,110,.38)}
@media (max-width:900px){
  .faq2-grid{grid-template-columns:1fr}
  .faq2-side{position:static}
  .faq2-item h3 button{grid-template-columns:32px minmax(0,1fr) 28px}
  .faq2-body p{padding:0 0 24px 46px}
}
@media (prefers-reduced-motion:reduce){.faq2 *{transition:none !important; animation:none !important}}
