/* Legacy content-page classes restyled with the v2 token system.
   Loaded after home-v2.css; only affects classes used by migrated content pages. */

main.container, main[class] .container{max-width:1060px;margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px}
main.container{display:block;padding-top:8px}

/* hero */
main[class] .hero{padding:56px 0 8px}
main[class] .hero .hero-grid{display:block}
main[class] .hero h1{font-size:clamp(30px,4vw,44px);line-height:1.12;letter-spacing:-.025em;font-weight:640;text-wrap:balance}
.gradient-text{background:none;-webkit-text-fill-color:initial;color:var(--ink)}
main[class] .hero .sub{margin-top:14px;font-size:17px;color:var(--muted)}
.muted{color:var(--muted)}

/* sections */
main[class] .info{padding:26px 0}
main[class] .info h2, main[class] section h2{font-size:24px;letter-spacing:-.02em;font-weight:630;margin:0 0 12px}
main[class] .info h3, main[class] section h3{font-size:17.5px;font-weight:620;letter-spacing:-.01em;margin:18px 0 8px}
main[class] p, main[class] li{line-height:1.7}
/* readable measure: cap all running text at ~72 characters; boxes, tables
   and screenshots stay full-width. Narrow containers are unaffected since
   max-width only ever shrinks. */
main[class] p, main[class] li, main[class] blockquote{max-width:72ch}
/* article pages (blog posts): a single centered reading column — cards hug
   the text measure instead of floating text in a full-width box */
main.container--article{max-width:760px}
/* centered paragraphs keep centering under the cap (all on the homepage) */
main[class] .sec-head p, main[class] .refs, main[class] .quotes-note,
main[class] p[style*="text-align:center"]{margin-left:auto;margin-right:auto}
main[class] p{margin:10px 0}
main[class] ul, main[class] ol{padding-left:1.4em;margin:10px 0}
main[class] a{color:var(--accent)}
main[class] a:hover{text-decoration:underline}
main[class] a.btn:hover{text-decoration:none}
main[class] code{font-family:ui-monospace,"SF Mono",Menlo,monospace;font-size:.86em;background:var(--inset);border:1px solid var(--border);border-radius:5px;padding:1px 6px}
main[class] pre{background:var(--inset);border:1px solid var(--border);border-radius:10px;padding:14px 16px;overflow-x:auto}
main[class] pre code{background:none;border:none;padding:0}

/* cards */
main[class] .card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:24px 28px;margin:18px 0;box-shadow:0 1px 2px rgba(23,32,45,.03)}
main[class] section.card{margin:26px auto}

/* tables */
.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:12px;margin:16px 0;background:var(--card)}
.table{width:100%;border-collapse:collapse;min-width:600px}
.table th,.table td{padding:11px 16px;border-bottom:1px solid var(--border);text-align:left;font-size:14.5px}
.table thead th{background:var(--inset);color:var(--muted);font-weight:620;font-size:13px;letter-spacing:.02em}
.table tbody tr:last-child td{border-bottom:none}
.table tbody tr:hover{background:var(--accent-soft)}

/* lists & misc legacy */
.kv-list{padding-left:1.5rem}
.kv-list li{padding:.3rem 0}
.kv-list.plain li{display:list-item}
ul.kv-list{list-style:disc}
ol.kv-list{list-style:decimal}
.kv-list li::marker{color:var(--muted)}
.eyebrow,.steps .label{display:inline-block;font-weight:600;color:var(--accent);letter-spacing:.06em;text-transform:uppercase;font-size:12px;border:1px solid var(--border);border-radius:999px;padding:3px 12px;background:var(--accent-soft);margin-bottom:8px}
.notice{margin:12px 0;padding:12px 16px;border-radius:11px;border:1px solid var(--border);background:var(--card);font-size:14.5px}
.ribbon{margin:12px 0;padding:12px 16px;border:1px solid var(--border);border-radius:11px;background:var(--accent-soft);font-weight:550}
.ribbon a{color:var(--accent);text-decoration:underline}
blockquote{margin:16px 0;padding:16px 20px;border-left:3px solid var(--accent);background:var(--card);border-radius:0 12px 12px 0;color:var(--muted)}
blockquote p{margin:6px 0}

/* buttons (legacy classes mapped to v2 look) */
main[class] .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;padding:10px 20px;font-size:14.5px;font-weight:560;border:1px solid var(--border2);background:var(--card);color:var(--ink);min-height:44px;cursor:pointer;white-space:nowrap;transition:filter .12s,border-color .12s}
main[class] .btn:hover{border-color:var(--faint);text-decoration:none}
main[class] .btn.primary{background:var(--accent);color:var(--on-accent);border-color:transparent}
main[class] .btn.primary:hover{filter:brightness(1.08)}
main[class] .btn.cta.lg,main[class] .btn.cta.xl,main[class] .btn.cta.xxl{font-size:15.5px;padding:12px 24px}
main[class] .btn .icon{display:none} /* retire hand-drawn logos inside buttons */
.actions{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0}

/* media */
.screenshot-wrap{background:transparent;border:none;padding:0;margin:16px auto;max-width:680px}
.screenshot-wrap.hero-glow{max-width:760px}
.screenshot{display:block;max-width:100%;height:auto;border-radius:12px;border:1px solid var(--border);box-shadow:0 8px 30px rgba(23,32,45,.08);margin:0 auto}
img.screenshot[src$="/home-hero-active-vibeheader-no-hover.webp"]{width:100%;max-width:600px}
.hero-glow::before{display:none}

