/* ===== News index grid + story pages (loaded on news.html + /news/*.html) ===== */
@view-transition{navigation:auto}

/* ---- INDEX GRID ---- */
.newswrap{max-width:1180px;margin:0 auto;padding:0 22px 220px}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:920px){.news-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.news-grid{grid-template-columns:1fr}}

.ncard{display:flex;flex-direction:column;text-decoration:none;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:rgba(0,28,16,.5);transition:transform .3s cubic-bezier(.2,.7,.3,1.2),border-color .3s ease,box-shadow .3s ease}
.ncard:hover{transform:translateY(-5px);border-color:var(--leaf);box-shadow:0 16px 40px rgba(0,0,0,.45)}
.nthumb{aspect-ratio:16/10;background:#fff;display:flex;align-items:center;justify-content:center;padding:20px;overflow:hidden}
.nthumb img{max-width:100%;max-height:100%;width:auto;object-fit:contain}
.nmeta{padding:15px 18px 20px;flex:1;display:flex;flex-direction:column}
.ndate{font-family:var(--data);font-weight:700;letter-spacing:1px;text-transform:uppercase;font-size:15px;color:var(--orange)}
.nhead{font-family:var(--disp);font-weight:700;text-transform:uppercase;font-size:17px;line-height:1.22;color:var(--cream);margin-top:8px}
.ncard:hover .nhead{color:var(--leaf)}

/* hero card = latest story, full-width, image + text side by side */
.news-hero{display:grid;grid-template-columns:1.15fr .85fr;border:1px solid var(--line);border-radius:16px;overflow:hidden;text-decoration:none;background:rgba(0,28,16,.5);transition:transform .3s cubic-bezier(.2,.7,.3,1.2),border-color .3s ease,box-shadow .3s ease}
.news-hero:hover{transform:translateY(-4px);border-color:var(--leaf);box-shadow:0 20px 50px rgba(0,0,0,.5)}
.news-hero .nthumb{aspect-ratio:auto;min-height:300px}
.news-hero .nmeta{padding:clamp(24px,4vw,44px);justify-content:center}
.news-hero .ndate{font-size:clamp(15px,1.7vw,19px)}
.news-hero .nhead{font-size:clamp(22px,3.2vw,34px);margin-top:8px}
.news-hero .nexc{font-family:var(--body);font-size:15.5px;line-height:1.6;color:var(--cream);opacity:.85;margin-top:14px}
.news-hero .nmore{font-family:var(--data);font-weight:700;letter-spacing:1px;text-transform:uppercase;font-size:13px;color:var(--orange);margin-top:18px}
@media(max-width:760px){.news-hero{grid-template-columns:1fr}.news-hero .nthumb{min-height:220px}}

/* newsletter — full-width band between the headline story and the grid (from the old Updates page) */
.nl-card{display:grid;grid-template-columns:1.1fr 1fr;gap:8px 40px;align-items:center;border:1px solid var(--line);border-left:5px solid var(--orange);border-radius:16px;background:rgba(22,22,22,.6);padding:24px 28px;margin:22px 0}
@media(max-width:820px){.nl-card{grid-template-columns:1fr;gap:14px}}
.nl-h{font-family:var(--disp);font-weight:700;text-transform:uppercase;font-size:clamp(19px,2vw,24px);color:var(--cream);margin:0 0 8px}
.nl-card p{font-family:var(--body);font-size:16px;line-height:1.6;color:var(--cream);opacity:.95;margin:0}
.nl-form{display:flex;gap:10px;flex-wrap:wrap}
.nl-form input[type=email]{flex:1 1 200px;min-width:0;font-family:var(--body);font-size:16px;padding:13px 16px;border-radius:26px;border:1px solid var(--line-2);background:#0e0f0e;color:var(--cream)}
.nl-form input[type=email]::placeholder{color:rgba(228,228,216,.4)}
.nl-form input[type=email]:focus{outline:none;border-color:var(--leaf)}
.nl-note{font-family:var(--data);letter-spacing:1px;text-transform:uppercase;font-size:11px;color:var(--cream);opacity:.5;margin-top:14px}
.nl-msg{display:none;margin:0 0 14px;font-family:var(--body);font-size:15px;line-height:1.5;color:var(--leaf)}
.nl-msg.show{display:block}
.nl-msg.err{color:var(--orange)}

/* DISPLAY MORE pill (grid pagination: swaps the visible 6 for the next 6) */
.news-morewrap{display:flex;justify-content:center;margin-top:26px}
.news-morewrap[hidden]{display:none} /* hidden attr loses to display:flex without this */
.news-more{appearance:none;-webkit-appearance:none;cursor:pointer;border:1px solid var(--line);border-radius:999px;background:#000;color:var(--cream);font-family:var(--data);font-weight:700;letter-spacing:1.5px;text-transform:uppercase;font-size:13px;padding:13px 32px;transition:border-color .2s ease,color .2s ease}
.news-more:hover{border-color:var(--leaf);color:var(--leaf)}

/* frequently updated files (moved here from the old Updates page) */
.newsfiles{margin-top:46px}
.nf-h{font-family:var(--disp);font-weight:700;text-transform:uppercase;text-align:center;font-size:clamp(19px,2.2vw,24px);color:var(--cream);margin:0 0 6px}
.nf-say{font-family:var(--body);font-size:15.5px;line-height:1.6;text-align:center;color:var(--cream);opacity:.9;max-width:600px;margin:0 auto 20px}
.files{border:1px solid var(--line);border-radius:12px;overflow:hidden;max-width:760px;margin:0 auto}
.file{display:flex;align-items:center;gap:14px;padding:15px 16px;border-top:1px solid var(--line);text-decoration:none;transition:background .2s ease}
.file:first-child{border-top:0}
.file:hover{background:rgba(0,28,16,.5)}
.file .ic{flex:0 0 auto;width:40px;height:40px;border-radius:8px;background:var(--forest-2);color:var(--orange);display:grid;place-items:center;font-family:var(--data);font-weight:700;font-size:11px}
.file .fm{flex:1;min-width:0}
.file .fm .t{font-family:var(--disp);font-weight:700;text-transform:uppercase;font-size:15px;color:var(--cream);line-height:1.2}
.file .fm .u{font-family:var(--data);letter-spacing:1px;text-transform:uppercase;font-size:11px;color:var(--leaf);margin-top:3px;display:block}
.file .dl{flex:0 0 auto;font-family:var(--data);letter-spacing:1px;text-transform:uppercase;font-size:11px;color:var(--leaf)}

/* ---- STORY PAGE â€” single readable column, image/gallery on top ---- */
/* the "NEWS" page title + its ‹ back arrow come from the shared page chrome now; the story's own
   date + title sit below it, with room to breathe */
.storywrap{max-width:980px;margin:clamp(44px,6vw,70px) auto 0;padding:30px clamp(18px,4vw,42px) 44px;background:rgba(0,28,16,.5);border:1px solid var(--line);border-radius:18px}
.story-head{margin-bottom:38px}
.story-eyebrow{font-family:var(--disp);font-weight:700;letter-spacing:.8px;text-transform:uppercase;font-size:15px;color:var(--orange);margin-bottom:14px}
/* solid Gravesend Sans (not the outlined display face) at a sane size — long news headlines read
   far better than the huge outlined font, which looked absurd across three lines */
.story-title{font-family:var(--disp);font-weight:700;text-transform:uppercase;font-size:clamp(23px,2.9vw,36px);line-height:1.16;letter-spacing:.4px;color:var(--cream);margin:0}

/* gallery on top, full column width */
.gallery{margin:0 0 34px}
.gmain{position:relative;background:#fff;border:1px solid var(--line);border-radius:14px;aspect-ratio:16/10;overflow:hidden;display:grid;place-items:center}
.gmain .gslide{position:absolute;inset:0;padding:26px;opacity:0;transition:opacity .45s ease}
.gmain .gslide.on{opacity:1}
.gmain .gslide img{display:block;width:100%;height:100%;object-fit:contain}
.gdots{display:flex;justify-content:center;gap:9px;margin-top:14px}
.gdot{width:9px;height:9px;border-radius:50%;border:0;background:rgba(228,228,216,.28);cursor:pointer;transition:background .2s ease,transform .2s ease}
.gdot.on{background:var(--leaf);transform:scale(1.25)}
.gsingle .gdots{display:none}
/* overlay prev/next arrows — fade in on hover (desktop), subtle on touch (swipe also works) */
.garrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:44px;height:44px;border:0;border-radius:50%;background:rgba(0,0,0,.42);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .25s ease,background .2s ease}
.garrow svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.garrow:hover{background:rgba(0,0,0,.72)}
.gprev{left:12px}.gnext{right:12px}
.gmain:hover .garrow{opacity:1}
@media (hover:none){.garrow{opacity:.5}}
.gsingle .garrow{display:none}

/* PHOTO images (full-bleed photos / posters) fill the frame with NO white card or padding.
   The default #fff background + padding on .nthumb/.gmain is for LOGO artwork only (sponsor logos
   that need a white backing on the dark theme). Add .photo when the image IS a photograph. */
.nthumb.photo{background:none;padding:0}
.nthumb.photo img{width:100%;height:100%;object-fit:cover}
/* SINGLE photo → full-bleed at its native height (the active slide is in flow, no letterbox) */
.gallery.photo.gsingle .gmain{background:none;border:0;border-radius:14px;aspect-ratio:auto;display:block;overflow:hidden}
.gallery.photo.gsingle .gmain .gslide{position:relative;inset:auto;padding:0}
.gallery.photo.gsingle .gmain .gslide img{display:block;width:100%;height:auto;border-radius:14px}

/* MULTI photo → a FIXED-height frame the photos FILL (object-fit:cover), so clicking a dot never
   reflows the page (mixed portrait + landscape shots used to switch the height and jump the reader)
   AND there's no dead letterbox space around portrait shots. Each photo crossfades in place; its
   average colour tints the frame as a placeholder until it paints. */
.gallery.photo:not(.gsingle) .gmain{background:#0e0f0e;border:0;border-radius:14px;aspect-ratio:3/2;display:block;position:relative;overflow:hidden}
.gallery.photo:not(.gsingle) .gmain .gslide{position:absolute;inset:0;padding:0}
.gallery.photo:not(.gsingle) .gmain .gslide img{width:100%;height:100%;object-fit:cover;border-radius:0}
@media(max-width:600px){.gallery.photo:not(.gsingle) .gmain{aspect-ratio:4/3}}

/* article */
.article p{font-family:var(--body);font-size:17px;line-height:1.75;color:var(--cream);opacity:.95;margin-bottom:18px}
.article .lead{font-size:19px;opacity:1;font-weight:600}
.article a{color:var(--orange);text-decoration:none;border-bottom:1px solid rgba(243,146,0,.5)}
.article a:hover{border-bottom-color:var(--orange)}
.article .awards,.article ul{list-style:none;margin:4px 0 18px;padding:0}
/* numbered lists — same rows as the bullet list, but the orange dot is replaced by the number */
.article ol{list-style:none;margin:4px 0 18px;padding:0;counter-reset:mgpol}
.article ol li{counter-increment:mgpol;position:relative;font-family:var(--body);font-size:17px;line-height:1.55;color:var(--cream);opacity:.95;padding:11px 0 11px 34px;border-bottom:1px solid var(--line)}
.article ol li:before{content:counter(mgpol);position:absolute;left:0;top:11px;width:22px;text-align:center;font-family:var(--data);font-weight:700;font-size:14px;color:var(--orange)}
.article ol li b,.article ol li strong{color:var(--leaf);font-weight:700}
.article .awards li,.article ul li{position:relative;font-family:var(--body);font-size:17px;line-height:1.55;color:var(--cream);opacity:.95;padding:11px 0 11px 22px;border-bottom:1px solid var(--line)}
.article .awards li:before,.article ul li:before{content:"";position:absolute;left:0;top:19px;width:9px;height:9px;border-radius:50%;background:var(--orange)}
.article .awards li b,.article ul li b,.article ul li strong{color:var(--leaf);font-weight:700}
.article .appeal-addr{padding-left:16px;border-left:3px solid var(--leaf);line-height:1.65}
.article blockquote{margin:26px 0;padding:20px 24px;border-left:4px solid var(--orange);background:rgba(22,22,22,.6);border-radius:0 12px 12px 0}
.article blockquote p{font-family:var(--serif);font-size:19px;line-height:1.6;font-style:italic;opacity:1;margin-bottom:10px}
.article blockquote cite{display:block;font-family:var(--data);font-weight:700;letter-spacing:.5px;text-transform:uppercase;font-size:13.5px;font-style:normal;color:var(--leaf)}
.words{margin-top:32px;padding-top:18px;border-top:1px solid var(--line);font-family:var(--data);font-weight:700;letter-spacing:1px;text-transform:uppercase;font-size:13px;color:var(--cream);opacity:.6}

/* downloadable media box (raw text + images + MGP/MMCC logo pack) */
.mediabox{display:flex;align-items:center;gap:16px;margin-top:24px;padding:16px 18px;border:1px solid var(--line);border-left:4px solid var(--orange);border-radius:12px;background:rgba(22,22,22,.6);text-decoration:none;transition:background .2s ease,border-color .2s ease}
.mediabox:hover{background:rgba(34,34,34,.75);border-color:var(--orange)}
.mediabox .mb-ic{flex:0 0 auto;width:42px;height:42px;border-radius:9px;background:var(--forest-2);color:var(--orange);display:grid;place-items:center;font-size:20px}
.mediabox .mb-txt{flex:1;min-width:0}
.mediabox .mb-txt b{display:block;font-family:var(--disp);font-weight:700;text-transform:uppercase;font-size:16px;color:var(--cream);line-height:1.2}
.mediabox .mb-txt span{display:block;font-family:var(--data);font-weight:700;letter-spacing:.5px;text-transform:uppercase;font-size:12px;color:var(--leaf);margin-top:3px}
.mediabox .mb-dl{flex:0 0 auto;font-family:var(--data);font-weight:700;letter-spacing:1px;text-transform:uppercase;font-size:12px;color:var(--orange)}

/* ===== Press pack (article foot): PDF quick-view + image quick-view + downloads ===== */
/* Press pack = collapsed accordion (keeps the article short); blurred MGP mark behind it */
.presspack{position:relative;overflow:hidden;margin-top:30px;border:1px solid var(--line);border-radius:16px;background:rgba(17,40,27,.35)}
.presspack::before{content:"";position:absolute;inset:0;background:url(/assets/images/logo.svg) right -30px center/auto 210% no-repeat;filter:blur(7px);opacity:.08;pointer-events:none}
.presspack>summary{position:relative;z-index:1;cursor:pointer;list-style:none;padding:19px 52px 19px 22px;transition:background .2s ease}
.presspack>summary::-webkit-details-marker{display:none}
.presspack>summary:hover{background:rgba(40,152,81,.08)}
.presspack>summary::after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);font-family:var(--data);font-weight:400;font-size:28px;line-height:1;color:var(--leaf)}
.presspack[open]>summary::after{content:"\2013"}
.pp-body{position:relative;z-index:1;padding:2px 22px 22px}
.pp-h-t{display:block;font-family:var(--disp);font-weight:700;text-transform:uppercase;font-size:18px;color:var(--cream);line-height:1.2}
.pp-h-s{display:block;font-family:var(--data);font-weight:700;letter-spacing:.5px;text-transform:uppercase;font-size:12px;color:var(--leaf);margin-top:4px}
.pp-pdf{display:flex;gap:16px;border:1px solid var(--line);border-radius:12px;background:rgba(22,22,22,.6);padding:14px;margin-bottom:18px}
.pp-pdf-frame{position:relative;display:block;flex:1 1 auto;min-width:0;border-radius:8px;overflow:hidden;background:#fff;border:1px solid var(--line);text-decoration:none}
.pp-pdf-frame img{display:block;width:100%;height:auto;max-height:520px;object-fit:cover;object-position:top center}
.pp-pdf-open{position:absolute;left:0;right:0;bottom:0;padding:12px 10px 10px;text-align:center;font-family:var(--data);font-weight:700;letter-spacing:.5px;text-transform:uppercase;font-size:11px;color:#fff;background:linear-gradient(transparent,rgba(17,40,27,.9))}
.pp-pdf-frame:hover img{opacity:.94}
.pp-pdf-frame:hover .pp-pdf-open{color:var(--orange)}
.pp-pdf-side{flex:0 0 210px;display:flex;flex-direction:column;gap:9px;align-items:stretch}
.pp-pdf-ic{font-size:30px;line-height:1}
.pp-pdf-meta b{display:block;font-family:var(--disp);font-weight:700;text-transform:uppercase;font-size:16px;color:var(--cream)}
.pp-pdf-meta span{display:block;font-family:var(--data);font-weight:700;letter-spacing:.5px;text-transform:uppercase;font-size:12px;color:var(--leaf);margin-top:2px;margin-bottom:4px}
.pp-btn{text-align:center;font-family:var(--data);font-weight:700;letter-spacing:.5px;text-transform:uppercase;font-size:12px;padding:11px 14px;border-radius:9px;border:1px solid var(--line);color:var(--cream);text-decoration:none;transition:border-color .2s ease,color .2s ease}
.pp-btn:hover{border-color:var(--orange);color:var(--orange)}
.pp-btn.primary{background:var(--orange);color:var(--forest);border-color:var(--orange)}
.pp-btn.primary:hover{filter:brightness(1.06);color:var(--forest)}
.pp-assets{margin-bottom:18px}
.pp-assets-h{font-family:var(--data);font-weight:700;letter-spacing:.5px;text-transform:uppercase;font-size:12px;color:var(--leaf);margin-bottom:10px}
.pp-thumbs{display:flex;flex-wrap:wrap;gap:12px}
.pp-thumb{width:150px;text-decoration:none}
.pp-thumb img{display:block;width:150px;height:100px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px;transition:border-color .2s ease}
.pp-thumb span{display:block;font-family:var(--data);font-size:10.5px;letter-spacing:.3px;color:var(--cream);opacity:.7;margin-top:5px;word-break:break-word}
.pp-thumb:hover img{border-color:var(--orange)}
@media(max-width:640px){
  .pp-pdf{flex-direction:column}
  .pp-pdf-side{flex-basis:auto}
  .pp-pdf-frame img{max-height:400px}
  .pp-thumb,.pp-thumb img{width:120px}
  .pp-thumb img{height:84px}
}

/* news index: let the grid use its own wider width (overrides content.css .wrap) */
.pg-news .wrap{max-width:none;padding:0;margin:0}

/* RSS feed link under the News title */
.news-rss{display:flex;align-items:center;justify-content:center;gap:7px;font-family:var(--data);font-weight:700;text-transform:uppercase;letter-spacing:.5px;font-size:12.5px;color:var(--cream);opacity:.72;text-decoration:none;margin:22px 0 30px;transition:color .2s ease,opacity .2s ease}
.news-rss:hover{color:var(--orange);opacity:1}
.news-rss svg{color:var(--orange)}

/* divider block (--- in the Newsroom → a <line> block → <hr>) */
.article hr{border:0;border-top:2px solid var(--leaf);margin:30px 0;opacity:.55}

/* story gallery width — chosen in the Newsroom (Full width is the default and needs no class) */
.gallery.w-medium{max-width:660px;margin-left:auto;margin-right:auto}
.gallery.w-small{max-width:440px;margin-left:auto;margin-right:auto}

/* ---- Share this story bar (article pages) — centred in the gap under the NEWS header, where the
   news index shows its RSS button (i.e. ABOVE the story card, not inside it) ---- */
/* Share bar now sits BELOW the whole story + media box, outside the green card: centred column,
   the SHARE label above the icon row. Carries the ~210px bottom clearance for the floating menu pill. */
.story-sharebar{max-width:980px;margin:0 auto;padding:34px 22px 210px;display:flex;flex-direction:column;align-items:center;gap:13px}
.story-share{display:flex;align-items:center;justify-content:center;gap:12px;margin:0}
.ss-label{font-family:var(--data);font-weight:700;text-transform:uppercase;letter-spacing:1px;font-size:13px;color:var(--cream);opacity:.72;text-align:center}
.ss-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:var(--cream);cursor:pointer;text-decoration:none;position:relative;transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease}
.ss-btn svg{width:18px;height:18px;fill:currentColor;display:block}
.ss-btn:hover,.ss-btn:focus-visible{transform:translateY(-2px);outline:none}
.ss-fb:hover,.ss-fb:focus-visible{background:#1877f2;border-color:#1877f2;color:#fff}
.ss-x:hover,.ss-x:focus-visible{background:#000;border-color:#000;color:#fff}
.ss-th:hover,.ss-th:focus-visible{background:#000;border-color:#000;color:#fff}
.ss-copy:hover,.ss-copy:focus-visible{background:var(--orange);border-color:var(--orange);color:#11281b}
.ss-copied{position:absolute;bottom:-20px;left:50%;transform:translateX(-50%);font-family:var(--data);font-size:11px;color:#35c46f;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease}
.ss-copy.done .ss-copied{opacity:1}
