/*
Theme Name:  Diego Paulino v2
Theme URI:   https://diegopaulino.com.br
Author:      Diego Paulino
Description: Tema institucional — Penal Tributário · Penal Econômico · Direito Tributário · Contencioso Estratégico. Identidade visual: Calcário #F2F2F5 · Tinta #1A1A22 · Bordeaux #881828. Playfair Display + Jost.
Version:     2.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 8.0
License:     Proprietary
Text Domain: diego-paulino
Tags:        law, attorney, legal, portfolio, blog, dark, minimal, luxury
*/

/* ── TOKENS ── */
:root {
  --c:    #F2F2F5;
  --t:    #1A1A22;
  --b:    #881828;
  --muted: #6B6B7A;
  --line:  rgba(26,26,34,0.10);
  --ll:    rgba(255,255,255,0.07);
  --pl:   'Playfair Display', Georgia, serif;
  --js:   'Jost', 'Segoe UI', Arial, sans-serif;
  --max:   1200px;
}

/* ── RESET ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html  { scroll-behavior: smooth; font-size: 16px; }
body  { background: var(--c); color: var(--t); font-family: var(--js); font-weight: 300;
        font-size: 15px; line-height: 1.8; -webkit-font-smoothing: antialiased; }
a     { color: inherit; text-decoration: none; transition: opacity .2s; }
a:hover { opacity: .75; }
img   { display: block; max-width: 100%; height: auto; }
ul, ol { list-style: none; }

/* ── TIPOGRAFIA ── */
h1,h2,h3,h4,h5,h6 { font-family: var(--pl); font-weight: 400;
                     letter-spacing: -.02em; line-height: 1.15; color: var(--t); }
h1 { font-size: clamp(2.4rem, 5.5vw, 4rem); }
h2 { font-size: clamp(1.6rem, 3.2vw, 2.5rem); }
h3 { font-size: clamp(1.05rem, 2vw, 1.4rem); }
h4 { font-size: 1.1rem; }
em { font-style: italic; }
strong { font-weight: 600; }
p  { margin-bottom: 1rem; }
p:last-child { margin-bottom: 0; }

.eyebrow { font-family: var(--js); font-size: .62rem; font-weight: 600;
           letter-spacing: .22em; text-transform: uppercase; color: var(--b);
           display: flex; align-items: center; gap: 10px; }
.eyebrow::before { content: ''; display: block; width: 22px; height: 1px; background: var(--b); }

/* ── LAYOUT ── */
.container { max-width: var(--max); margin: 0 auto; padding: 0 48px; }
.section   { padding: 88px 0; }
.section-sm { padding: 64px 0; }
.section-header { margin-bottom: 52px; }
.section-header .eyebrow { margin-bottom: 8px; }
.section-header h2 { max-width: 580px; margin-bottom: 10px; }
.section-header p  { color: var(--muted); max-width: 500px; font-size: .92rem; }

/* ── BOTÕES ── */
.btn { display: inline-flex; align-items: center; gap: 8px; padding: 13px 30px;
       font-family: var(--js); font-size: .67rem; font-weight: 600;
       letter-spacing: .16em; text-transform: uppercase;
       transition: all .22s; cursor: pointer; border: none; }
