/* ============================================================
   AI BOUTIQUE — blog
   Tema "ateliê / boutique premium": paper quente, tinta terrosa,
   acentos folha e clay. Fraunces (serif) nos títulos, Instrument
   Sans no corpo, Space Mono nos rótulos. Compartilha o sistema de
   design da landing page.
   ============================================================ */
:root{
  --paper:#F3ECDE; --paper-2:#ECE2CE; --panel:#F7F1E4; --ink:#221E19; --ink-2:#4A4136;
  --ink-3:#857A67; --line:#D9CCB2; --leaf:#7C8B3A; --leaf-d:#667730; --clay:#C36B4A;
  --serif:'Fraunces',Georgia,serif; --sans:'Instrument Sans',-apple-system,BlinkMacSystemFont,sans-serif;
  --mono:'Space Mono',ui-monospace,Menlo,monospace;
  --ease:cubic-bezier(.33,0,.15,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body.blog{
  background:var(--paper);color:var(--ink);
  font-family:var(--sans);
  font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
/* grão de papel (overlay sutil) */
body.blog::before{
  content:"";position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.5;
  mix-blend-mode:multiply;
  background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="140" height="140"><filter id="n"><feTurbulence type="fractalNoise" baseFrequency=".85" numOctaves="2" stitchTiles="stitch"/><feColorMatrix type="saturate" values="0"/></filter><rect width="140" height="140" filter="url(%23n)" opacity="0.4"/></svg>');
}
header#hd,main,footer{position:relative;z-index:2}
::selection{background:color-mix(in srgb,var(--leaf) 32%,transparent);color:var(--ink)}
a{color:inherit}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--paper);padding:8px 16px;z-index:99;border-radius:0 0 8px 0}
.skip:focus{left:0}

/* ---------- header ---------- */
header#hd{
  position:sticky;inset:0 0 auto 0;z-index:40;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 clamp(20px,4vw,40px);height:66px;
  background:color-mix(in srgb,var(--paper) 82%,transparent);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none}
.brand__mark{width:24px;height:24px;flex:0 0 auto}
.brand__name{font-family:var(--serif);font-weight:600;font-size:19px;letter-spacing:-.01em;line-height:1;color:var(--ink);display:flex;flex-direction:column;gap:2px}
.brand__name small{font-family:var(--mono);font-weight:400;font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.blog-nav{display:flex;align-items:center;gap:18px}
.blog-nav>a:not(.nav-cta){font-size:14px;color:var(--ink-2);text-decoration:none;transition:color .3s var(--ease)}
.blog-nav>a:not(.nav-cta):hover{color:var(--ink)}
.nav-cta{
  font-family:var(--sans);font-size:13.5px;color:var(--ink);text-decoration:none;
  padding:8px 16px;border:1.5px solid var(--ink);border-radius:99px;
  transition:color .3s var(--ease),background-color .3s var(--ease);
}
.nav-cta:hover{background:var(--ink);color:var(--paper)}

/* botão primário (se usado) */
.btn{
  display:inline-block;font-family:var(--sans);font-size:14.5px;font-weight:500;
  color:var(--paper);background:var(--leaf-d);text-decoration:none;
  padding:12px 22px;border-radius:99px;border:1.5px solid var(--leaf-d);
  transition:background-color .3s var(--ease),border-color .3s var(--ease);
}
.btn:hover{background:var(--ink);border-color:var(--ink)}

/* ---------- reveal (progressive: visível sem JS, anima com JS) ---------- */
.js .rv{opacity:0;transform:translateY(14px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.js .rv.in{opacity:1;transform:none}
html.rm .rv,html.rm .rv.in{opacity:1;transform:none;transition:none}
@media (prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none;transition:none}}

/* ---------- layout base ---------- */
main{max-width:760px;margin:0 auto;padding:clamp(40px,8vh,88px) 24px clamp(96px,16vh,176px)}
.overline{font-family:var(--mono);font-size:11px;letter-spacing:.22em;color:var(--ink-3);margin-bottom:18px;text-transform:uppercase}
.overline::before{content:"";display:inline-block;width:22px;height:1.5px;background:var(--clay);vertical-align:middle;margin-right:12px;margin-bottom:3px}
.lead{color:var(--ink-2);font-size:clamp(15px,1.8vw,17px);line-height:1.6;max-width:54ch}
.crumbs{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--ink-3);margin-bottom:24px}
.crumbs a{text-decoration:none;transition:color .3s var(--ease)}.crumbs a:hover{color:var(--ink)}.crumbs span{margin:0 6px;opacity:.55}

/* ---------- blog index ---------- */
.blog-hero{margin-bottom:clamp(40px,7vh,72px)}
.blog-hero h1{font-family:var(--serif);font-size:clamp(30px,5.4vw,52px);font-weight:600;letter-spacing:-.02em;line-height:1.08;margin:6px 0 18px;text-wrap:balance;color:var(--ink)}
.blog-hero h1 em{font-style:italic;font-weight:500;color:var(--clay)}
.post-grid{display:grid;grid-template-columns:1fr;gap:16px}
.post-card{
  display:flex;flex-direction:column;gap:10px;text-decoration:none;
  background:var(--panel);border:1px solid var(--line);border-radius:16px;
  padding:clamp(22px,3vh,28px) clamp(22px,3vw,28px);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s var(--ease);
}
.post-card:hover{transform:translateY(-3px);box-shadow:0 20px 40px -26px rgba(80,64,40,.5);border-color:color-mix(in srgb,var(--leaf) 40%,var(--line))}
.post-card:hover .post-card__more{color:var(--leaf-d)}
.post-card__meta{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.post-card__tag{color:var(--clay)}
.post-card__title{font-family:var(--serif);font-size:clamp(20px,2.6vw,25px);font-weight:600;letter-spacing:-.02em;line-height:1.22;color:var(--ink)}
.post-card__excerpt{color:var(--ink-2);font-size:15px;line-height:1.6;max-width:60ch}
.post-card__more{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);transition:color .3s var(--ease)}
.empty{color:var(--ink-2)}

/* ---------- post ---------- */
.post h1{font-family:var(--serif);font-size:clamp(30px,5.4vw,50px);font-weight:600;letter-spacing:-.02em;line-height:1.08;margin:8px 0 18px;text-wrap:balance;color:var(--ink)}
.post h1 em{font-style:italic;font-weight:500;color:var(--clay)}
.post__lead{color:var(--ink-2);font-size:clamp(16px,2vw,19px);line-height:1.6;max-width:60ch}
.post__byline{margin-top:20px;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.post__byline time{color:var(--ink-2)}

.callout{margin:34px 0;padding:24px 26px;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--clay);border-radius:16px}
.callout__title{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--clay);margin-bottom:12px}
.callout ul{margin:0;padding-left:18px}
.callout li{margin:6px 0;color:var(--ink)}

