/* ============================================================
   GUIA DF — Blog
   Componentes do blog sobre o sistema editorial da landing.
   Depende de styles.css (tokens, botões, index-line, reveal…).
   ============================================================ */

/* ---------- nav: link de categorias do blog ---------- */
.topnav nav .navlink.active { color: var(--accent); background: var(--paper-3); }

/* ---------- MASTHEAD ---------- */
.masthead { position: relative; overflow: hidden; background-image: var(--paper-tex); border-bottom: 1px solid var(--paper-line); }
.masthead .grid-motif::before { background-image: url("/assets/pat-map-creme.jpg"); opacity: .12; mix-blend-mode: multiply; background-size: 56% auto; background-position: top right; background-repeat: no-repeat;
  -webkit-mask-image: radial-gradient(96% 90% at 100% 0%, #000 0%, rgba(0,0,0,.4) 42%, transparent 76%);
  mask-image: radial-gradient(96% 90% at 100% 0%, #000 0%, rgba(0,0,0,.4) 42%, transparent 76%); }
.masthead .inner { position: relative; z-index: 1; max-width: var(--maxw); margin: 0 auto; padding: clamp(48px,6vw,86px) var(--gutter) clamp(34px,4vw,52px); }
.masthead .eyebrow { margin-bottom: 16px; }
.masthead h1 { font-family: var(--font-title); font-weight: 800; font-size: clamp(34px,5.4vw,62px); line-height: .99; letter-spacing: -.03em; color: var(--ink); max-width: 16ch; }
.masthead h1 em { font-family: var(--font-serif); font-weight: 600; font-style: italic; letter-spacing: -.01em; color: var(--accent); }
.masthead .mh-sub { font-size: clamp(16px,1.6vw,19px); color: var(--cinza); max-width: 52ch; margin-top: 20px; }
.masthead .mh-hand { font-family: var(--font-hand); font-weight: 700; font-size: clamp(20px,2.3vw,27px); color: var(--verde-cerrado); transform: rotate(-1.6deg); display: inline-block; margin-top: 18px; }

/* ---------- SEARCH + FILTER TOOLBAR ---------- */
.blog-toolbar { position: sticky; top: 55px; z-index: 40; background: rgba(243,239,227,.9); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-bottom: 1px solid var(--paper-line); }
.blog-toolbar .inner { max-width: var(--maxw); margin: 0 auto; padding: 14px var(--gutter); display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.searchbar { position: relative; flex: none; width: min(300px, 100%); }
.searchbar svg { position: absolute; left: 13px; top: 50%; transform: translateY(-50%); width: 16px; height: 16px; color: var(--navy-line); pointer-events: none; }
.searchbar input { width: 100%; font-family: var(--font-body); font-size: 14px; color: var(--ink); background: var(--paper-2); border: 1px solid var(--paper-line); border-radius: 11px; padding: 11px 14px 11px 38px; transition: border-color .15s, background .15s; }
.searchbar input::placeholder { color: var(--navy-line); opacity: .7; }
.searchbar input:focus { outline: none; border-color: var(--accent); background: #fff; }
.cat-filter { display: flex; gap: 8px; flex-wrap: wrap; flex: 1; min-width: 0; }
.chip { font-family: var(--font-mono); font-size: 11.5px; letter-spacing: .04em; color: var(--navy-line); background: transparent; border: 1px solid var(--paper-line); border-radius: 999px; padding: 8px 15px; cursor: pointer; white-space: nowrap; transition: all .16s; }
.chip:hover { border-color: var(--accent); color: var(--accent); }
.chip[aria-pressed="true"] { background: var(--ink); border-color: var(--ink); color: #fff; }
.search-empty { display: none; text-align: center; font-family: var(--font-serif); font-style: italic; font-size: 20px; color: var(--cinza); padding: 40px 0; }
.search-empty.show { display: block; }

/* ---------- MEDIA PLACEHOLDER (slot p/ foto real) ---------- */
.ph { position: relative; overflow: hidden; background: var(--paper-3); border-radius: 14px; }
.ph::before { content: ""; position: absolute; inset: 0; background-image: url("/assets/pat-map-creme.jpg"); background-size: cover; background-position: center; opacity: .5; mix-blend-mode: multiply; }
.ph .ph-art { position: absolute; right: -6%; bottom: -8%; width: 62%; height: auto; opacity: .5; z-index: 1; }
.ph.photo::before { opacity: 0; }
.ph.photo .ph-art { inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: 1; z-index: 1; }
.ph.photo::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(17,40,66,.08) 0%, rgba(17,40,66,.18) 100%); pointer-events: none; }
.ph.photo .ph-tag, .ph.photo .rt { z-index: 3; }
.ph .ph-tag { position: absolute; left: 12px; top: 12px; z-index: 2; font-family: var(--font-mono); font-size: 9.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--navy-line); background: rgba(243,239,227,.82); border: 1px solid var(--paper-line); border-radius: 999px; padding: 5px 11px; display: inline-flex; align-items: center; gap: 6px; }
.ph .ph-tag::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--accent); }

/* ---------- FEATURED POST ---------- */
.featured { padding: clamp(40px,5vw,64px) 0 clamp(20px,3vw,30px); }
.feat-card { display: grid; grid-template-columns: 1.08fr .92fr; gap: clamp(26px,4vw,52px); align-items: center; }
.feat-card > * { min-width: 0; }
@media (max-width: 820px){ .feat-card { grid-template-columns: 1fr; gap: 26px; } }
.feat-media { aspect-ratio: 4/3; }
.feat-media .ph-art { width: 56%; }
.feat-body .post-cat { margin-bottom: 14px; }
.feat-body h2 { font-family: var(--font-title); font-weight: 800; font-size: clamp(26px,3.6vw,44px); line-height: 1.04; letter-spacing: -.022em; color: var(--ink); }
.feat-body h2 a { color: inherit; }
.feat-body h2 a:hover { color: var(--accent); }
.feat-body .post-excerpt { font-size: clamp(15px,1.5vw,18px); color: var(--cinza); margin-top: 16px; max-width: 46ch; }
.feat-body .post-meta { margin-top: 20px; }
.feat-body .feat-readmore { display: inline-flex; align-items: center; gap: 9px; margin-top: 22px; font-family: var(--font-title); font-weight: 700; font-size: 15px; color: var(--accent); }
.feat-body .feat-readmore .arr { transition: transform .2s; }
.feat-body .feat-readmore:hover .arr { transform: translateX(4px); }

/* ---------- POST CATEGORY TAG + META ---------- */
.post-cat { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--accent); }
.post-cat::before { content: ""; width: 18px; height: 1.5px; background: var(--accent); }
.post-meta { display: flex; align-items: center; gap: 10px; font-family: var(--font-mono); font-size: 11px; letter-spacing: .03em; color: var(--navy-line); }
.post-meta .sep { width: 4px; height: 4px; border-radius: 50%; background: var(--paper-line); }