.btn-primary   { background: var(--b); color: #fff; }
.btn-primary:hover { opacity: .88; color: #fff; }
.btn-secondary { background: transparent; color: var(--t); border: 1.5px solid var(--t); }
.btn-secondary:hover { background: var(--t); color: var(--c); opacity: 1; }
.btn-ghost     { background: transparent; color: var(--c);
                 border: 1px solid rgba(242,242,245,.22); padding: 12px 28px; }
.btn-ghost:hover { border-color: rgba(242,242,245,.65); color: var(--c); opacity: 1; }
.btn-link      { padding: 0; font-size: .67rem; letter-spacing: .14em;
                 text-transform: uppercase; color: var(--b);
                 border-bottom: 1px solid var(--b); padding-bottom: 2px;
                 font-weight: 600; cursor: pointer; }
.btn-full      { width: 100%; justify-content: center; }

/* ── HEADER ── */
#site-header { position: sticky; top: 0; z-index: 999;
               background: rgba(26,26,34,.97); backdrop-filter: blur(14px);
               border-bottom: 1px solid var(--ll); transition: box-shadow .3s; }
#site-header.scrolled { box-shadow: 0 2px 40px rgba(0,0,0,.3); }
.header-inner { display: flex; align-items: center; justify-content: space-between;
                height: 68px; padding: 0 48px; max-width: var(--max); margin: 0 auto; }
.site-logo .logo-name { font-family: var(--pl); font-size: 1.05rem; font-weight: 400;
                        color: var(--c); letter-spacing: -.01em; display: block; }
.site-logo .logo-sub  { font-size: .58rem; letter-spacing: .22em; text-transform: uppercase;
                        color: var(--b); display: block; margin-top: 1px; }
.primary-nav { display: flex; align-items: center; gap: 0; }
.nav-link    { display: block; padding: 7px 13px; font-size: .66rem; letter-spacing: .11em;
               text-transform: uppercase; font-weight: 500;
               color: rgba(242,242,245,.5); transition: color .2s; position: relative; }
.nav-link:hover, .nav-link.current { color: var(--c); }
.nav-link.current::after { content: ''; position: absolute; bottom: 0;
                            left: 13px; right: 13px; height: 1px; background: var(--b); }
.header-cta { margin-left: 18px; }
.hamburger   { display: none; flex-direction: column; gap: 5px; cursor: pointer; padding: 4px; }
.hamburger span { display: block; width: 24px; height: 1.5px; background: var(--c); transition: all .3s; }

/* ── ELEMENTOS GRÁFICOS ── */
.pattern-bg { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
.side-strip  { position: absolute; left: 0; top: 0; bottom: 0; width: 18px;
               overflow: hidden; pointer-events: none; }
.godframe    { position: absolute; inset: 0; pointer-events: none; }
.corner-deco { position: absolute; pointer-events: none; overflow: hidden; }
.bordeaux-bar-top    { height: 4px; background: var(--b); }
.bordeaux-bar-bottom { position: absolute; bottom: 0; left: 0; right: 0;
                       height: 3px; background: var(--b); opacity: .7; }
.vetor-accent { /* inline via SVG */ }

/* ── HERO ── */
.hero { min-height: 100vh; background: var(--t); display: flex;
        flex-direction: column; justify-content: flex-end; position: relative; overflow: hidden; }
.hero-breadline { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; }
.hero-breadline::before { content: ''; display: block; width: 28px; height: 1px; background: var(--b); }
.hero-breadline span { font-size: .62rem; letter-spacing: .22em; text-transform: uppercase;
                       color: rgba(242,242,245,.35); font-weight: 500; }
.hero-title  { font-family: var(--pl); font-size: clamp(2.8rem,6.5vw,5.4rem); font-weight: 400;
               color: var(--c); letter-spacing: -.03em; line-height: 1.0; max-width: 720px; margin-bottom: 24px; }
.hero-title em { font-style: italic; color: rgba(242,242,245,.3); }
.hero-sub    { font-size: .97rem; color: rgba(242,242,245,.45); line-height: 1.75;
               max-width: 460px; margin-bottom: 38px; }
.hero-actions { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }
.hero-stats   { display: flex; gap: 52px; padding-top: 56px;
                border-top: 1px solid rgba(255,255,255,.06); margin-top: 56px; flex-wrap: wrap; }
.hero-stat .val   { font-family: var(--pl); font-size: 1.9rem; color: var(--c); line-height: 1; }
.hero-stat .label { font-size: .58rem; letter-spacing: .14em; text-transform: uppercase;
                    color: rgba(242,242,245,.25); margin-top: 3px; }
.hero-inner { position: relative; z-index: 1; padding: 108px 0 96px; }
.hero-d-deco { position: absolute; right: -80px; top: 50%; transform: translateY(-50%);
               pointer-events: none; }

/* ── STRIP BORDEAUX ── */
.strip { background: var(--b); padding: 20px 0; position: relative; overflow: hidden; }
.strip-inner  { display: flex; align-items: center; justify-content: center;
                gap: 40px; flex-wrap: wrap; }
.strip-item   { display: flex; align-items: center; gap: 8px; font-size: .68rem;
                letter-spacing: .12em; text-transform: uppercase;
                color: rgba(242,242,245,.65); font-weight: 500; }
.strip-item svg { width: 13px; height: 13px; stroke: rgba(242,242,245,.55); }

/* ── ÁREAS DE ATUAÇÃO ── */
.areas-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 2px; }
.area-card  { background: white; padding: 32px 28px; position: relative;
              overflow: hidden; transition: box-shadow .3s; }
.area-card::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0;
                    height: 3px; background: var(--b);
                    transform: scaleX(0); transition: transform .3s; }