/* prose */
.prose{margin-top:36px;font-size:17px;line-height:1.7;color:var(--ink)}
.prose>*+*{margin-top:22px}
.prose h2{font-family:var(--serif);font-size:clamp(23px,3.2vw,31px);font-weight:600;letter-spacing:-.02em;line-height:1.2;margin-top:48px;scroll-margin-top:88px;color:var(--ink)}
.prose h3{font-family:var(--serif);font-size:clamp(19px,2.4vw,23px);font-weight:600;letter-spacing:-.015em;margin-top:36px;scroll-margin-top:88px;color:var(--ink)}
.prose h4{font-family:var(--serif);font-size:18px;font-weight:600;margin-top:28px;color:var(--ink)}
.prose p,.prose li{color:var(--ink)}
.prose a{color:var(--leaf-d);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,var(--leaf-d) 45%,transparent);transition:color .3s var(--ease),text-decoration-color .3s var(--ease)}
.prose a:hover{color:var(--ink);text-decoration-color:var(--ink)}
.prose ul,.prose ol{padding-left:22px}
.prose li{margin:8px 0}
.prose strong{font-weight:600;color:var(--ink)}
.prose blockquote{border-left:3px solid var(--leaf);padding-left:20px;color:var(--ink-2);font-style:italic;font-family:var(--serif);font-size:1.05em}
.prose code{font-family:var(--mono);font-size:.85em;background:var(--paper-2);padding:2px 6px;border-radius:6px;border:1px solid var(--line);color:var(--ink)}
.prose pre{background:var(--paper-2);border:1px solid var(--line);border-radius:14px;padding:18px 20px;overflow-x:auto}
.prose pre code{background:none;border:0;padding:0;font-size:.85em;line-height:1.6}
.prose img{max-width:100%;height:auto;border-radius:14px;border:1px solid var(--line)}
.prose table{width:100%;border-collapse:collapse;font-size:15px}
.prose th,.prose td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}
.prose th{font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:var(--ink-3);text-transform:uppercase}
.prose hr{border:0;border-top:1px solid var(--line);margin:40px 0}

.tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:40px 0 0}
.tags li{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);padding:6px 12px;border:1px solid var(--line);border-radius:99px;background:var(--panel)}

/* fontes / créditos */
.sources{margin-top:48px;border-top:1px solid var(--line);padding-top:28px}
.sources .overline{margin-bottom:14px}
.sources ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.sources li{font-size:14.5px;line-height:1.5;color:var(--ink-2)}
.sources a{color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:var(--line);transition:color .3s var(--ease),text-decoration-color .3s var(--ease)}
.sources a:hover{color:var(--leaf-d);text-decoration-color:var(--leaf-d)}
.sources__meta{font-family:var(--mono);color:var(--ink-3);font-size:12px;letter-spacing:.06em}

/* FAQ */
.faq{margin-top:56px;border-top:1px solid var(--line);padding-top:36px}
.faq h2{font-family:var(--serif);font-size:clamp(21px,3vw,29px);font-weight:600;letter-spacing:-.02em;margin-bottom:18px;color:var(--ink)}
.faq details{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px 20px;margin-bottom:10px;transition:border-color .3s var(--ease)}
.faq details[open]{border-color:color-mix(in srgb,var(--leaf) 38%,var(--line))}
.faq summary{cursor:pointer;font-weight:600;font-size:17px;list-style:none;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:'+';color:var(--clay);font-family:var(--mono);margin-right:12px}
.faq details[open] summary::before{content:'\2212'}
.faq details p{margin-top:12px;color:var(--ink-2)}

/* related + back */
.related{max-width:760px;margin:64px auto 0;padding:0 24px}
.related .overline{margin-bottom:18px}
.back{max-width:760px;margin:48px auto 0;padding:0 24px}
.back a{font-family:var(--mono);font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);text-decoration:none;transition:color .3s var(--ease)}
.back a:hover{color:var(--leaf-d)}

/* ---------- footer ---------- */
footer{
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;
  max-width:1040px;margin:0 auto;padding:36px 24px;border-top:1px solid var(--line);
  font-size:12.5px;color:var(--ink-3);
}
footer .fb{font-family:var(--mono);letter-spacing:.1em}

@media (max-width:560px){
  .brand__name small{display:none}
  main{padding-top:32px}
}
