
  :root{
    --paper:#0a0b0a; --paper-2:#111110; --ink:#eee9dd;
    --muted:#918a7c; --accent:#b99a5e;
    --rule:rgba(185,154,94,.30); --rule-soft:rgba(185,154,94,.18);
  }
  *{margin:0;padding:0;box-sizing:border-box}
  body{background:var(--paper);color:var(--ink);font-family:Georgia,"Times New Roman",serif;-webkit-font-smoothing:antialiased}
  .wrap{max-width:none;width:100%;margin:0 auto;padding:0 3.5vw}
  /* every image renders at its ORIGINAL aspect ratio — never cropped, never stretched */
  img{display:block;width:100%;height:auto;max-width:100%;filter:saturate(.97) contrast(1.02)}

  /* ---------- masthead ---------- */

  .mast{padding:62px 0 0}
  .mast .kicker-top{display:flex;justify-content:space-between;font-family:Arial,Helvetica,sans-serif;font-size:10.5px;letter-spacing:.24em;color:var(--muted);padding-bottom:12px}
  .rule-2{border-top:3px solid var(--ink);border-bottom:1px solid var(--ink);height:5px}
  .nameplate{text-align:center;padding:26px 0 22px}
  .nameplate h1{font-size:56px;line-height:1;font-weight:400;letter-spacing:.06em}
  .nameplate .sub{margin-top:12px;font-family:Arial,Helvetica,sans-serif;font-size:11px;letter-spacing:.42em;color:var(--accent)}

  /* ---------- lead ---------- */
  .lead{border-top:2px solid var(--ink);padding-top:22px;margin-top:34px}
  .lead .kicker{font-family:Arial,Helvetica,sans-serif;font-size:10.5px;letter-spacing:.3em;color:var(--accent)}
  .lead h3{font-size:46px;line-height:1.12;font-weight:400;margin:14px 0 16px;max-width:900px}
  .lead .deck{font-size:19px;line-height:1.65;color:var(--muted);font-style:italic;max-width:760px;padding-bottom:18px;border-bottom:1px solid var(--rule-soft)}
  .byline{font-family:Arial,Helvetica,sans-serif;font-size:10.5px;letter-spacing:.22em;color:var(--muted);padding:12px 0 20px}
  .lead-body{columns:2;column-gap:38px;column-rule:1px solid var(--rule-soft);padding:26px 0 12px;font-size:15px;line-height:1.85;color:#cfc9bb}
  .lead-body p + p{margin-top:12px}
  .lead-body p:first-child::first-letter{float:left;font-size:52px;line-height:.86;padding:4px 10px 0 0;color:var(--accent)}

  /* ---------- bands ---------- */
  .band{margin-top:44px}
  .band-head{display:flex;align-items:center;gap:16px;border-top:2px solid var(--ink);padding:10px 0 4px}
  .band-head span{font-family:Arial,Helvetica,sans-serif;font-size:10.5px;letter-spacing:.3em;color:var(--accent);white-space:nowrap}
  .band-head i{flex:1;height:1px;background:var(--rule-soft)}
  .band-head em{font-family:Arial,Helvetica,sans-serif;font-size:10.5px;letter-spacing:.2em;color:var(--muted);font-style:normal}

  /* Row = grid whose column widths are allocated in proportion to each photo group's
     total aspect ratio (sum of the images' own ratios). Consequence: every image in a
     row renders at exactly the SAME height, at its ORIGINAL aspect ratio, filling the
     row width exactly. No cropping, no stretching, no ragged edges. */
  .row{display:grid;grid-template-columns:var(--cols);gap:32px;align-items:stretch;padding-top:24px}
  .row>*{min-width:0}

  .story{min-width:0;display:flex;flex-direction:column;padding-top:14px;border-top:1px solid var(--rule)}
  .story .k{display:flex;justify-content:space-between;align-items:baseline;font-family:Arial,Helvetica,sans-serif;font-size:10px;letter-spacing:.24em;color:var(--accent)}
  .story .k em{font-style:normal;color:var(--muted);letter-spacing:.18em}
  .story h4{font-size:21px;line-height:1.3;font-weight:400;margin:11px 0 10px}
  .story h4.big{font-size:26px}
  .story p{font-size:14px;line-height:1.75;color:#c8c2b4;margin-top:10px}
  .story p.lede{margin-top:0;margin-bottom:12px}
  .story.small h4{font-size:17.5px}
  .story.small p{font-size:13px;line-height:1.7}

  .ph{margin-top:auto;display:grid;grid-template-columns:var(--pcols);gap:7px;align-items:start;padding-top:16px}
  .ph figure{min-width:0;display:flex;flex-direction:column}
  .cap,figcaption{font-size:11.5px;line-height:1.55;color:var(--muted);font-style:italic;padding-top:7px;margin-top:8px;border-top:1px solid var(--rule-soft);height:calc(3.1em + 7px);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .cap b{font-style:normal;color:var(--accent);font-weight:400;font-family:Arial,Helvetica,sans-serif;font-size:9.5px;letter-spacing:.16em}

  @media (max-width:980px){
    .nameplate h1{font-size:34px}
    .lead h3{font-size:30px}
    .lead-body{columns:1}
    .row{display:block}
    .story{margin-bottom:34px}
    .ph{grid-template-columns:1fr}
  }

/* ============================================================
   Standalone NEWS page.
   The site header in theme.css is absolutely positioned because on the
   home page it floats over the full-bleed hero. On this page it must sit
   in normal flow above the masthead, so we re-anchor it.
   ============================================================ */
.site-header{position:relative;top:auto;left:auto;background:var(--paper);border-bottom:1px solid var(--rule)}
main{display:block}
.mast{padding-top:58px}
#news{padding-bottom:0}
.topbar{display:none}
