/* ==========================================================================
   VIPER — folha de estilo compartilhada v2
   Base marfim, oliva como acento, Fraunces + Inter Tight + JetBrains Mono.
   Sem âmbar. Sem cards de ícone. Sem hero centralizado.
   ========================================================================== */
:root{
  --paper:#EFECE4;
  --paper-2:#E4E0D6;
  --paper-3:#DBD6CA;
  --ink:#1E2018;
  --ink-soft:#575A4E;
  --ink-mute:#87897C;
  --olive:#4B5338;
  --olive-lt:#7A8462;
  --moss:#5C6B45;
  --clay:#8C6B4A;
  --line:#CFC9BB;
  --line-strong:#B4AE9E;

  --f-display:"Fraunces",Georgia,serif;
  --f-body:"Inter Tight",-apple-system,system-ui,sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,monospace;

  --gut:clamp(1.25rem,4vw,4rem);
  --maxw:1240px;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html,body{overflow-x:clip;margin:0;padding:0}
body{
  background:var(--paper);color:var(--ink);
  font-family:var(--f-body);font-size:17px;line-height:1.65;font-weight:400;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;height:auto}
a{color:inherit}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut)}
.rot{font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute)}
h1,h2,h3{font-family:var(--f-display);font-weight:500;font-style:normal;margin:0;line-height:1.08;letter-spacing:-.015em}
h1{font-size:clamp(2.3rem,5.2vw,4.2rem)}
h2{font-size:clamp(1.7rem,3.2vw,2.6rem)}
h3{font-size:clamp(1.1rem,1.6vw,1.4rem);font-weight:600;letter-spacing:-.005em}
h2 em{font-style:italic;font-weight:300;color:var(--olive-lt)}
.rule{height:1px;background:var(--line);border:0;margin:0}

/* ---------- cabeçalho ---------- */
header{border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:60}
.bar{height:64px;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;flex:none}
.brand img{height:38px;width:auto}
.brand-txt{display:flex;flex-direction:column;line-height:1}
.brand-1{font-family:var(--f-display);font-weight:600;font-size:17px}
.brand-2{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.16em;color:var(--ink-mute);margin-top:3px}
nav.menu{display:flex;align-items:center;gap:1.9rem}
nav.menu a{text-decoration:none;font-size:14.5px;color:var(--ink-soft);padding:.35rem 0;border-bottom:1.5px solid transparent;transition:color .18s var(--ease),border-color .18s var(--ease)}
nav.menu a:hover{color:var(--ink);border-color:var(--olive-lt)}
nav.menu a[aria-current]{color:var(--ink);border-color:var(--olive)}
.menu-entrar{display:flex;align-items:center;gap:.4rem;font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:var(--olive);border:1px solid var(--line-strong);padding:.5rem .8rem;border-radius:2px;transition:background .18s var(--ease),color .18s var(--ease)}
.menu-entrar:hover{background:var(--olive);color:var(--paper);border-color:var(--olive)}

/* ---------- abertura de página interna ---------- */
.pag-top{padding:clamp(2.5rem,5vw,4.5rem) 0 clamp(1.8rem,3.5vw,3rem);border-bottom:1px solid var(--line)}
.pag-top h1{margin:.9rem 0 1.1rem;max-width:20ch}
.pag-top p{font-size:clamp(1rem,1.35vw,1.18rem);color:var(--ink-soft);max-width:58ch;margin:0}

