/* ==========================================================================
   News — press cards and marquee
   Lifted out of news.html. Loads after home.css and mobile.css, which is where
   it sat inline, so the cascade is unchanged.
   ========================================================================== */

.news-hero{background:#1C2957;color:#fff;padding:118px 0 96px;position:relative;overflow:hidden}
.news-hero .wrap{position:relative;z-index:1;max-width:1040px}
.news-hero h1{color:#fff;font-size:calc(clamp(44px,5.4vw,72px) * var(--type-scale));line-height:1.03;margin:0}
.news-hero p{margin:22px 0 0;max-width:620px;font-size:18px;line-height:1.7;color:#c9d4ee}
.news-strip{background:var(--paper);border-bottom:1px solid var(--line);padding:48px 0}
.news-strip__lead{font-size:14.5px;color:var(--ink-soft);margin:0 0 26px}
.news-marquee{overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.news-marquee__track{display:flex;width:max-content;animation:news-marquee 34s linear infinite}
.news-marquee__track > span{display:flex;align-items:center;gap:64px;padding-right:64px}
.news-marquee__track img{height:var(--mh,52px);width:auto;object-fit:contain;display:block}
@keyframes news-marquee{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.news-marquee__track{animation:none}}
.news-sec{padding:var(--section-y) 0}
.news-sec--tint{background:var(--tint)}
.news-sec__head{max-width:760px;margin:0 0 44px}
.news-sec__head h2{font-size:calc(clamp(30px,3.4vw,44px) * var(--type-scale));line-height:1.1;color:var(--ink);margin:0}
.news-sec__head p{margin:16px 0 0;font-size:16.5px;line-height:1.7;color:var(--ink-soft)}
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
@media (max-width:1180px){.pgrid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:1000px){.pgrid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.pgrid{grid-template-columns:1fr}}
.pcard{display:grid;grid-template-rows:auto 1fr;border-radius:16px;overflow:hidden;background:var(--white);border:1px solid var(--line)}
.pcard__media{display:block;aspect-ratio:1/1;background:#dfe4ef}
.pcard__media image-slot{width:100%;height:100%;display:block}
.pcard__body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:10px}
.pcard__chip{align-self:flex-start;display:flex;align-items:center;height:32px}
.pcard__chip img{height:var(--ch,22px);max-width:150px;width:auto;object-fit:contain;display:block}
.pcard h3{margin:0;color:var(--ink);font-size:17.5px;line-height:1.32;text-wrap:pretty}
.pcard p{margin:0;color:var(--ink-soft);font-size:14px;line-height:1.58}
.pcard__foot{display:flex;align-items:center;margin-top:auto;padding-top:14px}
.pcard__btn{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;padding:9px 18px;border:1px solid var(--accent);border-radius:999px;background:transparent;color:var(--accent);font-family:inherit;font-size:13.5px;font-weight:600;text-decoration:none;transition:background .18s ease,color .18s ease}
.pcard__btn:hover{background:var(--accent);color:#fff}
.news-awards{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
@media (max-width:900px){.news-awards{grid-template-columns:repeat(2,1fr)}}
.news-award{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:32px 28px;display:flex;flex-direction:column;gap:22px;min-height:238px}
.news-award img{height:var(--h,58px);width:auto;object-fit:contain;object-position:left center;align-self:flex-start}
.news-award b{font-size:15.5px;line-height:1.45;color:var(--ink)}
.news-award span{font-size:13.5px;color:var(--ink-soft);margin-top:auto}