/* ---------- POST GRID ---------- */
.post-grid-sec { padding: clamp(20px,3vw,30px) 0 clamp(60px,8vw,100px); }
.grid-head { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; flex-wrap: wrap; margin-bottom: clamp(26px,3vw,38px); }
.grid-head h3 { font-family: var(--font-title); font-weight: 800; font-size: clamp(20px,2.4vw,28px); letter-spacing: -.01em; color: var(--ink); }
.grid-head .gh-count { font-family: var(--font-mono); font-size: 11.5px; letter-spacing: .06em; color: var(--navy-line); }
.post-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(20px,2.6vw,32px); }
.post-grid.cols-2 { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 900px){ .post-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px){ .post-grid, .post-grid.cols-2 { grid-template-columns: 1fr; } }

.pcard { display: flex; flex-direction: column; }
.pcard.is-hidden { display: none; }
.pcard-media { aspect-ratio: 3/2; margin-bottom: 16px; transition: transform .35s cubic-bezier(.2,.7,.2,1); }
.pcard:hover .pcard-media { transform: translateY(-4px); }
.pcard-media .ph-art { width: 60%; }
.pcard h3 { font-family: var(--font-title); font-weight: 800; font-size: clamp(18px,1.7vw,21px); line-height: 1.18; letter-spacing: -.01em; color: var(--ink); margin: 12px 0 0; }
.pcard h3 a { color: inherit; }
.pcard h3 a:hover { color: var(--accent); }
.pcard .post-excerpt { font-size: 14.5px; color: var(--cinza); margin: 10px 0 0; }
.pcard .post-meta { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--paper-line); }
.pcard .post-cat { margin-bottom: 0; }
.pcard-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }

