/* ============================================================
   Trilion Signature — botão de acessibilidade e modos de leitura
   Carregado por último. Nada aqui muda a página até a pessoa ligar um ajuste:
   - tamanho da letra: variável --ts-fs no <html> (múltiplos de 3px), lida pelos tamanhos em calc() dos outros CSS;
   - classes no <html>: ts-fs-up (letra maior), ts-light (alto contraste), ts-read (fonte mais legível), ts-still (sem movimento).
   Texto decorativo gigante (.bgtext, .ts-gnum) e o rótulo do botão do WhatsApp ficam fora da escala.
   ============================================================ */

/* ---------- botão e painel (cores próprias, não dependem dos modos) ---------- */
.ts-a11y{position:fixed;z-index:41;left:max(18px,env(safe-area-inset-left));bottom:max(18px,env(safe-area-inset-bottom));font:500 16px/1.4 InterTS,system-ui,sans-serif;color:#1A1612}
.ts-a11y *{box-sizing:border-box}
.a11y-fab{display:grid;place-items:center;width:52px;height:52px;padding:0;border-radius:50%;border:1px solid #C9A84C;background:#1A1612;color:#E4D4A0;cursor:pointer;
  font:600 19px/1 InterTS,system-ui,sans-serif;letter-spacing:-.02em;box-shadow:0 10px 28px -10px rgba(0,0,0,.55);transition:transform .15s,background-color .2s}
.a11y-fab:hover{background:#2A241C}
.a11y-fab:active{transform:scale(.95)}
.a11y-fab:focus-visible,.a11y-panel button:focus-visible{outline:3px solid #C9A84C;outline-offset:3px}
.a11y-panel{position:absolute;left:0;bottom:64px;width:min(330px,calc(100vw - 36px));max-height:calc(100vh - 110px);overflow:auto;padding:18px;border-radius:16px;background:#fff;border:1px solid #D9C58E;
  box-shadow:0 24px 60px -20px rgba(26,22,18,.5);color:#1A1612}
.a11y-panel[hidden]{display:none}
.a11y-h{margin:0 0 14px;font:600 17px/1.3 InterTS,system-ui,sans-serif}
.a11y-lab{display:block;margin:0 0 8px;font:500 15px/1.3 InterTS,system-ui,sans-serif;color:#4A4030}
.a11y-size{display:grid;grid-template-columns:56px 1fr 56px;gap:8px;align-items:center;margin-bottom:16px}
.a11y-size output{text-align:center;font:600 16px/1.2 InterTS,system-ui,sans-serif}
.a11y-panel button{font-family:InterTS,system-ui,sans-serif;cursor:pointer;color:#1A1612}
.a11y-step{height:52px;border-radius:10px;border:1px solid #D9C58E;background:#FBF5E6;font:600 20px/1 InterTS,system-ui,sans-serif}
.a11y-step:hover:not(:disabled){background:#F6ECD2}
.a11y-step:disabled{opacity:.35;cursor:default}
.a11y-sw{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-height:52px;margin:0 0 8px;padding:10px 14px;border-radius:10px;border:1px solid #D9C58E;background:#fff;text-align:left;font:500 16px/1.3 InterTS,system-ui,sans-serif}
.a11y-sw:hover{background:#FBF5E6}
.a11y-sw i{flex:none;position:relative;width:46px;height:26px;border-radius:999px;background:#CFC4A8;transition:background-color .2s}
.a11y-sw i::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.35);transition:transform .2s}
.a11y-sw[aria-checked="true"] i{background:#6F5C2B}
.a11y-sw[aria-checked="true"] i::after{transform:translateX(20px)}
.a11y-reset{display:block;width:100%;min-height:48px;margin-top:6px;border-radius:10px;border:1px solid #1A1612;background:#1A1612;color:#F7F2E8!important;font:500 15px/1.2 InterTS,system-ui,sans-serif}
.a11y-reset:hover{background:#2A241C}
@media print{.ts-a11y{display:none}}
@media (prefers-reduced-motion:reduce){.a11y-fab,.a11y-sw i,.a11y-sw i::after{transition:none}}

/* ============================================================
   LETRA MAIOR (ts-fs-up): guardas de layout para não cortar nem sobrepor
   ============================================================ */
html.ts-fs-up .ts-nav{align-items:flex-start;gap:16px}
html.ts-fs-up .ts-menu{flex-wrap:wrap;justify-content:flex-end;gap:10px 22px}
html.ts-fs-up .ts-menu a,html.ts-fs-up .ts .kicker,html.ts-fs-up .ts-light .tag,html.ts-fs-up .ts-canal .c-seal,html.ts-fs-up .ts-fcards b,html.ts-fs-up .ts-fcard label,
html.ts-fs-up .ts-qp .qp-kicker,html.ts-fs-up .ts-mod-kicker,html.ts-fs-up .ts-ck,html.ts-fs-up .ts-crumb,html.ts-fs-up .ts-ameta,html.ts-fs-up .ts-foot .fby,
html.ts-fs-up .ts-ocard .pill,html.ts-fs-up .ts-canal .more,html.ts-fs-up .ts-chips a,html.ts-fs-up .ts-hero .scroll{letter-spacing:.08em}
html.ts-fs-up .ts-canal{aspect-ratio:auto;min-height:clamp(380px,46vw,520px)}
html.ts-fs-up .ts-canal p{min-height:0}
html.ts-fs-up .ts-q{aspect-ratio:auto;min-height:300px}
html.ts-fs-up .ts-q.i{aspect-ratio:4/5}
html.ts-fs-up .ts-mz{--col:calc(236px + var(--ts-fs,0px) * 6);--row:calc(300px + var(--ts-fs,0px) * 8)}
html.ts-fs-up .ts-svc-t{height:auto;min-height:2.5em}
html.ts-fs-up .ts-kick{flex-wrap:wrap;gap:6px 10px}                       /* selo e papel do painel dos canais */
html.ts-fs-up .ts-pill,html.ts-fs-up .ts-role{letter-spacing:.08em}
html.ts-fs-up .ts-wat b{letter-spacing:.02em}
@media (max-width:760px){
  html.ts-fs-up .ts-mz{--col:calc(44vw + var(--ts-fs,0px) * 4);--row:calc(60vw + var(--ts-fs,0px) * 8)}
  /* o logotipo do celular cresce com a letra, mas nunca passa da largura da tela */
  html.ts-fs-up .ts-brand .bt{font-size:min(calc(29.9px + var(--ts-fs,0px)),calc((100vw - 113.7px) / 8.4))}
}
@media (max-width:760px){
  /* "O modelo" no celular com letra maior: números em fileira e a caixa de texto na largura toda, embaixo */
  html.ts-fs-up .ts-mod.is-js .ts-mod-list{grid-template-columns:repeat(var(--n,4),minmax(0,1fr));column-gap:8px}
  html.ts-fs-up .ts-mod.is-js .ts-mod-item{grid-column:auto;grid-row:1}
  html.ts-fs-up .ts-mod.is-js .ts-mod-tg{padding:8px 0 12px;text-align:center}
  html.ts-fs-up .ts-mod.is-js .ts-mod-n{padding-left:0}
  html.ts-fs-up .ts-mod.is-js .ts-mod-n::before{display:none}
  html.ts-fs-up .ts-mod.is-js .ts-mod-item.is-on .ts-mod-n{box-shadow:inset 0 -3px 0 #C9A84C}
  html.ts-fs-up .ts-mod.is-js .ts-mod-bar{left:calc(50% - 13px)}
  html.ts-fs-up .ts-mod.is-js .ts-mod-box{grid-column:1 / -1;grid-row:2;margin-top:14px}
  html.ts-fs-up .ts-mod.is-js .ts-mod-bx{overflow-wrap:anywhere}
}
/* "Quem nos procura": a rolagem fixa vira a lista empilhada que já existe (a fixa depende de alturas em vh) */
html.ts-fs-up .ts-qp.js .qp-run{height:auto}
html.ts-fs-up .ts-qp.js .qp-stage{position:relative;top:auto;height:auto;padding:0 28px}
html.ts-fs-up .ts-qp.js .qp-step{position:static;inset:auto;margin:0;max-width:none;padding:0 0 clamp(36px,6vw,56px);display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"e d" "t t";gap:14px;opacity:1;pointer-events:auto;transition:none}
html.ts-fs-up .ts-qp.js .qp-ph{position:static;width:auto;opacity:1;transform:none;transition:none}
html.ts-fs-up .ts-qp.js .qp-e{left:auto;bottom:auto}
html.ts-fs-up .ts-qp.js .qp-d{right:auto;top:auto;margin-top:clamp(20px,6vw,44px);transition-delay:0s}
html.ts-fs-up .ts-qp.js .qp-tx{position:static;left:auto;bottom:auto;width:auto;padding:10px 0 0;transform:none;opacity:1;transition:none}
html.ts-fs-up .ts-qp.js .qp-bar{display:none}

/* ============================================================
   FONTE MAIS LEGÍVEL (ts-read): peso normal, sem itálico fino, nada abaixo de 14px
   ============================================================ */
html.ts-read body.ts{font-weight:400}
html.ts-read .ts h1,html.ts-read .ts h2,html.ts-read .ts p,html.ts-read .ts blockquote,html.ts-read .ts summary,html.ts-read .ts input,html.ts-read .ts select,
html.ts-read .ts textarea,html.ts-read .ts .chk,html.ts-read .ts .ts-prose>p:first-child{font-weight:400}
html.ts-read .ts h1,html.ts-read .ts h2{font-weight:500}
html.ts-read .ts em,html.ts-read .ts .ital,html.ts-read .ts-canal p,html.ts-read .ts-mz figcaption .k,html.ts-read .ts-prose blockquote{font-style:normal}
html.ts-read .ts .btn,html.ts-read .ts .kicker{font-weight:500}
html.ts-read .ts-menu a,html.ts-read .ts-hero .scroll,html.ts-read .ts .kicker,html.ts-read .ts-light .tag,html.ts-read .ts-canal .more,html.ts-read .ts-canal .c-seal,
html.ts-read .ts-foot .fby,html.ts-read .ts-ocard .pill,html.ts-read .ts-ocard .terms,html.ts-read .ts-q .n,html.ts-read .ts-fcards b,html.ts-read .ts-fcard label,
html.ts-read .ts-fcard .chk,html.ts-read .ts-fstatus,html.ts-read .ts-fnote,html.ts-read .ts-qp .qp-kicker,html.ts-read .ts-mod-kicker,html.ts-read .ts-mod-ga li,
html.ts-read .ts-mod-note,html.ts-read .ts-crumb,html.ts-read .ts-ameta,html.ts-read .ts-ck,html.ts-read .ts-chips a,html.ts-read .ts-q p{font-size:calc(14px + var(--ts-fs,0px))}

/* ============================================================
   SEM MOVIMENTO (ts-still)
   ============================================================ */
html.ts-still{scroll-behavior:auto}
html.ts-still .ts .mq,html.ts-still .ts-svc-track{animation:none!important}
html.ts-still .reveal{opacity:1!important;transform:none!important;transition:none!important}
html.ts-still .ts-mz.js .mz-t{opacity:1!important;transform:none!important;transition:none!important}
html.ts-still .ts-canal img,html.ts-still .ts-q.i img,html.ts-still .ts-mz .mz-ph img{transition:none!important}

/* ============================================================
   ALTO CONTRASTE (ts-light): fundo branco, cartões em dourado pastel, botões como estão.
   Onde havia texto sobre foto, a foto fica em cima e o texto vai numa faixa pastel, com letra escura.
   ============================================================ */
html.ts-light{--muted:#5E5546;--gold-light:#6F5C2B;--bronze:#6F5C2B;--hair:rgba(111,92,43,.30);--pearl:#fff;
  --a-ink:#1A1612;--a-ink2:#4A4030;--a-bronze:#6F5C2B;--a-pastel:#FBF5E6;--a-pastel2:#F6ECD2;--a-line:#D9C58E}
html.ts-light body.ts{background:#fff;color:var(--a-ink)}

/* nav e marca */
html.ts-light .ts-brand .bt{color:var(--a-ink)}
html.ts-light .ts-brand .bt i{color:var(--a-bronze)}
html.ts-light .ts-brand img,html.ts-light .ts-foot img{filter:brightness(.55) saturate(1.25)}
html.ts-light .ts-menu a{color:var(--a-ink2)}
html.ts-light .ts-menu a:hover{color:var(--a-ink)}
html.ts-light .ts-nav .btn.ghost{color:var(--a-bronze);border-color:var(--a-line)}

/* rótulos e títulos */
html.ts-light .ts .kicker,html.ts-light .ts-light .tag{color:var(--a-bronze)}
html.ts-light .ts h1,html.ts-light .ts h2{color:var(--a-ink)}

/* hero: sem vídeo, sobre pastel */
html.ts-light .ts-hero{display:block;min-height:0;background:var(--a-pastel);padding:clamp(130px,16vw,190px) 0 clamp(56px,8vw,96px)}
html.ts-light .ts-hero video,html.ts-light .ts-hero .veil{display:none}
html.ts-light .ts-hero p.lead{color:var(--a-ink2)}
html.ts-light .ts-hero .eyebrow .ln{background:var(--a-bronze)}
html.ts-light .ts-hero .scroll{position:static;transform:none;margin-top:34px;text-align:center;color:var(--a-ink2)}
html.ts-light .ts-hero .btn.ghost{color:var(--a-bronze);border-color:var(--a-line)}

/* canais e empresas: foto em cima, texto na faixa pastel */
html.ts-light .ts-sec,html.ts-light .ts-sec--emp{background:#fff;background-image:none;border-top-color:var(--a-line)}
html.ts-light .ts-sec .sub{color:var(--a-ink2)}
html.ts-light .ts-canal{aspect-ratio:auto;justify-content:flex-start;background:var(--a-pastel);border-color:var(--a-line)}
html.ts-light .ts-canal img{position:static;inset:auto;z-index:auto;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
html.ts-light .ts-canal:after,html.ts-light .ts-canal:before{display:none}
html.ts-light .ts-canal .c-in{background:var(--a-pastel);padding:18px 20px 22px}
html.ts-light .ts-canal .c-num,html.ts-light .ts-canal--emp .c-num{color:var(--a-bronze);opacity:1}
html.ts-light .ts-canal .c-seal,html.ts-light .ts-canal--emp .c-seal{color:var(--a-bronze);border-color:var(--a-line)}
html.ts-light .ts-canal h4{color:var(--a-ink)}
html.ts-light .ts-canal p,html.ts-light .ts-canal--emp p{color:var(--a-ink2);min-height:0}
html.ts-light .ts-canal .more,html.ts-light .ts-canal:hover .more,html.ts-light .ts-canal--emp .more,html.ts-light .ts-canal--emp:hover .more{color:var(--a-bronze)}
html.ts-light .ts-canal--emp{border-color:var(--a-line)}
html.ts-light .ts-pillar{background:var(--a-pastel);border-color:var(--a-line)}
html.ts-light .ts-pillar h3{color:var(--a-ink)}
html.ts-light .ts-pillar p{color:var(--a-ink2)}

/* "O modelo" e "Quem nos procura" */
html.ts-light .ts-mod,html.ts-light .ts-qp{background:#fff}
html.ts-light .ts-mod{--m-bronze-k:#6F5C2B;--m-bronze:#4A4030;--m-hair:#D9C58E}
html.ts-light .ts-qp{--q-bronze-k:#6F5C2B;--q-bronze:#4A4030;--q-hair:#D9C58E}
html.ts-light .ts-mod-box{background:var(--a-pastel)!important;border-color:var(--a-line)!important}
html.ts-light .ts-qp .qp-note,html.ts-light .ts-mod-note{color:var(--a-ink2)}

/* oferta, faixa deslizante e quadros */
html.ts-light .ts-light,html.ts-light .ts-quadros{background:#fff}
html.ts-light .ts-ocard{background:var(--a-pastel);border-color:var(--a-line)}
html.ts-light .ts-ocard .im{background:var(--a-pastel2)}
html.ts-light .ts-ocard p,html.ts-light .ts-ocard .terms span{color:var(--a-ink2)}
html.ts-light .ts-ocard .pill{border-color:var(--a-line)}
html.ts-light .ts-offer .bgtext span{color:rgba(111,92,43,.08)}
html.ts-light .ts-strip{background:var(--a-pastel2);border-block-color:var(--a-line)}
html.ts-light .ts-strip .t{color:var(--a-ink)}
html.ts-light .ts-q.t{background:var(--a-pastel)}
html.ts-light .ts-q p{color:var(--a-ink2)}

/* mosaico: foto em cima, legenda em faixa pastel */
html.ts-light .ts-mz{background:#fff;border-top-color:var(--a-line)}
html.ts-light .ts-mz:before{display:none}
html.ts-light .ts-mz .mz-head p{color:var(--a-ink2)}
html.ts-light .ts-mz .mz-b{border-color:var(--a-line);color:var(--a-bronze)}
html.ts-light .ts-mz .mz-t{display:flex;flex-direction:column;background:var(--a-pastel);box-shadow:0 0 0 1px var(--a-line)}
html.ts-light .ts-mz .mz-t:after{display:none}
html.ts-light .ts-mz .mz-ph{position:relative;inset:auto;flex:1 1 0;min-height:0;overflow:hidden;transform:none;will-change:auto}
html.ts-light .ts-mz .mz-ph img{position:absolute;inset:0}
html.ts-light .ts-mz figcaption{position:static;padding:14px 16px 16px;background:var(--a-pastel)}
html.ts-light .ts-mz figcaption h3{color:var(--a-ink)}
html.ts-light .ts-mz figcaption i{background:var(--a-bronze)}
html.ts-light .ts-mz .mz-more{color:var(--a-ink2)}
html.ts-light .ts-mz .mz-more a{color:var(--a-bronze)}
html.ts-light .ts-mz .mz-note{color:var(--a-ink2)}

/* faixa de contato (sem vídeo) */
html.ts-light .ts-band{background:var(--a-pastel2);border-top-color:var(--a-line)}
html.ts-light .ts-band video,html.ts-light .ts-band:after{display:none}
html.ts-light .ts-band p{color:var(--a-ink2)}

/* formulário */
html.ts-light .ts-form{background:#fff;border-top-color:var(--a-line)}
html.ts-light .ts-form-left .lead{color:var(--a-ink2)}
html.ts-light .ts-fcards b,html.ts-light .ts-fcards .ico{color:var(--a-bronze)}
html.ts-light .ts-fcards a,html.ts-light .ts-fcards span:not(.ico){color:var(--a-ink)}
html.ts-light .ts-fcard{background:var(--a-pastel);border:1px solid var(--a-line)}
html.ts-light .ts-fcard input::placeholder,html.ts-light .ts-fcard textarea::placeholder{color:#6B6456}
html.ts-light .ts-fcard input:not([type=checkbox]),html.ts-light .ts-fcard select,html.ts-light .ts-fcard textarea{border-bottom-color:#8B7339}

/* rodapé */
html.ts-light .ts-foot{background:var(--a-pastel2);border-top-color:var(--a-line)}
html.ts-light .ts-foot .fby{color:var(--a-ink2)}

/* artigos e blog */
html.ts-light .ts-artigo .ts-ahero{background:var(--a-pastel)}
html.ts-light .ts-abody{border-top-color:var(--a-line)}
html.ts-light .ts-crumb,html.ts-light .ts-ameta,html.ts-light .ts-lsub,html.ts-light .ts-toc a{color:var(--a-ink2)}
html.ts-light .ts-toc a:hover,html.ts-light .ts-toc a.on{color:var(--a-ink);border-left-color:var(--a-bronze)}
html.ts-light .ts-aimg{box-shadow:0 24px 50px -28px rgba(26,22,18,.4)}
html.ts-light .ts-prose{color:#2B241A}
html.ts-light .ts-prose>p:first-child,html.ts-light .ts-prose strong,html.ts-light .ts-prose h2,html.ts-light .ts-qa summary,html.ts-light .ts-relc span,html.ts-light .ts-ct{color:var(--a-ink)}
html.ts-light .ts-prose a{color:var(--a-bronze);text-decoration-color:var(--a-bronze)}
html.ts-light .ts-prose h3,html.ts-light .ts-prose blockquote,html.ts-light .ts-prose .ts-fecho,html.ts-light .ts-ck{color:var(--a-bronze)}
html.ts-light .ts-prose .ts-fecho~p:last-of-type{color:var(--a-ink2)}
html.ts-light .ts-resumo{background:var(--a-pastel);border-color:var(--a-line)}
html.ts-light .ts-qa p{color:#2B241A}
html.ts-light .ts-mais{background:var(--a-pastel2)}
html.ts-light .ts-chips a,html.ts-light .ts-pag a{color:var(--a-ink2);border-color:var(--a-line)}
html.ts-light .ts-chips a:hover,html.ts-light .ts-pag a:hover{color:var(--a-ink);border-color:var(--a-bronze)}
html.ts-light .ts-chips a[aria-current],html.ts-light .ts-pag a[aria-current]{color:#1A1612;background:#C9A84C;border-color:#C9A84C}
html.ts-light .ts-card img,html.ts-light .ts-relc img{border-color:var(--a-line)}
