/* ============================================================
   Institucional — História, CEO, Revendas, Notícias, Eventos
   Reaproveita os tokens de css/style.css.
   ============================================================ */

/* ---------- história ---------- */
.inst-historia{ padding-top:1.4rem; }
.inst-historia h3{ font-size:clamp(1.4rem,2.6vw,1.9rem); margin-top:.6rem; font-weight:800; max-width:52rem; }
.inst-historia p{ margin-top:1.1rem; font-size:1rem; max-width:52rem; }

/* ---------- CEO ---------- */
.inst-ceo{ padding-top:clamp(3rem,6vw,4.5rem); }
.ceo-card{ display:grid; grid-template-columns:200px 1fr; gap:2.4rem; align-items:start; margin-top:.8rem; }
.ceo-photo{
  width:200px; height:200px; border-radius:50%; overflow:hidden;
  background:linear-gradient(155deg,var(--ink),var(--ink-2));
  display:flex; align-items:center; justify-content:center;
  color:var(--text-inv-soft); font-weight:700; font-size:2.6rem;
  border:1px solid var(--line);
}
.ceo-photo img{ width:100%; height:100%; object-fit:cover; }
.ceo-card h3{ font-size:1.4rem; font-weight:800; }
.ceo-cargo{ display:block; margin-top:.3rem; font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; color:var(--accent); font-weight:600; }
.ceo-card p{ margin-top:1rem; font-size:.98rem; max-width:56ch; }
.ceo-note{ margin-top:1rem; font-size:.76rem; color:var(--text-soft); font-style:italic; }

/* ---------- revendas ---------- */
.rev-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:1.6rem; }
.rev-card{ border:1px solid var(--line); border-radius:12px; overflow:hidden; background:var(--paper); }
.rev-card .photo{ aspect-ratio:16/9; overflow:hidden; }
.rev-card .photo img{ width:100%; height:100%; object-fit:cover; }
.rev-card .body{ padding:1.4rem 1.5rem; }
.rev-card h3{ font-size:1.1rem; }
.rev-card .loc{ font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; color:var(--accent); font-weight:600; display:block; margin:.3rem 0 .8rem; }
.rev-card .addr{ font-size:.9rem; margin-bottom:1rem; }
.rev-card .actions{ display:flex; gap:.7rem; flex-wrap:wrap; }
.rev-card .map{ margin-top:1rem; border-radius:8px; overflow:hidden; border:1px solid var(--line); }
.rev-card .map iframe{ width:100%; height:180px; border:0; display:block; }

/* ---------- real broker ---------- */
.broker-listings{ margin-top:3.2rem; }
.broker-tabs{ display:flex; gap:.6rem; margin-bottom:1.8rem; }
.broker-tab{
  font-family:inherit; font-size:.78rem; letter-spacing:.04em; font-weight:600;
  padding:.7em 1.4em; border-radius:30px; border:1px solid var(--line-dark);
  background:none; color:var(--text-soft); cursor:pointer; transition:all .25s ease;
}
.broker-tab.is-active{ background:var(--accent); border-color:var(--accent); color:#fff; }

.broker-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem; }
.broker-card{ border:1px solid var(--line); border-radius:12px; overflow:hidden; background:var(--paper); transition:transform .25s ease, box-shadow .25s ease; }
.broker-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow); }
.broker-card .photo{ aspect-ratio:16/10; overflow:hidden; }
.broker-card .photo img{ width:100%; height:100%; object-fit:cover; }
.broker-card .body{ padding:1.3rem 1.4rem 1.5rem; }
.broker-card h3{ font-size:1.05rem; }
.broker-meta{ display:flex; flex-wrap:wrap; gap:.4rem .8rem; margin:.6rem 0 .8rem; font-size:.8rem; color:var(--text-soft); }
.broker-price{ display:block; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; font-weight:600; color:var(--accent); margin-bottom:1rem; }
.broker-card .btn{ width:100%; justify-content:center; }

.broker-empty{
  grid-column:1/-1; text-align:center; padding:3rem 1rem; border:1px dashed var(--line); border-radius:12px;
  color:var(--text-soft); font-size:.92rem;
}

