/* ——— SIRBAI news: the homepage News cards and the press-release page (same tokens and parts as css/style.css) ——— */

/* homepage: News — a row of cards, date · title · picture · summary · read more */
.news{position:relative; background:var(--card); padding:clamp(72px, 10vh, 118px) 0 clamp(56px, 8vh, 96px); overflow:hidden; isolation:isolate}
.news > .measure{z-index:-1}
.news-head{display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:clamp(24px, 4vh, 44px)}
.news-head .eyebrow{margin-bottom:clamp(16px, 2.4vh, 26px)}
.news-head .stitle{color:var(--ink)}
.news-head .cap{color:var(--silt)}
.news-grid{display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:clamp(14px, 1.4vw, 22px)}
.nc{position:relative; background:rgba(239,237,233,.95); border:1px solid rgba(42,35,31,.28); transition:border-color .4s var(--ease), background-color .4s var(--ease)}
.nc a{display:flex; flex-direction:column; height:100%}
/* the contact cards' dashed hairlines between head, picture and body */
.nc-head,.nc-fig{background-image:linear-gradient(90deg, rgba(42,35,31,.35) 50%, transparent 0); background-size:10px 1px; background-repeat:repeat-x; background-position:bottom}
.nc-head{display:flex; justify-content:space-between; gap:12px; padding:16px clamp(18px, 1.6vw, 24px) 14px; color:var(--silt); font-size:10.5px}
.nc-fig{position:relative; padding:clamp(16px, 1.4vw, 22px) clamp(18px, 1.6vw, 24px) 34px}
.nc-read{position:absolute; right:clamp(18px, 1.6vw, 24px); bottom:10px; color:var(--silt); font-size:10px}
.nc-body{display:flex; flex-direction:column; gap:14px; flex:1; padding:clamp(18px, 1.6vw, 24px)}
.nc-date{color:var(--deep-type)}
.nc h3{margin:0; font-family:var(--display); font-weight:500; text-transform:uppercase; font-size:clamp(19px, 1.45vw, 23px); line-height:1.04; letter-spacing:-.02em; color:var(--ink);
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden}
.nc-img{--k:12px; display:block; aspect-ratio:16/10; overflow:hidden; background:var(--field); clip-path:polygon(0 0, calc(100% - var(--k)) 0, 100% var(--k), 100% 100%, var(--k) 100%, 0 calc(100% - var(--k)))}
.nc-img img{display:block; width:100%; height:100%; object-fit:cover; filter:saturate(.85); transition:transform 1.2s var(--ease), filter .6s var(--ease)}
.nc p{margin:0; font-size:14.5px; line-height:1.55; color:var(--haze); display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden}
.nc-more{margin-top:auto; display:inline-flex; align-items:center; gap:12px; color:var(--ink); font-size:11px}
.nc-more::after{content:""; width:22px; height:1px; background:currentColor; transform-origin:left; transition:transform .6s var(--ease)}
.nc:hover,.nc:focus-within{border-color:rgba(42,35,31,.55); background:var(--bone)}
.nc:hover .nc-img img,.nc:focus-within .nc-img img{transform:scale(1.04); filter:saturate(1)}
.nc:hover .nc-more::after,.nc:focus-within .nc-more::after{transform:scaleX(1.8)}
.nc a:focus-visible{outline:1.5px solid var(--deep); outline-offset:-4px}
@media (max-width: 1100px){ .news-grid{grid-template-columns:repeat(2, minmax(0,1fr))} }
@media (max-width: 700px){ .news-grid{grid-template-columns:1fr} .news-head{flex-direction:column; align-items:flex-start} }

/* press-release page */
body.pr-pg{background:var(--card)}
.pr-head{position:relative; isolation:isolate; text-align:center; padding-top:calc(var(--nh, 88px) + clamp(70px, 12vh, 140px)); padding-bottom:clamp(40px, 6vh, 64px)}
.pr-head > .measure{z-index:-1}
.pr-back{display:inline-flex; align-items:center; gap:12px; color:var(--deep-type); margin-bottom:clamp(26px, 4vh, 40px); transition:gap .4s var(--ease)}
.pr-back::before{content:""; width:22px; height:1px; background:currentColor}
.pr-back:hover,.pr-back:focus-visible{gap:18px}
.pr-head .eyebrow{display:flex; justify-content:center; margin-bottom:clamp(18px, 2.6vh, 28px)}
.pr-title{margin:0 auto; max-width:calc(1320px - 2 * (var(--gut) + var(--pad))); font-family:var(--display); font-weight:500; text-transform:uppercase; font-size:clamp(28px, 3.1vw, 50px); line-height:.98; letter-spacing:-.035em; color:var(--ink); text-wrap:balance}
.pr-meta{display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-top:clamp(26px, 4vh, 40px)}
.pr-chip{--k:8px; display:inline-flex; align-items:center; gap:10px; height:34px; padding:0 16px; background:rgba(239,237,233,.95); border:1px solid rgba(42,35,31,.22); color:var(--umber); font-size:10.5px}
.pr-chip.dark{background:var(--umber); border-color:var(--umber); color:var(--bone)}
.pr-fig{margin:0 auto; max-width:1320px}
.pr-fig img{--k:18px; display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; clip-path:polygon(0 0, calc(100% - var(--k)) 0, 100% var(--k), 100% 100%, var(--k) 100%, 0 calc(100% - var(--k)))}
.pr-body{max-width:760px; margin:0 auto; padding:clamp(48px, 8vh, 90px) calc(var(--gut) + var(--pad)) clamp(90px, 14vh, 160px); box-sizing:content-box; color:var(--umber); font-size:17px; line-height:1.72}
.pr-body p{margin:0 0 1.25em}
.pr-body strong{font-weight:600; color:var(--ink)}
.pr-lede{font-size:clamp(19px, 1.5vw, 22px); line-height:1.5; color:var(--loam); font-style:italic; padding-bottom:1.25em; margin-bottom:1.6em !important; border-bottom:1px solid rgba(42,35,31,.22)}
.pr-quote{position:relative; margin:2em 0; padding:4px 0 4px clamp(20px, 2.4vw, 32px); border-left:2px solid var(--deep)}
.pr-quote p{margin:0; color:var(--ink)}
@media (max-width: 700px){ .pr-body{font-size:16px} .pr-title{max-width:none} }
