/* ============================================================
   FARMRIX BLOG — index + article
   Layout, geometry and type scale mirror amplemarket.com/blog
   and /blog/introducing-workflows, rendered in Farmrix's
   palette (--bg #F6F5F3, --ink #111) and typeface
   (Schibsted Grotesk).
   ============================================================ */

:root{
  --blog-wrap:1328px;      /* index grid container */
  --blog-col:317px;        /* one card */
  --blog-gap:20px;
  --art-wrap:1104px;       /* article container */
  --art-col:656px;         /* article body measure */
  --thumb-r:8px;
}

/* ---------- shared ---------- */
.bwrap{max-width:var(--blog-wrap);margin:0 auto;padding:0 24px}
.awrap{max-width:var(--art-wrap);margin:0 auto;padding:0 24px}
.eyeline{font-size:14px;line-height:17px;letter-spacing:.02em;text-transform:uppercase}
.op60{opacity:.6}
.blog-page{background:var(--bg)}

/* ============================================================
   1 · INDEX HERO
   ============================================================ */
.bx-hero{padding:156px 0 40px}
.bx-hero h1{font-size:clamp(44px,5.2vw,84px);font-weight:500;letter-spacing:-.05em;line-height:.98}
.bx-hero .bx-lede{margin-top:14px;font-size:18px;line-height:27px;color:var(--ink60);max-width:620px}

/* chips + search row */
.bx-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:38px;flex-wrap:wrap}
.bx-chips{display:flex;flex-wrap:wrap;gap:8px}
.bx-chip{display:inline-flex;align-items:center;height:40px;padding:0 16px;border:1px solid var(--line);
  border-radius:999px;background:transparent;color:var(--ink);font-family:var(--font);font-size:14px;
  line-height:1;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease;white-space:nowrap}
.bx-chip:hover{border-color:rgba(17,17,17,.28)}
.bx-chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.bx-search{position:relative;flex:0 0 auto}
.bx-search input{height:40px;width:260px;max-width:100%;padding:0 40px 0 16px;border:1px solid var(--line);
  border-radius:999px;background:#fff;font-family:var(--font);font-size:14px;color:var(--ink);outline:none}
.bx-search input::placeholder{color:var(--ink40)}
.bx-search input:focus{border-color:rgba(17,17,17,.28)}
.bx-search svg{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:16px;height:16px;
  stroke:var(--ink40);fill:none;stroke-width:1.6;pointer-events:none}

/* ============================================================
   2 · INDEX GRID — three tiers
   ============================================================ */
.bx-collection{display:flex;flex-direction:column;gap:84px;padding:44px 0 140px}
.bx-tier{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:var(--blog-gap);row-gap:44px}

.bx-item{display:flex;flex-direction:column;gap:16px;color:inherit;text-decoration:none}
.bx-item .bx-thumb{border-radius:var(--thumb-r);overflow:hidden;background:var(--line-soft);aspect-ratio:2/1}
.bx-item .bx-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s cubic-bezier(.2,.7,.3,1)}
.bx-item:hover .bx-thumb img{transform:scale(1.03)}
.bx-item .bx-meta{font-size:16px;line-height:16px;opacity:.6}
.bx-item h2{font-size:16px;line-height:20.8px;font-weight:400;letter-spacing:-.01em;text-wrap:pretty}
.bx-item .bx-txt{display:flex;flex-direction:column;gap:8px}

/* tier A — two featured, each 2 columns wide */
.bx-tier.is-feature .bx-item{grid-column:span 2}
.bx-tier.is-feature .bx-item h2{font-size:20px;line-height:26px;letter-spacing:-.02em}

/* tier C — full-width compact rows */
.bx-tier.is-compact{display:flex;flex-direction:column;gap:0}
.bx-tier.is-compact .bx-item{flex-direction:row;align-items:center;gap:20px;padding:20px 0;
  border-bottom:1px solid var(--line-soft)}
.bx-tier.is-compact .bx-item:first-child{border-top:1px solid var(--line-soft)}
.bx-tier.is-compact .bx-thumb{flex:0 0 92px;width:92px;height:46px;aspect-ratio:auto}
.bx-tier.is-compact .bx-txt{flex:1 1 auto}
.bx-tier.is-compact .bx-meta{margin-left:auto;text-align:right;white-space:nowrap;flex:0 0 auto}

/* empty state */
.bx-empty{padding:60px 0 140px;text-align:center;color:var(--ink60);font-size:16px;display:none}

/* ============================================================
   3 · STICKY PAGINATION PILL
   ============================================================ */
