/* Blog + case study styles. Uses the variables defined in styles.css. */
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
@media(max-width:960px){.post-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.post-grid{grid-template-columns:1fr}}
.post-card{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);transition:border-color .3s ease,transform .3s ease,box-shadow .3s ease}
.post-card:hover{border-color:var(--gold-2);transform:translateY(-3px);box-shadow:0 14px 34px rgba(20,33,61,.08)}
.post-card-img{aspect-ratio:16/9;overflow:hidden;background:var(--navy-800)}
.post-card-img img{width:100%;height:100%;object-fit:cover}
.post-card-body{padding:28px 28px 30px;display:flex;flex-direction:column;flex:1}
.post-meta{font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-3)}
.post-card h2{font-size:clamp(21px,2vw,26px);line-height:1.2;margin:14px 0 12px;color:var(--ink)}
.post-card p{color:var(--muted);font-size:15.5px;line-height:1.6}
.post-card .post-result{color:var(--ink);font-weight:500;margin-bottom:8px}
.post-more{margin-top:auto;padding-top:22px;font-size:14px;font-weight:500;color:var(--gold-3)}
.post-card:hover .arw{transform:translateX(4px)}
.post-more .arw{display:inline-block;transition:transform .25s ease}
.empty-state{text-align:center;color:var(--muted);font-size:18px;padding:40px 0}
.empty-state a{color:var(--gold-3);border-bottom:1px solid var(--gold-2)}

.post-hero h1{max-width:24ch;font-size:clamp(32px,4.6vw,56px)}
.article-sec{background:var(--paper)}
.article-sec .wrap{max-width:820px}
.article-meta{display:flex;flex-wrap:wrap;gap:8px 26px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding-bottom:22px;border-bottom:1px solid var(--line);margin-bottom:36px}
.article-cover{margin:0 0 40px}
.article-cover img{width:100%;height:auto}
.prose{font-size:18px;line-height:1.8;color:var(--ink)}
.prose p{margin:0 0 1.4em}
.prose h2{font-size:clamp(25px,2.8vw,34px);line-height:1.18;margin:2em 0 .7em}
.prose h3{font-size:clamp(21px,2.2vw,26px);line-height:1.2;margin:1.8em 0 .6em}
.prose a{color:var(--gold-3);border-bottom:1px solid var(--gold-2)}
.prose ul,.prose ol{margin:0 0 1.4em 1.3em}
.prose li{margin-bottom:.5em}
.prose blockquote{border-left:3px solid var(--gold-2);padding:6px 0 6px 26px;margin:2em 0;font-family:'Marcellus',Georgia,serif;font-size:1.3em;line-height:1.45;color:var(--navy-700)}
.prose figure{margin:2em 0}
.prose figure img{width:100%;height:auto}
.prose figcaption{font-size:14px;color:var(--muted);margin-top:10px}
.prose strong{font-weight:600}
.back-link{margin-top:56px;padding-top:26px;border-top:1px solid var(--line);font-size:15px}
.back-link a{color:var(--gold-3)}

.case-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:0;margin:0 0 44px;border-top:1px solid var(--gold-2);border-bottom:1px solid var(--line)}
.case-facts>div{padding:20px 22px 20px 0}
.case-facts dt{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-3);margin-bottom:6px}
.case-facts dd{font-size:16px;color:var(--ink);font-weight:400;line-height:1.4}
.prose .case-quote{background:var(--paper-warm);border-left:3px solid var(--gold-2);padding:28px 30px}
.prose .case-quote cite{display:block;margin-top:14px;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-style:normal;color:var(--muted)}

/* long headlines: keep clear of the fixed nav */
.post-hero{min-height:auto;padding:190px 0 90px}
@media(max-width:640px){.post-hero{padding:150px 0 70px}}

/* ---------- article popup (reuses the team-page glass modal) ---------- */
.bio-glass.article{max-width:min(860px,94vw)}
.bio-glass.article .bio-avatar{display:none}
.bio-glass.article .bio-head{display:block;padding:0 36px 20px 0;margin-bottom:24px;border-bottom:1px solid rgba(201,162,75,.22)}
.bio-glass.article .bio-name{font-size:clamp(22px,2.8vw,32px);line-height:1.2}
.bio-glass.article .bio-text{column-count:1;font-size:16px;line-height:1.75;color:#d7dae4}
.bio-glass.article .bio-text p{margin-top:0;margin-bottom:1.15em}
.bio-glass.article .am-lead{font-family:'Marcellus',Georgia,serif;font-size:clamp(18px,2vw,21px);line-height:1.5;color:#f0e6cf;margin-bottom:1.4em}
.bio-glass.article .am-cover{width:100%;height:auto;border-radius:8px;margin:0 0 1.6em}
.bio-glass.article .am-body h2,.bio-glass.article .am-body h3{font-family:'Marcellus',Georgia,serif;font-weight:400;color:#fff;line-height:1.2;margin:1.6em 0 .55em}
.bio-glass.article .am-body h2{font-size:24px}
.bio-glass.article .am-body h3{font-size:20px}
.bio-glass.article .am-body a,.bio-glass.article .am-link{color:var(--gold-1);border-bottom:1px solid var(--gold-2)}
.bio-glass.article .am-body blockquote{border-left:3px solid var(--gold-2);padding:2px 0 2px 22px;margin:1.6em 0;font-family:'Marcellus',Georgia,serif;font-size:1.2em;line-height:1.45;color:#f0e6cf}
.bio-glass.article .am-body cite{display:block;margin-top:10px;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-style:normal;color:var(--gold-1)}
.bio-glass.article .am-body figure{margin:1.6em 0}
.bio-glass.article .am-body figure img{width:100%;height:auto;border-radius:8px}
.bio-glass.article .am-body figcaption{font-size:13px;color:#aeb4c4;margin-top:8px}
.bio-glass.article .am-body ol{list-style:decimal;display:block;margin:0 0 1.2em 1.3em}
.bio-glass.article .am-body ol li{padding-left:4px;margin-bottom:.5em}
.bio-glass.article .am-body ol li::before{display:none}
.bio-glass.article .bio-text .bio-block{break-inside:auto}
.bio-glass.article .bio-text .bio-sub:first-child{margin-top:0;padding-top:0;border-top:0}
.am-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px 22px;margin:0 0 26px;padding:16px 0;border-top:1px solid rgba(201,162,75,.3);border-bottom:1px solid rgba(201,162,75,.18)}
.am-facts dt{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-1)}
.am-facts dd{color:#e9ecf4;font-size:15px;line-height:1.4;margin-top:4px}
.am-foot{margin-top:2em;padding-top:20px;border-top:1px solid rgba(201,162,75,.22);display:flex;flex-wrap:wrap;gap:14px 26px;align-items:center;font-size:14px}
.am-foot .am-by{color:#aeb4c4;flex-basis:100%}
.am-foot .btn{margin-left:auto}
@media(max-width:560px){.am-foot .btn{margin-left:0}}

/* ---------- article cards use the team-page card look ---------- */
.team-grid .team-photo{aspect-ratio:16/10}
.team-grid .team-photo span{font-size:clamp(25px,2.5vw,32px);line-height:1.18;letter-spacing:.02em;text-align:center;max-width:82%}
.team-grid .team-name{font-size:23px}
.team-grid .team-bio{margin:14px 0 22px}
.team-grid .team-hint{margin-top:auto}
.team-grid .post-result{margin-top:14px;font-weight:500;color:var(--ink);font-size:15.5px}
.team-grid .post-result + .team-bio{margin-top:8px}
