/* =============================================================
   FRAN BARION · Páginas internas (guias e perguntas frequentes)
   Complementa styles.css. Usa os mesmos tokens da marca:
   verde #0F2B23, ouro #C8A86A, off-white #F6F3EB,
   Cormorant Garamond + Cinzel + Montserrat.
   Escopo: só as páginas que carregam este arquivo.
   ============================================================= */

/* ---------- topo da página ---------- */
.page-hero{ position:relative; overflow:hidden; background:linear-gradient(155deg,var(--green),var(--green-deep));
  color:var(--off); padding:calc(5.5rem + clamp(2.5rem,7vw,5rem)) 0 clamp(3.5rem,8vw,6rem); }
.page-hero::before{ content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(90% 70% at 80% 0%, rgba(200,168,106,.16), transparent 60%); }
.page-hero .container{ position:relative; max-width:980px; }
.page-hero .eyebrow{ color:var(--gold); }
.page-hero h1{ font-family:var(--serif); font-weight:300; font-size:clamp(2.5rem,6.4vw,4.6rem); line-height:1.02;
  letter-spacing:-.01em; margin:1.3rem 0 1.5rem; max-width:18ch; }
.page-hero h1 em{ font-style:italic; color:var(--gold); }
.page-hero__lead{ font-family:var(--serif); font-style:italic; font-size:clamp(1.15rem,2vw,1.4rem); line-height:1.5;
  color:rgba(246,243,235,.8); max-width:52ch; }
.page-hero .rule{ margin-top:2.2rem; }

/* trilha de navegação */
.crumbs{ font-size:.66rem; letter-spacing:.22em; text-transform:uppercase; color:rgba(246,243,235,.55); }
.crumbs ol{ list-style:none; display:flex; flex-wrap:wrap; gap:.6rem; margin:0 0 2rem; padding:0; }
.crumbs li + li::before{ content:"\203A"; margin-right:.6rem; color:var(--gold); }
.crumbs a{ color:rgba(246,243,235,.75); border-bottom:1px solid transparent; transition:border-color .4s var(--ease), color .4s var(--ease); }
.crumbs a:hover{ color:var(--gold); border-color:var(--gold); }
.crumbs [aria-current]{ color:var(--gold); }

