/* The Updates page. Posts arrive from the portal's feed (api/public/updates)
   and are rendered here — published from the Content tab, live within a
   minute, no deploy. Built on products.css: same wrap, same page-head, same
   type. Only the article list is new. */
.updates{padding:0 0 84px}
.updates-list{display:grid;gap:0}
.updates-note{color:#4A5D73;font-size:15px;padding:28px 0}

.update{padding:38px 0;border-top:1px solid rgba(15,36,57,.14);display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:32px;align-items:start;scroll-margin-top:96px}
.update:first-child{border-top:0}
.update--noshot{grid-template-columns:1fr}

/* A post written in items. The headline runs full width across the top, then
   each item is its own row on the same two-column rhythm as a single post —
   picture left, words right — so a reader can see there are three things
   before reading any of them. */
.update--items{display:block}
.update-top{margin:0 0 30px}
.update-item{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:32px;align-items:start;padding:26px 0;border-top:1px solid rgba(15,36,57,.09)}
.update-top + .update-item{border-top:0;padding-top:0}
.update-itemhead{font-family:'Cormorant Garamond',Georgia,serif;font-size:23px;font-weight:600;line-height:1.24;margin:0 0 10px;color:#0F2439;text-wrap:balance}
.update-itemnum{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;font-weight:500;color:#8A6D2F;letter-spacing:.1em;margin-right:12px;vertical-align:2px}
.update-itemmain .update-body{margin:0}
/* An item whose photograph has not landed keeps its column, so the headings
   stay on one vertical line down the page rather than jumping the gutter. */
.update-itemshot{min-height:1px}
/* The closing link belongs with the words, not under the pictures — it reads
   as a stray sitting alone in the left column. Same grid as an item, so it
   lines up with the body text above it without hard-coding the gutter. */
.update--items .update-cta{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:32px;margin-top:26px}
.update--items .update-cta a{grid-column:2;justify-self:start}
.update-shot{width:100%;border-radius:6px;display:block;aspect-ratio:3/2;object-fit:cover;background:#EDE7D9}
.update-when{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#8A6D2F;margin:0 0 8px}
.update h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(25px,3.4vw,33px);font-weight:600;line-height:1.16;margin:0;color:#0F2439;text-wrap:balance}
.update h2 a{color:inherit;text-decoration:none}
.update h2 a:hover{text-decoration:underline;text-underline-offset:3px}
.update-body{margin:14px 0 0;color:#3D4E62;font-size:16px;line-height:1.68}
.update-body p{margin:0 0 14px}
.update-body p:last-child{margin-bottom:0}
.update-cta{margin:18px 0 0;font-size:15px}
.update-cta a{color:#8A6D2F;font-weight:600;text-decoration:none;border-bottom:1px solid rgba(138,109,47,.4)}
.update-cta a:hover{border-bottom-color:#8A6D2F}

@media(max-width:820px){
  .update{grid-template-columns:1fr;gap:18px;padding:30px 0}
  .update-shot{aspect-ratio:16/9}
  .update-item{grid-template-columns:1fr;gap:16px;padding:24px 0}
  .update-top{margin-bottom:22px}
  /* Nothing to reserve once the columns collapse — an empty div would be a
     16px gap above every item that has no picture. */
  .update-itemshot:empty{display:none}
  .update--items .update-cta{display:block}
}