/* ---------- seções ---------- */
section.blk{padding:clamp(3rem,6.5vw,5.5rem) 0}
section.blk.alt{background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.blk-head{margin-bottom:clamp(1.8rem,3.5vw,2.8rem)}
.blk-head h2{margin-top:.8rem;max-width:26ch}

/* ---------- lista editorial (substitui card grid) ---------- */
.lista{border-top:1px solid var(--line-strong)}
.item{
  display:grid;grid-template-columns:auto minmax(0,3.5fr) minmax(0,8fr);
  gap:clamp(1rem,3vw,3rem);padding:1.9rem 0;border-bottom:1px solid var(--line);align-items:baseline;
}
.item-n{font-family:var(--f-mono);font-size:12px;color:var(--olive);letter-spacing:.08em;padding-top:.35rem}
.item h3{margin:0}
.item p{margin:0;color:var(--ink-soft);max-width:62ch;font-size:16px}
.item .tag{display:block;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:.5rem}

/* ---------- duas colunas de texto ---------- */
.duas{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(1.8rem,4vw,4rem);align-items:start}
.duas p{margin:0 0 1.1rem;color:var(--ink-soft);max-width:60ch}

/* ---------- checklist ---------- */
.check{list-style:none;margin:0;padding:0}
.check li{
  display:grid;grid-template-columns:auto minmax(0,1fr);gap:.9rem;
  padding:.95rem 0;border-bottom:1px solid var(--line);align-items:baseline;
}
.check li:first-child{border-top:1px solid var(--line)}
.check svg{flex:none;width:15px;height:15px;margin-top:.35rem;color:var(--olive)}
.check span{color:var(--ink-soft);font-size:16px;max-width:60ch}

/* ---------- aviso legal (inline, não tarja) ---------- */
.legal{
  border-top:2px solid var(--olive);border-bottom:1px solid var(--line);
  padding:1.6rem 0;display:grid;grid-template-columns:auto minmax(0,1fr);
  gap:1.4rem;align-items:baseline;
}
.legal .rot{color:var(--olive)}
.legal p{margin:0;font-size:14.5px;color:var(--ink-soft);max-width:80ch;line-height:1.7}

/* ---------- bloco de destaque (tarja, sem card) ---------- */
.tarja{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);padding:1.5rem 0}
.tarja-in{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.tarja-esq{display:flex;align-items:baseline;gap:1.2rem;flex-wrap:wrap}
.dado{font-family:var(--f-mono);font-size:12.5px;color:var(--olive);letter-spacing:.06em;white-space:nowrap}
.tarja-tit{font-family:var(--f-display);font-size:clamp(1.05rem,1.9vw,1.45rem);font-weight:500}

/* ---------- links / botões ---------- */
.link-sub{display:inline-block;font-size:15px;color:var(--olive);text-decoration:none;border-bottom:1.5px solid var(--olive-lt);padding-bottom:2px;transition:border-color .18s var(--ease)}
.link-sub:hover{border-color:var(--olive)}
.btn{display:inline-block;text-decoration:none;font-size:14.5px;font-weight:500;color:var(--paper);background:var(--olive);padding:.8rem 1.5rem;border:1px solid var(--olive);border-radius:2px;transition:background .18s var(--ease),color .18s var(--ease)}
.btn:hover{background:transparent;color:var(--olive)}
.btn-sec{display:inline-block;text-decoration:none;font-size:14.5px;font-weight:500;color:var(--ink);background:transparent;padding:.8rem 1.5rem;border:1px solid var(--line-strong);border-radius:2px;transition:border-color .18s var(--ease),background .18s var(--ease)}
.btn-sec:hover{border-color:var(--olive);background:var(--paper-2)}

/* ---------- formulário ---------- */
.form{display:grid;gap:1.15rem;max-width:640px}
.campo{display:grid;gap:.4rem}
.campo label{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-soft)}
.campo input,.campo select,.campo textarea{
  font-family:var(--f-body);font-size:16px;color:var(--ink);
  background:var(--paper);border:1px solid var(--line-strong);border-radius:2px;
  padding:.7rem .8rem;width:100%;transition:border-color .18s var(--ease),box-shadow .18s var(--ease);
}
.campo input:focus,.campo select:focus,.campo textarea:focus{
  outline:none;border-color:var(--olive);box-shadow:0 0 0 3px rgba(75,83,56,.13);
}
.campo textarea{min-height:104px;resize:vertical}
.linha2{display:grid;grid-template-columns:1fr 1fr;gap:1.15rem}
.aceite{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.75rem;align-items:start;font-size:14.5px;color:var(--ink-soft)}
.aceite input{width:16px;height:16px;margin-top:.25rem;accent-color:var(--olive)}
.nota{font-size:13px;color:var(--ink-mute);margin:0}