/* ---------- corpo de leitura ---------- */
.page-body{ background:#fff; padding-block:clamp(4rem,9vw,7rem); }
.page-body--off{ background:var(--off); }
.prose{ max-width:760px; margin-inline:auto; }
.prose > * + *{ margin-top:1.1rem; }
.prose h2{ font-family:var(--serif); font-weight:400; font-size:clamp(1.9rem,3.6vw,2.6rem); line-height:1.1; color:var(--green);
  margin-top:3.6rem; }
.prose h2:first-child{ margin-top:0; }
.prose h2 em{ font-style:italic; color:var(--gold); }
.prose h3{ font-family:var(--serif); font-weight:500; font-size:1.45rem; color:var(--green); margin-top:2.2rem; }
.prose p{ color:var(--ink); line-height:1.85; }
.prose p.muted{ color:var(--ink-soft); }
.prose ul, .prose ol{ list-style:none; padding:0; display:flex; flex-direction:column; gap:.7rem; }
.prose ul li{ position:relative; padding-left:1.4rem; line-height:1.7; }
.prose ul li::before{ content:""; position:absolute; left:0; top:.68em; width:6px; height:6px; border-radius:50%; background:var(--gold); }
.prose ol{ counter-reset:passo; }
.prose ol li{ position:relative; padding-left:2.6rem; line-height:1.7; counter-increment:passo; }
.prose ol li::before{ content:counter(passo, decimal-leading-zero); position:absolute; left:0; top:.05em;
  font-family:var(--serif); font-size:1.15rem; color:var(--gold); letter-spacing:.06em; }
.prose a{ color:var(--green); border-bottom:1px solid var(--gold); transition:color .3s var(--ease); }
.prose a:hover{ color:var(--gold); }
.prose strong{ font-weight:500; color:var(--green); }

/* caixa de destaque */
.note{ background:var(--off); border:1px solid var(--gold-line); border-radius:14px; padding:1.6rem 1.8rem; }
.page-body--off .note{ background:#fff; }
.note__k{ display:block; font-size:.62rem; font-weight:600; letter-spacing:.24em; text-transform:uppercase; color:var(--gold); margin-bottom:.6rem; }
.note p{ margin:0; }
.note--green{ background:var(--green); border-color:var(--green); color:var(--off); }
.note--green p{ color:rgba(246,243,235,.86); }
.note--green strong{ color:var(--gold); }
.note--green a{ color:var(--gold); border-color:var(--gold-line); }

/* faixa de seção dentro do corpo (reaproveita a linha do tempo da home) */
.page-band{ margin-top:4.5rem; }
.page-band__head{ text-align:center; max-width:680px; margin:0 auto 2.6rem; }
.page-band__head h2{ font-family:var(--serif); font-weight:300; font-size:var(--fs-h2); color:var(--green); margin:1rem 0 1rem; line-height:1.05; }
.page-band__head h2 em{ font-style:italic; color:var(--gold); }
.page-band__head p{ color:var(--ink-soft); }

/* ---------- perguntas frequentes ---------- */
.faq-group + .faq-group{ margin-top:3.8rem; }
.faq-group > h2{ margin-bottom:1.2rem; }
.faq{ border-top:1px solid var(--line); }
.faq details{ border-bottom:1px solid var(--line); }
.faq summary{ list-style:none; cursor:pointer; display:grid; grid-template-columns:1fr 28px; gap:1rem; align-items:center;
  padding:1.35rem 0; font-family:var(--serif); font-size:clamp(1.2rem,2.2vw,1.42rem); line-height:1.3; color:var(--green); }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{ content:""; width:28px; height:28px; border-radius:50%; border:1px solid var(--gold-line);
  background:
    linear-gradient(var(--gold),var(--gold)) center/11px 1px no-repeat,
    linear-gradient(var(--gold),var(--gold)) center/1px 11px no-repeat;
  transition:transform .4s var(--ease), background-color .4s var(--ease); }
.faq details[open] summary::after{ transform:rotate(45deg); }
.faq summary:hover{ color:var(--gold); }
.faq summary:focus-visible{ outline:2px solid var(--gold); outline-offset:4px; }
.faq__a{ padding:0 2.6rem 1.6rem 0; color:var(--ink); line-height:1.85; }
.faq__a p + p{ margin-top:.8rem; }
.faq__a a{ color:var(--green); border-bottom:1px solid var(--gold); }
.faq__a a:hover{ color:var(--gold); }

/* índice rápido de grupos */
.toc{ display:flex; flex-wrap:wrap; gap:.7rem; margin-bottom:3rem; }
.toc a{ font-size:.68rem; letter-spacing:.2em; text-transform:uppercase; color:var(--green); padding:.75em 1.2em;
  border:1px solid var(--gold-line); border-radius:2px; transition:background .4s var(--ease), color .4s var(--ease); }
.toc a:hover{ background:var(--green); color:var(--off); border-color:var(--green); }

/* ---------- continue lendo ---------- */
.related{ max-width:1080px; margin:5rem auto 0; }
.related__head{ text-align:center; margin-bottom:2rem; }
.related__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--gold-line);
  border:1px solid var(--gold-line); border-radius:16px; overflow:hidden; }
.related__card{ background:var(--off); padding:2.2rem 2rem; display:flex; flex-direction:column; gap:.7rem; transition:background .5s var(--ease); }
.related__card .k{ font-size:.62rem; letter-spacing:.24em; text-transform:uppercase; color:var(--gold); font-weight:500; }
.related__card strong{ font-family:var(--serif); font-weight:400; font-size:1.5rem; line-height:1.15; color:var(--green); }
.related__card span.go{ margin-top:auto; padding-top:.8rem; font-size:.68rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-soft); }
.related__card:hover{ background:#fff; }
.related__card:hover span.go{ color:var(--green); }

/* rodapé: links ativos nas páginas internas */
.footer__col a[aria-current]{ color:var(--gold); }

@media (max-width:840px){
  .related__grid{ grid-template-columns:1fr; }
  .faq__a{ padding-right:0; }
}

/* resposta direta: primeira frase que define o assunto da pagina (GEO) */
.prose .answer{ font-size:1.06rem; color:var(--ink); padding-left:1.2rem; border-left:2px solid var(--gold); }

/* rodapé: dados da empresa (Decreto 7.962/2013) e marca irmã */
.footer__legal{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:.8rem 2.4rem;
  padding-top:1.8rem; font-size:.72rem; line-height:1.75; letter-spacing:.03em; color:rgba(246,243,235,.55); }
.footer__legal address{ font-style:normal; max-width:86ch; }
.footer__legal a{ color:rgba(246,243,235,.78); border-bottom:1px solid transparent; transition:border-color .4s var(--ease), color .4s var(--ease); }
.footer__legal a:hover{ color:var(--gold); border-color:var(--gold); }
.footer__legal a.footer__sister{ color:var(--gold); letter-spacing:.08em; white-space:nowrap; }
