/* A Web — Home news layout. Load AFTER perf.css.
   Replaces the 4-column bento grid on the home page with: one featured story + an even grid of uniform cards. */
.nwg{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px;align-items:start}
.nw{display:flex;flex-direction:column;overflow:hidden;padding:0}
.nw>.nwi{padding:0;position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--soft);cursor:zoom-in}
.nw>.nwi img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--ease,ease)}
.nw:hover>.nwi img{transform:scale(1.04)}
.nw>.nwb{padding:18px 20px 20px;display:flex;flex-direction:column;gap:10px;min-width:0}
.nwm{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--mut)}
.nwm time{font-weight:600;letter-spacing:.2px}
.nwt{padding:3px 10px;border-radius:99px;background:var(--g);color:#fff;font-weight:800;font-size:11px;letter-spacing:.6px;text-transform:uppercase}
.nwt.n{background:color-mix(in srgb,var(--g) 22%,transparent);color:var(--ink);border:1px solid color-mix(in srgb,var(--g) 55%,transparent)}
.nw h3{margin:0;font-size:19px;line-height:1.3;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nw.open h3{display:block}
.nwd{margin:0;color:var(--mut);line-height:1.65;white-space:normal;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.nw.open .nwd{display:block;-webkit-line-clamp:unset}
.nwr{align-self:flex-start;padding:0;border:0;background:none;color:var(--g);font:700 13px Manrope,sans-serif;cursor:pointer}
.nwr:hover{text-decoration:underline}
.nw .ibs{margin-top:4px}
.nw:not(:has(.nwi)){border-top:3px solid var(--g)}

/* featured (latest) story: image left, text right, spans the full row */
.nwf{grid-column:1/-1}
.nwf h3{font-size:clamp(22px,2.4vw,30px);-webkit-line-clamp:3}
.nwf .nwd{font-size:16px;-webkit-line-clamp:9}
@media(min-width:820px){
 .nwf:has(.nwi){display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:stretch}
 .nwf>.nwi{aspect-ratio:auto;min-height:340px}
 .nwf>.nwb{padding:28px 30px;justify-content:center}
}
@media(max-width:520px){.nwg{grid-template-columns:1fr;gap:16px}.nw>.nwb{padding:16px}}

/* phones / weak devices: no hover motion */
html.lite .nw>.nwi img{transition:none!important;transform:none!important}