.area-card:hover::after { transform: scaleX(1); }
.area-card:hover { box-shadow: 0 8px 40px rgba(136,24,40,.07); }
.area-card.dark   { background: var(--t); }
.area-card.bordeaux { background: var(--b); }
.area-icon  { width: 40px; height: 40px; display: flex; align-items: center;
              justify-content: center; margin-bottom: 16px; }
.area-icon svg { width: 21px; height: 21px; stroke: var(--b); }
.area-card.dark    .area-icon svg { stroke: rgba(136,24,40,.75); }
.area-card.bordeaux .area-icon svg { stroke: rgba(242,242,245,.65); }
.area-num { font-size: .57rem; letter-spacing: .18em; text-transform: uppercase;
            color: var(--muted); font-weight: 600; margin-bottom: 6px; }
.area-card.dark    .area-num { color: rgba(242,242,245,.25); }
.area-card.bordeaux .area-num { color: rgba(242,242,245,.45); }
.area-card h3 { font-size: 1rem; margin-bottom: 8px; line-height: 1.25; }
.area-card.dark    h3 { color: var(--c); }
.area-card.bordeaux h3 { color: white; }
.area-card p  { font-size: .83rem; color: var(--muted); line-height: 1.65; margin: 0; }
.area-card.dark    p { color: rgba(242,242,245,.38); }
.area-card.bordeaux p { color: rgba(242,242,245,.7); }
.area-card-deco { position: absolute; bottom: 0; right: 0; width: 48px;
                  height: 48px; overflow: hidden; pointer-events: none; }

/* ── CITAÇÃO ── */
.cit-section { background: var(--t); padding: 72px 0; position: relative; overflow: hidden; }
.cit-wrap    { max-width: 720px; margin: 0 auto; text-align: center; }
.cit-text    { font-family: var(--pl); font-size: clamp(1.2rem,2.6vw,1.85rem);
               font-style: italic; color: var(--c); line-height: 1.5; opacity: .8; }
.cit-text::before { content: '"'; color: var(--b); }
.cit-text::after  { content: '"'; color: var(--b); }
.cit-author  { font-size: .62rem; letter-spacing: .18em; text-transform: uppercase;
               color: rgba(242,242,245,.25); margin-top: 14px; }

/* ── BLOG / POSTS ── */
.blog-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 2px; }
.post-card  { background: white; display: flex; flex-direction: column;
              overflow: hidden; transition: box-shadow .3s; cursor: pointer; }
