/* Blog Prolog Projetos ---------------------------------------------------- */
.blog-hero{
  padding:clamp(120px,14vw,176px) 0 clamp(54px,8vw,92px);
  position:relative;
  overflow:hidden;
}
.blog-hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(560px 380px at 82% 18%,rgba(255,122,24,.24),transparent 68%),
    linear-gradient(145deg,rgba(79,124,255,.16),transparent 55%);
}
.blog-hero .wrap{position:relative;z-index:1}
.blog-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:clamp(36px,7vw,90px);align-items:end}
.blog-kicker{display:inline-flex;align-items:center;gap:12px;font-family:var(--font-head);font-weight:800;font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;color:var(--orange-2);margin-bottom:18px}
.blog-kicker::before{content:"";width:34px;height:2px;background:var(--grad)}
.blog-hero h1{font-family:var(--font-display);font-weight:400;text-transform:uppercase;font-size:clamp(4rem,13vw,10.5rem);line-height:.94;letter-spacing:.005em}
.blog-hero .lead{margin-top:24px;max-width:62ch}
.blog-hero-aside{border-left:1px solid var(--line-2);padding-left:clamp(24px,4vw,48px);color:var(--muted)}
.blog-hero-aside strong{display:block;color:var(--text);font-family:var(--font-head);font-size:1.12rem;margin-bottom:10px}

.blog-featured{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);min-height:480px;border:1px solid var(--line-2);border-radius:24px;overflow:hidden;background:var(--surface);transition:transform .35s var(--ease),border-color .35s}
.blog-featured:hover{transform:translateY(-5px);border-color:rgba(255,156,69,.65)}
.blog-featured-media{position:relative;min-height:320px;overflow:hidden}
.blog-featured-media::after,.post-card-media::after,.article-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(10,28,102,.12),rgba(10,28,102,.7))}
.blog-featured-media img,.post-card-media img,.article-cover img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.blog-featured:hover .blog-featured-media img,.post-card:hover .post-card-media img{transform:scale(1.035)}
.blog-featured-body{padding:clamp(30px,5vw,58px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.post-meta{display:flex;flex-wrap:wrap;gap:9px 18px;align-items:center;font-family:var(--font-head);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2)}
.post-meta .category{color:var(--orange-2)}
.blog-featured h2{font-family:var(--font-head);font-size:clamp(1.8rem,3vw,3rem);line-height:1.08;margin:18px 0 16px}
.blog-featured p{color:var(--muted);max-width:52ch}
.blog-featured .arrow-link{margin-top:28px}

.blog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:30px}
.blog-toolbar h2{font-family:var(--font-display);font-weight:400;text-transform:uppercase;font-size:clamp(2.2rem,5vw,4.2rem);line-height:1.15}
.topic-list{display:flex;flex-wrap:wrap;gap:8px}
.topic-pill{padding:8px 13px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.78rem;font-weight:700;letter-spacing:.04em}
.topic-pill:hover,.topic-pill.is-active{border-color:var(--orange);color:var(--orange-2)}
.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.post-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:rgba(20,40,140,.72);transition:transform .35s var(--ease),border-color .35s}
.post-card:hover{transform:translateY(-5px);border-color:var(--line-2)}
.post-card-media{height:230px;position:relative;overflow:hidden}
.post-card-body{padding:26px;display:flex;flex:1;flex-direction:column;align-items:flex-start}
.post-card h3{font-family:var(--font-head);font-size:1.35rem;line-height:1.2;margin:15px 0 12px}
.post-card p{color:var(--muted);font-size:.94rem}
.post-card .arrow-link{margin-top:auto;padding-top:22px}

.editorial-note{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:start;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 0;color:var(--muted)}
.editorial-note-mark{font-family:var(--font-display);font-size:3rem;line-height:1;color:var(--orange)}
.editorial-note strong{display:block;color:var(--text);font-family:var(--font-head);margin-bottom:4px}

