@import url("https://fonts.googleapis.com/css2?family=Noto+Sans:wght@400;500;600;700;800&display=swap");

/*
   Definitive FASTINOV News stylesheet.
   One shell, one article system, C / Scientific presentation.
*/
:root { --news-ink:#10283d; --news-blue:#0d6f88; --news-teal:#16a3a3; --news-orange:#f3924a; --news-mist:#eef7f7; --news-paper:#f3f6f6; --news-line:#d7e6e7; --news-muted:#557080; }

body.news-article, body.detail-page { margin:0; font-family:"Noto Sans",Arial,sans-serif; background:var(--news-paper) !important; color:var(--news-ink); }
body.detail-page .page-shell { min-height:100vh; }

/* Shared FASTINOV news shell. */
body.news-article, body.detail-page, body.theme-white:has(.news-page-hero) { background:var(--news-paper) !important; color:var(--news-ink); }
body.detail-page .shell { width:min(1180px,calc(100% - 48px)); margin:auto; }
body.theme-white:has(.news-page-hero) .site-header { padding:0; }
body.theme-white:has(.news-page-hero) .site-header-top { display:flex; align-items:center; min-height:58px; padding:0 24px; }
body.theme-white:has(.news-page-hero) .brand-lockup { display:none; }
body.theme-white:has(.news-page-hero) .site-header-top::before { content:"FAST"; color:#fff; font-size:25px; font-weight:800; letter-spacing:.02em; }
body.theme-white:has(.news-page-hero) .site-header-top::after { content:"INOV"; color:var(--news-orange); font-size:25px; font-weight:800; letter-spacing:.02em; }
body.theme-white:has(.news-page-hero) .site-nav { display:flex; align-items:center; gap:26px; max-width:1180px; margin:auto; padding:0 24px 17px; }
body.theme-white:has(.news-page-hero) .site-nav a { color:#fff !important; text-decoration:none; font-size:14px; }
body.theme-white:has(.news-page-hero) .site-footer { background:#111 !important; color:#ddd !important; }
body.theme-white:has(.news-page-hero) .site-header { display:flex; align-items:center; gap:24px; padding:17px 24px; }
body.theme-white:has(.news-page-hero) .site-header-top { min-height:0; padding:0; flex:1; }
body.theme-white:has(.news-page-hero) .site-nav { margin:0; padding:0; max-width:none; }
body.news-article .footer, body.detail-page .site-footer { background:#111 !important; color:#ddd !important; }
body.news-article .footer { padding:36px 24px; text-align:center; font:14px/1.6 "Noto Sans",Arial,sans-serif; }
body.news-article .footer .shell { width:min(1180px,100%); margin:auto; }
body.detail-page .site-footer { padding:36px 24px; text-align:center; font:14px/1.6 "Noto Sans",Arial,sans-serif; }

/* C / Scientific article hero. */
body.news-article .article-page { max-width:none; margin:0; padding:0 max(24px,calc((100% - 980px)/2)) 32px; background:var(--news-paper) !important; color:var(--news-ink) !important; }
body.news-article .article-page > .article-back { display:block; padding-top:34px; color:#d4e5e7 !important; }
body.news-article .article-page > h1, body.detail-page .science-hero h1, body.detail-page .detail-header h1 { max-width:980px; color:#fff !important; font-family:"Noto Sans",Arial,sans-serif !important; font-size:clamp(34px,4.1vw,50px) !important; line-height:1.18 !important; letter-spacing:-.035em !important; }
body.news-article .article-meta, body.detail-page .detail-meta { color:#70d9d3 !important; font-family:"Noto Sans",Arial,sans-serif !important; font-size:13px !important; letter-spacing:.07em; }
body.news-article .article-dek, body.detail-page .science-hero .dek, body.detail-page .detail-header .dek { max-width:850px; color:#d4e5e7 !important; font-family:"Noto Sans",Arial,sans-serif !important; font-size:24px !important; line-height:1.55 !important; }
body.detail-page .detail-header .shell { max-width:980px; padding:34px 24px 40px; }
body.detail-page .detail-header .back { color:#d4e5e7 !important; }
body.detail-page .detail-header .detail-meta { display:flex; flex-wrap:wrap; gap:10px 18px; margin:0 0 22px; }
body.detail-page .detail-header .detail-meta span,
body.detail-page .detail-header .detail-meta time { display:inline-block; }

/* Exact C / Scientific template. */
body.detail-page .science-hero { background:var(--news-ink) !important; color:#fff !important; }
body.detail-page .science-hero .article-head { max-width:980px; margin:auto; padding:62px 26px 32px; }
body.detail-page .science-hero .back { display:block; margin-bottom:24px; color:#d4e5e7 !important; }
body.detail-page .science-hero .kicker { color:#70d9d3 !important; font-size:13px; letter-spacing:.07em; text-transform:uppercase; font-weight:700; margin-bottom:20px; }
body.detail-page .science-hero h1 { max-width:980px; margin:0 0 23px; color:#fff !important; font-size:clamp(34px,4.1vw,50px) !important; line-height:1.18 !important; letter-spacing:-.035em !important; font-weight:700 !important; }
body.detail-page .science-hero .dek { max-width:850px; margin:0; color:#d4e5e7 !important; font-size:24px !important; line-height:1.55 !important; }
body.detail-page .science-body { max-width:1060px; margin:auto; padding:36px 26px; display:grid; grid-template-columns:230px minmax(0,730px); gap:45px; }
body.detail-page .science-body .research-card { background:var(--news-mist); padding:22px; border-top:4px solid var(--news-teal); align-self:start; color:var(--news-ink) !important; font-size:15px; line-height:1.6; }
body.detail-page .science-body .research-card h3 { margin:0 0 12px; font-size:17px; }
body.detail-page .science-body .research-card p { margin:0 0 14px; }
body.detail-page .science-body .research-card a { color:var(--news-blue); }
body.detail-page .science-body .detail-body { max-width:none; padding:0 0 65px; }
body.detail-page .science-body .detail-body h2 { border-bottom:1px solid var(--news-line); padding-bottom:11px; }
body.detail-page .science-body .detail-body .takeaway { background:#f8f3eb !important; border-left:4px solid var(--news-orange) !important; }

body.news-article .article-byline { color:#d4e5e7 !important; }

/* C / Scientific reading column. */
body.news-article .article-reading, body.detail-page .detail-body { max-width:730px; margin:0 auto; padding:36px 0 65px; background:transparent !important; color:var(--news-ink) !important; font-family:"Noto Sans",Arial,sans-serif !important; font-size:19px !important; line-height:1.7 !important; }
body.news-article .article-reading h2, body.detail-page .detail-body h2 { margin:47px 0 18px; padding-bottom:11px; border-bottom:1px solid var(--news-line); color:var(--news-ink) !important; font-family:"Noto Sans",Arial,sans-serif !important; font-size:24px !important; line-height:1.38 !important; font-weight:650 !important; }
body.news-article .article-takeaway, body.detail-page .takeaway { background:#f8f3eb !important; border-left:4px solid var(--news-orange) !important; color:var(--news-ink) !important; padding:23px 26px !important; margin:30px 0 !important; }
body.news-article .article-takeaway strong, body.detail-page .takeaway strong { color:var(--news-ink) !important; }
body.news-article .article-source, body.detail-page .reference { font-size:16px; }

/* Research-summary panel used by the definitive C template. */
body.detail-page .research-card { background:var(--news-mist); padding:22px; border-top:4px solid var(--news-teal); align-self:start; font:15px/1.6 "Noto Sans",Arial,sans-serif; }

body.detail-page .article-share { display:flex; align-items:center; gap:14px; margin:34px 0 12px; padding-top:18px; border-top:1px solid var(--news-line); font:600 15px/1.4 "Noto Sans",Arial,sans-serif; }
body.detail-page .article-share button { border:1px solid var(--news-ink); border-radius:999px; padding:10px 17px; background:var(--news-ink); color:#fff; cursor:pointer; font:inherit; }
body.detail-page .article-share button:hover, body.detail-page .article-share button:focus-visible { background:var(--news-orange); border-color:var(--news-orange); }
body.detail-page .share-status { color:var(--news-muted); font-weight:400; }
body.detail-page .research-card h3 { margin:0 0 12px; font-size:17px; }
body.detail-page .research-card p { margin:0 0 14px; }
body.detail-page .research-card a { color:var(--news-blue); }

@media(max-width:800px) {
  body.news-article .article-page { padding-left:22px; padding-right:22px; }
  body.news-article .article-dek, body.detail-page .science-hero .dek, body.detail-page .detail-header .dek { font-size:20px !important; }
  body.news-article .article-reading, body.detail-page .detail-body { padding-left:22px; padding-right:22px; font-size:18px !important; line-height:1.68 !important; }
  body.detail-page .science-body { display:block; padding:20px 22px; }
  body.detail-page .science-body .research-card { margin:20px 0 32px; }
  body.detail-page .science-hero .article-head { padding:40px 22px 20px; }
  body.detail-page .science-hero .dek { font-size:20px !important; }
}

