/*
Theme Name: Lucas Roberto News
Author: Lucas Roberto
Description: Tema editorial do lucasroberto.com — dark, tipográfico, referência OpenAI (system sans + mono, preto + azul de acento).
Version: 4.0
Text Domain: grp-boletim
*/

:root{
  --bg:#060607;
  --surface:#101012;
  --surface-2:#17171a;
  --ink:#F4F4F5;          /* texto principal / elementos claros */
  --prose:#D8D8DD;
  --soft:#A1A1AA;
  --muted:#6B6B73;
  --line:rgba(255,255,255,.08);
  --line-2:rgba(255,255,255,.14);
  --accent:#5B9BFF;
  --peach:#8FC0FF;
  --code-bg:#0C0C0E;
  --maxw:720px;
  --sans:-apple-system,"SF Pro Text","SF Pro Display","Segoe UI",system-ui,Roboto,sans-serif;
  --mono:ui-monospace,"SF Mono","IBM Plex Mono",Menlo,Consolas,monospace;
  color-scheme:dark;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;line-height:1.6;letter-spacing:-.011em;}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
.mono{font-family:var(--mono);}

/* progress bar (single) */
.progress{position:fixed;top:0;left:0;height:2px;width:0;background:var(--accent);z-index:100;transition:width .1s linear;}

/* ---------- HEADER + LOGO ---------- */
.accentbar{height:3px;background:var(--accent);}
.top{position:sticky;top:0;z-index:30;padding:0 44px;height:62px;display:flex;align-items:center;
  background:rgba(6,6,7,.72);backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px);
  border-bottom:1px solid var(--line);}