/* Article pages */
.article-hero{padding:clamp(120px,13vw,164px) 0 42px}
.article-hero .breadcrumb{margin-bottom:30px}
.article-shell{max-width:980px;margin:0 auto}
.article-label{color:var(--orange-2);font-family:var(--font-head);font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.article-hero h1{font-family:var(--font-head);font-size:clamp(2.35rem,6.8vw,5.4rem);line-height:1.02;letter-spacing:-.035em;max-width:18ch;margin:18px 0 24px}
.article-deck{font-size:clamp(1.08rem,2vw,1.35rem);line-height:1.6;color:var(--muted);max-width:66ch}
.article-byline{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:26px;padding-top:20px;border-top:1px solid var(--line);font-family:var(--font-head);font-size:.82rem;color:var(--muted)}
.article-byline strong{color:var(--text)}
.article-cover{height:min(58vw,620px);min-height:330px;position:relative;overflow:hidden;border-radius:24px;margin-top:38px;border:1px solid var(--line)}
.article-cover figcaption{position:absolute;z-index:2;left:20px;right:20px;bottom:18px;color:rgba(255,255,255,.78);font-size:.75rem}
.article-layout{display:grid;grid-template-columns:220px minmax(0,700px);gap:clamp(36px,7vw,76px);align-items:start;justify-content:center}
.article-aside{position:sticky;top:110px;border-top:2px solid var(--orange);padding-top:18px;color:var(--muted);font-size:.84rem}
.article-aside strong{display:block;color:var(--text);font-family:var(--font-head);font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:8px}
.article-body{font-size:1.06rem;color:#d8e0ff}
.article-body > p:first-child{font-size:1.2rem;color:var(--text)}
.article-body p + p{margin-top:1.25em}
.article-body h2{font-family:var(--font-head);font-size:clamp(1.65rem,3.5vw,2.5rem);line-height:1.16;margin:2em 0 .65em;color:var(--text)}
.article-body h3{font-family:var(--font-head);font-size:1.22rem;margin:1.7em 0 .55em;color:var(--text)}
.article-body ul,.article-body ol{display:grid;gap:12px;margin:1.2em 0;padding-left:0}
.article-body li{position:relative;padding-left:27px}
.article-body ul li::before{content:"";position:absolute;left:2px;top:.75em;width:9px;height:9px;border:2px solid var(--orange);border-radius:50%}
.article-body ol{counter-reset:item}
.article-body ol li{counter-increment:item;padding-left:38px}
.article-body ol li::before{content:counter(item,decimal-leading-zero);position:absolute;left:0;top:.05em;color:var(--orange-2);font-family:var(--font-head);font-weight:800;font-size:.78rem}
.article-callout{margin:2em 0;padding:24px 26px;border-left:3px solid var(--orange);background:linear-gradient(110deg,rgba(255,122,24,.12),rgba(79,124,255,.10));border-radius:0 14px 14px 0}
.article-callout strong{display:block;font-family:var(--font-head);color:var(--text);margin-bottom:5px}
.article-reference{margin-top:44px;padding-top:24px;border-top:1px solid var(--line);color:var(--muted);font-size:.86rem}
.article-reference strong{color:var(--text)}
.related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.related-link{display:block;padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--surface);transition:border-color .25s,transform .25s}
.related-link:hover{border-color:var(--orange);transform:translateY(-3px)}
.related-link span{display:block;color:var(--orange-2);font-size:.74rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:7px}
.related-link strong{font-family:var(--font-head);font-size:1.1rem;line-height:1.3}

@media (min-width:1025px) and (max-width:1260px){
  .menu a,.menu button.navlink{padding-inline:9px;font-size:.84rem}
  .actions .btn-ghost{display:none}
}
@media (max-width:900px){
  .blog-hero-grid,.blog-featured,.article-layout{grid-template-columns:1fr}
  .blog-hero-aside{border-left:0;border-top:1px solid var(--line-2);padding:24px 0 0}
  .blog-featured-media{min-height:300px}
  .post-grid{grid-template-columns:1fr 1fr}
  .article-aside{position:static}
}
@media (max-width:620px){
  .post-grid,.related-grid{grid-template-columns:1fr}
  .post-card-media{height:210px}
  .article-cover{height:62vw;min-height:280px;border-radius:16px}
  .article-body{font-size:1rem}
}