.post-card:hover { box-shadow: 0 8px 40px rgba(26,26,34,.08); }
.post-card-thumb { aspect-ratio: 16/9; overflow: hidden; }
.post-card-thumb.feat-thumb { aspect-ratio: unset; min-height: 260px; height: 100%; }
.post-card-body  { padding: 22px; flex: 1; display: flex; flex-direction: column; }
.post-card.featured { grid-column: span 2; display: grid; grid-template-columns: 1fr 1fr; }
.post-card.featured .post-card-body { padding: 32px; }
.post-card.featured .post-card-body h3 { font-size: 1.3rem; }
.post-cat { font-size: .57rem; letter-spacing: .16em; text-transform: uppercase;
            color: var(--b); font-weight: 600; margin-bottom: 6px;
            display: flex; align-items: center; gap: 5px; }
.post-cat::before { content: ''; display: block; width: 9px; height: 1px; background: var(--b); }
.post-card h3 { font-size: .97rem; margin-bottom: 8px; line-height: 1.3; }
.post-card p  { font-size: .82rem; color: var(--muted); line-height: 1.7;
                flex: 1; margin-bottom: 14px; }
.post-meta    { display: flex; align-items: center; justify-content: space-between;
                font-size: .68rem; color: var(--muted);
                padding-top: 12px; border-top: 1px solid var(--line); }
.post-badge   { display: inline-block; background: var(--b); color: #fff;
                font-size: .62rem; font-weight: 700; letter-spacing: .1em;
                padding: 2px 8px; margin-bottom: 6px; }

/* ── SALA DE IMPRENSA ── */
.press-section { background: var(--t); padding: 80px 0; position: relative; overflow: hidden; }
.press-grid    { display: grid; grid-template-columns: repeat(3,1fr); gap: 2px; margin-top: 48px; }
.press-card    { background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.05);
                 padding: 28px 24px; display: flex; flex-direction: column; gap: 14px;
                 transition: all .25s; cursor: pointer; }
.press-card:hover { background: rgba(255,255,255,.06); border-color: rgba(136,24,40,.35); }
.press-logo-wrap  { display: flex; align-items: center; justify-content: space-between;
                    gap: 12px; padding-bottom: 14px; border-bottom: 1px solid rgba(255,255,255,.06); }
.press-date       { font-size: .6rem; letter-spacing: .1em; color: rgba(242,242,245,.25);
                    text-transform: uppercase; }
.press-headline   { font-family: var(--pl); font-size: .97rem; font-weight: 400;
                    color: rgba(242,242,245,.75); line-height: 1.4; }
.press-trecho     { font-size: .8rem; color: rgba(242,242,245,.35); line-height: 1.65; }
.press-link       { font-size: .6rem; letter-spacing: .14em; text-transform: uppercase;
                    color: var(--b); font-weight: 600;
                    display: flex; align-items: center; gap: 5px; margin-top: auto; }
.press-link svg   { width: 10px; height: 10px; stroke: var(--b); }
.press-header     { display: flex; align-items: flex-end; justify-content: space-between;
                    flex-wrap: wrap; gap: 20px; margin-bottom: 0; }

/* ── PAGE HERO ── */
.page-hero { background: var(--t); padding: 136px 0 72px;
             position: relative; overflow: hidden; }
.page-hero .page-hero-content { position: relative; z-index: 1; }
.page-hero h1 { color: var(--c); max-width: 600px; margin-top: 10px; }
.page-hero p  { color: rgba(242,242,245,.42); max-width: 500px;
                margin-top: 14px; font-size: .92rem; }

/* ── SOBRE ── */
.sobre-grid { display: grid; grid-template-columns: 1fr 360px; gap: 60px; align-items: start; }
.sobre-bio p { font-size: .97rem; line-height: 1.9; margin-bottom: 18px; }
.dado-list  { display: flex; flex-direction: column; gap: 2px; margin-bottom: 24px; }
.dado-item  { display: flex; border: 1px solid var(--line); }
.dado-label { background: var(--t); color: rgba(242,242,245,.4); font-size: .6rem;
              letter-spacing: .14em; text-transform: uppercase; font-weight: 500;
              padding: 10px 13px; min-width: 90px; display: flex; align-items: center; }