.bx-pager{position:sticky;bottom:24px;display:flex;justify-content:center;pointer-events:none;z-index:40}
.bx-pager[hidden]{display:none}
.bx-pager .pill{pointer-events:auto;display:inline-flex;align-items:center;gap:4px;background:rgba(255,255,255,.92);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:999px;
  padding:6px;box-shadow:0 8px 30px rgba(17,17,17,.08),0 1px 2px rgba(17,17,17,.05)}
.bx-pager button{min-width:34px;height:34px;padding:0 10px;border:0;border-radius:999px;background:transparent;
  font-family:var(--font);font-size:14px;color:var(--ink);cursor:pointer;transition:background .16s ease}
.bx-pager button:hover:not(:disabled){background:rgba(17,17,17,.06)}
.bx-pager button[aria-current="true"]{background:var(--ink);color:#fff}
.bx-pager button:disabled{opacity:.3;cursor:default}

/* ============================================================
   4 · ARTICLE HERO
   ============================================================ */
.ar-hero{display:flex;flex-direction:column;align-items:center;gap:20px;padding:168px 0 84px;text-align:center}
.ar-crumbs{display:flex;align-items:center;justify-content:center;gap:4px}
.ar-crumbs a{opacity:.6}
.ar-crumbs a:hover{opacity:1}
.ar-h1{max-width:880px;font-size:clamp(34px,4.4vw,56px);line-height:1.0;font-weight:500;letter-spacing:-.05em;text-wrap:balance}
.ar-byline{display:flex;align-items:center;gap:8px;font-size:16px;line-height:16px}
.ar-byline .av{width:24px;height:24px;border-radius:999px;object-fit:cover;background:var(--lav);flex:0 0 24px}
.ar-byline .who{display:flex;align-items:center;gap:8px}
.ar-byline .dot{opacity:.4}
.ar-heroimg{max-width:var(--art-wrap);margin:0 auto;border-radius:12px;overflow:hidden;aspect-ratio:2/1;background:var(--line-soft)}
.ar-heroimg img{width:100%;height:100%;object-fit:cover;display:block}

/* ---------- AI summarize control ---------- */
.ar-ai{display:flex;align-items:center;gap:8px}
.ar-ai .lbl{font-size:14px;line-height:17px;opacity:.6}
.ar-ai .icons{display:flex;gap:4px}
.ar-ai a,.ar-ai .ai-ico{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;
  border:1px solid transparent;transition:background .16s ease,border-color .16s ease}
.ar-ai .ai-ico{padding:0;background:transparent;cursor:pointer;color:var(--ink)}
.ar-ai a:hover,.ar-ai .ai-ico:hover{background:#fff;border-color:var(--line)}
.ar-ai a svg,.ar-ai .ai-ico svg{width:16px;height:16px;display:block}
.ar-ai [data-copy].ok{background:var(--green);border-color:var(--green)}

/* ============================================================
   5 · ARTICLE BODY
   ============================================================ */
.ar-body{max-width:var(--art-col);margin:0 auto;padding-bottom:40px}

/* TL;DR card */
.ar-tldr{max-width:var(--art-wrap);margin:0 auto 84px;background:#fff;border:1px solid var(--line);
  border-radius:16px;padding:26px 26px 30px}
.ar-tldr .dots{display:flex;gap:14px;margin-bottom:18px}
.ar-tldr .dots i{width:10px;height:10px;border-radius:999px;border:1px solid rgba(17,17,17,.14);display:block}
.ar-tldr .tag{font-size:14px;line-height:17px;opacity:.6;margin-bottom:10px}
.ar-tldr p{font-size:clamp(20px,2vw,24px);line-height:1.4;letter-spacing:-.02em;color:var(--ink70);text-wrap:pretty}

.ar-pubrow{display:flex;align-items:center;gap:10px;font-size:14px;line-height:17px;
  padding-bottom:14px;border-bottom:1px solid var(--line-soft);margin-bottom:34px}
.ar-pubrow .k{opacity:.5}

.ar-prose{font-size:18px;line-height:27px;letter-spacing:-.01em;color:var(--ink70)}
.ar-prose > * + *{margin-top:20px}
.ar-prose h2{font-size:28px;line-height:36.4px;font-weight:500;letter-spacing:-.02em;color:var(--ink);
  margin-top:52px;scroll-margin-top:96px}
.ar-prose h3{font-size:20px;line-height:28px;font-weight:600;letter-spacing:-.01em;color:var(--ink);margin-top:34px;
  scroll-margin-top:96px}
.ar-prose strong,.ar-prose b{color:var(--ink);font-weight:600}
.ar-prose a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.ar-prose a:hover{text-decoration-color:rgba(17,17,17,.35)}
.ar-prose ul,.ar-prose ol{padding-left:22px}
.ar-prose li{margin-top:8px}
.ar-prose li::marker{color:var(--ink40)}
.ar-prose blockquote{border-left:2px solid var(--ink);padding-left:20px;font-style:italic;color:var(--ink)}
.ar-prose figure{margin-top:34px}
.ar-prose figure img{width:100%;border-radius:12px;display:block;border:1px solid var(--line-soft)}
.ar-prose figcaption{margin-top:10px;font-size:14px;line-height:20px;opacity:.6}
.ar-prose hr{border:0;border-top:1px solid var(--line-soft);margin:40px 0}

.ar-prose table{width:100%;border-collapse:collapse;font-size:16px;line-height:24px;margin-top:24px;
  background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.ar-prose thead th{text-align:left;font-weight:600;color:var(--ink);font-size:14px;letter-spacing:.01em;
  background:rgba(17,17,17,.03)}
.ar-prose th,.ar-prose td{padding:14px 16px;border-bottom:1px solid var(--line-soft);vertical-align:top}
.ar-prose tbody tr:last-child td{border-bottom:0}

/* callout */
.ar-callout{background:var(--yellow);border-radius:12px;padding:22px 24px;color:var(--ink);
  font-size:17px;line-height:26px;margin-top:34px}
.ar-callout b{font-weight:600}
.ar-callout.is-green{background:var(--green)}
.ar-callout.is-lav{background:var(--lav)}

/* inline table-of-contents */
.ar-toc{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px 24px;margin-top:26px}
.ar-toc h4{font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink40);font-weight:600;margin-bottom:10px}
.ar-toc ol{margin:0;padding-left:20px;font-size:16px;line-height:26px}
.ar-toc a{color:var(--ink70);text-decoration:none}
.ar-toc a:hover{color:var(--ink);text-decoration:underline}

/* ---------- reading progress rail ---------- */
.ar-rail{position:fixed;left:26px;top:50%;transform:translateY(-50%);z-index:30;display:flex;
  flex-direction:column;align-items:flex-start;gap:8px;opacity:0;transition:opacity .3s ease;pointer-events:none}
.ar-rail.on{opacity:1;pointer-events:auto}
.ar-rail .pct{font-size:12px;line-height:1;color:var(--ink40);font-variant-numeric:tabular-nums}
.ar-rail .marks{display:flex;flex-direction:column;gap:8px}
.ar-rail .marks a{display:block;width:14px;height:1.5px;background:rgba(17,17,17,.22);border-radius:2px;
  transition:width .2s ease,background .2s ease}
.ar-rail .marks a:hover{width:24px;background:var(--ink)}
.ar-rail .marks a.on{width:24px;background:var(--ink)}

/* ---------- share + author ---------- */
.ar-share{max-width:var(--art-col);margin:56px auto 0;display:flex;align-items:center;justify-content:space-between;
  gap:16px;font-size:16px;color:var(--ink70)}
.ar-share .btns{display:flex;gap:6px}
.ar-share .btns a,.ar-share .btns button{width:32px;height:32px;display:flex;align-items:center;justify-content:center;
  border:0;background:transparent;border-radius:8px;cursor:pointer;transition:background .16s ease}
.ar-share .btns a:hover,.ar-share .btns button:hover{background:rgba(17,17,17,.06)}
.ar-share .btns [data-copy].ok{background:var(--green)}
.ar-share svg{width:17px;height:17px;fill:var(--ink);display:block}

.ar-author{max-width:var(--art-col);margin:26px auto 0;padding-top:24px;border-top:1px solid var(--line-soft)}
.ar-author .top{display:flex;align-items:center;gap:14px}
.ar-author img{width:36px;height:36px;border-radius:8px;object-fit:cover;background:var(--lav)}
.ar-author .nm{font-size:16px;line-height:20px;color:var(--ink)}
.ar-author .rl{font-size:16px;line-height:20px;color:var(--ink60)}
.ar-author .btn{margin-left:auto}
.ar-author .bio{margin-top:14px;font-size:16px;line-height:24px;color:var(--ink70)}

/* ---------- newsletter ---------- */
.ar-news{max-width:var(--art-col);margin:56px auto 0;border-radius:16px;padding:30px;
  background:linear-gradient(120deg,var(--green) 0%,#D8F5CF 45%,#CDEFE6 100%)}
.ar-news h2{font-size:28px;line-height:30.8px;font-weight:500;letter-spacing:-.025em}
.ar-news p{margin-top:8px;font-size:16px;line-height:24px;color:var(--ink70)}
.ar-news form{display:flex;gap:10px;margin-top:20px;background:#fff;border-radius:10px;padding:6px}
.ar-news input{flex:1 1 auto;min-width:0;border:0;outline:none;background:transparent;padding:0 12px;
  font-family:var(--font);font-size:15px;color:var(--ink)}
.ar-news input::placeholder{color:var(--ink40)}
.ar-news button{border:0;border-radius:8px;background:var(--ink);color:#fff;font-family:var(--font);font-size:14px;
  font-weight:500;padding:11px 18px;cursor:pointer}

/* ---------- FAQ ---------- */
.ar-faq{padding:96px 0 0}
.ar-faq h2{text-align:center;font-size:clamp(32px,3.6vw,52px);font-weight:500;letter-spacing:-.045em;line-height:1.05}
.ar-faq .list{max-width:1016px;margin:44px auto 0;display:flex;flex-direction:column;gap:6px}
.ar-faq details{background:transparent;border-radius:12px;transition:background .2s ease}
.ar-faq details[open]{background:#fff;box-shadow:0 1px 2px rgba(17,17,17,.05)}
.ar-faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:16px;padding:18px 22px;
  font-size:16px;line-height:21px;color:var(--ink)}
.ar-faq summary::-webkit-details-marker{display:none}
.ar-faq summary .n{width:18px;height:18px;flex:0 0 18px;border-radius:999px;display:flex;align-items:center;
  justify-content:center;font-size:11px;color:var(--ink40);border:1px solid var(--line)}
.ar-faq details[open] summary .n{background:var(--ink);color:#fff;border-color:var(--ink)}
.ar-faq summary .pm{margin-left:auto;width:16px;height:16px;position:relative;flex:0 0 16px}
.ar-faq summary .pm:before,.ar-faq summary .pm:after{content:"";position:absolute;background:var(--ink);
  left:50%;top:50%;transform:translate(-50%,-50%)}
.ar-faq summary .pm:before{width:13px;height:1.5px}
.ar-faq summary .pm:after{width:1.5px;height:13px;transition:opacity .2s ease}
.ar-faq details[open] summary .pm:after{opacity:0}
.ar-faq .ans{padding:0 22px 20px 56px;font-size:16px;line-height:24px;color:var(--ink70)}

/* ---------- related ---------- */
.ar-related{padding:96px 0 40px}
.ar-related .hd{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}
.ar-related .hd h2{font-size:clamp(26px,2.6vw,36px);font-weight:500;letter-spacing:-.035em;line-height:1.1}
.ar-related .grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:var(--blog-gap);row-gap:32px}

/* ============================================================
   6 · RESPONSIVE
   ============================================================ */
@media(max-width:1080px){
  .bx-tier{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:36px}
  .bx-tier.is-feature .bx-item{grid-column:span 2}
  .ar-related .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ar-rail{display:none}
}
@media(max-width:760px){
  .bx-hero{padding:126px 0 28px}
  .bx-controls{margin-top:26px}
  .bx-search input{width:100%}
  .bx-search{flex:1 1 100%}
  .bx-collection{gap:48px;padding:32px 0 110px}
  .bx-tier{grid-template-columns:minmax(0,1fr);row-gap:32px}
  .bx-tier.is-feature .bx-item{grid-column:span 1}
  .bx-tier.is-feature .bx-item h2{font-size:18px;line-height:24px}
  .bx-tier.is-compact .bx-item{align-items:flex-start;flex-wrap:wrap}
  .bx-tier.is-compact .bx-meta{margin-left:0;text-align:left;flex-basis:100%;order:3}
  .ar-hero{padding:126px 0 44px}
  .ar-tldr{margin-bottom:48px;padding:22px}
  .ar-tldr .dots i{width:8px;height:8px}
  .ar-prose{font-size:17px;line-height:26px}
  .ar-prose h2{font-size:24px;line-height:31px;margin-top:40px}
  .ar-related .grid{grid-template-columns:minmax(0,1fr)}
  .ar-related .hd{flex-direction:column;align-items:flex-start;gap:12px}
  .ar-faq{padding-top:64px}
  .ar-faq .ans{padding-left:22px}
  .ar-news{padding:24px}
  .ar-news form{flex-direction:column}
  .ar-news button{width:100%}
  .ar-author .btn{margin-left:0}
  .ar-author .top{flex-wrap:wrap}
}
@media(max-width:420px){
  .ar-byline{flex-wrap:wrap;justify-content:center}
  .ar-ai{flex-wrap:wrap;justify-content:center}
}

/* stop the site-wide reveal animation from hiding blog content
   if IntersectionObserver never fires */
.bx-item,.ar-prose{opacity:1}
img,svg,iframe,video{max-width:100%}
