/* ============================================================
   Convergo /news — section-specific styles.
   Tokens + shared primitives (nav, footer, buttons) come from
   shared.css (synced from the main site). This file adds the
   page hero, the news listing, the article layout, and prose.
   ============================================================ */

/* ---- Page hero (matches main-site PageHero) ---- */
.page-hero{position:relative;overflow:hidden;background:var(--grad-reveal);padding:200px 0 100px}
.page-hero-bg{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.page-hero-picto{position:absolute;right:-80px;top:60px;width:520px;height:auto;opacity:0.10}
.page-hero-inner{position:relative;z-index:1;max-width:1000px}
.page-hero-title{font-family:var(--font-display);font-weight:500;font-size:clamp(44px, 7vw, 96px);line-height:0.98;letter-spacing:-0.03em;color:var(--ink-900);margin:0 0 28px;text-wrap:balance}
.page-hero-lead{font-family:var(--font-sans);font-size:clamp(17px, 1.4vw, 21px);line-height:1.5;color:var(--gray-700);max-width:600px;margin:0}

/* ---- News listing ---- */
.news-list-section{background:var(--fog-50);padding:80px 0 120px}
.news-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:24px}
.news-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--gray-200);border-radius:20px;overflow:hidden;box-shadow:var(--shadow-1);transition:transform var(--dur-base) var(--ease-out-soft),box-shadow var(--dur-base) var(--ease-out-soft),border-color var(--dur-base) var(--ease-out-soft)}
.news-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-3);border-color:var(--ink-900)}
.news-card-media{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--ink-900);border:none}
.news-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--dur-slow) var(--ease-out-soft)}
.news-card:hover .news-card-media img{transform:scale(1.04)}
.news-card-body{padding:24px;display:flex;flex-direction:column;gap:12px;flex:1}
.news-card-tag{align-self:flex-start;font-family:var(--font-caps);font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:var(--lavender-700);background:var(--lavender-50);padding:5px 10px;border-radius:999px}
.news-card-title{font-family:var(--font-display);font-weight:500;font-size:21px;line-height:1.2;letter-spacing:-0.015em;margin:0}
.news-card-title a{color:var(--ink-900);border:none}
.news-card-title a:hover{color:var(--lavender-700)}
.news-card-excerpt{font-family:var(--font-sans);font-size:14.5px;line-height:1.55;color:var(--gray-700);margin:0;flex:1}
.news-card-meta{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-mono);font-size:12px;color:var(--gray-500);border-top:1px solid var(--border-1);padding-top:14px}
.news-card-read{color:var(--lavender-700);font-family:var(--font-sans);font-weight:600}
.news-empty{font-family:var(--font-sans);font-size:18px;color:var(--gray-600);padding:40px 0}

/* ---- Article ---- */
.article{background:var(--fog-50);padding-bottom:100px}
.article-hero{padding:200px 0 56px}
.article-back{display:inline-block;font-family:var(--font-sans);font-weight:600;font-size:14px;color:var(--lavender-700);margin-bottom:20px;border:none}
.article-tag{display:inline-block;font-family:var(--font-caps);font-size:11px;letter-spacing:0.22em;text-transform:uppercase;color:var(--ink-900);background:var(--mint-300);padding:6px 12px;border-radius:999px;margin-bottom:16px}
.article-title{font-family:var(--font-display);font-weight:500;font-size:clamp(36px, 5vw, 72px);line-height:1;letter-spacing:-0.03em;color:var(--ink-900);margin:0 0 16px;max-width:18ch;text-wrap:balance}
.article-meta{font-family:var(--font-mono);font-size:13px;color:var(--gray-600);display:flex;gap:6px;align-items:center}
.article-cover{margin:48px 0 0;border-radius:24px;overflow:hidden;box-shadow:var(--shadow-3);aspect-ratio:16/9}
.article-cover img{width:100%;height:100%;object-fit:cover;display:block}
.article-body{max-width:720px;margin:48px 0 0}
.article-tags{max-width:720px;margin:32px 0 0;display:flex;gap:10px;flex-wrap:wrap}
.article-tagchip{font-family:var(--font-mono);font-size:12px;color:var(--gray-600);background:var(--fog-100);padding:6px 12px;border-radius:999px}

/* ---- Prose (article body + simple pages) ---- */
.prose-page{padding:200px 0 120px;background:var(--fog-50)}
.prose-title{font-family:var(--font-display);font-weight:500;font-size:clamp(36px, 5vw, 64px);line-height:1;letter-spacing:-0.025em;color:var(--ink-900);margin:0 0 32px}
.prose{max-width:720px}
.prose > :first-child{margin-top:0}
.prose h2{font-family:var(--font-display);font-weight:500;font-size:clamp(26px, 3vw, 38px);line-height:1.1;letter-spacing:-0.02em;color:var(--ink-900);margin:48px 0 16px}
.prose h3{font-family:var(--font-display);font-weight:600;font-size:24px;color:var(--ink-900);margin:36px 0 12px}
.prose p{font-family:var(--font-sans);font-size:17px;line-height:1.7;color:var(--gray-700);margin:0 0 20px}
.prose a{color:var(--lavender-700);border-bottom:1px solid transparent}
.prose a:hover{border-bottom-color:currentColor}
.prose ul,.prose ol{margin:0 0 20px;padding-left:22px;color:var(--gray-700);font-family:var(--font-sans);font-size:17px;line-height:1.7}
.prose li{margin-bottom:8px}
.prose blockquote{margin:28px 0;padding:6px 0 6px 24px;border-left:3px solid var(--mint-400);font-family:var(--font-display);font-weight:500;font-size:22px;line-height:1.3;color:var(--ink-900)}
.prose strong{color:var(--ink-900);font-weight:600}
.prose img{border-radius:16px;margin:24px 0;max-width:100%}
.prose code{font-family:var(--font-mono);font-size:0.9em;background:var(--fog-100);padding:0.15em 0.4em;border-radius:4px}
.prose .note{margin-top:28px;padding:16px 20px;border-radius:14px;background:var(--warn-100);color:var(--gray-800);font-size:14.5px;border:1px solid rgba(232,177,74,0.4)}

.error-lead{font-family:var(--font-sans);font-size:18px;line-height:1.5;color:var(--gray-700);max-width:480px;margin:0 0 28px}

@media (max-width: 1100px){
  .news-grid{grid-template-columns:repeat(2, 1fr)}
}
@media (max-width: 900px){
  .page-hero{padding:140px 0 72px}
  .article-hero{padding:140px 0 40px}
  .prose-page{padding:140px 0 80px}
  .page-hero-picto{width:340px;right:-60px}
  .news-grid{grid-template-columns:1fr}
}
