/* ============================================================
   TENDA DA FORTUNA — style.css
   Identidade: carmim / dourado / noite / creme — Fraunces + Hanken Grotesk
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;0,9..144,500;0,9..144,600;0,9..144,700;1,9..144,400;1,9..144,500;1,9..144,600&family=Hanken+Grotesk:wght@300;400;500;600;700;800&family=Bodoni+Moda:opsz,wght@6..96,500;6..96,600;6..96,700&family=Saira+Condensed:wght@500;600;700&display=swap');

:root{
  --night:#3c111c; --night-2:#2b0b14; --night-3:#4d1624;
  --carmim:#a91d3a; --plum:#c73150; --carmim-deep:#7a1730;
  --gold:#c89a4a; --gold-bright:#e0b667; --gold-deep:#9a7430;
  --cream:#f6f1e7; --cream-2:#efe0c8; --paper:#fbf8f1;
  --ink:#2b2330; --ink-soft:#5c5563; --ink-mute:#8a8291; --line:#e4dcca;
  --maxw:1180px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Hanken Grotesk',system-ui,sans-serif;
  background:var(--paper); color:var(--ink);
  line-height:1.62; -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
img{display:block; max-width:100%}
a{color:inherit; text-decoration:none}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 28px}
.tk{font-family:'Saira Condensed',sans-serif; letter-spacing:.14em; text-transform:uppercase; font-weight:600}
.fr{font-family:'Fraunces',serif}
:focus-visible{outline:2px solid var(--carmim); outline-offset:3px}
@media (prefers-reduced-motion:reduce){ *{animation:none!important; transition:none!important} }

/* ---------- header / nav ---------- */
header.bar{position:fixed; top:0; left:0; right:0; z-index:200; background:rgba(43,11,20,.94); backdrop-filter:blur(10px); box-shadow:0 1px 0 rgba(200,154,74,.22)}
.bar .row{display:flex; align-items:center; justify-content:space-between; padding:20px 0}
.brand{display:flex; align-items:center; gap:14px}
.brand .bmark{width:56px; height:auto; flex:0 0 auto; display:block}
.brand .nm{font-family:'Fraunces',serif; font-size:1.36rem; font-weight:500; color:var(--cream); line-height:1.1}
.brand .nm em{font-style:italic; color:var(--gold-bright)}
.brand .sb{font-size:.66rem; letter-spacing:.2em; color:rgba(246,241,231,.6); margin-top:3px; display:block}
.navlinks{display:flex; gap:30px; align-items:center}
.navlinks a{font-size:1rem; color:rgba(246,241,231,.88); transition:color .2s; padding:4px 0; position:relative}
.navlinks a.btn{padding:11px 22px; padding-right:calc(22px + .13em); color:var(--cream); font-size:.84rem}
.navlinks a.btn:hover{color:var(--cream)}
.navlinks a.btn.active::after{display:none}
.navlinks a:hover, .navlinks a:focus-visible{color:var(--gold-bright)}
.navlinks a.active{color:var(--gold-bright)}
.navlinks a.active::after{content:"";position:absolute; left:0; right:0; bottom:-6px; height:2px; background:var(--gold-bright)}
.btn{
  display:inline-block; border:none; cursor:pointer;
  background:var(--carmim); color:var(--cream);
  font-family:'Saira Condensed',sans-serif; font-weight:600; letter-spacing:.13em; text-transform:uppercase;
  font-size:.8rem; padding:11px 22px; padding-right:calc(22px + .13em); border-radius:2px; transition:background .2s, transform .2s;
}
.btn:hover{background:#c02445; transform:translateY(-1px)}
.btn.ghost{background:transparent; border:1px solid var(--gold); color:var(--gold-bright)}
.btn.ghost:hover{background:rgba(200,154,74,.12)}
.burger{display:none; background:none; border:1px solid rgba(200,154,74,.4); color:var(--cream); border-radius:2px; padding:7px 10px; cursor:pointer; font-size:1rem}
@media(max-width:900px){
  .navlinks{display:none}
  .burger{display:block}
  .navlinks.open{
    display:flex; position:absolute; top:100%; left:0; right:0; flex-direction:column; gap:0;
    background:rgba(43,11,20,.98); padding:8px 28px 20px;
  }
  .navlinks.open a{padding:12px 0; border-bottom:1px solid rgba(200,154,74,.14); width:100%}
}
body{padding-top:88px} /* compensar header fixo */

/* ---------- whatsapp flutuante ---------- */
.wa-float{
  position:fixed; right:22px; bottom:22px; z-index:300;
  width:58px; height:58px; border-radius:50%;
  background:#25D366; display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 26px -8px rgba(0,0,0,.55), 0 0 0 4px rgba(37,211,102,.18);
  transition:transform .2s, box-shadow .2s;
}
.wa-float:hover{ transform:translateY(-3px) scale(1.04); box-shadow:0 14px 30px -8px rgba(0,0,0,.6), 0 0 0 4px rgba(37,211,102,.26)}
.wa-float svg{width:30px; height:30px}
@media(max-width:600px){ .wa-float{right:16px; bottom:16px; width:52px; height:52px} .wa-float svg{width:27px;height:27px} }

/* ---------- secoes ---------- */
.sec{padding:70px 0}
.sec.tight{padding:30px 0}
.sec.light{background:var(--paper); color:var(--ink)}
.sec.tint{background:var(--cream-2); color:var(--ink)}
.sec.dark{background:linear-gradient(168deg,var(--night-3) 0%, var(--night) 45%, var(--night-2) 100%); color:var(--cream)}
.kick{font-size:1.08rem; color:var(--gold-deep); margin-bottom:16px; display:flex; align-items:center; gap:12px}
.kick::before{content:""; width:26px; height:1px; background:var(--gold-deep)}
.sec.dark .kick{color:var(--gold-bright)}
.sec.dark .kick::before{background:var(--gold-bright)}
h1.display, h2.display{font-family:'Fraunces',serif; font-weight:400; font-size:clamp(2rem,4.6vw,3.4rem); line-height:1.06; letter-spacing:-.015em}
h2.display em, h1.display em{font-style:italic; color:var(--carmim)}
.sec.dark h2.display em, .sec.dark h1.display em,
.pagehero h1.display em, .pagehero h2.display em,
.hero h1 em{color:var(--gold-bright)}
.lede{font-size:1.24rem; line-height:1.7; color:var(--ink-soft); max-width:64ch}
.sec.dark .lede{color:rgba(246,241,231,.78)}
.body-txt{font-size:1.17rem; line-height:1.78; color:var(--ink-soft); max-width:66ch}
.sec.dark .body-txt{color:rgba(246,241,231,.75)}

/* textos longos — formatação justificada */
.lede, .body-txt, .hero .lead, .ftx p, .subcard p, .vcard p, .tricard p{
  text-align:justify; text-align-last:left; -webkit-hyphens:auto; hyphens:auto;
}
/* cards estreitos: justificar abriria buracos entre as palavras */
.fw p{text-align:left; hyphens:none}

/* divisor com estrela */
.hair{display:flex; align-items:center; gap:13px; margin:30px 0}
.hair .ln{flex:1; height:1px; background:var(--line)}
.sec.dark .hair .ln{background:rgba(224,182,103,.28)}
.hair svg{width:14px; height:14px; flex:0 0 auto}

/* ---------- footer ---------- */
footer.site{background:var(--night-2); border-top:1px solid rgba(200,154,74,.2); padding:46px 0 30px; color:rgba(246,241,231,.7)}
footer.site .fcols{display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:34px; margin-bottom:30px}
footer.site .fbrand .nm{font-family:'Fraunces',serif; font-size:1.15rem; color:var(--cream)}
footer.site .fbrand .nm em{font-style:italic; color:var(--gold-bright)}
footer.site .fbrand p{font-size:.86rem; margin-top:10px; color:rgba(246,241,231,.6); max-width:34ch}
footer.site h5{font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-bright); margin-bottom:12px}
footer.site ul{list-style:none}
footer.site li{margin-bottom:8px; font-size:.86rem}
footer.site a:hover{color:var(--gold-bright)}
footer.site .fbottom{border-top:1px solid rgba(200,154,74,.16); padding-top:18px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px 24px; font-size:.78rem; color:rgba(246,241,231,.5); line-height:1.6}
footer.site .fcnpj-br{display:none} /* no desktop fica tudo numa linha só, separado por texto corrido */
footer.site .fbottom em{font-style:italic; color:var(--gold-bright); font-family:'Fraunces',serif}
@media(max-width:760px){ footer.site .fcols{grid-template-columns:1fr; gap:24px} }