.dado-value { padding: 10px 13px; font-size: .84rem; display: flex; align-items: center; }
.brand-card { background: var(--t); padding: 24px; display: flex; align-items: center; gap: 14px; }
.brand-card .brand-name { font-family: var(--pl); font-size: 1rem; color: var(--c); }
.brand-card .brand-sub  { font-size: .58rem; letter-spacing: .16em;
                          text-transform: uppercase; color: var(--b); margin-top: 2px; }

/* ── ÁREAS PAGE ── */
.area-row   { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; margin-bottom: 2px; }
.area-left  { padding: 36px; position: relative; overflow: hidden; }
.area-left.lt { background: white; }
.area-left.dk { background: var(--t); }
.area-left.bx { background: var(--b); }
.area-right { padding: 36px; }
.area-right.lt  { background: var(--c); }
.area-right.off { background: rgba(26,26,34,.04); }
.area-right .service-label { font-size: .6rem; letter-spacing: .16em; text-transform: uppercase;
                              color: var(--b); font-weight: 700;
                              margin-bottom: 12px; padding-bottom: 8px; border-bottom: 1px solid var(--line); }
.area-right ul li { display: flex; align-items: center; gap: 9px;
                    font-size: .86rem; padding: 7px 0; border-bottom: 1px solid var(--line); }
.area-right ul li:last-child { border-bottom: none; }
.area-right ul li svg { width: 12px; height: 12px; stroke: var(--b); flex-shrink: 0; }
.area-left .area-num-label { font-size: .57rem; letter-spacing: .16em;
                              text-transform: uppercase; font-weight: 700; margin-bottom: 8px; }
.area-left.lt .area-num-label { color: var(--b); }
.area-left.dk .area-num-label, .area-left.bx .area-num-label { color: rgba(136,24,40,.7); }
.area-left h3 { margin-bottom: 11px; }
.area-left.dk h3 { color: var(--c); }
.area-left.bx h3 { color: white; }
.area-left p  { font-size: .86rem; line-height: 1.8; }
.area-left.lt p { color: var(--muted); }
.area-left.dk p { color: rgba(242,242,245,.42); }
.area-left.bx p { color: rgba(242,242,245,.75); }
.area-icon-box { width: 38px; height: 38px; display: flex; align-items: center;
                 justify-content: center; margin-bottom: 14px; }
