/* Blog: listing page + article pages. Uses the tokens defined in site.css. */

/* ---------- Article header ---------- */
.post-hero{padding:clamp(64px,9vw,118px) 0 clamp(30px,4vw,48px);}
.post-hero .wrap{max-width:860px;}
.post-hero .eyebrow a{color:inherit;text-decoration:none;}
.post-hero .eyebrow a:hover{text-decoration:underline;text-underline-offset:3px;}
.post-hero h1{font-size:clamp(34px,4.8vw,60px);line-height:1.08;}
.post-hero .standfirst{margin-top:22px;font-size:clamp(17px,1.8vw,20px);color:var(--ink-60);max-width:62ch;}
.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:28px;font-size:14px;color:var(--ink-40);}
.post-meta img{width:40px;height:40px;border-radius:50%;object-fit:cover;}
.post-meta .who{color:var(--charcoal);}
.post-meta .dot{opacity:.5;}

.post-feature{max-width:1100px;margin:0 auto;padding:0 clamp(20px,4vw,48px);}
.post-feature img{width:100%;max-height:620px;object-fit:cover;border-radius:4px;}

/* ---------- Article body ---------- */
.post-body{padding:clamp(40px,5vw,64px) 0 clamp(56px,7vw,90px);}
.post-body .wrap{max-width:760px;}
.article{font-size:17.5px;line-height:1.8;color:var(--charcoal);}
.article > * + *{margin-top:1.35em;}
.article h2{font-size:clamp(28px,3.2vw,38px);line-height:1.15;margin-top:1.8em;}
.article h3{font-size:clamp(22px,2.4vw,27px);line-height:1.2;margin-top:1.6em;}
.article h2 + *, .article h3 + *{margin-top:.6em;}
.article a{color:var(--chocolate);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(75,47,36,.4);}
.article a:hover{text-decoration-color:var(--chocolate);}
.article ul, .article ol{padding-left:1.3em;}
.article li + li{margin-top:.5em;}
.article li::marker{color:var(--chocolate);}
.article strong{font-weight:700;}
.article blockquote{border-left:3px solid var(--chocolate);padding:4px 0 4px 22px;font-family:var(--serif);font-size:clamp(21px,2.2vw,25px);line-height:1.4;color:var(--chocolate);}
.article img{width:100%;border-radius:4px;margin-top:1.6em;}
.article figure{margin-top:1.6em;}
.article figcaption{font-size:13.5px;color:var(--ink-40);margin-top:10px;}
.article hr{border:0;border-top:1px solid var(--linen);margin:2.4em 0;}
.article table{width:100%;border-collapse:collapse;font-size:15.5px;}
.article th, .article td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--linen);}
.article th{font-weight:700;background:var(--linen);}

/* Callout box authors can use via a blockquote starting with "Key point:" is styled as normal blockquote. */

/* Suburbs mentioned */
.post-suburbs{margin-top:clamp(36px,5vw,52px);padding-top:24px;border-top:1px solid var(--linen);}
.post-suburbs .lbl, .author-card .lbl, .related .lbl{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--chocolate);}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;list-style:none;}
.chips a{display:inline-block;padding:8px 16px;border:1px solid var(--chocolate);border-radius:30px;font-size:14.5px;color:var(--chocolate);text-decoration:none;transition:all .2s ease;}
.chips a:hover{background:var(--chocolate);color:var(--porcelain);}

/* Author card */
.author-card{display:flex;gap:22px;align-items:flex-start;margin-top:clamp(30px,4vw,44px);background:var(--linen);border-radius:4px;padding:26px 28px;}
.author-card img{width:76px;height:76px;border-radius:50%;object-fit:cover;flex:0 0 auto;}
.author-card h3{font-size:24px;margin-top:6px;}
.author-card .role{font-size:14px;color:var(--ink-40);}
.author-card p{margin-top:10px;font-size:15.5px;}
@media(max-width:560px){.author-card{flex-direction:column;}}

/* ---------- Post cards (listing + related) ---------- */
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(22px,3vw,34px);margin-top:clamp(30px,4vw,48px);}
@media(max-width:980px){.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(--porcelain);border:1px solid var(--linen);border-radius:4px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .35s cubic-bezier(.2,.6,.2,1),box-shadow .35s ease;}
.tint-linen .post-card{border-color:transparent;}
.post-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(75,47,36,.12);}
.post-card .thumb{aspect-ratio:16/10;background:var(--linen);overflow:hidden;}
.post-card .thumb img{width:100%;height:100%;object-fit:cover;}
.post-card .body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:10px;flex:1;}
.post-card .cat{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--chocolate);}
.post-card h3{font-size:24px;line-height:1.2;}
.post-card p{font-size:15px;color:var(--ink-60);}
.post-card .date{margin-top:auto;padding-top:8px;font-size:13px;color:var(--ink-40);}

/* Featured (newest) post on the listing page */
.post-card.lead{grid-column:1 / -1;flex-direction:row;}
.post-card.lead .thumb{flex:0 0 58%;aspect-ratio:auto;min-height:360px;}
.post-card.lead .body{padding:clamp(26px,3.5vw,44px);justify-content:center;}
.post-card.lead h3{font-size:clamp(28px,3vw,38px);}
.post-card.lead p{font-size:16.5px;}
@media(max-width:860px){.post-card.lead{flex-direction:column;}.post-card.lead .thumb{min-height:0;aspect-ratio:16/10;}}

/* Category filter */
.cat-filter{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px;list-style:none;}
.cat-filter button{font-family:var(--sans);font-size:14px;padding:8px 16px;border-radius:30px;border:1px solid var(--chocolate);background:transparent;color:var(--chocolate);cursor:pointer;transition:all .2s ease;}
.cat-filter button[aria-pressed="true"], .cat-filter button:hover{background:var(--chocolate);color:var(--porcelain);}

.blog-empty{margin-top:40px;padding:40px;border:1px dashed var(--chocolate);border-radius:4px;text-align:center;color:var(--ink-60);}
.related{padding:clamp(56px,7vw,90px) 0;}
.related .wrap{max-width:1200px;}