/* faq grids on legacy pages */
.faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0}
.faq-item{background:var(--card);border:1px solid var(--border);border-radius:13px;padding:18px 20px}
.faq-item h3{margin-top:0}

/* steps blocks */
.steps .step{margin:16px 0}
.grid-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.feature-steps>:last-child:nth-child(odd){grid-column:1/-1;width:100%;max-width:680px;justify-self:center}
.share-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}
.share-steps .screenshot-wrap{display:flex;width:100%;max-width:none;flex-direction:column;margin:0}
.share-steps .screenshot{width:100%;aspect-ratio:960/454;box-shadow:none}
.share-steps figcaption{margin-top:10px;line-height:1.45}

@media (max-width:820px){
  .faq-grid,.grid-steps{grid-template-columns:1fr}
  .feature-steps>:last-child:nth-child(odd){grid-column:auto;max-width:none}
  main[class] .hero{padding-top:40px}
}

@media (min-width:821px) and (max-width:1000px){
  .share-steps{grid-template-columns:1fr}
  .share-steps .screenshot-wrap{max-width:680px;margin-inline:auto}
}

/* content pages: wider running text than homepage hero */
main[class] .hero .sub{max-width:66ch}

/* hub link cards (compare/alternatives indexes) */
.hub-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:8px 0 24px}
a.hub-card{display:flex;flex-direction:column;gap:6px;text-decoration:none;transition:border-color .12s}
a.hub-card:hover{border-color:var(--accent);text-decoration:none}
a.hub-card h3{margin:0;color:var(--ink);font-size:17px}
a.hub-card p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.6}
a.hub-card .go{margin-top:auto;padding-top:10px;font-size:14px;color:var(--accent);font-weight:560}
@media (max-width:820px){.hub-cards{grid-template-columns:1fr}}

/* hub card art strip */
.hub-card .art{margin:-24px -28px 14px;border-bottom:1px solid var(--border);background:var(--inset);border-radius:14px 14px 0 0;overflow:hidden}
.hub-card .art svg{display:block}

/* stacked FAQ lists (legacy .faq-content wrapper) */
.faq-content{display:flex;flex-direction:column;gap:14px;margin:16px 0}
.faq-content .faq-item h3{margin-top:0}

/* hub cards: never underline card innards on hover */
main[class] a.hub-card:hover, main[class] a.hub-card:hover *{text-decoration:none}

/* blog banners */
.post-banner{margin:0 0 22px;background:var(--inset);border:1px solid var(--border);border-radius:14px;overflow:hidden}
.post-banner svg{display:block}
article.card .post-banner.card-art{margin:-24px -28px 16px;border:none;border-bottom:1px solid var(--border);border-radius:14px 14px 0 0}

/* blog index cards: match hub-card typography */
main[class] article.card{padding:24px 28px}
main[class] article.card .muted{font-size:13px;margin-bottom:8px}
main[class] article.card h2{font-size:18px;margin:0 0 8px;letter-spacing:-.012em}
main[class] article.card h2 a{color:var(--ink)}
main[class] article.card h2 a:hover{color:var(--accent);text-decoration:none}
main[class] article.card p{font-size:14.5px;color:var(--muted);line-height:1.65}
main[class] article.card a.btn.cta{background:none;border:none;box-shadow:none;padding:0;min-height:0;color:var(--accent);font-weight:560;font-size:14px}
main[class] article.card a.btn.cta:hover{text-decoration:underline}
main[class] article.card a.btn.cta::after{content:" →"}
/* whole-card clickable (stretched link over the title) */
main[class] article.card.card-link{position:relative;transition:border-color .15s ease,box-shadow .15s ease}
main[class] article.card.card-link:hover{border-color:var(--accent);box-shadow:0 6px 24px rgba(23,32,45,.09)}
main[class] article.card.card-link h2 a::after{content:"";position:absolute;inset:0;z-index:1}

/* blog index: compact editorial card grid */
.blog-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin:8px 0 24px;
}
main[class] .blog-list .blog-card{
  display:flex;
  flex-direction:column;
  padding:0;
  margin:0;
  overflow:hidden;
}
main[class] .blog-card .blog-card__media{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  height:auto;
  aspect-ratio:320/96;
  margin:0;
  border:0;
  border-bottom:1px solid var(--border);
  border-radius:0;
  background:
    radial-gradient(circle at 20% 15%,var(--accent-soft),transparent 54%),
    var(--inset);
  overflow:hidden;
}
main[class] .blog-card .blog-card__media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:top center;
}
main[class] .blog-card .blog-card__media svg{
  display:block;
  width:100%;
  height:auto;
}
main[class] .blog-card .blog-card__body{
  display:flex;
  flex-direction:column;
  flex:1;
  min-width:0;
  padding:24px 28px;
}
main[class] .blog-card .blog-card__body > :first-child{margin:0 0 2px}
main[class] .blog-card .blog-card__body h2{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}
main[class] .blog-card .blog-card__body > p:not(.blog-card__action){max-width:64ch}
main[class] .blog-card .blog-card__body h2 + p{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  margin:0;
}
main[class] .blog-card .blog-card__action{margin-top:auto;padding-top:10px}

@media (max-width:820px){
  .blog-list{grid-template-columns:1fr}
  main[class] .blog-card .blog-card__body h2 + p{-webkit-line-clamp:3}
}
