/* KEN Degree College - blog index and article pages.
   Loaded after style.css and reuses its colour variables. */

/* ---------------------------------------------------------------------------
   Article header extras (sit inside .page-hero)
   --------------------------------------------------------------------------- */
.post-kicker{display:inline-flex;padding:7px 14px;margin-bottom:12px;border-radius:999px;background:var(--ken-amber);color:var(--ken-navy);font-size:12px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.post-meta{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:16px;color:rgba(255,255,255,.82);font-size:13px;font-weight:800}
.post-meta span{display:inline-flex;align-items:center;gap:7px}
.post-meta span+span:before{content:"";width:4px;height:4px;border-radius:50%;background:var(--ken-amber)}

/* ---------------------------------------------------------------------------
   Article layout
   --------------------------------------------------------------------------- */
.post-shell{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:28px;align-items:start}
.post-article{background:#fff;border:1px solid var(--ken-line);border-radius:18px;padding:36px;box-shadow:var(--ken-soft-shadow)}
.post-article>*+*{margin-top:20px}
.post-article h2{color:var(--ken-navy);font-size:25px;font-weight:900;line-height:1.25;letter-spacing:-.02em;margin-top:38px;scroll-margin-top:110px}
.post-article h2:first-child{margin-top:0}
.post-article h3{color:var(--ken-navy);font-size:18px;font-weight:900;line-height:1.3;margin-top:26px}
.post-article p{color:var(--ken-text);font-size:16.5px;line-height:1.75}
.post-article .lead{color:var(--ken-navy);font-size:19px;line-height:1.65;font-weight:700}
.post-article ul,.post-article ol{margin-left:22px;display:grid;gap:9px}
.post-article li{color:var(--ken-text);font-size:16px;line-height:1.65}
.post-article li strong,.post-article p strong{color:var(--ken-navy);font-weight:900}
.post-article a{color:var(--ken-navy);font-weight:800;text-decoration:underline;text-underline-offset:2px}
.post-article a:hover{color:var(--ken-amber-2)}
.post-article a.btn,.post-article a.btn-outline,.post-article a.card-link{text-decoration:none}
.post-article hr{border:0;border-top:1px solid var(--ken-line);margin:34px 0 0}

.post-figure{margin:0}
.post-figure img{width:100%;border-radius:14px;border:1px solid var(--ken-line)}
.post-figure figcaption{margin-top:10px;color:var(--ken-muted);font-size:13px;font-weight:700;text-align:center}

/* The click-to-play video embed borrows .yt-facade from gallery.css */
.post-article .yt-facade{border:1px solid var(--ken-line);border-radius:14px;overflow:hidden}
.video-caption{color:var(--ken-muted);font-size:13px!important;font-weight:700;text-align:center;margin-top:10px!important}

.post-callout{background:var(--ken-soft);border:1px solid var(--ken-line);border-left:4px solid var(--ken-amber);border-radius:12px;padding:18px 22px}
.post-callout>*+*{margin-top:10px}
.post-callout p{font-size:15.5px;line-height:1.65}
.post-callout strong{color:var(--ken-navy)}

/* Two-column list used for "what you study" style groupings */
.post-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}
.post-columns>div{background:var(--ken-light);border:1px solid var(--ken-line);border-radius:14px;padding:18px 20px}
.post-columns h3{margin-top:0;font-size:15px;letter-spacing:.02em}
.post-columns ul{margin-top:10px;margin-left:18px;gap:6px}
.post-columns li{font-size:14.5px;line-height:1.55;color:var(--ken-muted)}

.post-toc{background:var(--ken-light);border:1px solid var(--ken-line);border-radius:14px;padding:20px 24px}
.post-toc h2{margin:0 0 12px;font-size:14px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.post-toc ol{margin-top:0;margin-left:20px;gap:8px}
.post-toc li{font-size:15px}

/* Selector is scoped to beat the generic ".post-article ul" spacing above. */
.post-article ul.post-facts{display:grid;gap:0;list-style:none;margin:0;border:1px solid var(--ken-line);border-radius:14px;overflow:hidden}
.post-facts li{display:grid;grid-template-columns:130px minmax(0,1fr);gap:12px;padding:12px 16px;font-size:14.5px;border-bottom:1px solid var(--ken-line)}
.post-facts li:nth-child(odd){background:var(--ken-soft)}
.post-facts li:last-child{border-bottom:0}
.post-facts strong{color:var(--ken-navy)}

.post-aside{display:grid;gap:18px;position:sticky;top:104px}
.post-aside .card{padding:22px}
.post-aside h3{font-size:17px}
.post-aside .list li{font-size:14px}
.post-aside .btn{width:100%}

.post-end{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-top:26px}
.post-end a{font-weight:900}

/* ---------------------------------------------------------------------------
   Blog index
   --------------------------------------------------------------------------- */
.blog-kicker{display:block;color:var(--ken-amber-2);font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.blog-featured{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);background:#fff;border:1px solid var(--ken-line);border-radius:18px;overflow:hidden;box-shadow:var(--ken-shadow)}
.blog-featured img{width:100%;height:100%;min-height:300px;object-fit:cover}
.blog-featured-body{padding:34px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:12px}
.blog-featured-body h2{color:var(--ken-navy);font-size:27px;font-weight:900;line-height:1.22;letter-spacing:-.025em}
.blog-featured-body p{color:var(--ken-muted);font-size:15.5px;line-height:1.65}
.blog-meta{color:var(--ken-muted);font-size:13px;font-weight:800}

.blog-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:22px}
.blog-item{display:flex;flex-direction:column;align-items:flex-start;gap:9px;background:#fff;border:1px solid var(--ken-line);border-radius:16px;padding:24px;box-shadow:var(--ken-soft-shadow);transition:box-shadow .2s,transform .2s}
.blog-item:hover{box-shadow:var(--ken-shadow);transform:translateY(-3px)}
.blog-item h3{color:var(--ken-navy);font-size:18px;font-weight:900;line-height:1.3;margin:0}
.blog-item p{color:var(--ken-muted);font-size:14.5px;line-height:1.6}
.blog-item .card-link{margin-top:auto;padding-top:8px}
.blog-item h3 a{color:inherit;text-decoration:none}
.blog-item h3 a:hover{color:var(--ken-amber-2)}
.blog-item-cover{display:block;width:calc(100% + 48px);margin:-24px -24px 4px;overflow:hidden}
.blog-item-cover img{width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .35s}
.blog-item-post:hover .blog-item-cover img{transform:scale(1.04)}

/* Photo strip at the end of a post */
.post-article .post-photos{margin-top:18px}
.post-article .post-photos .media-card{box-shadow:none}

/* ---------------------------------------------------------------------------
   Responsive
   --------------------------------------------------------------------------- */
@media(max-width:1120px){
  .post-shell{grid-template-columns:1fr}
  .post-aside{position:static;grid-template-columns:1fr 1fr}
  .blog-featured{grid-template-columns:1fr}
  .blog-featured img{min-height:220px;max-height:300px}
}
@media(max-width:720px){
  .post-article{padding:22px}
  .post-article h2{font-size:21px;margin-top:30px}
  .post-article p{font-size:16px}
  .post-article .lead{font-size:17.5px}
  .post-aside{grid-template-columns:1fr}
  .post-facts li{grid-template-columns:1fr;gap:2px}
  .blog-featured-body{padding:24px}
  .blog-featured-body h2{font-size:22px}
}