/* ---------- acervo (mural/loja) ---------- */
.acervo{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(2rem,5vw,4rem);align-items:start}
.acervo h3{margin-bottom:1.1rem;display:flex;align-items:baseline;gap:.6rem}
.acervo h3 .rot{color:var(--olive-lt)}
.gal{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-bottom:2.6rem}
.gal figure{margin:0}
.gal img{aspect-ratio:16/9;object-fit:cover;filter:saturate(.82) contrast(1.04)}
.gal figcaption{font-size:14.5px;color:var(--ink);margin-top:.7rem;font-weight:500}
.gal .meta{font-family:var(--f-mono);font-size:10.5px;color:var(--ink-mute);letter-spacing:.07em;margin-top:.25rem;display:block}
.doc{display:block;text-decoration:none;padding:1rem 0;border-bottom:1px solid var(--line);transition:color .18s var(--ease)}
.doc:first-of-type{border-top:1px solid var(--line-strong)}
.doc:hover .doc-t{color:var(--olive)}
.doc-t{font-size:15.5px;font-weight:500;color:var(--ink);transition:color .18s var(--ease)}
.doc-d{font-size:13.5px;color:var(--ink-mute);margin-top:.2rem}
.agenda{list-style:none;margin:0;padding:0}
.agenda li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line);align-items:baseline}
.agenda li:first-child{border-top:1px solid var(--line-strong)}
.ag-d{font-family:var(--f-mono);font-size:12px;color:var(--olive);white-space:nowrap;letter-spacing:.05em}
.ag-t{font-size:15.5px;font-weight:500}
.ag-l{font-size:13px;color:var(--ink-mute);display:block;margin-top:.15rem}

/* ---------- produto (loja) ---------- */
.prod{display:grid;grid-template-columns:22rem minmax(0,1fr);gap:clamp(1.5rem,4vw,3rem);align-items:start;padding:2rem 0;border-bottom:1px solid var(--line)}
.prod:first-of-type{border-top:1px solid var(--line-strong)}
.prod img{aspect-ratio:4/3;object-fit:cover;filter:saturate(.85) contrast(1.03)}
.prod-info h3{margin-bottom:.5rem}
.prod-info p{color:var(--ink-soft);font-size:15.5px;margin:0 0 1.1rem;max-width:56ch}
.prod-meta{display:flex;align-items:baseline;gap:1.4rem;flex-wrap:wrap}
.preco{font-family:var(--f-mono);font-size:19px;font-weight:500;letter-spacing:-.01em}
.etq{font-family:var(--f-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--olive);border:1px solid var(--line-strong);padding:.2rem .5rem;border-radius:2px}

