/* ============================================================
   SITE FLAMBOYANT — TEMA CLARO (camada sobre o DS02 Azul)
   Header/Footer globais + componentes de página
   ============================================================ */

/* ---------- Base ---------- */
h1,h2,h3,h4,h5 { color:#181817; }
.font-display { font-family:'Oswald',sans-serif; }
img { max-width:100%; }
a { color:inherit; }
.section { padding:96px 0; position:relative; }
.section-alt { background:var(--color-surface); }
.section-tint { background:var(--color-bg); }
.lead { font-size:1.05rem; color:rgba(24,24,23,.62); line-height:1.75; }
.sec-label { display:inline-flex; align-items:center; gap:9px; border-radius:999px; padding:8px 18px;
  margin-bottom:20px; font-size:.7rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.sec-head { text-align:center; max-width:680px; margin:0 auto 56px; }
.sec-head h2 { font-family:'Oswald',sans-serif; font-size:clamp(2.1rem,4.6vw,3.2rem);
  font-weight:700; line-height:1.08; margin-bottom:16px; }
.grad-text { background:linear-gradient(120deg,var(--color-primary),var(--color-tertiary));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }

/* A barra superior, o cabeçalho e o menu do celular ficam em menu.css.
   Arquivo próprio porque as 3 LPs copiadas usam o mesmo menu e não
   podem carregar este site.css inteiro. */

/* ---------- Botão WhatsApp ---------- */
.btn-wa { position:relative; display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:14px 30px; border-radius:var(--radius-full); font-size:14px; font-weight:700;
  letter-spacing:.04em; text-transform:uppercase; color:#fff; text-decoration:none;
  background:linear-gradient(135deg,#25D366,#0da84e); border:none; cursor:pointer;
  box-shadow:0 8px 30px -8px rgba(37,211,102,.45);
  transition:transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s; }
.btn-wa:hover { transform:translateY(-2px) scale(1.02); box-shadow:0 16px 44px -8px rgba(37,211,102,.55); }
.btn-wa--sm { padding:10px 20px; font-size:.72rem; gap:7px; }

/* Floating WhatsApp */
.floating-wa { position:fixed; bottom:26px; right:26px; z-index:9999; width:56px; height:56px;
  border-radius:50%; background:#25D366; color:#fff; display:flex; align-items:center;
  justify-content:center; box-shadow:0 8px 30px rgba(37,211,102,.42); text-decoration:none;
  transition:transform .25s, box-shadow .25s; }
.floating-wa:hover { transform:scale(1.08); box-shadow:0 12px 44px rgba(37,211,102,.55); }
.floating-wa::before { content:''; position:absolute; inset:0; border-radius:50%; background:#25D366;
  animation:wa-ring 2.4s ease-out infinite; z-index:-1; }
@keyframes wa-ring { 0%{transform:scale(1);opacity:.5} 80%,100%{transform:scale(1.9);opacity:0} }

/* ---------- Hero ---------- */
.hero { position:relative; overflow:hidden; padding:88px 0 96px;
  background:linear-gradient(160deg,var(--color-bg) 0%,#E8EAF6 55%,var(--color-bg) 100%); }
.hero__grid { display:grid; grid-template-columns:1fr; gap:48px; align-items:center; }
.hero h1 { font-family:'Oswald',sans-serif; font-size:clamp(2.5rem,6vw,4.2rem); font-weight:600;
  line-height:1.02; letter-spacing:-.02em; text-transform:uppercase; margin-bottom:22px; }
.hero__media { position:relative; border-radius:var(--radius-2xl); overflow:hidden;
  box-shadow:var(--shadow-elevated); }
.hero__media img { width:100%; height:100%; object-fit:cover; display:block; aspect-ratio:4/3; }
@media(min-width:1000px){ .hero__grid { grid-template-columns:1.05fr .95fr; gap:64px; } }

/* Trust row */
.trust-row { display:flex; flex-wrap:wrap; gap:16px 26px; margin-top:30px; padding-top:24px;
  border-top:1px solid var(--color-border); }
.trust-item { display:flex; align-items:center; gap:8px; font-size:.82rem; color:rgba(24,24,23,.6); }
.trust-dot { width:7px; height:7px; border-radius:50%; flex-shrink:0; }

/* ---------- Grids ---------- */
.grid { display:grid; gap:22px; }
.grid-2 { grid-template-columns:repeat(2,1fr); }
.grid-3 { grid-template-columns:repeat(3,1fr); }
.grid-4 { grid-template-columns:repeat(4,1fr); }
@media(max-width:980px){ .grid-3,.grid-4 { grid-template-columns:repeat(2,1fr); } }
@media(max-width:600px){ .grid-2,.grid-3,.grid-4 { grid-template-columns:1fr; } }

/* ---------- Card de serviço ---------- */
.svc-card { display:block; text-decoration:none; background:var(--color-surface);
  border:1px solid var(--color-border); border-radius:var(--radius-xl); overflow:hidden;
  transition:transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s, border-color .35s; }
.svc-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-elevated);
  border-color:rgba(99,154,208,.35); }
.svc-card__img { position:relative; aspect-ratio:1/1; overflow:hidden; background:#eef0f7; }
.svc-card__img img { width:100%; height:100%; object-fit:contain; display:block; transition:transform .6s cubic-bezier(.16,1,.3,1); }
.svc-card:hover .svc-card__img img { transform:scale(1.06); }
.svc-card__body { padding:20px 22px 24px; }
.svc-card__body h3 { font-family:'Oswald',sans-serif; font-size:1.18rem; font-weight:600; margin-bottom:6px; }
.svc-card__body p { font-size:.85rem; color:rgba(24,24,23,.55); line-height:1.6; }
.svc-card__more { display:inline-flex; align-items:center; gap:6px; margin-top:14px;
  font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--color-primary-dark); }

/* ---------- Etapas ---------- */
.step { text-align:center; }
.step__media { position:relative; width:100%; aspect-ratio:1/1; border-radius:var(--radius-xl);
  overflow:hidden; margin-bottom:18px; box-shadow:var(--shadow-card); }
.step__media img { width:100%; height:100%; object-fit:cover; display:block; }
.step__num { position:absolute; top:12px; left:12px; width:34px; height:34px; border-radius:50%;
  background:var(--color-primary); color:#fff; font-family:'Oswald',sans-serif; font-weight:700;
  display:flex; align-items:center; justify-content:center; font-size:.9rem;
  box-shadow:0 6px 18px -6px rgba(99,154,208,.7); }
.step h4 { font-family:'Oswald',sans-serif; font-size:1.1rem; font-weight:600;
  text-transform:uppercase; letter-spacing:.04em; margin-bottom:8px; }
.step p { font-size:.85rem; color:rgba(24,24,23,.55); line-height:1.6; }

/* ---------- Stats ---------- */
.stats { display:grid; grid-template-columns:repeat(4,1fr); gap:0; }
.stats > div { text-align:center; padding:0 22px; position:relative; }
.stats > div:not(:last-child)::after { content:''; position:absolute; right:0; top:12%; bottom:12%;
  width:1px; background:var(--color-border); }
.stats .num { font-family:'Oswald',sans-serif; font-size:2.5rem; font-weight:700; line-height:1; margin-bottom:6px; }
.stats .lbl { font-size:.8rem; color:rgba(24,24,23,.55); }
@media(max-width:768px){ .stats { grid-template-columns:repeat(2,1fr); gap:28px 0; }
  .stats > div::after { display:none !important; } }

/* ---------- Portfólio ---------- */
.pf-item { position:relative; border-radius:var(--radius-lg); overflow:hidden; aspect-ratio:1/1;
  box-shadow:var(--shadow-card); transition:transform .35s, box-shadow .35s; }
.pf-item:hover { transform:translateY(-5px); box-shadow:var(--shadow-elevated); }
.pf-item img { width:100%; height:100%; object-fit:cover; display:block; }
.pf-item--contain img { object-fit:contain; background:#eef0f7; }
.pf-item__label { position:absolute; left:0; right:0; bottom:0; padding:26px 16px 14px;
  background:linear-gradient(transparent,rgba(24,24,23,.82));
  font-family:'Oswald',sans-serif; font-size:1rem; font-weight:600; color:#fff; letter-spacing:.03em; }

/* ---------- CTA faixa ---------- */
.cta-band { background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));
  border-radius:var(--radius-2xl); padding:56px 40px; text-align:center; color:#fff;
  box-shadow:0 24px 60px -20px rgba(99,154,208,.6); }
.cta-band h2 { font-family:'Oswald',sans-serif; font-size:clamp(1.9rem,4vw,2.8rem); font-weight:700;
  color:#fff; margin-bottom:14px; line-height:1.1; }
.cta-band p { color:rgba(255,255,255,.9); max-width:560px; margin:0 auto 30px; line-height:1.7; }

/* ---------- Footer ---------- */
.site-footer { background:#181817; color:rgba(255,255,255,.6); padding:68px 0 0; }
.site-footer h5 { font-family:'Oswald',sans-serif; font-size:.85rem; font-weight:600;
  letter-spacing:.12em; text-transform:uppercase; color:#fff; margin-bottom:18px; }
.site-footer a { color:rgba(255,255,255,.6); text-decoration:none; transition:color .2s; }
.site-footer a:hover { color:var(--color-accent); }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1.2fr; gap:44px; padding-bottom:48px; }
.footer-grid ul { list-style:none; display:flex; flex-direction:column; gap:11px; font-size:.86rem; }
.footer-contact li { display:flex; align-items:flex-start; gap:10px; font-size:.86rem; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.1); padding:22px 0 26px;
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px;
  font-size:.76rem; color:rgba(255,255,255,.4); }
.social-links { display:flex; gap:10px; margin-top:20px; }
.social-links a { width:38px; height:38px; border-radius:10px; background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.1); display:flex; align-items:center; justify-content:center;
  color:rgba(255,255,255,.7); }
.social-links a:hover { background:rgba(99,154,208,.2); border-color:rgba(99,154,208,.5); color:#fff; }
@media(max-width:980px){ .footer-grid { grid-template-columns:1fr 1fr; gap:36px; } }
@media(max-width:600px){ .footer-grid { grid-template-columns:1fr; } }

/* ---------- Page hero (páginas internas) ---------- */
.page-hero { background:linear-gradient(160deg,var(--color-bg),#E8EAF6); padding:64px 0 56px;
  border-bottom:1px solid var(--color-border); }
.page-hero h1 { font-family:'Oswald',sans-serif; font-size:clamp(2.1rem,5vw,3.4rem);
  font-weight:700; line-height:1.05; margin-bottom:14px; }
.breadcrumb { font-size:.78rem; color:rgba(24,24,23,.45); margin-bottom:14px; }
.breadcrumb a { text-decoration:none; color:var(--color-primary-dark); }

/* ---------- Reveal ---------- */
.reveal { opacity:0; transform:translateY(32px); transition:opacity .8s cubic-bezier(.16,1,.3,1), transform .8s cubic-bezier(.16,1,.3,1); }
.reveal.revealed { opacity:1; transform:none; }

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after { animation-duration:.01ms !important; transition-duration:.01ms !important; }
}

@media(max-width:768px){
  .section { padding:64px 0; }
  .hero { padding:56px 0 64px; }
  .cta-band { padding:40px 24px; }
}

/* ============================================================
   SELO 50 ANOS — dourado metalico reluzente (reutilizavel)
   ============================================================ */
.hero__visual, .media-seal { position:relative; }

.seal-50 {
  position:absolute; z-index:3;
  width:150px; height:150px; border-radius:50%;
  display:grid; place-items:center;
  filter:drop-shadow(0 16px 30px rgba(0,0,0,.5)) drop-shadow(0 0 18px rgba(212,175,55,.6));
  animation:seal-float 6s ease-in-out infinite;
}
/* aro metalico dourado girando = brilho de metal */
.seal-50::before {
  content:''; position:absolute; inset:0; border-radius:50%;
  background:conic-gradient(from 0deg,
    #7a5c12 0%, #f8e79b 10%, #d4af37 22%, #fff6d0 33%,
    #a8791a 45%, #f8e79b 57%, #d4af37 70%, #fff6d0 82%, #7a5c12 100%);
  animation:seal-spin 9s linear infinite;
}
/* aro tracejado externo */
.seal-50::after {
  content:''; position:absolute; inset:-12px; border-radius:50%;
  border:1.5px dashed rgba(212,175,55,.8);
  animation:seal-spin 24s linear infinite reverse;
}
.seal-50__inner {
  position:relative; z-index:2; width:calc(100% - 12px); height:calc(100% - 12px);
  border-radius:50%; overflow:hidden;
  background:radial-gradient(circle at 32% 26%, #2d2a22 0%, #16150f 72%);
  border:1px solid rgba(248,231,155,.4);
  box-shadow:inset 0 2px 12px rgba(0,0,0,.65);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  line-height:1; text-align:center;
}
/* varredura de brilho (reluzente) */
.seal-50__inner::after {
  content:''; position:absolute; top:-60%; left:-130%;
  width:55%; height:220%; transform:rotate(18deg); pointer-events:none;
  background:linear-gradient(90deg, transparent, rgba(255,248,220,.5), transparent);
  animation:seal-shine 5s ease-in-out infinite;
}
.seal-50__stars {
  font-size:.6rem; letter-spacing:.2em; color:#f8e79b; margin-bottom:3px;
  text-shadow:0 0 8px rgba(212,175,55,.8);
}
.seal-50__num {
  font-family:'Oswald',sans-serif; font-size:3rem; font-weight:700; letter-spacing:-.02em;
  background:linear-gradient(160deg,#fff6d0 0%,#f0d071 35%,#d4af37 62%,#a8791a 100%);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.55));
}
.seal-50__anos {
  font-family:'Oswald',sans-serif; font-size:.95rem; font-weight:600;
  letter-spacing:.24em; padding-left:.24em; color:#f4e3ab; margin-top:-1px;
}
.seal-50__bot {
  margin-top:6px; padding-top:6px; border-top:1px solid rgba(212,175,55,.45);
  font-size:.5rem; font-weight:700; letter-spacing:.14em; color:rgba(244,227,171,.82);
}
/* posicoes */
.seal-50--hero { left:-30px; bottom:-30px; }
.seal-50--corner { right:-24px; top:-24px; width:120px; height:120px; animation-duration:7s; }
.seal-50--corner .seal-50__num { font-size:2.35rem; }
.seal-50--corner .seal-50__anos { font-size:.8rem; }
.seal-50--corner .seal-50__bot { font-size:.44rem; }
/* sobre a foto: canto inferior direito, ancorado na imagem */
.seal-50--foto { right:-20px; bottom:-20px; top:auto; left:auto; width:120px; height:120px; animation-duration:7s; }
.seal-50--foto .seal-50__num  { font-size:2.35rem; }
.seal-50--foto .seal-50__anos { font-size:.8rem; }
.seal-50--foto .seal-50__bot  { font-size:.44rem; }

@keyframes seal-float { 0%,100%{transform:translateY(0) rotate(-4deg)} 50%{transform:translateY(-10px) rotate(4deg)} }
@keyframes seal-spin  { to { transform:rotate(360deg) } }
@keyframes seal-shine { 0%{left:-130%} 45%,100%{left:190%} }

@media(max-width:768px){
  .seal-50 { width:112px; height:112px; }
  .seal-50__num { font-size:2.2rem; }
  .seal-50__anos { font-size:.78rem; }
  .seal-50__bot { font-size:.44rem; }
  .seal-50--hero { left:auto; right:10px; bottom:-22px; }
  .seal-50--corner { width:92px; height:92px; right:-10px; top:-16px; }
  .seal-50--corner .seal-50__num { font-size:1.85rem; }
  .seal-50--foto { width:92px; height:92px; right:-8px; bottom:-8px; }
  .seal-50--foto .seal-50__num { font-size:1.85rem; }
}

/* ============================================================
   COMPLEMENTOS DS02 — usados na Home reconstruída
   ============================================================ */
/* Marquee no padrão do DS (faixa fina, surface) */
.ds-marquee { background:var(--color-surface); height:34px; overflow:hidden;
  border-bottom:1px solid rgba(24,24,23,.05); }
.ds-marquee span { margin:0 32px; font-size:10px; font-weight:500; letter-spacing:.2em;
  text-transform:uppercase; color:rgba(24,24,23,.3); font-family:'Space Grotesk',sans-serif; }

/* Divisor de seção do DS */
.section-divider { width:100%; height:1px;
  background:linear-gradient(90deg,transparent,rgba(24,24,23,.07) 20%,rgba(24,24,23,.07) 80%,transparent); }

/* Card de serviço no padrão DS (imagem + corpo) */
.ds-card-svc { display:block; text-decoration:none; background:var(--color-surface);
  border:1px solid var(--color-border); border-radius:var(--radius-xl); overflow:hidden;
  transition:all .4s cubic-bezier(.16,1,.3,1); }
.ds-card-svc:hover { border-color:var(--color-border-hover); transform:translateY(-6px);
  box-shadow:var(--shadow-elevated); }
.ds-card-svc__img { aspect-ratio:1/1; overflow:hidden; background:var(--color-surface); position:relative; }
.ds-card-svc__img img { width:100%; height:100%; object-fit:contain; display:block;
  transition:transform .6s cubic-bezier(.16,1,.3,1); }
.ds-card-svc:hover .ds-card-svc__img img { transform:scale(1.07); }

/* Passo numerado (etapas) */
.ds-step__n { position:absolute; top:-10px; left:-10px; width:38px; height:38px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-family:'Oswald',sans-serif;
  font-weight:700; font-size:1rem; color:#fff; box-shadow:0 8px 20px -6px rgba(24,24,23,.35); }

/* Faixa CTA azul do DS */
.ds-cta { border-radius:var(--radius-2xl); padding:64px 44px; position:relative; overflow:hidden;
  background:linear-gradient(135deg,#639AD0,#4A7DB5); }

/* Item de portfólio */
.ds-pf { position:relative; border-radius:var(--radius-lg); overflow:hidden; aspect-ratio:1/1;
  box-shadow:var(--shadow-card); transition:transform .4s cubic-bezier(.16,1,.3,1), box-shadow .4s; }
.ds-pf:hover { transform:translateY(-6px) scale(1.02); box-shadow:var(--shadow-elevated); }
.ds-pf img { width:100%; height:100%; object-fit:cover; display:block; }
.ds-pf__lbl { position:absolute; left:0; right:0; bottom:0; padding:28px 16px 14px;
  background:linear-gradient(transparent,rgba(24,24,23,.85)); font-family:'Oswald',sans-serif;
  font-size:.98rem; font-weight:600; color:#fff; letter-spacing:.03em; }

@media(max-width:768px){ .ds-cta { padding:40px 24px; } }

/* Utilitário: esconder em telas pequenas (usado na topbar) */
@media(max-width:860px){ .hide-sm { display:none !important; } }



/* ============================================================
   INDICE DE SERVICOS — filtro por categoria + grade
   ============================================================ */
.svc-filtro { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
.svc-filtro button {
  font-family:'Space Grotesk',sans-serif; font-size:.72rem; font-weight:600;
  letter-spacing:.1em; text-transform:uppercase; cursor:pointer;
  padding:10px 20px; border-radius:999px; background:var(--color-surface);
  border:1px solid var(--color-border); color:rgba(24,24,23,.5);
  display:inline-flex; align-items:center; gap:8px;
  transition:all .3s cubic-bezier(.16,1,.3,1);
}
.svc-filtro button:hover { border-color:var(--color-primary); color:var(--color-primary);
  transform:translateY(-2px); box-shadow:0 8px 18px -10px rgba(99,154,208,.7); }
.svc-filtro button .n {
  font-family:'Space Mono',monospace; font-size:.62rem; letter-spacing:0;
  padding:1px 7px; border-radius:999px; background:rgba(24,24,23,.05); color:rgba(24,24,23,.4);
  transition:all .3s;
}
.svc-filtro button[aria-pressed="true"] {
  background:var(--color-primary); border-color:var(--color-primary); color:#fff;
  box-shadow:0 10px 24px -10px rgba(99,154,208,.9);
}
.svc-filtro button[aria-pressed="true"] .n { background:rgba(255,255,255,.22); color:#fff; }

/* celular: chips viram faixa rolavel em vez de empilhar em 5 linhas */
@media(max-width:700px){
  .svc-filtro { flex-wrap:nowrap; overflow-x:auto; justify-content:flex-start;
    padding-bottom:10px; scroll-snap-type:x proximity;
    scrollbar-width:none; -ms-overflow-style:none; -webkit-overflow-scrolling:touch; }
  .svc-filtro::-webkit-scrollbar { display:none; }
  .svc-filtro button { flex:0 0 auto; scroll-snap-align:start;
    padding:9px 16px; font-size:.66rem; letter-spacing:.07em; }
}

.svc-grade { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
@media(max-width:1180px){ .svc-grade { grid-template-columns:repeat(3,1fr); } }
@media(max-width:860px){  .svc-grade { grid-template-columns:repeat(2,1fr); } }
@media(max-width:520px){  .svc-grade { grid-template-columns:repeat(2,1fr); gap:12px; } }

/* card compacto: so no indice, a Home mantem o card grande */
.svc-grade .ds-card-svc__img { aspect-ratio:4/3; }
.svc-grade .ds-card-svc__img img { padding:8px; }
.svc-grade .ds-card-svc h3 { font-size:.97rem !important; margin-bottom:4px !important; }
.svc-grade .ds-card-svc p  { font-size:.78rem !important; line-height:1.55 !important; }
@media(max-width:520px){
  .svc-grade .ds-card-svc h3 { font-size:.86rem !important; }
  .svc-grade .ds-card-svc p  { display:none; }
}
/* entrada/saida ao filtrar */
.svc-grade > a { transition:opacity .35s, transform .35s; }
.svc-grade > a.is-out { display:none; }
.svc-grade > a.is-in  { animation:svc-pop .4s cubic-bezier(.16,1,.3,1) both; }
@keyframes svc-pop { from{opacity:0;transform:translateY(14px) scale(.98)} to{opacity:1;transform:none} }
/* grade de 2 colunas que colapsa em tablet/celular */
@media(max-width:980px){ .grid-quebra { grid-template-columns:1fr !important; gap:20px !important; } }

.svc-vazio { text-align:center; padding:50px 0; color:rgba(24,24,23,.35);
  font-family:'Plus Jakarta Sans',sans-serif; }

/* Especificacoes transversais (papeis e acabamentos) */
.spec-col h3 { font-family:'Oswald',sans-serif; font-size:1.25rem; font-weight:600;
  text-transform:uppercase; letter-spacing:.01em; color:#181817; margin-bottom:4px; }
.spec-lista { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.spec-lista span {
  font-family:'Plus Jakarta Sans',sans-serif; font-size:.8rem; font-weight:500;
  padding:8px 14px; border-radius:10px; background:var(--color-surface-2);
  border:1px solid var(--color-border); color:rgba(24,24,23,.6);
  transition:all .3s cubic-bezier(.16,1,.3,1);
}
.spec-lista span:hover { background:var(--color-surface); border-color:var(--color-primary);
  color:var(--color-primary); transform:translateY(-2px); }


/* ============================================================
   PAGINAS DE PRODUTO — secoes vindas das LPs
   ============================================================ */

/* -- hero com imagem do produto -- */
.prod-hero__grid { display:grid; grid-template-columns:1.05fr .95fr; gap:48px; align-items:center; }
@media(max-width:920px){ .prod-hero__grid { grid-template-columns:1fr; gap:34px; } }
.prod-hero__media { position:relative; border-radius:var(--radius-2xl); overflow:hidden;
  box-shadow:var(--shadow-elevated); background:var(--color-surface); }
.prod-hero__media img { width:100%; display:block; aspect-ratio:1/1; object-fit:cover; }
.prod-hero__cmyk { position:absolute; left:0; right:0; bottom:0; display:flex; height:6px; }
.prod-hero__cmyk i { flex:1; }

/* selos de confianca sob o hero */
.selos { display:flex; flex-wrap:wrap; gap:10px; margin-top:26px; }
.selos span { display:inline-flex; align-items:center; gap:7px;
  font-family:'Plus Jakarta Sans',sans-serif; font-size:.78rem; font-weight:500;
  padding:8px 14px; border-radius:999px; color:rgba(24,24,23,.6);
  background:var(--color-surface); border:1px solid var(--color-border);
  box-shadow:0 4px 12px -8px rgba(24,24,23,.35); }
.selos svg { color:var(--color-primary); }

/* -- vitrine: 1 destaque grande + demais menores -- */
.vitrine { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
@media(max-width:900px){ .vitrine { grid-template-columns:repeat(2,1fr); } }
.vitrine figure { position:relative; margin:0; border-radius:var(--radius-lg); overflow:hidden;
  background:var(--color-surface); border:1px solid var(--color-border);
  box-shadow:var(--shadow-card); transition:transform .4s cubic-bezier(.16,1,.3,1), box-shadow .4s; }
.vitrine figure:hover { transform:translateY(-6px); box-shadow:var(--shadow-elevated); }
.vitrine figure img { width:100%; height:100%; object-fit:cover; display:block; aspect-ratio:1/1; }
.vitrine .is-destaque { grid-column:span 2; grid-row:span 2; }
.vitrine .is-destaque img { aspect-ratio:1/1; }
@media(max-width:900px){ .vitrine .is-destaque { grid-column:span 2; grid-row:auto; } }
.vitrine figcaption { position:absolute; left:0; right:0; bottom:0; padding:30px 16px 14px;
  background:linear-gradient(transparent,rgba(24,24,23,.86)); }
.vitrine figcaption b { display:block; font-family:'Plus Jakarta Sans',sans-serif;
  font-size:.83rem; font-weight:600; color:#fff; line-height:1.4; }
.vitrine .tag { position:absolute; top:12px; left:12px; z-index:2;
  font-family:'Space Mono',monospace; font-size:.58rem; letter-spacing:.08em; text-transform:uppercase;
  padding:5px 10px; border-radius:999px; color:#181817;
  background:rgba(255,255,255,.92); backdrop-filter:blur(6px);
  box-shadow:0 4px 12px -6px rgba(24,24,23,.4); }

/* -- niveis (economica / select / premium) -- */
.niveis { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; align-items:stretch; }
@media(max-width:900px){ .niveis { grid-template-columns:1fr; } }
.nivel { display:flex; flex-direction:column; padding:32px 28px 30px; position:relative; overflow:hidden; }
.nivel__tag { align-self:flex-start; font-family:'Space Grotesk',sans-serif; font-weight:700;
  font-size:.6rem; letter-spacing:.16em; text-transform:uppercase;
  padding:5px 12px; border-radius:999px; margin-bottom:18px; }
.nivel__ico { width:50px; height:50px; border-radius:15px; display:flex; align-items:center;
  justify-content:center; margin-bottom:18px; }
.nivel h3 { font-family:'Oswald',sans-serif; font-size:1.35rem; font-weight:600;
  text-transform:uppercase; letter-spacing:.01em; color:#181817; margin-bottom:10px; }
.nivel p { font-family:'Plus Jakarta Sans',sans-serif; font-size:.87rem; line-height:1.75;
  color:rgba(24,24,23,.45); margin-bottom:20px; }
.nivel ul { list-style:none; padding:0; margin:0 0 4px; border-top:1px solid var(--color-border);
  padding-top:18px; margin-top:auto; }
.nivel li { display:flex; align-items:flex-start; gap:9px; padding:7px 0;
  font-family:'Plus Jakarta Sans',sans-serif; font-size:.85rem; color:rgba(24,24,23,.6); }
.nivel li svg { flex-shrink:0; margin-top:3px; }
.nivel__barra { position:absolute; left:0; right:0; bottom:0; height:4px; }

/* -- clientes -- */
.clientes { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
@media(max-width:900px){ .clientes { grid-template-columns:repeat(3,1fr); } }
@media(max-width:560px){ .clientes { grid-template-columns:repeat(2,1fr); gap:10px; } }
.clientes a, .clientes div { position:relative; border-radius:var(--radius-md); overflow:hidden;
  aspect-ratio:1/1; background:var(--color-surface); border:1px solid var(--color-border);
  transition:transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s; }
.clientes a:hover, .clientes div:hover { transform:translateY(-4px) scale(1.02);
  box-shadow:var(--shadow-elevated); z-index:2; }
.clientes img { width:100%; height:100%; object-fit:cover; display:block; }

/* -- diferenciais -- */
.difs { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
@media(max-width:900px){ .difs { grid-template-columns:repeat(2,1fr); } }
@media(max-width:560px){ .difs { grid-template-columns:1fr; } }
.dif { padding:28px 26px 30px; }
.dif__ico { width:46px; height:46px; border-radius:14px; display:flex; align-items:center;
  justify-content:center; margin-bottom:16px; }
.dif h3 { font-family:'Plus Jakarta Sans',sans-serif; font-size:1.05rem; font-weight:600;
  color:#181817; margin-bottom:7px; }
.dif p { font-family:'Plus Jakarta Sans',sans-serif; font-size:.86rem; line-height:1.72;
  color:rgba(24,24,23,.45); }

/* -- segmentos -- */
.segs { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
@media(max-width:900px){ .segs { grid-template-columns:repeat(2,1fr); } }
.seg { display:flex; align-items:center; gap:13px; padding:18px 20px;
  border-radius:var(--radius-lg); background:var(--color-surface);
  border:1px solid var(--color-border); transition:all .35s cubic-bezier(.16,1,.3,1); }
.seg:hover { border-color:var(--color-primary); transform:translateY(-3px);
  box-shadow:0 14px 28px -18px rgba(99,154,208,.9); }
.seg i, .seg svg { color:var(--color-primary); flex-shrink:0; }
.seg span { font-family:'Plus Jakarta Sans',sans-serif; font-size:.88rem; font-weight:500;
  color:rgba(24,24,23,.65); line-height:1.35; }

/* -- perguntas frequentes -- */
.faq { max-width:820px; margin:0 auto; display:flex; flex-direction:column; gap:12px; }
.faq details { border-radius:var(--radius-lg); background:var(--color-surface);
  border:1px solid var(--color-border); overflow:hidden; transition:box-shadow .3s, border-color .3s; }
.faq details[open] { border-color:var(--color-primary); box-shadow:var(--shadow-card); }
.faq summary { cursor:pointer; list-style:none; padding:20px 24px; display:flex;
  align-items:center; justify-content:space-between; gap:16px;
  font-family:'Plus Jakarta Sans',sans-serif; font-size:.97rem; font-weight:600; color:#181817; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:'+'; font-family:'Oswald',sans-serif; font-size:1.5rem;
  line-height:1; color:var(--color-primary); flex-shrink:0; transition:transform .3s; }
.faq details[open] summary::after { content:'\2013'; transform:rotate(180deg); }
.faq .resp { padding:0 24px 22px; font-family:'Plus Jakarta Sans',sans-serif;
  font-size:.89rem; line-height:1.8; color:rgba(24,24,23,.5); }


/* ============================================================
   PRODUTOS SEM LP — secoes padrao (texto validado nas LPs)
   ============================================================ */
/* 4 diferenciais numa linha so */
.difs--4 { grid-template-columns:repeat(4,1fr); }
@media(max-width:1100px){ .difs--4 { grid-template-columns:repeat(2,1fr); } }
@media(max-width:560px){  .difs--4 { grid-template-columns:1fr; } }

/* passo a passo numerado */
.passos { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
@media(max-width:900px){ .passos { grid-template-columns:1fr; gap:26px; } }
.passo { position:relative; padding:34px 26px 30px; overflow:visible; }
.passo__n { position:absolute; top:-14px; left:22px; width:34px; height:34px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; color:#fff;
  font-family:'Oswald',sans-serif; font-weight:700; font-size:.95rem;
  box-shadow:0 8px 20px -6px rgba(24,24,23,.35); }
.passo h3 { font-family:'Plus Jakarta Sans',sans-serif; font-size:1.05rem; font-weight:600;
  color:#181817; margin-bottom:7px; }
.passo p { font-family:'Plus Jakarta Sans',sans-serif; font-size:.86rem; line-height:1.72;
  color:rgba(24,24,23,.45); }

/* formatos de corte especial (contornos) */
.formatos { margin-top:34px; padding:24px 26px 26px; border-radius:var(--radius-xl);
  background:var(--color-surface); border:1px dashed rgba(99,154,208,.4); }
.formatos__rot { display:flex; align-items:center; gap:8px; margin-bottom:16px;
  font-family:'Space Grotesk',sans-serif; font-size:.7rem; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase; color:var(--color-primary); }
.formatos__lista { display:grid; grid-template-columns:repeat(5,1fr); gap:14px; }
@media(max-width:700px){ .formatos__lista { grid-template-columns:repeat(3,1fr); } }
.formatos__lista div { aspect-ratio:1/1; border-radius:var(--radius-md); padding:10%;
  background:var(--color-surface-2); border:1px solid var(--color-border);
  transition:transform .35s cubic-bezier(.16,1,.3,1), border-color .35s, background .35s; }
.formatos__lista div:hover { transform:translateY(-4px); border-color:var(--color-primary);
  background:var(--color-surface); }
.formatos__lista img { width:100%; height:100%; object-fit:contain; display:block; }

/* fotos que ilustram os acabamentos */
.acab-fotos { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-top:20px; }
.acab-fotos img { width:100%; aspect-ratio:1/1; object-fit:cover; display:block;
  border-radius:var(--radius-md); border:1px solid var(--color-border); max-width:250px; }


/* ---------- tipos com imagem (em vez de icone) ---------- */
.tipo-img { height:180px; margin-bottom:18px; padding:10px; border-radius:var(--radius-md);
  background:#fff; border:1px solid var(--color-border); overflow:hidden; }
.tipo-img img { width:100%; height:100%; object-fit:contain; display:block; }
.tipo-itens { list-style:none; margin:14px 0 4px; padding:14px 0 0; border-top:1px solid var(--color-border); }
.tipo-itens li { display:flex; align-items:flex-start; gap:8px; padding:4px 0;
  font-size:.83rem; line-height:1.55; color:rgba(24,24,23,.6); }
.tipo-itens li svg { flex-shrink:0; margin-top:3px; }
/* 5 tipos: 3 na primeira linha, 2 mais largos na segunda */
@media(min-width:981px){
  .grid.tipos-5 { grid-template-columns:repeat(6,1fr); }
  .grid.tipos-5 > :nth-child(-n+3) { grid-column:span 2; }
  .grid.tipos-5 > :nth-child(n+4)  { grid-column:span 3; }
}

/* ---------- ilustracoes com legenda (acabamentos, opcionais, embalagem) ---------- */
.ilus { display:flex; flex-direction:column; gap:30px; }
.ilus__grupo { padding:24px 26px 26px; border-radius:var(--radius-xl);
  background:var(--color-surface); border:1px solid var(--color-border); box-shadow:var(--shadow-card); }
.ilus__lista { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
@media(max-width:900px){ .ilus__lista { grid-template-columns:repeat(3,1fr); } }
@media(max-width:560px){ .ilus__lista { grid-template-columns:repeat(2,1fr); gap:12px; } }
.ilus__lista figure { margin:0; }
.ilus__lista img { width:100%; aspect-ratio:1/1; object-fit:cover; display:block;
  border-radius:var(--radius-md); border:1px solid var(--color-border); background:#fff;
  transition:transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s; }
.ilus__lista figure:hover img { transform:translateY(-4px); box-shadow:var(--shadow-elevated); }
.ilus__lista figcaption { margin-top:10px; font-family:'Plus Jakarta Sans',sans-serif;
  font-size:.84rem; font-weight:600; color:#181817; line-height:1.4; }


/* texto explicativo dentro do bloco de formatos */
.formatos__txt { margin:-6px 0 16px; font-family:'Plus Jakarta Sans',sans-serif;
  font-size:.86rem; line-height:1.7; color:rgba(24,24,23,.45); max-width:760px; }
/* legenda de ilustracao com descricao */
.ilus__lista figcaption b { display:block; font-weight:600; color:#181817; }
.ilus__lista figcaption span { display:block; margin-top:4px; font-weight:400;
  font-size:.79rem; line-height:1.55; color:rgba(24,24,23,.45); }


/* figura larga acima dos tipos (ex.: regua de tamanhos dos cadernos) */
.tipos-destaque { margin:0 0 26px; padding:22px 24px; border-radius:var(--radius-xl);
  background:var(--color-surface); border:1px solid var(--color-border); box-shadow:var(--shadow-card); }
.tipos-destaque img { width:100%; height:auto; display:block; }
.tipos-destaque figcaption { margin-top:14px; text-align:center;
  font-family:'Space Grotesk',sans-serif; font-size:.72rem; font-weight:600;
  letter-spacing:.12em; text-transform:uppercase; color:rgba(24,24,23,.4); }
/* 4 tipos: 2 por linha, cards mais largos para textos longos */
@media(min-width:981px){ .grid.tipos-4 { grid-template-columns:repeat(2,1fr); } }
/* celular: a figura larga rola dentro do proprio quadro, sem esticar a pagina */
@media(max-width:700px){
  .tipos-destaque { overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:thin; }
  .tipos-destaque img { min-width:620px; }
  .tipos-destaque figcaption { position:sticky; left:0; }
}


/* 2 niveis lado a lado (ex.: envelope aberto x fechado) */
@media(min-width:901px){ .niveis.niveis--2 { grid-template-columns:repeat(2,1fr); } }
/* card de dica: so numero e texto, sem titulo */
.passo > p:first-of-type { margin-top:4px; }


/* ---------- tamanhos em escala ---------- */
.tam-lista { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:center; gap:44px; }
.tam { margin:0; text-align:center; }
.tam__papel { position:relative; margin:0 auto 14px; border:2px solid; border-radius:6px;
  background:var(--color-surface); box-shadow:var(--shadow-card);
  transition:transform .4s cubic-bezier(.16,1,.3,1), box-shadow .4s; }
.tam:hover .tam__papel { transform:translateY(-6px); box-shadow:var(--shadow-elevated); }
.tam__papel span { position:absolute; left:10px; right:10px; top:12px; height:6px;
  border-radius:3px; opacity:.5; }
.tam__papel::after { content:''; position:absolute; left:10px; right:26px; top:28px; bottom:14px;
  background:repeating-linear-gradient(transparent 0 7px, rgba(24,24,23,.09) 7px 8px); }
.tam figcaption b { font-family:'Oswald',sans-serif; font-size:1rem; font-weight:600;
  letter-spacing:.02em; color:#181817; }
.tam__nota { margin-top:26px; text-align:center; font-family:'Plus Jakarta Sans',sans-serif;
  font-size:.9rem; color:rgba(24,24,23,.45); }
@media(max-width:600px){ .tam-lista { gap:26px; } }

/* ---------- vias autocopiativas ---------- */
.vias { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
@media(max-width:900px){ .vias { grid-template-columns:1fr; } }
.via { padding:30px 28px 32px; }
.via__pilha { position:relative; margin-bottom:22px; }
.via__folha { position:absolute; width:96px; height:120px; border-radius:5px;
  border:1px solid rgba(24,24,23,.14); box-shadow:0 6px 16px -8px rgba(24,24,23,.4);
  transition:transform .4s cubic-bezier(.16,1,.3,1); }
.via:hover .via__folha:first-child { transform:translate(-4px,-4px); }
.via h3 { font-family:'Oswald',sans-serif; font-size:1.25rem; font-weight:600;
  text-transform:uppercase; color:#181817; margin-bottom:8px; }
.via p { font-family:'Plus Jakarta Sans',sans-serif; font-size:.87rem; line-height:1.72;
  color:rgba(24,24,23,.45); }

/* ---------- especificacao rotulo + valor ---------- */
.nivel li.spec { display:block; padding:9px 0; border-bottom:1px dashed var(--color-border); }
.nivel li.spec:last-child { border-bottom:0; }
.nivel li.spec b { display:block; font-family:'Space Grotesk',sans-serif; font-size:.64rem;
  font-weight:700; letter-spacing:.14em; text-transform:uppercase; margin-bottom:3px; }
.nivel li.spec span { font-family:'Plus Jakarta Sans',sans-serif; font-size:.87rem;
  line-height:1.6; color:rgba(24,24,23,.6); }


/* imagem no topo do cartao de nivel */
.nivel__img { height:190px; margin-bottom:20px; border-radius:var(--radius-md); overflow:hidden;
  background:#fff; border:1px solid var(--color-border); }
.nivel__img img { width:100%; height:100%; object-fit:cover; display:block;
  transition:transform .6s cubic-bezier(.16,1,.3,1); }
.card:hover .nivel__img img { transform:scale(1.05); }


/* ============================================================
   PORTFÓLIO — grade filtrável com ampliação
   ============================================================ */
.pf-filtro { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
.pf-filtro button { font-family:'Space Grotesk',sans-serif; font-size:.72rem; font-weight:600;
  letter-spacing:.1em; text-transform:uppercase; cursor:pointer; padding:10px 20px;
  border-radius:999px; background:var(--color-surface); border:1px solid var(--color-border);
  color:rgba(24,24,23,.5); display:inline-flex; align-items:center; gap:8px;
  transition:all .3s cubic-bezier(.16,1,.3,1); }
.pf-filtro button:hover { border-color:var(--color-primary); color:var(--color-primary);
  transform:translateY(-2px); box-shadow:0 8px 18px -10px rgba(99,154,208,.7); }
.pf-filtro button .n { font-family:'Space Mono',monospace; font-size:.62rem; letter-spacing:0;
  padding:1px 7px; border-radius:999px; background:rgba(24,24,23,.05); color:rgba(24,24,23,.4);
  transition:all .3s; }
.pf-filtro button[aria-pressed="true"] { background:var(--color-primary);
  border-color:var(--color-primary); color:#fff; box-shadow:0 10px 24px -10px rgba(99,154,208,.9); }
.pf-filtro button[aria-pressed="true"] .n { background:rgba(255,255,255,.22); color:#fff; }
@media(max-width:700px){
  .pf-filtro { flex-wrap:nowrap; overflow-x:auto; justify-content:flex-start; padding-bottom:10px;
    scrollbar-width:none; -ms-overflow-style:none; scroll-snap-type:x proximity; }
  .pf-filtro::-webkit-scrollbar { display:none; }
  .pf-filtro button { flex:0 0 auto; scroll-snap-align:start; padding:9px 16px; font-size:.66rem; }
}

.pf-grade { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; grid-auto-flow:dense; }
@media(max-width:1100px){ .pf-grade { grid-template-columns:repeat(3,1fr); } }
@media(max-width:820px){  .pf-grade { grid-template-columns:repeat(2,1fr); } }
.pf-peca { position:relative; margin:0; border:0; padding:0; cursor:zoom-in; overflow:hidden;
  border-radius:var(--radius-lg); background:var(--color-surface);
  border:1px solid var(--color-border); box-shadow:var(--shadow-card); aspect-ratio:1/1;
  transition:transform .45s cubic-bezier(.16,1,.3,1), box-shadow .45s, border-color .45s; }
.pf-peca.is-destaque { grid-column:span 2; grid-row:span 2; }
@media(max-width:820px){ .pf-peca.is-destaque { grid-column:span 2; grid-row:span 1; aspect-ratio:1/1; } }
.pf-peca img { width:100%; height:100%; object-fit:cover; display:block;
  transition:transform .8s cubic-bezier(.16,1,.3,1); }
.pf-peca:hover { transform:translateY(-6px); box-shadow:var(--shadow-elevated);
  border-color:var(--color-primary); }
.pf-peca:hover img { transform:scale(1.07); }
.pf-peca figcaption { position:absolute; left:0; right:0; bottom:0; padding:38px 16px 14px;
  text-align:left; background:linear-gradient(transparent,rgba(24,24,23,.88));
  opacity:0; transform:translateY(10px); transition:opacity .35s, transform .35s; }
.pf-peca:hover figcaption, .pf-peca:focus-visible figcaption { opacity:1; transform:none; }
.pf-peca figcaption b { display:block; font-family:'Plus Jakarta Sans',sans-serif; font-size:.9rem;
  font-weight:600; color:#fff; line-height:1.35; }
.pf-peca figcaption span { font-family:'Space Mono',monospace; font-size:.58rem; letter-spacing:.1em;
  text-transform:uppercase; color:rgba(255,255,255,.6); }
.pf-peca .lupa { position:absolute; top:12px; right:12px; width:34px; height:34px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,.92);
  color:#181817; opacity:0; transform:scale(.8); transition:opacity .3s, transform .3s; }
.pf-peca:hover .lupa { opacity:1; transform:scale(1); }
.pf-peca.is-out { display:none; }
.pf-peca.is-in { animation:svc-pop .45s cubic-bezier(.16,1,.3,1) both; }

/* ampliação */
.pf-lupa-fundo { position:fixed; inset:0; z-index:200; display:none; align-items:center;
  justify-content:center; padding:28px; background:rgba(24,24,23,.92);
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); }
.pf-lupa-fundo.aberto { display:flex; animation:fade-in-up .3s ease both; }
.pf-lupa-fundo img { max-width:min(1100px,92vw); max-height:78vh; border-radius:var(--radius-lg);
  box-shadow:0 30px 80px -20px rgba(0,0,0,.7); display:block; }
.pf-lupa__info { position:absolute; left:0; right:0; bottom:26px; text-align:center; padding:0 20px; }
.pf-lupa__info b { display:block; font-family:'Plus Jakarta Sans',sans-serif; font-size:1rem;
  font-weight:600; color:#fff; }
.pf-lupa__info span { font-family:'Space Mono',monospace; font-size:.62rem; letter-spacing:.12em;
  text-transform:uppercase; color:rgba(255,255,255,.5); }
.pf-lupa-fundo button { position:absolute; width:46px; height:46px; border-radius:50%;
  border:1px solid rgba(255,255,255,.2); background:rgba(255,255,255,.1); color:#fff;
  cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all .25s; }
.pf-lupa-fundo button:hover { background:rgba(255,255,255,.22); transform:scale(1.06); }
.pf-lupa__fechar { top:24px; right:24px; }
.pf-lupa__ant { left:24px; top:50%; margin-top:-23px; }
.pf-lupa__prox { right:24px; top:50%; margin-top:-23px; }
@media(max-width:700px){
  .pf-lupa__ant { left:12px; } .pf-lupa__prox { right:12px; }
  .pf-lupa-fundo img { max-height:64vh; }
}


/* ============================================================
   BLOG — listagem e post
   ============================================================ */
.blog-lista { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
@media(max-width:900px){ .blog-lista { grid-template-columns:1fr; } }
.blog-card { display:flex; flex-direction:column; text-decoration:none; overflow:hidden;
  border-radius:var(--radius-xl); background:var(--color-surface);
  border:1px solid var(--color-border); box-shadow:var(--shadow-card);
  transition:transform .4s cubic-bezier(.16,1,.3,1), box-shadow .4s, border-color .4s; }
.blog-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-elevated);
  border-color:var(--color-primary); }
.blog-card__capa { position:relative; aspect-ratio:16/10; overflow:hidden; background:#eef0f7; }
.blog-card__capa img { width:100%; height:100%; object-fit:cover; display:block;
  transition:transform .8s cubic-bezier(.16,1,.3,1); }
.blog-card:hover .blog-card__capa img { transform:scale(1.06); }
.blog-card__cat { position:absolute; top:14px; left:14px; z-index:2; }
.blog-card__corpo { padding:26px 28px 30px; display:flex; flex-direction:column; flex:1; }
.blog-card h2 { font-family:'Oswald',sans-serif; font-size:1.35rem; font-weight:600;
  line-height:1.18; text-transform:uppercase; letter-spacing:.005em; color:#181817;
  margin-bottom:10px; transition:color .3s; }
.blog-card:hover h2 { color:var(--color-primary); }
.blog-card p { font-family:'Plus Jakarta Sans',sans-serif; font-size:.9rem; line-height:1.72;
  color:rgba(24,24,23,.45); margin-bottom:18px; }
.blog-meta { display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin-top:auto;
  padding-top:16px; border-top:1px solid var(--color-border);
  font-family:'Space Grotesk',sans-serif; font-size:.68rem; font-weight:600;
  letter-spacing:.12em; text-transform:uppercase; color:rgba(24,24,23,.38); }
.blog-meta span { display:inline-flex; align-items:center; gap:7px; }
.blog-card__mais { display:inline-flex; align-items:center; gap:7px;
  font-family:'Space Grotesk',sans-serif; font-size:.68rem; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase; color:var(--color-primary); }

/* barra de leitura */
.leitura { position:fixed; top:0; left:0; height:3px; width:0; z-index:60;
  background:linear-gradient(90deg,#00AEEF,#639AD0,#E74680,#F5E022); transition:width .1s linear; }

/* capa do post */
.post-capa { position:relative; border-radius:var(--radius-2xl); overflow:hidden;
  box-shadow:var(--shadow-elevated); border:1px solid var(--color-border); line-height:0; }
.post-capa img { width:100%; display:block; }
.post-capa__cmyk { position:absolute; left:0; right:0; bottom:0; display:flex; height:6px; }
.post-capa__cmyk i { flex:1; }

/* corpo do post */
.post-corpo { max-width:760px; margin:0 auto; }
.post-corpo > p { font-family:'Plus Jakarta Sans',sans-serif; font-size:1.02rem; line-height:1.85;
  color:rgba(24,24,23,.62); margin-bottom:20px; }
.post-corpo > p.lead-post { font-size:1.16rem; line-height:1.75; color:rgba(24,24,23,.7); }
.post-corpo h2 { font-family:'Oswald',sans-serif; font-size:clamp(1.45rem,3vw,1.9rem);
  font-weight:600; text-transform:uppercase; letter-spacing:.005em; color:#181817;
  margin:44px 0 14px; padding-top:22px; border-top:1px solid var(--color-border); }
.post-corpo h3 { font-family:'Plus Jakarta Sans',sans-serif; font-size:1.12rem; font-weight:700;
  color:#181817; margin:30px 0 10px; display:flex; align-items:baseline; gap:10px; }
.post-corpo h3::before { content:''; width:16px; height:3px; border-radius:2px; flex-shrink:0;
  background:linear-gradient(90deg,var(--color-primary),transparent); }
.post-corpo ul { list-style:none; padding:0; margin:6px 0 24px; }
.post-corpo ul li { display:flex; align-items:flex-start; gap:11px; padding:9px 0;
  font-family:'Plus Jakarta Sans',sans-serif; font-size:.97rem; line-height:1.7;
  color:rgba(24,24,23,.6); border-bottom:1px dashed var(--color-border); }
.post-corpo ul li:last-child { border-bottom:0; }
.post-corpo ul li svg { flex-shrink:0; margin-top:5px; }
.post-corpo strong { color:#181817; font-weight:600; }

/* compartilhar */
.post-share { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:40px;
  padding-top:26px; border-top:1px solid var(--color-border); }
.post-share__rot { font-family:'Space Grotesk',sans-serif; font-size:.68rem; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase; color:rgba(24,24,23,.35); }
.post-share a, .post-share button { display:inline-flex; align-items:center; gap:8px;
  padding:10px 18px; border-radius:999px; cursor:pointer;
  font-family:'Space Grotesk',sans-serif; font-size:.7rem; font-weight:600; letter-spacing:.1em;
  text-transform:uppercase; text-decoration:none; color:rgba(24,24,23,.6);
  background:var(--color-surface); border:1px solid var(--color-border); transition:all .3s; }
.post-share a:hover, .post-share button:hover { border-color:var(--color-primary);
  color:var(--color-primary); transform:translateY(-2px); }