/* read-time pill on media */
.pcard-media .rt, .feat-media .rt { position: absolute; right: 12px; bottom: 12px; z-index: 2; font-family: var(--font-mono); font-size: 10px; letter-spacing: .06em; color: #fff; background: rgba(17,40,66,.82); border-radius: 999px; padding: 5px 11px; }

/* ---------- NEWSLETTER (ink band) ---------- */
.newsletter { position: relative; overflow: hidden; }
.newsletter .grid-motif::before { background-image: url("/assets/pat-map-azul.jpg"); opacity: .16; mix-blend-mode: screen;
  -webkit-mask-image: radial-gradient(120% 130% at 50% 120%, #000 0%, transparent 72%); mask-image: radial-gradient(120% 130% at 50% 120%, #000 0%, transparent 72%); }
.nl-wrap { position: relative; z-index: 1; display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(30px,5vw,60px); align-items: center; }
@media (max-width: 820px){ .nl-wrap { grid-template-columns: 1fr; gap: 28px; } }
.nl-copy h3 { font-family: var(--font-title); font-weight: 800; font-size: clamp(24px,3.2vw,38px); line-height: 1.06; letter-spacing: -.02em; color: #fff; max-width: 18ch; }
.nl-copy h3 em { font-family: var(--font-serif); font-style: italic; font-weight: 600; color: #BBD3EF; }
.nl-copy p { color: rgba(243,239,227,.82); margin-top: 14px; max-width: 42ch; }
.nl-form { display: flex; flex-direction: column; gap: 12px; }
.nl-row { display: flex; gap: 10px; flex-wrap: wrap; }
.nl-row input { flex: 1; min-width: 0; font-family: var(--font-body); font-size: 15px; color: #fff; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.2); border-radius: 11px; padding: 14px 16px; }
.nl-row input::placeholder { color: rgba(243,239,227,.6); }
.nl-row input:focus { outline: none; border-color: #BBD3EF; background: rgba(255,255,255,.12); }
.nl-note { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .04em; color: var(--azul-pale); }
.nl-ok { display: none; font-family: var(--font-serif); font-style: italic; font-size: 18px; color: #BBD3EF; }
.nl-ok.show { display: block; }
.nl-form.done .nl-row, .nl-form.done .nl-note { display: none; }

/* ---------- PRODUCT CTA BAND ---------- */
.blog-cta { padding: clamp(56px,7vw,96px) 0; }
.bc-card { position: relative; overflow: hidden; background: var(--paper-2); border: 1px solid var(--paper-line); border-radius: 20px; padding: clamp(28px,4vw,52px); display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: clamp(22px,3vw,40px); }
@media (max-width: 760px){ .bc-card { grid-template-columns: 1fr; text-align: left; gap: 18px; } }
.bc-card .corner-q { position: absolute; right: 0; top: 0; width: clamp(80px,9vw,120px); transform: rotate(180deg); opacity: .1; pointer-events: none; }
.bc-mock { width: clamp(96px,11vw,140px); height: auto; filter: drop-shadow(0 18px 30px rgba(17,40,66,.28)); position: relative; z-index: 1; }
.bc-body { position: relative; z-index: 1; }
.bc-body .kicker { margin-bottom: 4px; }
.bc-body h3 { font-family: var(--font-title); font-weight: 800; font-size: clamp(22px,2.8vw,32px); line-height: 1.08; letter-spacing: -.02em; color: var(--ink); max-width: 22ch; }
.bc-body h3 em { font-family: var(--font-serif); font-style: italic; font-weight: 600; color: var(--accent); }
.bc-body p { color: var(--cinza); margin-top: 10px; max-width: 46ch; font-size: 15px; }
.bc-action { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.bc-action .bc-price { font-family: var(--font-title); font-weight: 800; font-size: clamp(28px,3.4vw,40px); color: var(--ink); letter-spacing: -.02em; line-height: 1; }
.bc-action .bc-price small { font-size: .5em; color: var(--azul-claro); }

/* ============================================================
   ARTICLE PAGE
   ============================================================ */
.article-head { position: relative; overflow: hidden; background-image: var(--paper-tex); border-bottom: 1px solid var(--paper-line); }
.article-head .grid-motif::before { background-image: url("/assets/pat-map-creme.jpg"); opacity: .12; mix-blend-mode: multiply; background-size: 52% auto; background-position: top right; background-repeat: no-repeat;
  -webkit-mask-image: radial-gradient(94% 92% at 100% 0%, #000 0%, transparent 74%); mask-image: radial-gradient(94% 92% at 100% 0%, #000 0%, transparent 74%); }
.article-head .inner { position: relative; z-index: 1; max-width: 820px; margin: 0 auto; padding: clamp(40px,5vw,72px) var(--gutter) clamp(30px,4vw,46px); }
.breadcrumb { display: flex; align-items: center; gap: 9px; font-family: var(--font-mono); font-size: 11px; letter-spacing: .04em; color: var(--navy-line); margin-bottom: 20px; flex-wrap: wrap; }
.breadcrumb a { color: var(--navy-line); }
.breadcrumb a:hover { color: var(--accent); }
.breadcrumb .sep { opacity: .5; }
.article-head h1 { font-family: var(--font-title); font-weight: 800; font-size: clamp(30px,4.6vw,54px); line-height: 1.04; letter-spacing: -.025em; color: var(--ink); max-width: 20ch; }
.article-head h1 em { font-family: var(--font-serif); font-weight: 600; font-style: italic; letter-spacing: -.01em; color: var(--accent); }
.article-head .a-sub { font-size: clamp(16px,1.6vw,20px); color: var(--cinza); margin-top: 18px; max-width: 56ch; }
.article-byline { display: flex; align-items: center; gap: 14px; margin-top: 26px; }
.article-byline .av { width: 44px; height: 44px; border-radius: 50%; background: var(--ink); display: inline-flex; align-items: center; justify-content: center; flex: none; }
.article-byline .av svg { width: 22px; height: 22px; }
.article-byline .bl-meta { display: flex; flex-direction: column; gap: 3px; }
.article-byline .bl-name { font-family: var(--font-title); font-weight: 700; font-size: 14px; color: var(--ink); }
.article-byline .bl-detail { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .04em; color: var(--navy-line); }

.article-hero-media { max-width: 1080px; margin: clamp(-26px,-2vw,-18px) auto 0; padding: 0 var(--gutter); position: relative; z-index: 2; }
.article-hero-media .ph { aspect-ratio: 21/9; box-shadow: 0 30px 60px -32px rgba(17,40,66,.5); }
.article-hero-media .ph-art { width: 38%; }

.article-layout { max-width: 1080px; margin: 0 auto; padding: clamp(40px,5vw,68px) var(--gutter) clamp(50px,7vw,90px); display: grid; grid-template-columns: 230px 1fr; gap: clamp(30px,5vw,64px); align-items: start; }
@media (max-width: 900px){ .article-layout { grid-template-columns: 1fr; gap: 0; } }

/* table of contents (sticky sidebar) */
.toc { position: sticky; top: 86px; align-self: start; }
@media (max-width: 900px){ .toc { display: none; } }
.toc .toc-title { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--navy-line); margin-bottom: 16px; display: flex; align-items: center; gap: 9px; }
.toc .toc-title::before { content: ""; width: 18px; height: 1.5px; background: var(--accent); }
.toc ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; border-left: 1px solid var(--paper-line); }
.toc li a { display: block; font-size: 13.5px; line-height: 1.4; color: var(--cinza); padding: 7px 0 7px 16px; margin-left: -1px; border-left: 2px solid transparent; transition: color .15s, border-color .15s; }
.toc li a:hover { color: var(--accent); }
.toc li a.active { color: var(--ink); border-left-color: var(--accent); font-weight: 600; }

/* prose */
.prose { max-width: 68ch; font-size: 18px; line-height: 1.74; color: #33414f; }
.prose > * { margin: 0 0 1.15em; }
.prose h2 { font-family: var(--font-title); font-weight: 800; font-size: clamp(23px,2.6vw,32px); line-height: 1.14; letter-spacing: -.018em; color: var(--ink); margin: 1.7em 0 .55em; scroll-margin-top: 92px; }
.prose h2 .h2-idx { font-family: var(--font-mono); font-size: .48em; font-weight: 500; color: var(--azul-claro); letter-spacing: .04em; vertical-align: middle; margin-right: 10px; }
.prose h3 { font-family: var(--font-title); font-weight: 700; font-size: clamp(18px,2vw,22px); color: var(--ink); margin: 1.5em 0 .4em; letter-spacing: -.01em; }
.prose p { text-wrap: pretty; }
.prose a { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; text-decoration-color: var(--azul-pale); }
.prose a:hover { text-decoration-color: var(--accent); }
.prose strong { color: var(--ink); font-weight: 700; }
.prose ul, .prose ol { padding-left: 0; list-style: none; display: grid; gap: 10px; }
.prose ul li, .prose ol li { position: relative; padding-left: 30px; }
.prose ul li::before { content: ""; position: absolute; left: 4px; top: 11px; width: 9px; height: 9px; border-radius: 50%; border: 2px solid var(--verde-cerrado); }
.prose ol { counter-reset: pl; }
.prose ol li { counter-increment: pl; }
.prose ol li::before { content: counter(pl,decimal-leading-zero); position: absolute; left: 0; top: 1px; font-family: var(--font-mono); font-size: 13px; color: var(--accent); font-weight: 500; }
.prose blockquote { border: 0; margin: 1.6em 0; padding: 4px 0 4px 26px; border-left: 3px solid var(--accent); }
.prose blockquote p { font-family: var(--font-serif); font-style: italic; font-weight: 600; font-size: clamp(20px,2.2vw,26px); line-height: 1.34; color: var(--ink); }
.prose blockquote cite { display: block; margin-top: 10px; font-family: var(--font-mono); font-style: normal; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--navy-line); }
.prose figure.ph-fig { margin: 1.8em 0; }
.prose figure.ph-fig .ph { aspect-ratio: 16/9; }
.prose figure.ph-fig figcaption { margin-top: 10px; font-family: var(--font-mono); font-size: 11px; letter-spacing: .03em; color: var(--navy-line); text-align: center; }

/* key-takeaways callout */
.callout { background: var(--paper-2); border: 1px solid var(--paper-line); border-radius: 16px; padding: 24px 26px; margin: 1.8em 0; position: relative; overflow: hidden; }
.callout::after { content: ""; position: absolute; right: -20px; bottom: -20px; width: 120px; height: 120px; background: url("/assets/quarter-star.png") center/contain no-repeat; opacity: .06; transform: rotate(180deg); }
.callout .co-h { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--accent); margin-bottom: 14px; display: flex; align-items: center; gap: 9px; }
.callout .co-h::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--accent); }
.callout ul { margin: 0; }

/* in-article Guia DF CTA */
.article-promo { position: relative; overflow: hidden; background: var(--ink); background-image: var(--paper-tex); border-radius: 18px; padding: clamp(26px,3.2vw,38px); margin: 2.2em 0; display: grid; grid-template-columns: auto 1fr; gap: clamp(20px,3vw,30px); align-items: center; }
@media (max-width: 560px){ .article-promo { grid-template-columns: 1fr; } }
.article-promo .ap-grid { position: absolute; inset: 0; background-image: url("/assets/pat-map-azul.jpg"); background-size: 60% auto; background-position: top right; background-repeat: no-repeat; opacity: .14; mix-blend-mode: screen; pointer-events: none;
  -webkit-mask-image: radial-gradient(90% 120% at 100% 0%, #000, transparent 72%); mask-image: radial-gradient(90% 120% at 100% 0%, #000, transparent 72%); }
.article-promo img.ap-mock { width: clamp(92px,10vw,124px); height: auto; position: relative; z-index: 1; filter: drop-shadow(0 16px 28px rgba(0,0,0,.4)); }
.article-promo .ap-body { position: relative; z-index: 1; }
.article-promo .ap-eyebrow { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--azul-pale); }
.article-promo h4 { font-family: var(--font-title); font-weight: 800; font-size: clamp(19px,2.2vw,25px); line-height: 1.12; color: #fff; margin: 8px 0 0; letter-spacing: -.01em; }
.article-promo h4 em { font-family: var(--font-serif); font-style: italic; font-weight: 600; color: #BBD3EF; }
.article-promo p { font-size: 14px; color: rgba(243,239,227,.78); margin: 8px 0 16px; }
.article-promo .btn { background: #fff; color: var(--ink); }

/* article footer: tags + share */
.article-foot { max-width: 1080px; margin: 0 auto; padding: 0 var(--gutter); }
.article-foot .af-inner { max-width: 68ch; margin-left: auto; }
@media (min-width: 901px){ .article-foot .af-inner { margin-left: calc(230px + clamp(30px,5vw,64px)); } }
.af-tags { display: flex; gap: 9px; flex-wrap: wrap; padding-top: 26px; border-top: 1px solid var(--paper-line); }
.af-tags .tg { font-family: var(--font-mono); font-size: 11px; letter-spacing: .04em; color: var(--navy-line); background: var(--paper-2); border: 1px solid var(--paper-line); border-radius: 999px; padding: 7px 13px; }
.af-tags .tg:hover { border-color: var(--accent); color: var(--accent); }

/* related posts */
.related { padding: clamp(50px,6vw,84px) 0; border-top: 1px solid var(--paper-line); background: var(--paper-2); }

/* ============================================================
   CATEGORY PAGE
   ============================================================ */
.cat-header { position: relative; overflow: hidden; background: var(--ink); background-image: var(--paper-tex); }
.cat-header .grid-motif::before { background-image: url("/assets/pat-map-azul.jpg"); opacity: .16; mix-blend-mode: screen; background-size: 50% auto; background-position: top right; background-repeat: no-repeat;
  -webkit-mask-image: radial-gradient(94% 110% at 100% 0%, #000, transparent 76%); mask-image: radial-gradient(94% 110% at 100% 0%, #000, transparent 76%); }
.cat-header .corner-q { position: absolute; left: 0; bottom: 0; width: clamp(90px,10vw,150px); opacity: .1; filter: brightness(0) invert(1); pointer-events: none; }
.cat-header .inner { position: relative; z-index: 1; max-width: var(--maxw); margin: 0 auto; padding: clamp(48px,6vw,90px) var(--gutter); }
.cat-header .breadcrumb { color: var(--azul-pale); }
.cat-header .breadcrumb a { color: var(--azul-pale); }
.cat-header .breadcrumb a:hover { color: #fff; }
.cat-header .cat-eyebrow { font-family: var(--font-mono); font-size: 11.5px; letter-spacing: .2em; text-transform: uppercase; color: var(--azul-pale); display: inline-flex; align-items: center; gap: 10px; margin-bottom: 16px; }
.cat-header .cat-eyebrow::before { content: ""; width: 26px; height: 1.5px; background: var(--azul-pale); }
.cat-header h1 { font-family: var(--font-title); font-weight: 800; font-size: clamp(32px,5vw,58px); line-height: 1.01; letter-spacing: -.03em; color: #fff; max-width: 16ch; }
.cat-header h1 em { font-family: var(--font-serif); font-weight: 600; font-style: italic; color: #BBD3EF; }
.cat-header .cat-sub { font-size: clamp(16px,1.6vw,19px); color: rgba(243,239,227,.82); margin-top: 18px; max-width: 50ch; }
.cat-header .cat-count { margin-top: 22px; font-family: var(--font-mono); font-size: 11.5px; letter-spacing: .06em; color: var(--azul-pale); }

/* category nav strip */
.cat-strip { border-bottom: 1px solid var(--paper-line); background: rgba(243,239,227,.9); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); position: sticky; top: 55px; z-index: 40; }
.cat-strip .inner { max-width: var(--maxw); margin: 0 auto; padding: 13px var(--gutter); display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.cat-strip a { font-family: var(--font-mono); font-size: 11.5px; letter-spacing: .04em; color: var(--navy-line); border: 1px solid var(--paper-line); border-radius: 999px; padding: 8px 15px; white-space: nowrap; transition: all .16s; }
.cat-strip a:hover { border-color: var(--accent); color: var(--accent); }
.cat-strip a.active { background: var(--ink); border-color: var(--ink); color: #fff; }
