/* Cineva news — shared styles for the index and all article pages.
   Loaded after styles.css on every page in /news/. Edit here once, not per page. */

.news-mag { --mag:#C9337A; }

/* index hero + content overlap */
.news-hero { position:relative; min-height:clamp(220px,26vw,360px); overflow:hidden; }
.news-hero-bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 82%; }
.news-hero-scrim { position:absolute; inset:0; background:linear-gradient(180deg,rgba(8,9,11,0) 55%,rgba(8,9,11,.6) 100%); }
.news-mag .section { position:relative; z-index:2; margin-top:clamp(-8rem,-10vw,-5rem); background:var(--ink,#1C1D20); border-top:none; border-radius:16px 16px 0 0; }

/* service badges */
.svc-tags { display:flex; flex-wrap:wrap; gap:.4rem; }
.svc-tags:empty { display:none; }
.svc-tag { display:inline-flex; align-items:center; gap:.4rem; padding:.3rem .6rem .3rem .45rem; border:1px solid rgba(255,255,255,.13); border-radius:999px; text-decoration:none; color:inherit; font-family:'JetBrains Mono',monospace; font-size:.66rem; letter-spacing:.04em; text-transform:uppercase; transition:border-color .18s, background .18s, transform .18s; }
.svc-tag:hover { border-color:var(--cyan,#38e1d6); background:rgba(56,225,214,.07); transform:translateY(-1px); }
.svc-tag svg { width:15px; height:15px; flex:none; fill:#C9337A; }

/* article social share */
.article-share { display:flex; align-items:center; flex-wrap:wrap; gap:.4rem; margin:.2rem 0 0; }
.article-share:empty { display:none; }
.article-share .share-label { font-family:'JetBrains Mono',monospace; font-size:.66rem; letter-spacing:.08em; text-transform:uppercase; opacity:.6; margin-right:.25rem; }
.share-btn { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; padding:0; border:1px solid rgba(255,255,255,.13); border-radius:999px; background:transparent; color:inherit; cursor:pointer; text-decoration:none; position:relative; transition:border-color .18s, background .18s, transform .18s; }
.share-btn:hover { border-color:var(--cyan,#38e1d6); background:rgba(56,225,214,.07); transform:translateY(-1px); }
.share-btn svg { width:16px; height:16px; flex:none; fill:var(--cyan,#38e1d6); }
.share-btn.is-copy.copied { border-color:var(--cyan,#38e1d6); }
.share-btn.is-copy.copied svg { fill:var(--cyan,#38e1d6); }
.share-btn.is-copy.copied::after { content:"Copied"; position:absolute; bottom:calc(100% + 6px); left:50%; transform:translateX(-50%); font-family:'JetBrains Mono',monospace; font-size:.58rem; letter-spacing:.06em; text-transform:uppercase; background:var(--cyan,#38e1d6); color:#06121a; padding:.15rem .4rem; border-radius:3px; white-space:nowrap; pointer-events:none; }
.share-status { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; border:0; }
.article-share-bottom { margin-top:var(--s-6,1.5rem); padding-top:1.1rem; border-top:1px solid rgba(255,255,255,.08); }

/* index feed rows */
.news-river { display:flex; flex-direction:column; border-top:1px solid rgba(255,255,255,.10); }
.news-row { display:grid; grid-template-columns:210px 1fr; gap:1.5rem; padding:1.7rem 0; border-bottom:1px solid rgba(255,255,255,.10); }
.news-row-media { display:block; aspect-ratio:16/10; border-radius:5px; overflow:hidden; background:#111; }
.news-row-media img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .45s ease; }
.news-row-media:hover img { transform:scale(1.03); }
.news-row h3 { font-size:1.3rem; line-height:1.18; margin:.35rem 0 .4rem; }
.news-row h3 a { color:inherit; text-decoration:none; }
.news-row h3 a:hover { color:var(--cyan,#38e1d6); }
.news-row .dek { opacity:.8; line-height:1.55; margin:0 0 .75rem; max-width:64ch; }
.news-row .row-meta { font-family:'JetBrains Mono',monospace; font-size:.7rem; letter-spacing:.04em; text-transform:uppercase; opacity:.74; display:flex; gap:.6rem; }
.news-row .row-meta .cyan { color:var(--cyan,#38e1d6); }
.news-empty { margin-top:2rem; opacity:.7; font-family:'JetBrains Mono', monospace; }

/* article header, figure, body, keywords */
.article-wrap { max-width: none; }
.article-back { font-family:'JetBrains Mono', monospace; font-size:.8rem; color: var(--cyan,#38e1d6); text-decoration:none; }
.article-head { margin: var(--s-4,1rem) 0 var(--s-6,1.5rem); border-bottom:1px solid rgba(255,255,255,.10); padding-bottom: var(--s-6,1.5rem); }
.article-kicker { font-family:'JetBrains Mono',monospace; font-size:.74rem; letter-spacing:.1em; text-transform:uppercase; color:var(--cyan,#38e1d6); margin:0 0 .6rem; }
.article-head h1 { font-size:clamp(1.8rem,3.4vw,2.6rem); line-height:1.06; letter-spacing:-.01em; margin:0 0 .8rem; }
.article-byline { font-family:'JetBrains Mono',monospace; font-size:.76rem; letter-spacing:.03em; text-transform:uppercase; opacity:.74; margin:0 0 1rem; }
.article-fig { float:left; width:clamp(330px,51%,506px); margin:.4rem 1.8rem 1.2rem 0; }
.article-fig.right { float:right; margin:.4rem 0 1.2rem 1.8rem; }
.article-fig img { width:100%; height:auto; border-radius:6px; display:block; background:#111; }
.article-fig figcaption { font-family:'JetBrains Mono',monospace; font-size:.68rem; letter-spacing:.03em; text-transform:uppercase; opacity:.7; margin-top:.5rem; line-height:1.35; }
.article-body { font-size:1.06rem; display:flow-root; }
.article-body p { line-height: 1.75; margin: 0 0 1.25rem; }
.article-body > p:first-of-type { font-size:1.18rem; line-height:1.62; opacity:.96; }
.article-body h2 { margin: 2.2rem 0 .7rem; font-size:1.4rem; }
.article-body a { color:var(--cyan,#38e1d6); }
.article-body blockquote { margin:1.8rem 0; padding:.1rem 0 .1rem 1.3rem; border-left:3px solid #C9337A; font-size:1.25rem; line-height:1.4; font-weight:600; }
.article-body ul, .article-body ol { line-height:1.75; margin:0 0 1.25rem 1.1rem; }
.article-cta { clear:both; margin:2.6rem 0 1rem; padding:1.6rem 1.8rem; border:1px solid rgba(255,255,255,.12); border-left:3px solid var(--cyan,#38e1d6); border-radius:10px; background:rgba(56,225,214,.05); }
.article-cta h2 { margin:0 0 .55rem; font-size:1.35rem; }
.article-cta p { margin:0 0 1.1rem; opacity:.92; line-height:1.65; max-width:62ch; }
.article-cta .article-cta-contact { font-family:'JetBrains Mono',monospace; font-size:.74rem; letter-spacing:.03em; text-transform:uppercase; opacity:.68; margin:.9rem 0 0; }
.article-cta .article-cta-contact a { color:var(--cyan,#38e1d6); }
.article-keywords { margin-top: var(--s-6,1.5rem); padding-top:1rem; border-top:1px solid rgba(255,255,255,.08); font-family:'JetBrains Mono',monospace; font-size:.72rem; letter-spacing:.03em; text-transform:uppercase; opacity:.7; }
.article-keywords b { color:var(--cyan,#38e1d6); font-weight:700; margin-right:.4rem; }

/* shared sidebar */
.news-layout { display:grid; grid-template-columns:250px minmax(0,1fr); gap:clamp(1.5rem,3vw,3rem); align-items:start; margin-top:.5rem; }
.news-feed, .article-main { min-width:0; }
.news-sidebar { position:sticky; top:88px; display:flex; flex-direction:column; gap:1.7rem; }
.news-side-h { font-family:'JetBrains Mono',monospace; font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; color:var(--stage,#C9337A); opacity:1; margin:0 0 .65rem; display:block; }
.news-search { width:100%; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.13); border-radius:6px; color:#DDDFE5; font-family:'Archivo',system-ui,sans-serif; font-size:.9rem; padding:.55rem .7rem; }
.news-search:focus { outline:none; border-color:var(--cyan,#38e1d6); }
.news-search::placeholder { color:rgba(221,223,229,.4); }
.news-filter { display:flex; flex-direction:column; gap:.15rem; }
.news-filter button, .news-filter a { text-align:left; background:none; border:none; color:inherit; font-family:'JetBrains Mono',monospace; font-size:.74rem; letter-spacing:.02em; text-transform:uppercase; opacity:.74; padding:.32rem .15rem; cursor:pointer; text-decoration:none; display:flex; justify-content:space-between; gap:.5rem; border-radius:4px; transition:opacity .15s, color .15s; }
.news-filter button:hover, .news-filter a:hover { opacity:1; color:var(--cyan,#38e1d6); }
.news-filter button[aria-pressed="true"] { opacity:1; color:var(--cyan,#38e1d6); font-weight:700; }
.news-filter .cnt { opacity:.45; }
.news-tabs { display:flex; gap:1.1rem; border-bottom:1px solid rgba(255,255,255,.12); margin-bottom:.4rem; }
.news-tab { background:none; border:none; color:inherit; font-family:'JetBrains Mono',monospace; font-size:.67rem; letter-spacing:.09em; text-transform:uppercase; opacity:.72; padding:0 0 .5rem; cursor:pointer; border-bottom:2px solid transparent; margin-bottom:-1px; }
.news-tab:hover { opacity:.85; }
.news-tab[aria-selected="true"] { opacity:1; color:var(--cyan,#38e1d6); border-bottom-color:var(--cyan,#38e1d6); }
.news-poplist { list-style:none; margin:0; padding:0; }
.news-poplist li { border-bottom:1px solid rgba(255,255,255,.08); }
.news-poplist li:last-child { border-bottom:none; }
.news-poplist a { display:flex; gap:.7rem; align-items:flex-start; padding:.7rem 0; text-decoration:none; color:inherit; }
.news-poplist a:hover .pop-title { color:var(--cyan,#38e1d6); }
.pop-thumb { flex:none; width:56px; height:42px; border-radius:4px; overflow:hidden; background:#111; }
.pop-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.pop-title { font-size:.83rem; line-height:1.25; opacity:.9; }
.news-side-cta { border:1px solid rgba(255,255,255,.12); border-radius:8px; padding:1.1rem; background:rgba(56,225,214,.04); }
.news-side-cta p { margin:0 0 .7rem; font-size:.92rem; }

@media (max-width:960px){
  .news-layout { grid-template-columns:1fr; }
  .news-feed, .article-main { order:1; }
  .news-sidebar { position:static; order:2; margin-top:2.2rem; padding-top:1.7rem; border-top:1px solid rgba(255,255,255,.1); }
}
@media (max-width:760px){
  .news-row { grid-template-columns:120px 1fr; gap:1rem; padding:1.2rem 0; }
  .news-row .dek { display:none; }
}
@media (max-width:600px){
  .article-fig, .article-fig.right { float:none; width:100%; margin:0 0 1.2rem; }
}
@media (prefers-reduced-motion: reduce){
  .news-row-media img, .svc-tag, .news-filter button, .news-filter a, .news-tab, .news-search, .article-fig img { transition:none !important; }
}
