/* Column cards, magazine style: the /column list, "other columns" under an article, and the main-page strip.
   Dark band, photo first, category on the photo, bold white title, date and byline underneath. */
.mag{--m-bg:#121117;--m-fg:#ffffff;--m-2:rgba(255,255,255,.64);--m-3:rgba(255,255,255,.42);--m-line:rgba(255,255,255,.12);background:var(--m-bg)!important;color:var(--m-fg)}
.mag .kicker{color:var(--m-3)!important}
.mag h1,.mag h2{color:var(--m-fg)}
.mag .sec-head p,.mag .c-head p{color:var(--m-2)}
.mag .back{color:var(--m-2)}
.mag .c-tab{background:rgba(255,255,255,.07);color:var(--m-2)}
.mag .c-tab span{color:var(--m-3)}
.mag .c-tab:hover{color:#fff}
.mag .c-tab[aria-current="page"]{background:#fff;color:#121117}
.mag .c-tab[aria-current="page"] span{color:rgba(18,17,23,.55)}
.mag .more-h{color:#fff;font-size:24px;margin-bottom:28px}

.c-grid{display:grid;gap:40px 24px;grid-template-columns:repeat(3,minmax(0,1fr))}
.c-card{display:grid;gap:16px;align-content:start;text-decoration:none;color:inherit;min-width:0}
.c-card .ph{position:relative;aspect-ratio:4/5;max-width:100%;overflow:hidden;background:#24222b;border-radius:4px}
.c-card .ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s var(--ease-out,cubic-bezier(.2,.7,.2,1))}
.c-card:hover .ph img{transform:scale(1.05)}
/* no cover: the category set large, like a magazine section page */
.c-card .ph .mark{position:absolute;inset:0;display:grid;place-items:center;padding:20px;text-align:center;font-size:clamp(26px,2.8vw,36px);font-weight:800;letter-spacing:-.03em;line-height:1.2;color:#fff;background:radial-gradient(120% 90% at 20% 0%,var(--mark-a,#7b67c2),transparent 60%),linear-gradient(160deg,var(--mark-b,#3b2f66),#17141f)}
.nx{--mark-a:#3d72d1;--mark-b:#163a7a}
.c-card .ph::after{content:"";position:absolute;inset:auto 0 0;height:45%;background:linear-gradient(transparent,rgba(0,0,0,.55));pointer-events:none}
.c-cat{position:absolute;left:16px;bottom:14px;z-index:1;font-size:12.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#fff}
.c-card .tx{display:flex;flex-direction:column;gap:10px;min-width:0}
/* cards in a row share one height and the date line sits on the bottom, however long the copy runs */
.c-card:not(.feat){grid-template-rows:auto 1fr}
.c-card .c-by{margin-top:auto}
.c-card h2,.c-card h3{margin:0;font-size:22px;font-weight:800;letter-spacing:-.035em;line-height:1.36;text-wrap:balance}
.c-card:hover h2,.c-card:hover h3{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
.c-card p{margin:0;font-size:15px;line-height:1.6;color:var(--m-2,var(--ink-2));display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.c-by{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px;font-size:13px;color:var(--m-3,var(--ink-3));font-variant-numeric:tabular-nums}
.c-au{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--m-2,var(--ink-2))}
.c-au img{width:30px;height:30px;border-radius:50%;object-fit:cover}

/* the newest one leads: photo full width, words on the photo */
.c-card.feat{grid-column:1/-1;position:relative;gap:0}
.c-card.feat .ph{aspect-ratio:21/9}
.c-card.feat .ph::after{height:75%;background:linear-gradient(transparent,rgba(0,0,0,.78))}
.c-card.feat .tx{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:40px;gap:14px;max-width:760px}
.c-card.feat .c-cat{position:static;display:block}
.c-card.feat h2,.c-card.feat h3{font-size:clamp(28px,3.6vw,44px);line-height:1.22;color:#fff}
.c-card.feat p{color:rgba(255,255,255,.78)}
.c-card.feat .c-by{color:rgba(255,255,255,.6)}
.c-card.feat .c-au{color:#fff}
@media (max-width:959px){.c-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.c-card.feat .ph{aspect-ratio:16/10}}
@media (max-width:639px){
  .c-grid{grid-template-columns:minmax(0,1fr);gap:28px}
  .c-card.feat .ph{aspect-ratio:4/5}
  .c-card.feat .tx{padding:22px}
  /* the rest become rows: small photo left, words right */
  .c-card:not(.feat){grid-template-columns:112px minmax(0,1fr);gap:16px;align-items:start}
  .c-card:not(.feat) .ph{aspect-ratio:1}
  .c-card:not(.feat) .c-cat{left:8px;bottom:8px;font-size:10.5px}
  .c-card:not(.feat) h2,.c-card:not(.feat) h3{font-size:17px}
  .c-card:not(.feat) p{display:none}
  .c-card:not(.feat) .c-au img{display:none}
}

.c-empty{padding:56px 20px;border-radius:4px;background:rgba(255,255,255,.05);text-align:center;color:var(--m-2,var(--ink-2))}
.c-empty b{display:block;color:var(--m-fg,var(--ink));font-size:17px;margin-bottom:6px}
.c-empty a{color:inherit}

.c-more{display:flex;justify-content:center;margin-top:48px}
.mag .c-more .btn{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3)}
.mag .c-more .btn:hover{border-color:#fff}
/* main page heading: title left, "all columns" right */
.mag-head{display:flex;align-items:end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:40px}
.mag-head .sec-head{margin-bottom:0}
/* no cards yet: the heading row closes the section */
.mag-head:has(+ .c-grid[hidden]){margin-bottom:0}
.mag-all{color:#fff;font-weight:700;font-size:15px;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:2px}
.mag-all:hover{border-color:#fff}