.area-left.lt .area-icon-box { background: rgba(136,24,40,.07); }
.area-left.dk .area-icon-box, .area-left.bx .area-icon-box { background: rgba(136,24,40,.2); }
.area-icon-box svg { width: 20px; height: 20px; stroke: #881828; }
.area-vetor { margin-top: 16px; padding-top: 14px; }
.area-left.lt .area-vetor { border-top: 1px solid var(--line); }
.area-left.dk .area-vetor { border-top: 1px solid rgba(255,255,255,.06); }
.area-left.bx .area-vetor { border-top: 1px solid rgba(255,255,255,.12); }

/* ── POST INDIVIDUAL ── */
.single-post-layout { display: grid; grid-template-columns: 1fr 300px; gap: 56px; align-items: start; }
.post-content { padding: 52px 0; }
.post-content h2 { font-size: 1.4rem; margin: 26px 0 12px; }
.post-content h3 { font-size: 1.15rem; margin: 20px 0 9px; }
.post-content p  { font-size: .97rem; line-height: 1.95; margin-bottom: 18px; }
.post-content blockquote { border-left: 3px solid var(--b); padding: 14px 22px;
                            margin: 24px 0; background: rgba(136,24,40,.04);
                            font-family: var(--pl); font-style: italic; font-size: 1rem; }
.post-sidebar { padding: 52px 0; }
.sidebar-widget { margin-bottom: 28px; }
.sidebar-widget-title { font-size: .6rem; letter-spacing: .18em; text-transform: uppercase;
                        color: var(--b); font-weight: 700;
                        margin-bottom: 12px; padding-bottom: 8px; border-bottom: 1px solid var(--line); }
.related-item  { display: block; padding: 12px; background: white;
                 border: 1px solid var(--line); margin-bottom: 2px;
                 transition: border-color .2s; cursor: pointer; }
.related-item:hover { border-color: var(--b); }
.related-cat   { font-size: .57rem; letter-spacing: .14em; text-transform: uppercase;
                 color: var(--b); font-weight: 600; margin-bottom: 3px; }
.related-title { font-family: var(--pl); font-size: .87rem; color: var(--t); line-height: 1.3; }
.related-date  { font-size: .7rem; color: var(--muted); margin-top: 3px; }
.author-sidebar  { background: var(--t); padding: 22px; margin-bottom: 4px; }
.sidebar-cta-box { background: var(--b); padding: 20px; text-align: center; }
.sidebar-cta-box p { font-family: var(--pl); font-size: .95rem; color: white;
                     margin-bottom: 14px; line-height: 1.3; }
.sidebar-cta-label { font-size: .62rem; letter-spacing: .16em; text-transform: uppercase;
                     color: rgba(242,242,245,.5); margin-bottom: 7px; }

/* ── CONTATO ── */
.contact-grid   { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; }
.contact-info   { background: var(--t); padding: 52px 44px; position: relative; overflow: hidden; }
.contact-info h2 { color: var(--c); margin-bottom: 14px; }
.contact-info > p { color: rgba(242,242,245,.42); margin-bottom: 28px; font-size: .9rem; }
.contact-dados  { display: flex; flex-direction: column; gap: 14px; }
.contact-dado   { display: flex; gap: 12px; align-items: flex-start; }
.contact-dado svg { width: 14px; height: 14px; stroke: var(--b); flex-shrink: 0; margin-top: 3px; }
.contact-dado .lbl { font-size: .58rem; letter-spacing: .14em; text-transform: uppercase;
                     color: rgba(242,242,245,.28); font-weight: 500; margin-bottom: 2px; }
.contact-dado .val { font-size: .87rem; color: var(--c); }
.contact-form-wrap { background: white; padding: 52px 44px; }
.contact-form-wrap h3 { margin-bottom: 22px; }
.form-group   { margin-bottom: 16px; }
.form-label   { display: block; font-size: .6rem; letter-spacing: .14em;
                text-transform: uppercase; font-weight: 600; color: var(--muted); margin-bottom: 5px; }
.form-input, .form-select, .form-textarea {
  width: 100%; background: var(--c); border: 1px solid var(--line);
  padding: 11px 15px; font-family: var(--js); font-size: .87rem;
  font-weight: 300; color: var(--t); outline: none; transition: border-color .2s; }
.form-input:focus, .form-select:focus, .form-textarea:focus { border-color: var(--b); }
.form-textarea { min-height: 108px; resize: vertical; }
.form-row      { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.form-success  { display: none; padding: 10px 14px; background: rgba(136,24,40,.06);
                 border-left: 3px solid var(--b); font-size: .83rem;
                 color: var(--t); margin-bottom: 14px; }

/* ── FOOTER ── */
#site-footer     { background: var(--t); position: relative; }
.footer-main     { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr;
                   gap: 44px; padding: 64px 0 40px; border-bottom: 1px solid var(--ll); }
.footer-brand .brand-name { font-family: var(--pl); font-size: 1.05rem; color: var(--c); }
.footer-brand .brand-sub  { font-size: .58rem; letter-spacing: .2em; text-transform: uppercase;
                             color: var(--b); margin-bottom: 10px; margin-top: 2px; }
.footer-brand p  { font-size: .8rem; color: rgba(242,242,245,.28); line-height: 1.7; margin-bottom: 8px; }
.footer-col h4   { font-size: .58rem; letter-spacing: .18em; text-transform: uppercase;
                   color: rgba(242,242,245,.3); font-weight: 600; margin-bottom: 12px; }
.footer-col li   { margin-bottom: 6px; }
.footer-col li a { font-size: .8rem; color: rgba(242,242,245,.28);
                   transition: color .2s; display: block; }
.footer-col li a:hover { color: var(--c); opacity: 1; }
.footer-bottom   { display: flex; align-items: center; justify-content: space-between;
                   padding: 20px 0; }
.footer-bottom p { font-size: .7rem; color: rgba(242,242,245,.16); margin: 0; letter-spacing: .04em; }
.footer-oab      { font-size: .6rem; letter-spacing: .1em; color: rgba(242,242,245,.16); }

/* ── BREADCRUMB ── */
.breadcrumb     { display: flex; gap: 8px; align-items: center; margin-bottom: 14px; }
.breadcrumb a, .breadcrumb span { font-size: .68rem; color: rgba(242,242,245,.28); letter-spacing: .06em; }
.breadcrumb a   { cursor: pointer; }
.breadcrumb a:hover { color: rgba(242,242,245,.65); opacity: 1; }
.breadcrumb .sep { color: rgba(242,242,245,.15); }

/* ── PAGINAÇÃO ── */
.pagination { display: flex; justify-content: center; gap: 4px; margin-top: 48px; }
.pagination a, .pagination .current {
  padding: 8px 14px; font-size: .75rem; font-family: var(--js);
  border: 1px solid var(--line); color: var(--muted); }
.pagination .current { background: var(--b); color: white; border-color: var(--b); }
.pagination a:hover { border-color: var(--b); color: var(--t); opacity: 1; }

/* ── UTILITÁRIOS ── */
.bg-tinta    { background: var(--t) !important; }
.bg-bordeaux { background: var(--b) !important; }
.bg-calcario { background: var(--c) !important; }
.text-center { text-align: center; }
.mt-36       { margin-top: 36px; }
.mt-48       { margin-top: 48px; }
.relative    { position: relative; }
.overflow-hidden { overflow: hidden; }
.z-1         { position: relative; z-index: 1; }

/* ── RESPONSIVO ── */
@media (max-width: 1024px) {
  .areas-grid  { grid-template-columns: 1fr 1fr; }
  .blog-grid   { grid-template-columns: 1fr 1fr; }
  .post-card.featured { grid-column: span 2; }
  .footer-main { grid-template-columns: 1fr 1fr; gap: 28px; }
  .press-grid  { grid-template-columns: 1fr 1fr; }
  .single-post-layout { grid-template-columns: 1fr; }
  .sobre-grid  { grid-template-columns: 1fr; }
  .contact-grid { grid-template-columns: 1fr; }
  .area-row    { grid-template-columns: 1fr; }
  .hero-d-deco { display: none; }
  .container   { padding: 0 28px; }
  .header-inner { padding: 0 28px; }
}
@media (max-width: 768px) {
  .areas-grid  { grid-template-columns: 1fr; }
  .blog-grid   { grid-template-columns: 1fr; }
  .post-card.featured { grid-template-columns: 1fr; grid-column: span 1; }
  .footer-main { grid-template-columns: 1fr; }
  .press-grid  { grid-template-columns: 1fr; }
  .primary-nav { display: none; }
  .primary-nav.open { display: flex; flex-direction: column; position: fixed;
    top: 68px; left: 0; right: 0; background: rgba(26,26,34,.99);
    padding: 20px; border-top: 1px solid var(--ll); z-index: 998; }
  .hamburger   { display: flex; }
  .header-cta  { display: none; }
  .hero-title  { font-size: 2.4rem; }
  .hero-stats  { gap: 24px; }
  .container   { padding: 0 20px; }
  .header-inner { padding: 0 20px; }
  .section     { padding: 64px 0; }
  .hero-inner  { padding: 80px 0 64px; }
  .side-strip  { display: none; }
}
@media print {
  #site-header, #site-footer, .hero-d-deco, .side-strip { display: none !important; }
}