.broker-acc-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:2rem; margin-top:1.6rem; }
.broker-acc-col h4{ font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; color:var(--accent); font-weight:600; margin-bottom:.8rem; }
.broker-acc-col ul{ list-style:none; margin:0; padding:0; }
.broker-acc-col li{ font-size:.92rem; color:var(--text-soft); padding:.35rem 0; border-bottom:1px solid var(--line); }
.broker-acc-col li:last-child{ border-bottom:0; }
.broker-obs{ margin-top:2rem; padding-top:1.6rem; border-top:1px solid var(--line); }
.broker-obs li{ font-size:.84rem; color:var(--text-soft); font-style:italic; margin-top:.4rem; }

@media (max-width:900px){
  .broker-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:640px){
  .broker-grid{ grid-template-columns:1fr; }
  .broker-tabs{ flex-wrap:wrap; }
}

/* ---------- notícias ---------- */
.news-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.8rem; }
.news-card{ display:block; border:1px solid var(--line); border-radius:12px; overflow:hidden; background:var(--paper); transition:transform .25s ease, box-shadow .25s ease; }
.news-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow); }
.news-card .photo{ aspect-ratio:16/10; overflow:hidden; }
.news-card .photo img{ width:100%; height:100%; object-fit:cover; }
.news-card .body{ padding:1.3rem 1.4rem 1.5rem; }
.news-card .meta{ display:flex; gap:.7rem; align-items:center; font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; color:var(--text-soft); margin-bottom:.6rem; }
.news-card .meta .cat{ color:var(--accent); font-weight:600; }
.news-card h3{ font-size:1.08rem; line-height:1.3; }
.news-card p{ margin-top:.6rem; font-size:.88rem; }
.news-card .read{ margin-top:1rem; display:inline-block; font-size:.74rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--accent); }

.news-detail{ max-width:44rem; margin:0 auto; }
.news-detail .cover{ width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:12px; margin-bottom:2rem; }
.news-detail .meta{ display:flex; gap:.8rem; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:var(--text-soft); margin-bottom:.8rem; }
.news-detail .meta .cat{ color:var(--accent); font-weight:600; }
.news-detail h1{ font-size:clamp(1.7rem,3.4vw,2.4rem); }
.news-detail .body-text{ margin-top:1.6rem; font-size:1.05rem; line-height:1.8; }
.news-back{ display:inline-flex; align-items:center; gap:.5em; font-size:.76rem; letter-spacing:.08em; text-transform:uppercase; font-weight:600; color:var(--text-soft); margin-bottom:2rem; }
.news-back:hover{ color:var(--accent); }

/* ---------- eventos (linha do tempo) ---------- */
.timeline{ position:relative; max-width:52rem; margin:0 auto; padding-left:2.4rem; }
.timeline::before{ content:''; position:absolute; left:6px; top:.5rem; bottom:.5rem; width:2px; background:var(--line); }
.tl-item{ position:relative; padding-bottom:2.6rem; }
.tl-item:last-child{ padding-bottom:0; }
.tl-item::before{ content:''; position:absolute; left:-2.4rem; top:.35rem; width:14px; height:14px; border-radius:50%; background:var(--accent); border:3px solid var(--paper); box-shadow:0 0 0 1px var(--line); }
.tl-item .ano{ font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--accent); font-weight:600; }
.tl-item h3{ font-size:1.25rem; margin-top:.3rem; }
.tl-item p{ margin-top:.6rem; font-size:.96rem; max-width:56ch; }
.tl-item .cover{
  position:relative; margin-top:1rem; border-radius:10px; overflow:hidden; aspect-ratio:16/9; max-width:420px;
  cursor:pointer;
}
.tl-item .cover img{ width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.tl-item .cover:hover img{ transform:scale(1.05); }
.tl-item .cover-count{
  position:absolute; bottom:.7rem; right:.7rem; z-index:1;
  padding:.35em .9em; border-radius:20px; font-size:.7rem; letter-spacing:.04em; font-weight:600;
  color:#fff; background:rgba(11,27,38,.55); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
}

@media (max-width:900px){
  .ceo-card{ grid-template-columns:1fr; text-align:center; }
  .ceo-photo{ margin:0 auto; }
  .news-grid{ grid-template-columns:repeat(2,1fr); }
  .rev-grid{ grid-template-columns:1fr; }
}
@media (max-width:640px){
  .news-grid{ grid-template-columns:1fr; }
  .timeline{ padding-left:1.8rem; }
}