.top-inner{display:flex;align-items:center;justify-content:space-between;width:100%;}
.brand{display:flex;align-items:center;}
.brand .mark{font-family:var(--mono);font-weight:600;font-size:18px;letter-spacing:-.02em;color:var(--ink);}
.brand .mark .sl{color:var(--accent);}
.brand:hover .mark{opacity:.72;}
.top-nav{display:flex;align-items:center;gap:24px;font-family:var(--mono);font-size:12.5px;font-weight:400;color:var(--soft);}
.top-nav a{transition:color .15s;white-space:nowrap;}
.top-nav a:hover{color:var(--ink);}
.top-nav a.active{color:var(--ink);}
.top-nav .cta{color:#05060a;background:var(--ink);font-weight:600;padding:8px 15px;border-radius:6px;transition:filter .15s,transform .15s;}
.top-nav .cta:hover{color:#000;background:#fff;transform:translateY(-1px);}

/* botão hamburguer (só mobile) */
.nav-toggle{display:none;width:40px;height:40px;margin-right:-8px;border:0;background:none;cursor:pointer;
  flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:0;}
.nav-toggle span{display:block;width:20px;height:2px;background:var(--ink);border-radius:2px;transition:transform .22s ease,opacity .18s ease;}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
@media (prefers-reduced-motion:reduce){.nav-toggle span{transition:none;}}

/* ---------- INTRO / MASTHEAD (archive) ---------- */
.intro{padding-top:58px;padding-bottom:36px;}
.intro .edition{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--muted);margin-bottom:20px;}
.intro .edition .date{color:var(--accent);text-transform:uppercase;font-weight:500;}
.intro .edition .sep{width:4px;height:4px;border-radius:50%;background:var(--line-2);}
.intro .edition::after{content:'';flex:1;height:1px;background:var(--line);}
.intro h1{font-weight:600;font-size:clamp(34px,5.2vw,50px);line-height:1.05;letter-spacing:-.03em;text-wrap:balance;}
.intro h1 .hl{color:var(--accent);}
.intro p{font-size:19px;color:var(--soft);margin-top:18px;max-width:54ch;line-height:1.55;}

/* ---------- CATEGORY CHIPS (legado) ---------- */
.cats{display:flex;flex-wrap:wrap;gap:10px;padding:4px 0 44px;border-bottom:1px solid var(--line);margin-bottom:8px;}
.cats a{font-family:var(--mono);font-size:12.5px;letter-spacing:.02em;color:var(--soft);border:1px solid var(--line-2);border-radius:100px;padding:9px 18px;background:var(--surface);transition:all .15s;}
.cats a:hover{border-color:var(--accent);color:var(--accent);}
.cats a.all{background:var(--surface-2);color:var(--ink);border-color:var(--line-2);}
.cats a.all:hover{border-color:var(--accent);color:var(--accent);}

/* ---------- FEATURED (legado) ---------- */
.feat-label{display:flex;align-items:center;gap:14px;font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:20px;}
.feat-label::after{content:'';flex:1;height:1px;background:var(--line);}
.featured{display:block;padding-bottom:52px;border-bottom:1px solid var(--line);}
.featured .imgslot{position:relative;aspect-ratio:16/10;background:var(--surface);border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:24px;}
.featured .imgslot img{width:100%;height:100%;object-fit:cover;}
.badge{position:absolute;top:16px;left:16px;background:var(--accent);color:#05060a;font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:6px 13px;border-radius:5px;z-index:2;}
.featured .meta,.entry .meta{display:flex;gap:10px;align-items:center;font-family:var(--mono);font-size:12.5px;color:var(--muted);margin-bottom:12px;}
.featured .meta .cat,.entry .meta .cat{color:var(--accent);text-transform:uppercase;letter-spacing:.04em;}
.featured h2{font-weight:600;font-size:clamp(29px,4.2vw,40px);line-height:1.1;letter-spacing:-.025em;transition:color .15s;}
.featured:hover h2{color:#fff;}
.featured p{font-size:18px;color:var(--soft);margin-top:14px;}

/* ---------- HERO (post em destaque full-bleed) ---------- */
.hero{position:relative;display:flex;align-items:flex-end;min-height:82vh;overflow:hidden;background:#000;color:#fff;margin-bottom:8px;isolation:isolate;padding-top:80px;}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.02);transition:transform .6s ease;opacity:.66;}
.hero:hover .hero-bg{transform:scale(1.055);opacity:.72;}
.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15) 0%,rgba(0,0,0,.5) 52%,rgba(0,0,0,.94) 100%);z-index:1;}
.hero-inner{position:relative;z-index:2;width:100%;max-width:calc(var(--maxw) + 130px);margin:0 auto;padding:0 28px 64px;}
.hero .meta{display:flex;gap:10px;align-items:center;font-family:var(--mono);font-size:12.5px;color:rgba(255,255,255,.7);margin-bottom:16px;}
.hero .meta .cat{color:var(--accent);text-transform:uppercase;letter-spacing:.04em;}
.hero h2{font-weight:600;font-size:clamp(34px,5.6vw,58px);line-height:1.03;letter-spacing:-.03em;max-width:17ch;text-wrap:balance;}
.hero p{font-size:19px;line-height:1.5;color:rgba(255,255,255,.8);margin-top:18px;max-width:56ch;}
.hero--flat{min-height:auto;padding:60px 0;background:var(--bg);border-bottom:1px solid var(--line);}
.hero--flat::after{display:none;}
.hero-label{display:inline-block;font-family:var(--mono);font-size:11.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#05060a;background:var(--accent);padding:6px 13px;border-radius:5px;margin-bottom:20px;}
.hero-cta{display:inline-flex;align-items:center;gap:10px;margin-top:26px;font-family:var(--mono);font-size:14px;font-weight:500;color:#fff;border-bottom:2px solid var(--accent);padding-bottom:3px;}
.hero-cta .arw{transition:transform .2s;display:inline-block;}
.hero:hover .hero-cta .arw{transform:translateX(5px);}

/* ---------- LIST (cards horizontais — archive) ---------- */
.list{padding-top:12px;padding-bottom:10px;}
.list-title{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:24px 0 4px;}
.entry{display:flex;gap:26px;align-items:flex-start;padding:28px 0;border-top:1px solid var(--line);transition:background .18s;}
.list .entry:first-of-type{border-top:1px solid var(--line);}
.entry:hover{background:linear-gradient(90deg,rgba(255,255,255,.028),transparent 72%);}
.entry .thumb{flex-shrink:0;width:190px;aspect-ratio:4/3;border-radius:9px;overflow:hidden;background:var(--surface);border:1px solid var(--line);}
.entry .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease;}
.entry:hover .thumb img{transform:scale(1.045);}
.entry .etext{flex:1;min-width:0;}
.entry .meta{margin-bottom:9px;}
.entry h3{font-weight:600;font-size:23px;line-height:1.18;letter-spacing:-.02em;transition:color .15s;}
.entry:hover h3{color:#fff;}
.entry p{font-size:16px;color:var(--soft);margin-top:8px;}

.pager{display:flex;justify-content:space-between;gap:14px;padding:44px 0 10px;font-family:var(--mono);font-size:13px;font-weight:500;color:var(--soft);}
.pager a{color:var(--ink);border-bottom:2px solid var(--accent);padding-bottom:2px;}
.pager a:hover{color:var(--accent);}

/* ---------- FEED da home (destaque + grid) ---------- */
.feed-wrap{max-width:1160px;margin:0 auto;padding:46px 44px 6px;}
.feed-wrap .list-title{padding:0 0 26px;}
.feed-top{display:grid;grid-template-columns:1.42fr 1fr;gap:44px;align-items:start;margin-bottom:46px;}
.feed-side{display:flex;flex-direction:column;}
.feed-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px 30px;}
.feed-wrap .pager{max-width:none;}

/* card base */
.pcard{display:block;color:inherit;}
.pcard-thumb{overflow:hidden;border-radius:12px;background:var(--surface);border:1px solid var(--line);}
.pcard-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease;}
.pcard:hover .pcard-thumb img{transform:scale(1.045);}
.pcard .meta{display:flex;gap:10px;align-items:center;font-family:var(--mono);font-size:12.5px;color:var(--muted);margin-bottom:10px;}
.pcard .meta .cat{color:var(--accent);text-transform:uppercase;letter-spacing:.04em;}
.pcard h3{font-weight:600;line-height:1.16;letter-spacing:-.02em;transition:color .15s;}
.pcard:hover h3{color:#fff;}
.pcard p{color:var(--soft);margin-top:8px;}

/* lead — destaque secundário (grande, à esquerda) */
.pcard--lead .pcard-thumb{aspect-ratio:16/10;margin-bottom:22px;}
.pcard--lead h3{font-size:30px;font-weight:600;letter-spacing:-.028em;line-height:1.08;}
.pcard--lead p{font-size:17px;margin-top:13px;max-width:52ch;}

/* side — cards compactos */
.pcard--side{display:flex;gap:16px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line);}
.pcard--side:first-child{padding-top:0;}
.pcard--side:last-child{border-bottom:none;}
.pcard--side .pcard-thumb{flex-shrink:0;width:104px;aspect-ratio:4/3;border-radius:9px;}
.pcard--side .pcard-body{min-width:0;}
.pcard--side .meta{margin-bottom:6px;font-size:11.5px;}
.pcard--side h3{font-size:17px;font-weight:600;}

/* grid — imagem no topo */
.feed-grid .pcard-thumb{aspect-ratio:16/10;margin-bottom:15px;}
.feed-grid h3{font-size:20px;}
.feed-grid p{font-size:15px;margin-top:7px;}

/* home híbrida: 3 secundárias (cards médios) + o resto em linhas */
.feed-secondary{margin-bottom:12px;}
.list-title--rows{padding-top:20px !important;border-top:1px solid var(--line);}
.feed-rows{margin-bottom:6px;}
.pcard--row{display:flex;align-items:center;gap:30px;padding:26px 0;border-top:1px solid var(--line);transition:background .18s;}
.feed-rows .pcard--row:first-child{border-top:none;}
.pcard--row:hover{background:linear-gradient(90deg,rgba(255,255,255,.03),transparent 72%);}
.pcard--row .pcard-body{order:1;flex:1;min-width:0;}
.pcard--row .pcard-thumb{order:2;flex-shrink:0;width:158px;aspect-ratio:16/10;border-radius:9px;}
.pcard--row::after{content:'\2192';order:3;color:var(--muted);font-size:18px;flex-shrink:0;transition:color .18s,transform .18s;}
.pcard--row:hover::after{color:var(--accent);transform:translateX(3px);}
.pcard--row h3{font-size:23px;font-weight:600;letter-spacing:-.02em;line-height:1.2;}
.pcard--row .meta{margin-bottom:9px;}
.pcard--row p{font-size:15.5px;margin-top:8px;max-width:72ch;}

/* ---------- SUBSCRIBE (painel) ---------- */
.subscribe-wrap{max-width:940px;margin:0 auto;padding:0 28px;}
.subscribe{margin:76px 0;padding:44px;background:var(--surface);border:1px solid var(--line);border-radius:16px;text-align:left;position:relative;overflow:hidden;}
.subscribe::before{content:'';position:absolute;right:-90px;top:-110px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.05),transparent 68%);pointer-events:none;}
.subscribe > *{position:relative;}
.sub-main{display:grid;grid-template-columns:1.22fr .92fr;gap:44px;align-items:stretch;}
.sub-eyebrow{display:inline-block;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:14px;}
.subscribe h3{font-weight:600;font-size:30px;letter-spacing:-.03em;line-height:1.08;max-width:15ch;margin:0;text-wrap:balance;}
.subscribe p{font-size:16px;color:var(--soft);margin-top:12px;max-width:42ch;}
.sub-benefits{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-direction:column;gap:10px;}
.sub-benefits li{position:relative;padding-left:24px;font-family:var(--mono);font-size:13px;color:var(--soft);line-height:1.4;}
.sub-benefits li::before{content:'\2713';position:absolute;left:0;top:0;color:var(--accent);font-weight:700;}
/* prévia da edição */
.sub-preview{display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--line-2);border-radius:12px;padding:18px 18px 20px;box-shadow:0 24px 48px rgba(0,0,0,.4);}
.prev-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:13px;margin-bottom:16px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.03em;}
.prev-mark{color:var(--ink);font-weight:600;font-size:13px;letter-spacing:-.02em;}
.prev-mark .sl{color:var(--accent);}
.prev-list{list-style:none;margin:0;padding:0;flex:1;display:flex;flex-direction:column;justify-content:space-between;gap:14px;}
.prev-list li{position:relative;padding-left:16px;font-size:13.5px;line-height:1.34;color:var(--prose);}
.prev-list li::before{content:'';position:absolute;left:0;top:7px;width:5px;height:5px;border-radius:50%;background:var(--accent);}
.subscribe .sub-form{display:flex;gap:8px;max-width:none;margin:30px 0 0;}
.sub-form input{flex:1;background:var(--bg);border:1px solid var(--line-2);border-radius:6px;font-family:var(--mono);font-size:14px;padding:12px 15px;outline:none;color:var(--ink);}
.sub-form input::placeholder{color:var(--muted);}
.sub-form input:focus{border-color:var(--accent);}
.sub-form button{border:none;background:var(--ink);color:#05060a;font-family:var(--mono);font-size:13px;font-weight:600;padding:0 22px;border-radius:6px;cursor:pointer;transition:background .15s;}
.sub-form button:hover{background:#fff;}
.hp{position:absolute;left:-9999px;top:0;width:1px;height:1px;opacity:0;pointer-events:none;}
.sub-msg{min-height:18px;margin-top:14px;font-family:var(--mono);font-size:13px;color:var(--soft);text-align:left;transition:color .15s;}
.sub-msg:empty{min-height:0;margin-top:0;}
.sub-msg.sending{color:var(--muted);}
.sub-msg.ok{color:var(--accent);}
.sub-msg.ok::before{content:'\2713 ';font-weight:700;}
.sub-msg.err{color:#ff9a8a;}
.sub-trust{display:block;margin-top:16px;font-family:var(--mono);font-size:11.5px;letter-spacing:.02em;color:var(--muted);}

/* ---------- MODAL ---------- */
.modal-overlay{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.66);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px;animation:grpfade .2s ease;}
.modal-overlay[hidden]{display:none;}
.modal{position:relative;background:var(--surface);border:1px solid var(--line-2);border-radius:16px;max-width:462px;width:100%;padding:42px 40px 30px;box-shadow:0 30px 80px rgba(0,0,0,.55);animation:grppop .28s cubic-bezier(.2,.8,.2,1);}
.modal-close{position:absolute;top:12px;right:14px;background:none;border:none;font-size:24px;line-height:1;color:var(--muted);cursor:pointer;padding:4px 9px;border-radius:8px;transition:color .15s,background .15s;}
.modal-close:hover{color:var(--ink);background:var(--surface-2);}
.modal .edition{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--muted);margin-bottom:16px;}
.modal .edition .date{color:var(--accent);text-transform:uppercase;font-weight:500;}
.modal .edition .sep{width:4px;height:4px;border-radius:50%;background:var(--line-2);}
.modal-eyebrow{display:inline-block;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:16px;}
.modal-eyebrow .sl{color:var(--accent);}
.modal h2{font-weight:600;font-size:30px;line-height:1.08;letter-spacing:-.03em;color:var(--ink);text-wrap:balance;}
.modal h2 .hl{color:var(--accent);}
.modal .lede{font-size:15.5px;color:var(--soft);margin-top:14px;line-height:1.55;}
.modal-trust{display:block;margin-top:16px;font-family:var(--mono);font-size:11px;letter-spacing:.02em;color:var(--muted);}
.modal-form{display:flex;gap:8px;margin-top:24px;}
.modal-form input[type=email]{flex:1;min-width:0;background:var(--bg);border:1px solid var(--line-2);border-radius:6px;font-family:var(--mono);font-size:14px;padding:12px 15px;outline:none;color:var(--ink);}
.modal-form input[type=email]::placeholder{color:var(--muted);}
.modal-form input[type=email]:focus{border-color:var(--accent);}
.modal-form button{border:none;background:var(--ink);color:#05060a;font-family:var(--mono);font-size:13px;font-weight:600;padding:0 20px;border-radius:6px;cursor:pointer;white-space:nowrap;transition:background .15s;}
.modal-form button:hover{background:#fff;}
.modal .sub-msg{text-align:left;}
.modal-skip{display:block;margin:14px auto 0;background:none;border:none;font-family:var(--mono);font-size:13px;color:var(--muted);cursor:pointer;text-decoration:underline;text-underline-offset:3px;transition:color .15s;}
.modal-skip:hover{color:var(--ink);}
@keyframes grpfade{from{opacity:0}to{opacity:1}}
@keyframes navdrop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.top-nav.open{animation:none;}}
@keyframes grppop{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.modal,.modal-overlay{animation:none;}}

/* ---------- SINGLE ---------- */
.back{display:inline-flex;align-items:center;gap:8px;margin-top:40px;font-family:var(--mono);font-size:13px;color:var(--muted);transition:color .15s;}
.back:hover{color:var(--ink);}
.art-head{padding-top:24px;padding-bottom:32px;border-bottom:1px solid var(--line);}
.art-head .meta{display:flex;gap:10px;align-items:center;font-family:var(--mono);font-size:12.5px;color:var(--muted);margin-bottom:18px;}
.art-head .meta .cat{color:var(--accent);text-transform:uppercase;letter-spacing:.04em;}
.art-head h1{font-weight:600;font-size:clamp(32px,5vw,45px);line-height:1.07;letter-spacing:-.03em;text-wrap:balance;}
.art-head .lede{font-size:20px;color:var(--soft);margin-top:18px;line-height:1.5;}
.byline{display:flex;align-items:center;gap:12px;margin-top:26px;}
.byline .av{width:40px;height:40px;border-radius:10px;background:var(--surface-2);border:1px solid var(--line-2);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-weight:600;font-size:15px;color:var(--ink);letter-spacing:-.02em;}
.byline .av .sl{color:var(--accent);}
.byline .who{font-size:14px;font-weight:600;}
.byline .who span{display:block;color:var(--muted);font-weight:400;font-size:12.5px;font-family:var(--mono);margin-top:2px;}

.cover{aspect-ratio:16/9;background:var(--surface);border:1px solid var(--line);border-radius:12px;margin:38px 0;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.cover img{width:100%;height:100%;object-fit:cover;}

/* prose */
.prose{padding-top:12px;padding-bottom:20px;}
.prose > *{margin-bottom:26px;}
.prose p{font-size:19px;line-height:1.75;color:var(--prose);}
.prose h2{font-weight:600;font-size:28px;line-height:1.2;letter-spacing:-.02em;margin-top:44px;margin-bottom:18px;color:var(--ink);}
.prose h3{font-weight:600;font-size:23px;line-height:1.2;margin-top:34px;margin-bottom:14px;color:var(--ink);}
.prose a{color:var(--accent);border-bottom:1px solid rgba(91,155,255,.4);transition:border-color .15s;}
.prose a:hover{border-color:var(--accent);}
.prose strong{font-weight:600;color:#fff;}
.prose ul,.prose ol{padding-left:26px;}
.prose li{font-size:19px;line-height:1.68;color:var(--prose);margin-bottom:9px;}
.prose li::marker{color:var(--accent);}
.prose blockquote{border-left:2px solid var(--accent);padding:4px 0 4px 26px;margin:36px 0;font-weight:500;font-size:23px;line-height:1.4;color:var(--ink);}
.prose img{border-radius:10px;margin:10px 0;}
.prose pre{background:var(--code-bg);color:#e6ebf2;border:1px solid var(--line);border-radius:12px;padding:22px 24px;overflow-x:auto;font-family:var(--mono);font-size:14px;line-height:1.7;}
.prose code:not(pre code){font-family:var(--mono);font-size:.86em;background:var(--surface-2);border:1px solid var(--line);border-radius:5px;padding:2px 7px;color:var(--peach);}

/* code card: barra (linguagem + copiar) + scrollbar fina */
.prose .codeblock{margin:34px 0;border:1px solid var(--line-2);border-radius:12px;overflow:hidden;background:var(--code-bg);}
.codeblock-bar{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.02);}
.codeblock-dots{display:flex;gap:6px;flex-shrink:0;}
.codeblock-dots i{width:11px;height:11px;border-radius:50%;background:var(--line-2);}
.codeblock-lang{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-right:auto;}
.codeblock-copy{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11.5px;color:var(--soft);background:var(--surface-2);border:1px solid var(--line-2);border-radius:6px;padding:5px 11px;cursor:pointer;transition:color .15s,border-color .15s;}
.codeblock-copy:hover{color:var(--ink);border-color:var(--muted);}
.codeblock-copy.done{color:var(--accent);border-color:var(--accent);}
.prose .codeblock pre{margin:0;border:0;border-radius:0;background:transparent;padding:20px 22px 18px;}
.prose .codeblock pre::-webkit-scrollbar{height:9px;}
.prose .codeblock pre::-webkit-scrollbar-track{background:transparent;}
.prose .codeblock pre::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:9px;border:2px solid var(--code-bg);}
.prose .codeblock pre::-webkit-scrollbar-thumb:hover{background:var(--muted);}
.prose .codeblock pre{scrollbar-width:thin;scrollbar-color:var(--line-2) transparent;}

.figure{margin:36px 0;}
.figure .imgslot,.figure img{width:100%;border-radius:10px;overflow:hidden;}
.figure figcaption{font-family:var(--mono);font-size:12.5px;color:var(--muted);margin-top:11px;text-align:center;}
.figure figcaption a{color:var(--accent);}

.callout{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:22px 26px;}
.callout p{font-size:17px;color:var(--soft);margin:0;}
.callout strong{color:var(--ink);}

.tags{display:flex;gap:8px;flex-wrap:wrap;padding:34px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.tags .tag{font-family:var(--mono);font-size:12.5px;color:var(--soft);border:1px solid var(--line-2);border-radius:8px;padding:7px 15px;transition:all .14s;}
.tags .tag:hover{border-color:var(--accent);color:var(--accent);}

.authorbox{display:flex;gap:18px;align-items:flex-start;padding:34px 0;border-bottom:1px solid var(--line);}
.authorbox .av{width:56px;height:56px;border-radius:14px;background:var(--surface-2);border:1px solid var(--line-2);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-weight:600;font-size:22px;color:var(--ink);letter-spacing:-.03em;}
.authorbox .av .sl{color:var(--accent);}
.authorbox .info h4{font-weight:600;font-size:19px;}
.authorbox .info p{font-size:16px;color:var(--soft);margin-top:6px;}
.authorbox .info .links{margin-top:10px;display:flex;gap:16px;font-family:var(--mono);font-size:13px;font-weight:500;color:var(--accent);}

.next{padding-top:44px;padding-bottom:44px;}
.next h3{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;}
.next-entry{display:block;padding:24px 0;border-bottom:1px solid var(--line);}
.next-entry .meta{font-family:var(--mono);font-size:12.5px;color:var(--muted);margin-bottom:7px;}
.next-entry .meta .cat{color:var(--accent);text-transform:uppercase;letter-spacing:.04em;}
.next-entry h4{font-weight:600;font-size:22px;line-height:1.2;letter-spacing:-.02em;transition:color .15s;}
.next-entry:hover h4{color:#fff;}

/* ---------- PRESENÇA PESSOAL (avatar-foto, intro, selo, assinatura) ---------- */

/* variante de foto real no selo do autor (.av / .hi-av com --photo) */
.av--photo,.hi-av--photo{padding:0;overflow:hidden;background:none;}
.av--photo img,.hi-av--photo img{width:100%;height:100%;object-fit:cover;display:block;}

/* masthead do blog (topo de /blog/) */
.blog-masthead{max-width:1160px;margin:0 auto;padding:44px 44px 6px;}
.blog-masthead .edition{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--muted);margin-bottom:14px;}
.blog-masthead .edition .date{color:var(--accent);text-transform:uppercase;font-weight:500;}
.blog-masthead .edition .sl{color:var(--accent);}
.blog-masthead .edition .sep{width:4px;height:4px;border-radius:50%;background:var(--line-2);}
.blog-masthead p{font-size:17px;color:var(--soft);max-width:60ch;line-height:1.55;}
@media(max-width:768px){.blog-masthead{padding:36px 30px 4px;}}
@media(max-width:560px){.blog-masthead{padding:30px 20px 2px;}.blog-masthead p{font-size:15px;}}

/* selo "pessoal" — distingue opinião/bastidores da curadoria de IA */
.pen{font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:var(--peach);border:1px solid rgba(143,192,255,.4);border-radius:100px;padding:2px 9px;line-height:1.5;}

/* assinatura no fim do post */
.signoff{font-family:var(--mono);font-size:17px;font-weight:500;color:var(--soft);padding:6px 0 30px;letter-spacing:.01em;}

/* link dentro da author box (fora do .prose, precisa da cor do acento) */
.authorbox .info p a{color:var(--accent);white-space:nowrap;transition:opacity .15s;}
.authorbox .info p a:hover{opacity:.75;}

/* ---------- PÁGINAS (genérica + /sobre) ---------- */
.pg-wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
.pg-wrap .page-head{padding:58px 0 30px;border-bottom:1px solid var(--line);}
.pg-wrap .page-head h1{font-weight:600;font-size:clamp(32px,5vw,46px);line-height:1.06;letter-spacing:-.03em;text-wrap:balance;}
.pg-wrap .prose{padding-top:30px;}

/* ---------- HOME PESSOAL (front-page, estrutura Montano) ---------- */
.pf-hero{max-width:1040px;margin:0 auto;padding:76px 44px 56px;display:grid;grid-template-columns:1fr auto;gap:56px;align-items:center;}
.pf-eyebrow{display:inline-block;font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:24px;}
.pf-name{font-weight:600;font-size:clamp(38px,6vw,62px);line-height:1.02;letter-spacing:-.035em;text-wrap:balance;}
.pf-tagline{font-size:18px;line-height:1.6;color:var(--soft);margin-top:24px;max-width:52ch;}
.pf-tagline strong{color:var(--ink);font-weight:600;}
.pf-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px;}
.pf-btn{font-family:var(--mono);font-size:13px;font-weight:500;color:var(--ink);border:1px solid var(--line-2);border-radius:8px;padding:12px 20px;transition:all .15s;}
.pf-btn:hover{border-color:var(--muted);color:#fff;}
.pf-btn--solid{background:var(--ink);color:#05060a;border-color:var(--ink);font-weight:600;}
.pf-btn--solid:hover{background:#fff;color:#000;}
/* portrait */
.pf-portrait{flex-shrink:0;text-align:center;}
.pf-av{width:210px;height:210px;border-radius:24px;background:var(--surface-2);border:1px solid var(--line-2);
  display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-weight:600;font-size:76px;color:var(--ink);letter-spacing:-.04em;}
.pf-av .sl{color:var(--accent);}
.pf-av--photo{padding:0;overflow:hidden;background:none;}
.pf-av--photo img{width:100%;height:100%;object-fit:cover;display:block;}
.pf-portrait figcaption{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--muted);margin-top:14px;}

/* seções numeradas */
.pf-section{max-width:1040px;margin:0 auto;padding:52px 44px;border-top:1px solid var(--line);scroll-margin-top:80px;}
.pf-sec-head{display:flex;align-items:baseline;gap:16px;margin-bottom:30px;}
.pf-num{font-family:var(--mono);font-size:13px;font-weight:500;color:var(--accent);letter-spacing:.04em;}
.pf-num::after{content:' /';color:var(--muted);}
.pf-sec-title{font-family:var(--mono);font-size:13px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--soft);}
.pf-prose{max-width:60ch;}
.pf-prose p{font-size:19px;line-height:1.72;color:var(--prose);margin-bottom:22px;}
.pf-prose p:last-child{margin-bottom:0;}
.pf-prose strong{color:#fff;font-weight:600;}

/* 01 projetos (portfólio — cards com preview) */
.pjgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:38px 30px;}
.pjcard{display:block;color:inherit;}
.pjcard-thumb{aspect-ratio:16/10;border-radius:13px;overflow:hidden;background:var(--surface);border:1px solid var(--line);margin-bottom:18px;display:flex;align-items:center;justify-content:center;}
.pjcard-thumb img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;transition:transform .45s ease;}
.pjcard:hover .pjcard-thumb img{transform:scale(1.045);}
.pjcard-noimg{font-family:var(--mono);font-weight:600;font-size:44px;color:var(--muted);letter-spacing:-.04em;}
.pjcard-noimg .sl{color:var(--accent);}
.pjcard-tag{display:block;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:9px;}
.pjcard-title{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:22px;letter-spacing:-.02em;line-height:1.12;color:var(--ink);transition:color .15s;}
.pjcard:hover .pjcard-title{color:var(--accent);}
.pjcard:hover .pf-arw{color:var(--accent);transform:translateX(4px);}
.pjcard-desc{font-size:15.5px;line-height:1.5;color:var(--soft);margin-top:9px;}
.pf-arw{display:inline-block;color:var(--muted);font-size:.72em;transition:transform .18s,color .18s;}

/* página de case (single-projeto) */
.case-head{padding-top:24px;padding-bottom:30px;}
.case-tag{display:inline-block;font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:16px;}
.case-head h1{font-weight:600;font-size:clamp(32px,5vw,46px);line-height:1.05;letter-spacing:-.03em;text-wrap:balance;}
.case-head .lede{font-size:20px;color:var(--soft);margin-top:18px;line-height:1.5;max-width:60ch;}
.case-meta{display:flex;flex-wrap:wrap;gap:12px 26px;align-items:center;margin-top:26px;font-family:var(--mono);font-size:13px;color:var(--muted);}
.case-meta strong{color:var(--soft);font-weight:500;margin-right:7px;text-transform:uppercase;font-size:11px;letter-spacing:.08em;}
.case-live{color:var(--accent);border-bottom:1px solid rgba(91,155,255,.4);padding-bottom:2px;transition:border-color .15s;}
.case-live:hover{border-color:var(--accent);}
.case-live:hover .pf-arw{color:var(--accent);transform:translateX(4px);}
.case-cover{border-radius:14px;overflow:hidden;border:1px solid var(--line);margin:36px 0;background:var(--surface);}
.case-cover img{width:100%;display:block;height:auto;}

/* 03 escrita (secundário) */
.pf-writing-sec .pf-prose p{font-size:16.5px;color:var(--soft);}
.pf-writing{list-style:none;margin:24px 0 0;padding:0;}
.pf-writing-item a{display:flex;align-items:baseline;gap:18px;padding:16px 0;border-top:1px solid var(--line);color:var(--ink);transition:color .15s;}
.pf-writing-item:first-child a{border-top:none;}
.pf-writing-item a:hover{color:#fff;}
.pf-writing-date{font-family:var(--mono);font-size:12px;color:var(--muted);flex-shrink:0;width:92px;}
.pf-writing-title{font-weight:600;font-size:18px;letter-spacing:-.015em;line-height:1.3;flex:1;min-width:0;}
.pf-writing-item a:hover .pf-arw{color:var(--accent);transform:translateX(4px);}
.pf-seeall{display:inline-block;margin-top:26px;font-family:var(--mono);font-size:13px;font-weight:500;color:var(--accent);border-bottom:1px solid rgba(91,155,255,.4);padding-bottom:2px;transition:border-color .15s;}
.pf-seeall:hover{border-color:var(--accent);}

/* contato */
.pf-contact-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px;}
.pf-contact-links a{font-family:var(--mono);font-size:13px;color:var(--soft);border:1px solid var(--line-2);border-radius:8px;padding:11px 18px;transition:all .15s;}
.pf-contact-links a:hover{border-color:var(--accent);color:var(--accent);}
.pf-contact-links a:first-child{background:var(--surface-2);color:var(--ink);}
.pf-contact-links a:first-child:hover{border-color:var(--accent);color:var(--accent);}

/* ---------- FOOTER ---------- */
.site-footer{border-top:1px solid var(--line);margin-top:24px;}
.footer-top{max-width:1080px;margin:0 auto;padding:56px 44px 40px;display:grid;grid-template-columns:1.5fr 1fr;gap:56px;}
.footer-brand{max-width:38ch;}
.footer-mark{font-family:var(--mono);font-weight:600;font-size:19px;letter-spacing:-.02em;color:var(--ink);}
.footer-mark .sl{color:var(--accent);}
.footer-brand p{margin-top:14px;font-size:14.5px;line-height:1.62;color:var(--soft);}
.footer-social{display:flex;gap:18px;margin-top:22px;font-family:var(--mono);font-size:12.5px;color:var(--muted);}
.footer-social a{transition:color .15s;}
.footer-social a:hover{color:var(--accent);}
.footer-cols{display:grid;grid-template-columns:1fr 1fr;gap:32px;}
.footer-col{display:flex;flex-direction:column;align-items:flex-start;gap:12px;}
.footer-col h4{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:2px;}
.footer-col a{font-size:14px;color:var(--soft);transition:color .15s;}
.footer-col a:hover{color:var(--ink);}
.footer-bottom{max-width:1080px;margin:0 auto;padding:22px 44px 44px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:14px;font-family:var(--mono);font-size:12px;color:var(--muted);}
.footer-bottom .sl{color:var(--accent);}

@media(max-width:768px){
  .wrap{padding:0 24px;}
  .top{padding:0 30px;}
  .entry .thumb{width:170px;}
  .feed-wrap{padding:40px 30px 6px;}
  .feed-top{grid-template-columns:1fr;gap:30px;margin-bottom:36px;}
  .feed-grid{grid-template-columns:repeat(2,1fr);gap:30px 26px;}
  .footer-top{grid-template-columns:1fr;gap:36px;padding:44px 30px 32px;}
  .footer-bottom{padding:20px 30px 40px;}
  .sub-main{grid-template-columns:1fr;gap:30px;}
}

@media(max-width:560px){
  .wrap{padding:0 20px;}
  .top{padding:0 20px;}
  .nav-toggle{display:flex;}
  .top-nav{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;
    background:rgba(6,6,7,.98);backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px);
    border-bottom:1px solid var(--line);padding:6px 20px 16px;box-shadow:0 24px 48px rgba(0,0,0,.5);}
  .top-nav.open{display:flex;animation:navdrop .2s ease;}
  .top-nav a{padding:14px 2px;font-size:14px;color:var(--soft);border-bottom:1px solid var(--line);}
  .top-nav a:hover,.top-nav a.active{color:var(--ink);}
  .top-nav .cta{margin-top:14px;text-align:center;padding:13px;border-radius:6px;}
  .intro{padding-top:36px;padding-bottom:28px;}
  .intro .edition{margin-bottom:16px;font-size:11.5px;gap:10px;}
  .intro h1{font-size:31px;letter-spacing:-.02em;}
  .intro p{font-size:17px;margin-top:16px;}
  .cats{padding:2px 0 32px;}
  .feat-label{margin-bottom:16px;}
  .featured{padding-bottom:40px;}
  .featured .imgslot{aspect-ratio:16/11;margin-bottom:20px;}
  .featured h2{font-size:26px;}
  .featured p{font-size:16px;}
  .badge{font-size:11px;padding:5px 11px;top:12px;left:12px;}
  .hero{min-height:74vh;padding-top:60px;}
  .hero-inner{padding:0 20px 44px;}
  .hero-label{margin-bottom:16px;}
  .hero h2{font-size:31px;letter-spacing:-.02em;}
  .hero p{font-size:16px;margin-top:14px;}
  .hero-cta{margin-top:20px;}
  .feed-wrap{padding:32px 20px 4px;}
  .feed-grid{grid-template-columns:1fr;gap:26px;}
  .feed-secondary{gap:26px;}
  .pcard--lead h3{font-size:25px;}
  .pcard--lead p{font-size:16px;}
  .pcard--row{gap:16px;padding:22px 0;}
  .pcard--row .pcard-thumb{width:104px;}
  .pcard--row h3{font-size:18px;}
  .pcard--row p{display:none;}
  .pcard--row::after{display:none;}
  .entry{gap:16px;padding:22px 0;}
  .entry .thumb{width:110px;}
  .entry h3{font-size:19px;}
  .entry p{display:none;}
  .entry .meta{font-size:11.5px;margin-bottom:7px;}
  .entry .meta span:nth-child(3),.entry .meta span:nth-child(4){display:none;}
  .back{margin-top:28px;}
  .art-head{padding-top:18px;padding-bottom:26px;}
  .art-head h1{font-size:29px;}
  .art-head .lede{font-size:18px;margin-top:16px;}
  .cover{margin:28px 0;}
  .prose p,.prose li{font-size:17px;line-height:1.7;}
  .prose h2{font-size:24px;margin-top:34px;}
  .prose h3{font-size:20px;}
  .prose blockquote{font-size:20px;padding-left:20px;}
  .prose pre{font-size:13px;padding:18px;}
  .subscribe-wrap{padding:0 20px;}
  .subscribe{padding:30px 22px;margin:52px 0;}
  .subscribe h3{font-size:24px;max-width:none;}
  .subscribe .sub-form{flex-direction:column;max-width:none;}
  .sub-form button{padding:13px 24px;}
  .modal{padding:34px 24px 26px;}
  .modal h2{font-size:25px;}
  .modal-form{flex-direction:column;}
  .modal-form button{padding:13px 22px;}
  .authorbox{gap:14px;}
  .tags{padding:26px 0;}
  .footer-top{padding:40px 20px 28px;}
  .footer-cols{gap:22px;}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:8px;padding:18px 20px 36px;}
}

@media(max-width:380px){
  .intro h1{font-size:27px;}
  .featured h2{font-size:23px;}
  .entry .thumb{width:96px;}
}

/* home pessoal + páginas no mobile */
@media(max-width:768px){
  .pf-hero{grid-template-columns:1fr;gap:34px;padding:52px 30px 44px;}
  .pf-portrait{order:-1;text-align:left;}
  .pf-av{width:120px;height:120px;font-size:44px;border-radius:20px;}
  .pf-section{padding:44px 30px;}
}
@media(max-width:560px){
  .pf-hero{padding:40px 20px 36px;}
  .pf-section{padding:38px 20px;}
  .pf-tagline{font-size:16px;}
  .pf-prose p{font-size:17px;}
  .pjgrid{grid-template-columns:1fr;gap:30px;}
  .pjcard-title{font-size:20px;}
  .pf-writing-item a{gap:12px;flex-wrap:wrap;}
  .pf-writing-date{width:auto;}
  .pg-wrap{padding:0 20px;}
}
