/* Blog (Laravel): listing, article and prose. Uses the site tokens from site.css. */

/* listing */
.blog-hero .hero-copy{max-width:760px}
.blog-list{padding:72px 0 96px}
.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.post-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);min-width:0;transition:border-color .2s,box-shadow .2s,transform .2s}
.post-card:hover{border-color:var(--accent);box-shadow:0 12px 30px rgba(20,27,45,.08);transform:translateY(-2px)}
.pc-img{display:block;aspect-ratio:1200/630;max-width:100%;overflow:hidden;background:var(--surface)}
.pc-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.post-card:hover .pc-img img{transform:scale(1.03)}
.pc-body{display:flex;flex-direction:column;gap:12px;padding:22px 22px 24px;flex:1}
.pc-meta,.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:0;font:500 13px/1.3 var(--body);color:var(--muted)}
.pc-cat{font:600 11.5px/1 var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink);background:var(--pale);padding:6px 9px;border-radius:2px}
.post-card h3{font-size:19px;line-height:1.3;margin:0;text-wrap:balance}
.post-card h3 a{text-decoration:none;color:var(--ink)}
.post-card h3 a:hover{color:var(--accent-ink)}
.pc-ex{margin:0;color:var(--muted);font-size:15px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.pc-more{margin-top:auto;padding-top:6px;font:600 13px/1.2 var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--ink);text-decoration:none}
.pc-more:hover{color:var(--accent-ink)}
.post-card.is-featured{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
.post-card.is-featured .pc-img{aspect-ratio:auto;min-height:100%}
.post-card.is-featured .pc-body{padding:36px;justify-content:center}
.post-card.is-featured h3{font-size:clamp(24px,2.4vw,32px);letter-spacing:-.02em}
.pager{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:56px;flex-wrap:wrap}
.pager ol{display:flex;gap:6px;list-style:none;margin:0;padding:0}
.pager a,.pager span{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 12px;border:1px solid var(--line);font:600 14px/1 var(--display);color:var(--ink);text-decoration:none;background:#fff}
.pager a:hover{border-color:var(--accent);color:var(--accent-ink)}
.pager [aria-current="page"]{background:var(--ink);border-color:var(--ink);color:#fff}
.pager .is-off{color:var(--muted);opacity:.55}

/* article header */
.post-head{background:var(--deep);color:#fff;padding:56px 0 64px}
.post-head .crumbs{margin-bottom:22px}
.post-head .crumbs li[aria-current]{max-width:46ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.post-head .post-meta{color:rgba(255,255,255,.7);margin-bottom:18px}
.post-head .pc-cat{background:rgba(0,174,239,.16);color:var(--accent)}
.post-head h1{color:#fff;font-weight:600;font-size:clamp(30px,4vw,48px);line-height:1.1;letter-spacing:-.025em;max-width:24ch;text-wrap:balance}
.post-head .lead{color:rgba(255,255,255,.74);max-width:62ch}

/* article layout */
.post-wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:56px;align-items:start;padding-top:48px;padding-bottom:88px}
.post{min-width:0}
.post-hero{margin:0 0 36px}
.post-hero img{width:100%;height:auto;border:1px solid var(--line)}
.post-side{position:sticky;top:110px}
/* sidebar card: same language as the site's .card (white, 2px ink top rule, thin grey border, square) */
.side-card{display:grid;gap:22px;padding:24px 24px 22px;background:#fff;border:1px solid #DADDE3;border-top:2px solid var(--ink)}
.sc-intro{display:grid;gap:12px}
.sc-eyebrow{margin:0;font:500 12px/1.3 var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink)}
.sc-title{margin:0;font:600 21px/1.3 var(--display);letter-spacing:-.01em;color:var(--ink);text-wrap:balance}
.sc-text{margin:0;font-size:15px;line-height:1.6;color:var(--muted)}
.sc-list{list-style:none;margin:6px 0 0;padding:16px 18px;background:#E8F5FB;display:grid;gap:10px}
.sc-list li{position:relative;padding-left:26px;font:500 14.5px/1.4 var(--display);color:var(--ink)}
.sc-list li::before{content:"";position:absolute;left:0;top:1px;width:17px;height:17px;border-radius:50%;background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.6 8.3l2.2 2.2 4.6-4.9' fill='none' stroke='%23fff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/17px no-repeat}
.sc-actions{display:grid;gap:10px}
.side-card .btn{width:100%;padding:0 14px;white-space:normal;text-align:center;line-height:1.3;letter-spacing:.05em}
.side-card .btn-ink:hover{background:var(--accent);color:var(--deep)}
.sc-call{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid #DADDE3;text-decoration:none;color:var(--ink);transition:border-color .2s}
.sc-call:hover{border-color:var(--ink)}
.sc-call-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--pale);color:var(--ink);flex:none}
.sc-call-txt{display:grid;gap:2px}
.sc-call-txt small{font:500 11px/1.2 var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.sc-call-txt b{font:600 17px/1.2 var(--display)}

/* prose */
.prose{font-size:17.5px;line-height:1.75;color:var(--text);max-width:72ch}
.prose > *{margin:0 0 1.1em}
.prose h2{font:600 clamp(24px,2.4vw,30px)/1.2 var(--display);letter-spacing:-.02em;color:var(--ink);margin:2em 0 .6em;max-width:none}
.prose h3{font:600 21px/1.3 var(--display);color:var(--ink);margin:1.6em 0 .5em}
.prose h4,.prose h5,.prose h6{font:600 18px/1.35 var(--display);color:var(--ink);margin:1.4em 0 .4em}
.prose p{margin:0 0 1em}
.prose ul,.prose ol{padding-left:1.3em;margin:0 0 1.2em}
.prose li{margin:.35em 0}
.prose li > p{margin:0}
.prose a{color:var(--accent-ink);text-decoration:underline;text-underline-offset:2px}
.prose a:hover{color:var(--ink)}
.prose strong,.prose b{color:var(--ink)}
.prose img{max-width:100%;height:auto;border:1px solid var(--line)}
.prose figure{margin:1.6em 0}
.prose blockquote{margin:1.4em 0;padding:4px 0 4px 20px;border-left:3px solid var(--accent);color:var(--ink)}
.table-wrap{overflow-x:auto;margin:1.4em 0;border:1px solid var(--line)}
.prose table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.5;font-variant-numeric:tabular-nums}
.prose th,.prose td{padding:11px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.prose th{background:var(--surface);font:600 13px/1.3 var(--display);letter-spacing:.04em;color:var(--ink)}
.prose tr:last-child td{border-bottom:0}
.prose td p,.prose th p{margin:0}
/* in-article CTA: pale-blue panel like the site's .hs-sol, ink top rule, ink + outline buttons */
.post-cta{margin:2.4em 0;padding:28px 30px 30px;background:#E8F5FB;border-top:2px solid var(--ink)}
.post-cta::before{content:"Free site assessment";display:block;margin:0 0 12px;font:500 12px/1.3 var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink)}
.prose .post-cta h2{color:var(--ink);margin:0 0 .35em;font-size:clamp(21px,2vw,25px);line-height:1.25}
.post-cta p{color:var(--text);margin:0}
.post-cta .post-cta-btns{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 0}
.prose .post-cta .btn{text-decoration:none}
.prose .post-cta .btn-accent{background:var(--ink);color:#fff}
.prose .post-cta .btn-accent:hover{background:var(--accent);color:var(--deep)}
.prose .post-cta .btn-pale{background:#fff;border-color:var(--ink);color:var(--ink)}
.prose .post-cta .btn-pale:hover{background:var(--ink);color:#fff}

/* prev / next */
.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:56px;padding-top:32px;border-top:1px solid var(--line)}
.post-nav a{display:grid;gap:6px;padding:20px;border:1px solid var(--line);text-decoration:none;color:var(--ink)}
.post-nav a:hover{border-color:var(--accent)}
.post-nav span{font:600 12px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.post-nav b{font:600 16px/1.35 var(--display)}
.pn-next{grid-column:2;text-align:right}
.related{padding:80px 0}
.related h2{margin-bottom:32px}

@media (max-width:1080px){
  .post-wrap{grid-template-columns:1fr;gap:40px}
  .post-side{position:static;max-width:72ch}
  .side-card{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:end;gap:24px 32px;padding:30px}
}
@media (max-width:760px){
  .side-card{grid-template-columns:1fr;align-items:stretch;gap:20px;padding:22px 20px 20px}
  .sc-title{font-size:20px}
  .post-cta{padding:22px 20px 22px}
  .post-cta .post-cta-btns{flex-direction:column}
  .prose .post-cta .btn{width:100%;white-space:normal;text-align:center}
}
@media (max-width:980px){
  .post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .post-card.is-featured{grid-template-columns:1fr}
  .post-card.is-featured .pc-img{aspect-ratio:1200/630}
  .post-card.is-featured .pc-body{padding:24px}
}
@media (max-width:640px){
  .post-grid{grid-template-columns:1fr;gap:20px}
  .blog-list{padding:48px 0 64px}
  .post-head{padding:40px 0 44px}
  .post-wrap{padding-top:28px;padding-bottom:56px}
  .prose{font-size:16.5px}
  .post-nav{grid-template-columns:1fr}
  .pn-next{grid-column:auto;text-align:left}
  .post-cta{padding:22px}
  .post-cta .btn{width:100%}
  .pager{gap:10px}
  .pager a,.pager span{min-width:40px;height:40px}
}
@media (prefers-reduced-motion:reduce){.post-card,.pc-img img{transition:none}.post-card:hover{transform:none}.post-card:hover .pc-img img{transform:none}}
