/* news.css — News list and news posts (MN + EN). Loaded with misc.css. */

/* ---------- list ---------- */
.nlist{border-top:1px solid var(--core)}
.nrow{position:relative;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,4vw,64px);padding:clamp(28px,3.4vw,48px) 0;border-bottom:1px solid var(--line-light);align-items:center}
.nrow__media{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--core);order:0}
.nrow__media img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.nrow:hover .nrow__media img{transform:scale(1.04)}
.nrow__body{display:flex;flex-direction:column;gap:16px;align-items:flex-start;max-width:720px}
.nrow__date{font-family:var(--f-mono);font-size:13px;color:var(--muted);letter-spacing:.04em}
.nrow__title{font-family:var(--f-head);font-size:clamp(26px,2.7vw,40px);font-weight:300;line-height:1.12;letter-spacing:-.02em}
.nrow__link::after{content:"";position:absolute;inset:0;z-index:1}
.nrow__link:focus-visible{outline:none}
.nrow:focus-within{outline:2px solid var(--core);outline-offset:6px}
.nrow:hover .nrow__link,.nrow__link:focus-visible{text-decoration:underline;text-decoration-color:var(--spark);text-decoration-thickness:3px;text-underline-offset:8px}
.nrow__sum{font-size:17px;line-height:1.55;color:var(--ink-3)}
.nrow__more{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15px;margin-top:4px}
.nrow:hover .nrow__more .arrow::after{transform:translateX(4px)}

/* typographic tile when a story has no photo (ESCO) */
.ntile{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(20px,2.4vw,32px);color:var(--on-dark);isolation:isolate}
.ntile::before{content:"";position:absolute;inset:0;z-index:-2;background-image:radial-gradient(rgba(247,247,242,.09) 1px,transparent 1px);background-size:24px 24px}
.ntile__knot{position:absolute;z-index:-1;right:-18%;bottom:-30%;width:70%;height:auto;opacity:.16}
.ntile__label{font-family:var(--f-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--spark)}
.ntile__foot{display:flex;flex-direction:column;gap:14px}
.ntile__big{font-family:var(--f-head);font-weight:300;font-size:clamp(56px,7vw,112px);line-height:.9;letter-spacing:-.04em}
.ntile__no{font-family:var(--f-mono);font-size:13px;letter-spacing:.06em;color:var(--on-dark-2)}

@media (max-width:760px){
  .nrow{grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}
}

/* empty state: no published posts yet (build.py <x-news-list>) */
.nlist__empty{padding:clamp(28px,3.4vw,48px) 0;border-bottom:1px solid var(--line-light);font-family:var(--f-head);font-size:clamp(26px,2.7vw,40px);font-weight:300;line-height:1.12;letter-spacing:-.02em;color:var(--muted)}

/* ---------- post ---------- */
.page-head--post{padding-bottom:clamp(64px,9vw,152px)}
.page-head--post.has-media{padding-bottom:clamp(120px,15vw,240px)}
.post-hero{position:relative;z-index:1;margin-top:calc(-1 * clamp(64px,10vw,168px))}
.post-hero__frame{aspect-ratio:21/9;overflow:hidden;background:var(--core-2)}
.post-hero__frame img{width:100%;height:100%;object-fit:cover}
.post-hero__cap{font-size:13px;color:var(--muted);margin-top:10px}
@media (max-width:640px){.post-hero__frame{aspect-ratio:4/3}}

.post-body{padding-top:clamp(48px,6vw,88px)}
.prose ol.steps{list-style:none;padding:0;counter-reset:st;border-top:1px solid var(--line-light)}
.prose ol.steps li{counter-increment:st;display:grid;grid-template-columns:56px minmax(0,1fr);gap:8px;padding:18px 0;border-bottom:1px solid var(--line-light);margin:0}
.prose ol.steps li::before{content:"0" counter(st);font-family:var(--f-head);font-size:24px;font-weight:300;line-height:1.2;color:var(--ink)}
.prose ol.steps li strong{display:block}
.prose ul.ticks{list-style:none;padding:0;border-top:1px solid var(--line-light)}
.prose ul.ticks li{position:relative;padding:14px 0 14px 28px;border-bottom:1px solid var(--line-light);margin:0}
.prose ul.ticks li::before{content:"";position:absolute;left:0;top:50%;width:10px;height:10px;margin-top:-5px;background:var(--spark)}
.post-links{display:flex;flex-wrap:wrap;gap:16px 32px;align-items:center}
