/* ==========================================================================
   From the Corner (/corner/) - .cn- namespace
   Index cards reuse the news-card rhythm; the post body is a single narrow
   reading column with blockquotes set as pull quotes.
   ========================================================================== */

.cn-intro{font-family:var(--font-body);font-size:var(--gr-lead);font-weight:300;color:var(--muted);max-width:640px;margin:0 0 28px;}

/* ---------- Cards ---------- */
.cn-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.cn-grid--two{grid-template-columns:repeat(2,1fr);}
.cn-card{display:flex;flex-direction:column;background:var(--white);border:1px solid #e7e7e7;color:var(--text);text-decoration:none;transition:transform .2s ease,box-shadow .2s ease;}
.cn-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,.08);color:var(--text);}
.cn-card[hidden]{display:none;}
.cn-thumb{aspect-ratio:16/9;overflow:hidden;background:var(--foot-b);}
.cn-thumb img{width:100%;height:100%;object-fit:cover;}
.cn-card-body{padding:18px 22px 22px;}
.cn-meta{font-family:var(--font-body);font-size:13px;font-weight:600;letter-spacing:0;text-transform:uppercase;color:var(--muted);margin:0 0 10px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.cn-type{display:inline-block;font-family:var(--font-body);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text);background:var(--gold);padding:3px 9px;border-radius:3px;margin:0;}
.cn-title{font-size:var(--gr-sub);line-height:1.1;margin:0 0 8px;}
.cn-dek{font-size:var(--gr-body);color:var(--muted);margin:0;}

.cn-empty{border:1px solid #e7e7e7;background:var(--off);padding:48px 32px;text-align:center;}
.cn-empty-title{font-family:var(--font-display);font-size:var(--gr-mid);font-weight:700;text-transform:uppercase;color:var(--text);margin:0 0 6px;}
.cn-empty .btn{margin-top:10px;}

/* ---------- Post ---------- */
.cn-narrow{max-width:760px;}
.cn-post-head{padding:64px 0 32px;background:var(--white);}
.cn-post-head .cn-type{margin:0 0 10px;}
.cn-post-title{font-size:var(--gr-display);line-height:1;margin:0 0 16px;}
.cn-post-dek{font-family:var(--font-body);font-size:var(--gr-lead);font-weight:300;line-height:1.45;color:var(--muted);margin:0 0 16px;}
.cn-byline{font-family:var(--font-body);font-size:14px;font-weight:600;text-transform:uppercase;color:var(--text);margin:0;display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.cn-cover{margin:0 auto;max-width:var(--container);padding:0 24px;}
.cn-cover img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;background:var(--foot-b);}
.cn-body{padding-top:44px;padding-bottom:56px;font-size:18px;line-height:1.75;}
.cn-body p{font-size:18px;line-height:1.75;margin:0 0 1.2em;color:var(--text);}
.cn-body h2{font-size:var(--gr-mid);margin:1.6em 0 .5em;}
.cn-body h3{font-size:var(--gr-sub);margin:1.4em 0 .4em;}
.cn-body a{text-decoration:underline;text-underline-offset:3px;}
.cn-body ul,.cn-body ol{margin:0 0 1.2em 1.2em;list-style:disc;}
.cn-body blockquote{margin:1.6em 0;padding:4px 0 4px 26px;border-left:4px solid var(--gold);}
.cn-body blockquote p{font-family:var(--font-display);font-size:var(--gr-mid);font-weight:600;line-height:1.15;text-transform:uppercase;color:var(--text);margin:0;}
.cn-more{background:var(--off);}

@media (max-width:900px){.cn-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){
  .cn-grid,.cn-grid--two{grid-template-columns:1fr;}
  .cn-post-head{padding:40px 0 24px;}
  .cn-post-title{font-size:var(--gr-heading);}
  .cn-cover{padding:0;}
}