/* ---------- destaque de palavras-chave no texto ---------- */
.hl{color:var(--carmim); font-weight:600; font-style:normal}
.fmt-detail.umbrella .hl, .sec.dark .hl, .hero .hl{color:var(--gold-bright)}
.hl2{font-family:'Fraunces',serif; font-style:italic; color:var(--gold-deep); font-weight:500}
.fmt-detail.umbrella .hl2, .sec.dark .hl2{color:var(--gold-bright)}

/* ---------- tag "3 formatos dentro desta solução" ---------- */
.subtrio-tag{display:inline-flex; align-items:center; gap:9px; margin-top:40px;
  font-family:'Saira Condensed',sans-serif; letter-spacing:.14em; text-transform:uppercase;
  font-size:1.12rem; font-weight:700; color:var(--gold-bright)}
.subtrio-tag::before{content:""; width:18px; height:1px; background:var(--gold-bright)}
.subtrio-note{font-family:'Fraunces',serif; font-style:italic; font-size:.92rem; color:rgba(246,241,231,.65); margin-top:6px}

/* ---------- fundo alternado por secao (home) ---------- */
.sec.rose{background:linear-gradient(180deg, #f8e9e3 0%, #f6f1e7 100%)}

/* ---------- reveal on scroll ---------- */
.rv{opacity:0; transform:translateY(18px); transition:opacity .65s ease, transform .65s cubic-bezier(.2,.7,.3,1)}
.rv.in{opacity:1; transform:none}

/* ============================================================
   COMPONENTES ESPECÍFICOS
   ============================================================ */

/* hero interno de página (Quem Somos / Serviços / Contato) */
.pagehero{position:relative; padding:150px 0 70px; background:linear-gradient(160deg,var(--carmim-deep) 0%, #6e1428 42%, var(--night-3) 74%, var(--night) 100%); color:var(--cream); overflow:hidden}
.pagehero::before{content:""; position:absolute; inset:0; opacity:.5; pointer-events:none;
  background:conic-gradient(from 200deg at 50% 0%, transparent 0deg, rgba(224,182,103,.06) 16deg, transparent 32deg, transparent 46deg, rgba(224,182,103,.05) 58deg, transparent 72deg);}
.pagehero .inner{position:relative; z-index:1}
.pagehero .eyebrow{display:flex; align-items:center; gap:12px; font-size:1.1rem; color:var(--gold-bright); margin-bottom:18px}
.pagehero .eyebrow::before{content:""; width:30px; height:1px; background:var(--gold-bright)}
.pagehero p.lede{color:rgba(246,241,231,.82); margin-top:18px}

/* trio de fotos (empresa) */
.trip{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
.trip img{width:100%; aspect-ratio:3/4; object-fit:cover; border-radius:3px; box-shadow:0 16px 30px -18px rgba(30,10,10,.35)}
@media(max-width:700px){ .trip{grid-template-columns:1fr 1fr} .trip figure:nth-child(3){grid-column:span 2} }

/* galeria de público — mosaico editorial */
.audience-lbl{font-size:1.08rem; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-deep); font-weight:700; margin-top:48px; margin-bottom:18px}
.mosaic{display:grid; grid-template-columns:1.55fr 1fr; grid-template-rows:1fr 1fr; gap:14px; height:520px}
.mosaic figure{position:relative; overflow:hidden; border-radius:4px; margin:0;
               box-shadow:0 20px 38px -22px rgba(30,10,10,.45)}
.mosaic .ms-big{grid-row:1 / span 2}
.mosaic img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .7s cubic-bezier(.2,.7,.3,1)}
.mosaic figure:hover img{transform:scale(1.045)}
.mosaic figcaption{position:absolute; left:0; right:0; bottom:0; padding:34px 18px 14px;
  font-size:.78rem; letter-spacing:.02em; color:var(--cream);
  background:linear-gradient(to top, rgba(40,12,20,.88), rgba(40,12,20,.45) 55%, transparent)}
@media(max-width:820px){
  .mosaic{grid-template-columns:1fr; grid-template-rows:auto; height:auto}
  .mosaic .ms-big{grid-row:auto}
  .mosaic figure{aspect-ratio:4/3}
}

/* stats */
.stats{display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin-top:40px}
.sec.tight .stats{margin-top:0}
.stats>div{padding:30px 10px; text-align:center; border-left:1px solid var(--line)}
.stats>div:first-child{border-left:none}
.stats .n{font-family:'Hanken Grotesk',sans-serif; font-weight:300; font-size:2.7rem; line-height:1;
          color:var(--ink); letter-spacing:-.025em; font-variant-numeric:tabular-nums; font-feature-settings:"tnum"}
.stats .n .u{font-size:1.05rem; font-weight:500; color:var(--carmim); letter-spacing:.01em; margin-left:3px; vertical-align:.42em}
.stats .l{font-size:.63rem; letter-spacing:.19em; text-transform:uppercase; color:var(--ink-mute); margin-top:11px; font-weight:600}
@media(max-width:700px){ .stats{grid-template-columns:1fr 1fr} .stats .n{font-size:2.15rem} .stats>div:nth-child(3){border-left:none} .stats>div:nth-child(n+3){border-top:1px solid var(--line)} }

/* diretor */
.dirgrid{display:grid; grid-template-columns:.95fr 1.05fr; gap:44px; align-items:center}
.dirgrid img{width:100%; aspect-ratio:4/5; object-fit:cover; object-position:62% 20%; border-radius:3px; box-shadow:0 20px 40px -22px rgba(30,10,10,.4)}
.dirhead{display:flex; align-items:flex-start; justify-content:space-between; gap:20px; flex-wrap:wrap;
         margin-bottom:20px; padding-bottom:16px; border-bottom:1px solid var(--line)}
.awards{display:flex; align-items:center; gap:12px; flex:0 0 auto; height:66px; padding:0 22px; border-radius:6px;
  border:1px solid rgba(169,29,58,.28); background:rgba(169,29,58,.07)}
.awards .b{font-family:'Fraunces',serif; font-weight:700; font-size:2.5rem; color:var(--carmim); line-height:1}
.awards .c{font-size:.82rem; font-weight:700; color:var(--carmim); text-transform:uppercase; letter-spacing:.1em; line-height:1.25}
.dirname{font-family:'Fraunces',serif; font-size:1.8rem}
.dirrole{font-size:1.05rem; color:var(--gold-deep); letter-spacing:.18em; text-transform:uppercase; margin-top:6px}
@media(max-width:820px){ .dirgrid{grid-template-columns:1fr; gap:26px} .dirhead{gap:14px} }

/* pull quote */
.pull{border-left:2px solid var(--gold); padding-left:22px; margin-top:34px; max-width:62ch}
.pull p{font-family:'Fraunces',serif; font-style:italic; font-size:1.2rem; line-height:1.5; color:var(--night)}
.sec.dark .pull p{color:var(--cream)}
.sec.dark .pull{border-color:var(--gold-bright)}

/* -------- Nossos Serviços: vitrine no topo -------- */
.vitrine{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:44px}
.vcard{background:var(--paper); border:1px solid var(--line); border-radius:4px; overflow:hidden; display:flex; flex-direction:column; transition:transform .25s, box-shadow .25s}
.vcard:hover{transform:translateY(-4px); box-shadow:0 22px 40px -22px rgba(30,10,10,.3)}
.vcard .vimg{aspect-ratio:4/3; overflow:hidden}
.vcard .vimg img{width:100%; height:100%; object-fit:cover; transition:transform .6s}
.vcard:hover .vimg img{transform:scale(1.05)}
.vcard .vbody{padding:18px 18px 22px; display:flex; flex-direction:column; flex:1}
.vcard .vtag{font-size:.96rem; letter-spacing:.14em; text-transform:uppercase; color:var(--carmim); font-weight:700}
.vcard h3{font-family:'Fraunces',serif; font-size:1.18rem; margin-top:6px; color:var(--ink)}
.vcard p{font-size:1.02rem; color:var(--ink-soft); margin-top:9px; line-height:1.62; flex:1}
.vcard .vlink{margin-top:14px; font-size:.78rem; font-weight:700; color:var(--carmim); display:inline-flex; align-items:center; gap:6px}
.vcard .vlink svg{width:13px; height:13px}
@media(max-width:980px){ .vitrine{grid-template-columns:1fr 1fr} }
@media(max-width:600px){ .vitrine{grid-template-columns:1fr} }

/* -------- Nossos Serviços: secoes individuais -------- */
.fmt-detail{scroll-margin-top:96px; padding:86px 0}
.fmt-detail.alt{background:var(--cream-2)}
.fmt-detail.umbrella{background:var(--night-2); color:var(--cream)}
.fmt-detail .no{font-family:'Fraunces',serif; font-size:1.4rem; color:var(--gold-deep); letter-spacing:.1em}
.fmt-detail.umbrella .no{color:var(--gold-bright)}
.fmt-grid{display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; margin-top:18px}
.fmt-grid img{width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:3px; box-shadow:0 20px 40px -22px rgba(30,10,10,.35)}
.fmt-grid.rev .fph{order:2} .fmt-grid.rev .ftx{order:1}
.fmt-detail h2{font-family:'Fraunces',serif; font-weight:500; font-size:clamp(1.7rem,3vw,2.3rem); color:var(--ink)}
.fmt-detail.umbrella h2{color:var(--cream)}
.fmt-detail .sub{font-family:'Fraunces',serif; font-style:italic; color:var(--gold-deep); margin-top:8px; font-size:1.45rem}
.fmt-detail.umbrella .sub{color:var(--gold-bright)}
.fmt-detail .ftx p{font-size:1.07rem; color:var(--ink-soft); margin-top:18px; line-height:1.8; max-width:58ch}
.fmt-detail.umbrella .ftx p{color:rgba(246,241,231,.8)}
.backtop{display:inline-flex; align-items:center; gap:7px; margin-top:26px; font-size:.78rem; font-weight:700; color:var(--gold-deep)}
.fmt-detail.umbrella .backtop{color:var(--gold-bright)}
.backtop svg{width:13px; height:13px}

/* Simulacao Realistica: o que se pode treinar em cena */
.sim-can{margin-top:38px; padding-top:28px; border-top:1px solid var(--line)}
.trio{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:20px}
.tricard{background:var(--cream-2); border:1px solid var(--line); border-radius:4px; padding:18px 20px}
.tricard h4{font-family:'Fraunces',serif; font-weight:600; font-size:1.02rem; color:var(--ink)}
.tricard p{font-size:1.04rem; color:var(--ink-soft); margin-top:9px; line-height:1.65}
@media(max-width:900px){ .trio{grid-template-columns:1fr} }

/* tag "disponível também online" */
.online-tag{display:inline-flex; align-items:center; gap:8px; margin-top:14px; padding:7px 16px; border-radius:999px;
  border:1px solid var(--gold); background:rgba(200,154,74,.12);
  font-family:'Saira Condensed',sans-serif; letter-spacing:.08em; text-transform:uppercase; font-weight:700; font-size:.72rem; color:var(--gold-deep)}
.online-tag svg{width:14px; height:14px; flex:0 0 auto}
.fmt-detail.umbrella .online-tag, .sec.dark .online-tag{color:var(--gold-bright); border-color:rgba(224,182,103,.5); background:rgba(224,182,103,.08)}

/* trio dentro de Espetaculos (sub-frentes), em cards claros mesmo no bloco escuro */
.subtrio{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:16px}
.subcard{background:rgba(255,255,255,.06); border:1px solid rgba(224,182,103,.32); border-radius:4px; overflow:hidden}
.subcard img{width:100%; aspect-ratio:4/3; object-fit:cover}
.subcard .sbody{padding:16px 17px 19px}
.subcard h4{font-family:'Fraunces',serif; font-weight:600; font-size:1.05rem; color:var(--cream)}
.subcard p{font-size:.95rem; color:rgba(246,241,231,.82); margin-top:10px; line-height:1.68}
@media(max-width:900px){ .fmt-grid{grid-template-columns:1fr; gap:24px} .fmt-grid.rev .fph{order:1} .fmt-grid.rev .ftx{order:2} .subtrio{grid-template-columns:1fr} }

/* fundo carmim (secao de tematicas na home) */
.sec.carmim{background:linear-gradient(165deg,var(--carmim-deep) 0%, #8d1a30 48%, var(--night) 100%); color:var(--cream)}
.sec.carmim .kick{color:var(--gold-bright)}
.sec.carmim .kick::before{background:var(--gold-bright)}
.sec.carmim h2.display{color:var(--cream)}
.sec.carmim h2.display em{color:var(--gold-bright)}
.sec.carmim .body-txt{color:rgba(246,241,231,.82)}
.sec.carmim .chips span{color:rgba(246,241,231,.92); background:rgba(255,255,255,.07);
  border-color:rgba(224,182,103,.34); box-shadow:none}

/* chip-link "outros temas" -> WhatsApp */
.chips-cta{margin-top:30px; padding-top:26px; border-top:1px solid rgba(200,154,74,.28)}
.sec.carmim .chips-cta, .sec.dark .chips-cta{border-top-color:rgba(224,182,103,.24)}
.chip-ask{display:inline-flex; align-items:center; gap:9px; border-radius:999px; padding:10px 22px;
  font-family:'Fraunces',serif; font-style:italic; font-size:.96rem;
  background:var(--carmim); color:var(--cream); border:1px solid var(--carmim);
  transition:background .2s, transform .2s, box-shadow .2s}
.chip-ask svg{width:16px; height:16px; fill:currentColor; flex:0 0 auto}
.chip-ask:hover{background:var(--plum); border-color:var(--plum); transform:translateY(-2px); box-shadow:0 8px 20px -8px rgba(169,29,58,.6)}
.sec.carmim .chip-ask{background:var(--gold-bright); border-color:var(--gold-bright); color:var(--night-2); font-weight:600}
.sec.carmim .chip-ask:hover{background:#f0c87d; border-color:#f0c87d}

/* temas — grade justificada: colunas iguais, margens alinhadas dos dois lados */
.chips{display:grid; grid-template-columns:repeat(5,1fr); gap:9px; margin-top:26px}
.chips span{display:flex; align-items:center; justify-content:center; text-align:center;
  padding:11px 12px; border-radius:3px;
  font-family:'Hanken Grotesk',system-ui,sans-serif; font-size:.87rem; font-weight:500;
  letter-spacing:.005em; line-height:1.3; color:var(--ink-soft);
  background:rgba(255,255,255,.62); border:1px solid rgba(200,154,74,.34);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}
.sec.dark .chips span{color:rgba(246,241,231,.88); background:rgba(255,255,255,.05);
  border-color:rgba(224,182,103,.28); box-shadow:none}
@media(max-width:1000px){ .chips{grid-template-columns:repeat(3,1fr)} }
@media(max-width:620px){ .chips{grid-template-columns:repeat(2,1fr); gap:8px} }

/* processo (4 passos) */
.steps4{display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:40px}
.step{border-top:1px solid var(--line); padding-top:16px}
.sec.dark .step{border-color:rgba(224,182,103,.28)}
.step .sn{font-family:'Saira Condensed',sans-serif; letter-spacing:.16em; text-transform:uppercase; font-size:.6rem; color:var(--gold-deep); font-weight:700}
.sec.dark .step .sn{color:var(--gold-bright)}
.step h4{font-family:'Fraunces',serif; font-size:1.05rem; margin-top:8px}
.step p{font-size:.85rem; color:var(--ink-soft); margin-top:6px}
.sec.dark .step p{color:rgba(246,241,231,.72)}
@media(max-width:860px){ .steps4{grid-template-columns:1fr 1fr} }
@media(max-width:520px){ .steps4{grid-template-columns:1fr} }

/* contato */
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:50px; margin-top:20px}
.cbox{border:1px solid rgba(224,182,103,.35); border-radius:6px; padding:30px}
.cbox .clabel{font-size:.66rem; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-bright); margin-bottom:8px}
.cbox .cval{font-family:'Fraunces',serif; font-size:1.3rem; color:var(--cream)}
.cbox .cval a{border-bottom:1px solid rgba(224,182,103,.4)}
.cbox .cval a:hover{color:var(--gold-bright)}
.cline+.cline{margin-top:20px}
@media(max-width:860px){ .contact-grid{grid-template-columns:1fr} }

/* home hero */
.hero{position:relative; min-height:calc(100svh - 60px); display:flex; align-items:center;
  background:radial-gradient(120% 80% at 50% -10%, rgba(169,29,58,.5), transparent 62%), linear-gradient(180deg,#4a1524 0%, var(--night) 55%, var(--night-2) 100%);
  padding:70px 0 60px; overflow:hidden; color:var(--cream)}
.hero .beam{position:absolute; top:-6%; left:50%; width:150%; height:120%; transform:translateX(-50%); pointer-events:none;
  background:conic-gradient(from 202deg at 50% 0%, transparent 0deg, rgba(224,182,103,.055) 15deg, transparent 30deg, transparent 44deg, rgba(224,182,103,.045) 56deg, transparent 70deg);}
.hero > .wrap{width:100%; flex:1 1 auto}
.herogrid{position:relative; z-index:2; max-width:46%}
.hero h1{font-family:'Fraunces',serif; font-weight:400; font-size:clamp(2.1rem,3.7vw,3.05rem); line-height:1.08; letter-spacing:-.02em}
.hero h1 em{font-style:italic; color:var(--gold-bright)}
.hero .lead{margin-top:22px; max-width:46ch; color:rgba(246,241,231,.85); font-size:1.12rem; line-height:1.68}
.hero .acts{display:flex; gap:14px; margin-top:32px; flex-wrap:wrap}

/* foto de capa: ocupa a direita e dissolve no carmim (igual à apresentação) */
.poster{position:absolute; right:0; top:-1%; bottom:-1%; width:62%; z-index:1; pointer-events:none; overflow:hidden}
.poster img{
  width:100%; height:100%; max-width:none; object-fit:cover; object-position:50% 0%;
  -webkit-mask-image:linear-gradient(95deg, transparent 0%, rgba(0,0,0,.06) 5%, rgba(0,0,0,.18) 10%, rgba(0,0,0,.36) 16%, rgba(0,0,0,.56) 22%, rgba(0,0,0,.74) 28%, rgba(0,0,0,.88) 34%, rgba(0,0,0,.96) 40%, #000 48%);
  mask-image:linear-gradient(95deg, transparent 0%, rgba(0,0,0,.06) 5%, rgba(0,0,0,.18) 10%, rgba(0,0,0,.36) 16%, rgba(0,0,0,.56) 22%, rgba(0,0,0,.74) 28%, rgba(0,0,0,.88) 34%, rgba(0,0,0,.96) 40%, #000 48%);
  filter:saturate(.97) contrast(1.02);
}

/* ---- mobile: foto de capa ocupa a tela e dissolve no fundo ---- */
@media(max-width:900px){
  .hero{min-height:calc(100svh - 76px); padding:0; align-items:flex-end}
  .hero > .wrap{padding-top:0; padding-bottom:52px}
  .herogrid{max-width:100%}
  .poster{position:absolute; left:0; right:0; top:0; bottom:auto;
    width:100%; height:70%; max-width:none; margin:0; z-index:1}
  .poster img{width:100%; height:100%; aspect-ratio:auto; object-fit:cover; object-position:50% 10%;
    -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 34%,rgba(0,0,0,.82) 52%,rgba(0,0,0,.42) 70%,rgba(0,0,0,.12) 86%,transparent 100%);
    mask-image:linear-gradient(180deg,#000 0%,#000 34%,rgba(0,0,0,.82) 52%,rgba(0,0,0,.42) 70%,rgba(0,0,0,.12) 86%,transparent 100%)}
  .hero::after{content:""; position:absolute; left:0; right:0; bottom:0; height:62%;
    background:linear-gradient(180deg, transparent 0%, rgba(43,11,20,.4) 32%, rgba(43,11,20,.82) 62%, var(--night) 100%);
    z-index:1; pointer-events:none}
  .hero h1{font-size:clamp(1.95rem,7.6vw,2.6rem)}
  .hero .lead{margin-top:16px; font-size:1.02rem; line-height:1.6; max-width:100%}
  .hero .acts{margin-top:26px; gap:10px}
  .hero .acts .btn{flex:1 1 auto; text-align:center; padding:13px 18px}
}
@media(max-width:520px){
  .hero > .wrap{padding-bottom:42px}
  .poster{height:64%}
  .hero .lead{font-size:.98rem}
  .hero .acts{flex-direction:column}
  .hero .acts .btn{width:100%}
}

/* ============================================================
   HOME — carrossel de clientes (marquee automático)
   ============================================================ */
.mkwrap{overflow:hidden; margin-top:8px;
        -webkit-mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
        mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent)}
.mktrack{display:flex; gap:20px; width:max-content; animation:mkscroll 38s linear infinite}
.mkwrap:hover .mktrack{animation-play-state:paused}
.mk-item{flex:0 0 auto; width:230px; height:88px; background:var(--paper); border:1px solid var(--line);
         border-radius:6px; display:flex; align-items:center; justify-content:center; padding:16px}
.mk-item img{max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; display:block}
@keyframes mkscroll{ from{transform:translateX(0)} to{transform:translateX(-50%)} }
@media(max-width:700px){ .mk-item{width:170px; height:70px; padding:12px} }
@media(prefers-reduced-motion:reduce){ .mktrack{animation:none} }
.homefmt{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:40px}
.hf{background:var(--cream-2); border-radius:4px; padding:22px 20px; text-align:left}
.hf .no{font-family:'Fraunces',serif; font-size:1.4rem; color:var(--carmim)}
.hf h4{font-family:'Fraunces',serif; font-size:1.08rem; margin-top:8px}
.hf p{font-size:.83rem; color:var(--ink-soft); margin-top:8px}
@media(max-width:900px){ .homefmt{grid-template-columns:1fr 1fr} }
@media(max-width:560px){ .homefmt{grid-template-columns:1fr} }

/* ============================================================
   HOME — blocos adicionais
   ============================================================ */
/* faixa de destaque do diretor */
.dirteaser{display:grid; grid-template-columns:.62fr 1.38fr; gap:44px; align-items:center; margin-top:34px}
.dirteaser img{width:100%; aspect-ratio:3/4; object-fit:cover; object-position:50% 18%; border-radius:3px; box-shadow:0 22px 44px -24px rgba(30,10,10,.45)}
.dirteaser .dt-name{font-family:'Fraunces',serif; font-size:1.6rem; color:var(--cream)}
.dirteaser .dt-role{font-size:.66rem; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-bright); margin-top:6px}
.dirteaser .dt-awards{display:flex; align-items:baseline; gap:12px; margin:16px 0 14px}
.dirteaser .dt-awards .b{font-family:'Bodoni Moda',serif; font-size:2rem; color:var(--gold-bright); line-height:1}
.dirteaser .dt-awards .c{font-size:.64rem; letter-spacing:.12em; text-transform:uppercase; color:rgba(246,241,231,.6); line-height:1.4}
@media(max-width:820px){ .dirteaser{grid-template-columns:1fr; gap:24px} }

/* galeria de cenas na home */
.scenes{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:36px}
.scenes figure{margin:0; position:relative; overflow:hidden; border-radius:3px}
.scenes img{width:100%; aspect-ratio:3/4; object-fit:cover; transition:transform .6s}
.scenes figure:hover img{transform:scale(1.05)}
@media(max-width:700px){ .scenes{grid-template-columns:1fr 1fr} .scenes figure:nth-child(3){grid-column:span 2} .scenes figure:nth-child(3) img{aspect-ratio:16/9} }

/* faixa "para quem é" — texto+cards à esquerda, foto ampla à direita */
.forwho-wrap{display:grid; grid-template-columns:1.35fr 1.2fr; gap:40px; margin-top:26px; align-items:start}
.fwh-left{display:flex; flex-direction:column; gap:34px}
.fwh-photo{margin-top:8px; border-radius:6px; overflow:hidden; aspect-ratio:5/4;
  box-shadow:0 24px 48px -22px rgba(30,10,10,.42)}
.fwh-photo img{width:100%; height:100%; object-fit:cover; object-position:center; display:block}
.forwho{display:grid; grid-template-columns:repeat(3,1fr); gap:30px}
.fw{border-top:2px solid var(--carmim); padding-top:16px}
.fw h4{font-family:'Fraunces',serif; font-size:1.1rem; color:var(--ink)}
.fw p{font-size:1.08rem; color:var(--ink-soft); margin-top:9px; line-height:1.62}
@media(max-width:820px){
  .forwho-wrap{grid-template-columns:1fr}
  .fwh-photo{aspect-ratio:16/10; order:-1; margin-top:0}
  .forwho{grid-template-columns:1fr}
}

/* ============================================================
   HOME v2 — blocos
   ============================================================ */
/* o que é: cena grande + texto */
.whatis{display:grid; grid-template-columns:1.05fr .95fr; gap:52px; align-items:start; margin-top:34px}
.whatis img{width:100%; aspect-ratio:16/10; object-fit:cover; border-radius:3px; box-shadow:0 24px 46px -26px rgba(30,10,10,.4);
  margin-top:8px} /* alinha o topo da foto com a 1a linha do texto (compensa o entrelinhamento) */
@media(max-width:900px){ .whatis{grid-template-columns:1fr; gap:26px} .whatis img{margin-top:0} }

/* cards de serviço com foto na home */
/* cards de solução — imersivos, foto de fundo com camada de texto */
.svc{display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-top:44px}
.svc-card{display:flex; flex-direction:column; border-radius:12px; overflow:hidden;
          background:#fff; border:1px solid var(--line);
          box-shadow:0 16px 34px -22px rgba(20,6,12,.4);
          transition:transform .4s cubic-bezier(.2,.7,.3,1), box-shadow .4s, border-color .4s}
.svc-card:hover{transform:translateY(-8px); box-shadow:0 32px 54px -22px rgba(20,6,12,.5); border-color:rgba(224,182,103,.6)}
.svc-card .ph{position:relative; aspect-ratio:4/3; overflow:hidden; background:#2e0c16}
.svc-card .ph img{width:100%; height:100%; object-fit:cover; object-position:50% 50%; display:block;
                  transition:transform .9s cubic-bezier(.2,.7,.3,1)}
.svc-card:hover .ph img{transform:scale(1.05)}
.svc-card .sv{flex:1; display:flex; flex-direction:column; padding:20px 20px 22px}
.svc-card .sv h4{font-family:'Fraunces',serif; font-weight:600; font-size:1.14rem; line-height:1.25; color:var(--ink)}
.svc-card .sv h4::after{content:""; display:block; width:26px; height:1.5px;
          background:linear-gradient(90deg, var(--gold), transparent); margin:11px 0 0}
.svc-card .sv p{font-size:.92rem; line-height:1.62; color:var(--ink-soft); margin-top:11px}
@media(max-width:1040px){ .svc{grid-template-columns:repeat(2,1fr)} }
@media(max-width:560px){ .svc{grid-template-columns:1fr} }

/* ---------- VÍDEO INSTITUCIONAL ---------- */
.vsec{position:relative; overflow:hidden}
.vsec::before{content:""; position:absolute; inset:0;
  background:radial-gradient(circle at 50% 0%, rgba(224,182,103,.10), transparent 62%); pointer-events:none}
.vhead{text-align:center; position:relative}
.vhead .kick{justify-content:center}
.vframe{position:relative; max-width:960px; margin:34px auto 0;
  border-radius:14px; overflow:hidden;
  border:1px solid rgba(224,182,103,.34);
  box-shadow:0 40px 80px -34px rgba(12,4,8,.75), 0 0 0 1px rgba(255,255,255,.03) inset;
  background:#180810}
.vframe::after{content:""; position:absolute; inset:0; border-radius:14px; pointer-events:none;
  box-shadow:inset 0 0 90px rgba(0,0,0,.5)}
.vratio{position:relative; width:100%; aspect-ratio:16/9; background:#180810}
.vratio iframe{position:absolute; inset:0; width:100%; height:100%; border:0; display:block}

/* placeholder enquanto o vídeo não é publicado */
.vsoon{position:absolute; inset:0; display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:16px; text-align:center; padding:24px;
  background:linear-gradient(150deg,#2e0c16 0%, #24090f 55%, #1b060c 100%)}
.vsoon .vplay{width:74px; height:74px; border-radius:50%;
  border:1.5px solid rgba(224,182,103,.6); display:flex; align-items:center; justify-content:center;
  background:rgba(224,182,103,.10)}
.vsoon .vplay svg{width:26px; height:26px; margin-left:4px; fill:var(--gold-bright)}
.vsoon .vtt{font-family:'Fraunces',serif; font-style:italic; font-size:1.05rem; color:var(--cream)}
.vsoon .vst{font-family:'Saira Condensed',sans-serif; letter-spacing:.18em; text-transform:uppercase;
  font-size:.65rem; font-weight:600; color:var(--gold-bright); opacity:.85}
@media(max-width:640px){ .vsoon .vplay{width:58px; height:58px} .vsoon .vtt{font-size:.95rem} }

/* faixa panorâmica com frase */
.band{position:relative; min-height:330px; display:flex; align-items:center; overflow:hidden}
.band img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 42%}
.band .veil{position:absolute; inset:0; background:linear-gradient(90deg, rgba(43,11,20,.95) 8%, rgba(43,11,20,.72) 42%, rgba(43,11,20,.35) 75%, rgba(43,11,20,.2) 100%)}
.band .bt{position:relative; z-index:1}
.band .bt p{font-family:'Fraunces',serif; font-style:italic; font-size:clamp(1.3rem,2.4vw,1.9rem); color:var(--cream); max-width:26ch; line-height:1.4}

/* ============================================================
   CONTATO v2
   ============================================================ */
.ct-grid{display:grid; grid-template-columns:1.02fr .98fr; gap:54px; align-items:start; margin-top:38px}
@media(max-width:900px){ .ct-grid{grid-template-columns:1fr; gap:32px} }
.ct-card{border:1px solid rgba(224,182,103,.34); border-radius:6px; padding:0; overflow:hidden}
.ct-item{display:flex; gap:18px; align-items:center; padding:24px 26px; border-bottom:1px solid rgba(224,182,103,.18); transition:background .2s}
.ct-item:last-child{border-bottom:none}
.ct-item:hover{background:rgba(224,182,103,.07)}
.ct-ico{flex:0 0 auto; width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center;
        background:rgba(224,182,103,.14); border:1px solid rgba(224,182,103,.4)}
.ct-ico svg{width:18px; height:18px}
.ct-item .txt{display:flex; flex-direction:column; min-width:0}
.ct-item .lb{display:block; font-family:'Saira Condensed',sans-serif; font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-bright); font-weight:600}
.ct-item .vl{display:block; font-family:'Hanken Grotesk',sans-serif; font-weight:500; font-size:1.12rem; letter-spacing:.01em; color:var(--cream); margin-top:5px; overflow-wrap:anywhere}
.ct-item .arrow{margin-left:auto; align-self:center; flex:0 0 auto; opacity:.45; transition:opacity .2s, transform .2s}
.ct-item .arrow svg{width:16px; height:16px}
.ct-item:hover .arrow{opacity:1; transform:translateX(3px)}
.ct-cta{margin-top:26px; display:flex; gap:13px; flex-wrap:wrap}

/* passos verticais no contato */
.ct-steps{counter-reset:s}
.ct-step{position:relative; padding-left:52px; padding-bottom:26px; border-left:1px solid rgba(224,182,103,.28); margin-left:16px}
.ct-step:last-child{border-left-color:transparent; padding-bottom:0}
.ct-step::before{counter-increment:s; content:counter(s,decimal-leading-zero);
  position:absolute; left:-16px; top:0; width:32px; height:32px; border-radius:50%;
  background:var(--night-2); border:1px solid rgba(224,182,103,.5); color:var(--gold-bright);
  font-family:'Bodoni Moda',serif; font-size:.78rem; display:flex; align-items:center; justify-content:center}
.ct-step h4{font-family:'Fraunces',serif; font-size:1.08rem; color:var(--cream)}
.ct-step p{font-size:.88rem; color:rgba(246,241,231,.72); margin-top:5px; max-width:46ch}

/* ============================================================
   SELO — FORMAÇÃO DO ELENCO
   ============================================================ */
.origin{margin-top:28px; position:relative; border:1px solid rgba(200,154,74,.45); border-radius:8px;
        background:linear-gradient(135deg, rgba(200,154,74,.10), rgba(200,154,74,.02) 65%);
        padding:20px 24px 20px 28px; overflow:hidden; max-width:66ch}
.origin::before{content:""; position:absolute; left:0; top:0; bottom:0; width:5px;
                 background:linear-gradient(180deg, var(--gold-bright), var(--gold-deep))}
.origin-lbl{display:flex; align-items:center; gap:8px; font-size:.66rem; letter-spacing:.2em;
            text-transform:uppercase; color:var(--gold-deep); font-weight:700}
.fmt-detail.umbrella .origin-lbl, .sec.dark .origin-lbl{color:var(--gold-bright)}
.origin-lbl svg{width:13px; height:13px; flex-shrink:0}
.origin p{font-size:.94rem; line-height:1.5; color:var(--ink); margin-top:9px; font-family:'Fraunces',serif}
.fmt-detail.umbrella .origin p, .sec.dark .origin p{color:var(--cream)}
.origin b{color:var(--carmim); font-weight:600; font-style:italic}
.fmt-detail.umbrella .origin b, .sec.dark .origin b{color:var(--gold-bright)}

/* ============================================================
   DIRETOR — logo no lugar do nome
   ============================================================ */
.dirlogo{display:inline-flex; align-items:center; height:66px; padding:0 26px; border-radius:6px;
         background:linear-gradient(100deg, var(--night) 0%, var(--night-3) 60%, var(--night) 100%)}
.dirgrid .dirlogo img{width:auto; height:34px; aspect-ratio:auto; object-fit:contain; object-position:center; border-radius:0; box-shadow:none; display:block}
@media(max-width:820px){ .dirlogo img{height:28px} }

/* ============================================================
   QUEM SOMOS — mural de clientes
   ============================================================ */
.clients-wall{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:36px}
.cw-item{background:var(--paper); border:1px solid var(--line); border-radius:8px; height:104px;
         display:flex; align-items:center; justify-content:center; padding:14px; position:relative; overflow:hidden}
.cw-item::after{content:""; position:absolute; left:50%; transform:translateX(-50%); bottom:0; width:26px; height:2px; background:var(--gold); opacity:.5}
.cw-item img{max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; display:block}
.clients-note{margin-top:26px; font-size:1.1rem; color:var(--ink-soft); line-height:1.5}
.clients-note b{font-family:'Fraunces',serif; font-weight:700; color:var(--carmim); font-size:1.5rem; letter-spacing:.01em}
@media(max-width:980px){ .clients-wall{grid-template-columns:repeat(4,1fr)} .cw-item{height:92px} }
@media(max-width:620px){ .clients-wall{grid-template-columns:repeat(2,1fr)} .cw-item{height:78px; padding:10px} }

/* ============================================================
   AJUSTES GERAIS DE NAVEGAÇÃO EM CELULAR
   ============================================================ */
@media(max-width:760px){
  /* respiro vertical e laterais mais adequados a telas estreitas */
  body{padding-top:76px}
  .wrap{padding:0 20px}
  .sec{padding:52px 0}
  .sec.tight{padding:26px 0}

  /* tipografia: títulos e textos longos legíveis sem exigir zoom */
  h1.display, h2.display{font-size:clamp(1.85rem,7.2vw,2.5rem); line-height:1.12}
  .lede{font-size:1.02rem; line-height:1.62}
  .body-txt{font-size:1rem; line-height:1.7}
  /* texto justificado cria "rios" em coluna estreita — alinhar à esquerda */
  .lede, .body-txt, .hero .lead, .ftx p, .subcard p, .vcard p, .fw p, .tricard p{text-align:left; hyphens:none}

  /* barra de topo mais compacta */
  header.bar .brand .nm{font-size:1.02rem}
  header.bar .brand .sb{font-size:.56rem}
  .brand .bmark{width:44px}

  /* menu aberto: alvos de toque maiores e botão destacado */
  .navlinks.open{padding:8px 20px 22px}
  .navlinks.open a{padding:14px 0; font-size:.92rem}
  .navlinks.open a.btn{margin-top:14px; padding:14px 20px; text-align:center; border-bottom:none}

  /* botões: área de toque confortável */
  .btn{padding:13px 22px; font-size:.82rem}

  /* evitar que o whatsapp flutuante cubra conteúdo no fim da página */
  footer.site{padding-bottom:88px}
}

@media(max-width:520px){
  /* cards e blocos em coluna única com espaçamento consistente */
  .trip{grid-template-columns:1fr}
  .trip figure:nth-child(3){grid-column:auto}
  .scenes{grid-template-columns:1fr}
  .scenes figure:nth-child(3){grid-column:auto}
  .scenes figure:nth-child(3) img{aspect-ratio:4/3}
  .stats{grid-template-columns:1fr 1fr}

  /* etiquetas de tema: uma coluna evita quebras feias em rótulos longos */
  .chips{grid-template-columns:1fr}
  .chips span{justify-content:flex-start; text-align:left; padding:11px 16px}

  /* rodapé: linha final empilhada */
  footer.site .fbottom{flex-direction:column; gap:6px}
  footer.site .fcnpj-br{display:inline}
  footer.site .fcnpj-sep{display:none} /* no celular quebra a linha sem deixar o ponto solto */
}

/* ============================================================
   A EMPRESA — texto + foto do palco lado a lado
   ============================================================ */
.empresa-grid{display:grid; grid-template-columns:1.22fr 1fr; gap:46px; align-items:stretch; margin-top:24px}
.empresa-txt .body-txt{max-width:none}
.empresa-foto{margin:8px 0 0; border-radius:4px; overflow:hidden; min-height:0;
  box-shadow:0 26px 50px -28px rgba(30,10,10,.45)}
.empresa-foto img{width:100%; height:100%; object-fit:cover; object-position:50% 62%; display:block}
@media(max-width:900px){
  .empresa-grid{grid-template-columns:1fr; gap:26px}
  .empresa-foto{margin-top:0; aspect-ratio:16/10}
}

/* ============================================================
   FAQ — acordeao de perguntas frequentes
   ============================================================ */
.faq{max-width:900px; margin:0 auto; border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{
  list-style:none; cursor:pointer; display:flex; align-items:flex-start; gap:20px;
  padding:26px 4px; font-family:'Fraunces',serif; font-weight:600;
  font-size:1.22rem; line-height:1.35; color:var(--ink); transition:color .2s;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:hover{color:var(--carmim)}
.faq-item summary span{flex:1}

/* sinal de + que vira − quando aberto */
.faq-ico{position:relative; flex:0 0 auto; width:18px; height:18px; margin-top:6px}
.faq-ico::before, .faq-ico::after{
  content:""; position:absolute; left:0; top:8px; width:18px; height:2px;
  background:var(--carmim); border-radius:2px; transition:transform .25s ease, opacity .25s ease;
}
.faq-ico::after{transform:rotate(90deg)}
.faq-item[open] .faq-ico::after{transform:rotate(0deg); opacity:0}
.faq-item[open] summary{color:var(--carmim)}

.faq-a{padding:0 46px 28px 4px}
.faq-a p{font-size:1.08rem; line-height:1.75; color:var(--ink-soft);
  text-align:justify; text-align-last:left; -webkit-hyphens:auto; hyphens:auto}
.faq-a p + p{margin-top:14px}
.faq-a a{color:var(--carmim); font-weight:600; border-bottom:1px solid rgba(169,29,58,.35)}
.faq-a a:hover{border-bottom-color:var(--carmim)}

/* chamada final */
.faq-cta{max-width:900px; margin:52px auto 0; text-align:center}
.faq-cta p{font-family:'Fraunces',serif; font-style:italic; font-size:1.3rem; color:var(--ink)}
.faq-cta-btns{display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top:22px}
/* o ghost padrao e dourado-claro (feito p/ fundo escuro); aqui o fundo e claro */
.faq-cta .btn.ghost{color:var(--gold-deep); border-color:var(--gold)}
.faq-cta .btn.ghost:hover{background:rgba(200,154,74,.14); color:var(--carmim); border-color:var(--carmim)}

@media(max-width:760px){
  .faq-item summary{font-size:1.06rem; gap:14px; padding:20px 2px}
  .faq-a{padding:0 30px 22px 2px}
  .faq-a p{font-size:1rem; text-align:left; hyphens:none}
  .faq-cta-btns .btn{width:100%; text-align:center}
}