/* ---------- rodapé ---------- */
footer{background:var(--ink);color:#C9C6BA;padding:clamp(2.5rem,5vw,4rem) 0 2rem}
.f-top{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,3fr) minmax(0,3fr);gap:clamp(1.5rem,4vw,3rem);padding-bottom:2.5rem}
footer .brand-1{color:#F0EEE6}
footer .brand-2{color:#7E8074}
.f-col h4{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#8B8D80;font-weight:400;margin:0 0 1rem}
.f-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}
.f-col a{text-decoration:none;font-size:14.5px;color:#C9C6BA;transition:color .18s var(--ease)}
.f-col a:hover{color:#F0EEE6}
.f-aviso{border-top:1px solid #34362C;padding-top:1.6rem;font-size:13px;line-height:1.7;color:#8B8D80;max-width:80ch}
.f-aviso strong{color:#B8BBAC;font-weight:500}
.f-base{border-top:1px solid #34362C;margin-top:1.8rem;padding-top:1.4rem;display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.08em;color:#6E7065;text-transform:uppercase}


/* ---------- exclusivas da home ---------- */
.abertura{padding:clamp(3rem,7vw,6.5rem) 0 clamp(2.5rem,5vw,4rem)}
.abertura-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:end}
.abertura h1{margin-bottom:1.4rem}
.abertura h1 em{font-style:italic;font-weight:300}
.abertura p{font-size:clamp(1.05rem,1.5vw,1.28rem);color:var(--ink-soft);max-width:40ch;margin:0 0 2rem;line-height:1.6}
.abertura-fig{position:relative}
.abertura-fig img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:saturate(.82) contrast(1.04)}
.abertura-fig figcaption{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.08em;color:var(--ink-mute);margin-top:.7rem;text-transform:uppercase}

.numeros{border-top:2px solid var(--olive);border-bottom:1px solid var(--line);margin-top:clamp(2rem,5vw,4rem)}
.numeros-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.num{padding:1.6rem 1.2rem 1.5rem;border-right:1px solid var(--line)}
.num:last-child{border-right:0}
.num-v{font-family:var(--f-display);font-size:clamp(2rem,3.6vw,2.9rem);font-weight:400;line-height:1;letter-spacing:-.02em}
.num-v em{font-style:italic;font-weight:300;font-size:.72em}
.num-l{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-mute);margin-top:.55rem;display:block}

.hist{padding:clamp(3.5rem,8vw,7rem) 0}
.hist-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
.hist h2{margin-bottom:1.8rem}
.hist p{max-width:64ch;color:var(--ink-soft);margin:0 0 1.15rem}
.hist p:last-of-type{margin-bottom:0}
.hist-fig{position:sticky;top:96px}
.hist-fig img{width:min(100%,340px);margin-left:auto}
.hist-fig figcaption{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.08em;color:var(--ink-mute);text-align:right;margin-top:1rem;text-transform:uppercase}

.pilares{padding:clamp(3.5rem,8vw,7rem) 0;background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pilares-head{margin-bottom:clamp(2rem,4vw,3.2rem)}
.pilares-head h2{margin-top:.9rem;max-width:22ch}
.pilar{display:grid;grid-template-columns:auto minmax(0,4fr) minmax(0,7fr);gap:clamp(1rem,3vw,3rem);padding:2rem 0;border-top:1px solid var(--line-strong);align-items:baseline}
.pilar:last-child{border-bottom:1px solid var(--line-strong)}
.pilar-n{font-family:var(--f-mono);font-size:12px;color:var(--olive);letter-spacing:.08em;padding-top:.4rem}
.pilar p{margin:0;color:var(--ink-soft);max-width:56ch;font-size:16px}

.arena{position:relative;min-height:min(74vh,620px);display:flex;align-items:flex-end;overflow:hidden}
.arena img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.8) contrast(1.05)}
.arena::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(30,32,24,.18) 0%,rgba(30,32,24,.55) 55%,rgba(30,32,24,.86) 100%)}
.arena-in{position:relative;z-index:2;width:100%;padding:clamp(2.5rem,6vw,4.5rem) 0}
.arena-in h2{color:#F5F3EC;max-width:16ch;margin:.9rem 0 1.1rem}
.arena-in .rot{color:rgba(245,243,236,.72)}
.arena-in p{color:rgba(245,243,236,.86);max-width:52ch;margin:0 0 1.9rem;font-size:16.5px}
.btn-ghost{display:inline-block;text-decoration:none;font-size:14px;color:#F5F3EC;border:1px solid rgba(245,243,236,.5);padding:.7rem 1.3rem;border-radius:2px;transition:background .2s var(--ease),border-color .2s var(--ease)}
.btn-ghost:hover{background:rgba(245,243,236,.14);border-color:#F5F3EC}

.operacao{border-bottom:1px solid var(--line)}
.operacao-in{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;padding:1.5rem 0}
.op-esq{display:flex;align-items:baseline;gap:1.2rem;flex-wrap:wrap}
.op-data{font-family:var(--f-mono);font-size:12.5px;color:var(--olive);letter-spacing:.06em;white-space:nowrap}
.op-tit{font-family:var(--f-display);font-size:clamp(1.1rem,2vw,1.5rem);font-weight:500}
.op-local{font-family:var(--f-mono);font-size:11px;color:var(--ink-mute);letter-spacing:.06em}

@media (max-width:1000px){.abertura-grid{grid-template-columns:1fr;align-items:start}.abertura-fig{order:-1}.abertura-fig img{aspect-ratio:16/10}.hist-grid{grid-template-columns:1fr}.hist-fig{position:static}.hist-fig img{margin:0}.hist-fig figcaption{text-align:left}}
@media (max-width:820px){.pilar{grid-template-columns:auto minmax(0,1fr);gap:1rem}.pilar p{grid-column:2}}
@media (max-width:640px){.numeros-grid{grid-template-columns:1fr 1fr}.num{border-bottom:1px solid var(--line)}.num:nth-child(2n){border-right:0}.num:nth-child(n+3){border-bottom:0}.arena{min-height:64vh}.operacao-in{flex-direction:column;align-items:flex-start;gap:1rem}}

/* ---------- responsivo ---------- */
@media (max-width:1000px){
  .duas,.acervo{grid-template-columns:1fr}
  .prod{grid-template-columns:1fr}
  .prod img{aspect-ratio:16/9}
  .f-top{grid-template-columns:1fr 1fr}
}
@media (max-width:820px){
  nav.menu{display:none}
  .item{grid-template-columns:auto minmax(0,1fr);gap:1rem}
  .item p{grid-column:2}
  .legal{grid-template-columns:1fr;gap:.7rem}
}
@media (max-width:640px){
  body{font-size:16px}
  .gal{grid-template-columns:1fr}
  .linha2{grid-template-columns:1fr}
  .f-top{grid-template-columns:1fr;gap:2rem}
  .tarja-in{flex-direction:column;align-items:flex-start;gap:1rem}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
