/* Copyright (c) 2026 GoFlight.ai Inc.
   SPDX-License-Identifier: LicenseRef-GoFlight-Proprietary

   News: /news and every /news/<slug> article. Same tokens and chrome as the homepage. */
:root {
  --primary: #0A2540; --accent: #2E75B6; --accent-light: #EBF5FF; --success: #00D4AA;
  --gold: #C5962A; --gold-soft: #FFF5E6; --bg-main: #FAFBFC; --bg-card: #FFFFFF;
  --text-body: #425466; --text-muted: #586B7D; --border: #E3E8EE;
  --sans: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono: "JetBrains Mono", ui-monospace, Menlo, monospace;
}
* { box-sizing: border-box; }
body { margin: 0; font-family: var(--sans); color: var(--text-body); background: var(--bg-main); font-size: 17px; line-height: 1.7; }
img { max-width: 100%; display: block; }
a { color: var(--accent); }
a:hover { color: var(--primary); }
.wrap { max-width: 1160px; margin: 0 auto; padding-inline: 24px; }
.col { max-width: 720px; margin: 0 auto; padding-inline: 24px; }
h1, h2, h3 { color: var(--primary); margin: 0; letter-spacing: -0.035em; text-wrap: balance; }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; border-radius: 6px; }
.eyebrow { display: inline-block; font: 600 12px/1 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--gold); background: var(--gold-soft); border: 1px solid #E8D4A4; border-radius: 999px; padding: 8px 12px; }
.btn { display: inline-flex; align-items: center; justify-content: center; font: 700 14px/1 var(--sans); letter-spacing: .05em; text-transform: uppercase; text-decoration: none; border-radius: 999px; padding: 16px 26px; border: 2px solid var(--accent); background: var(--accent); color: #fff; cursor: pointer; }
.btn:hover { background: #245f95; border-color: #245f95; color: #fff; }

.top { position: sticky; top: 0; z-index: 10; background: rgba(250,251,252,.92); backdrop-filter: blur(8px); border-bottom: 1px solid var(--border); }
.top .wrap { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-block: 14px; }
.logo { display: inline-flex; align-items: center; gap: .34em; font: 800 22px/1 var(--sans); letter-spacing: -.03em; color: #000; text-decoration: none; }
.logo:hover { color: #000; }
.logo img { width: .78em; height: .772em; }
.logo .word b { font-weight: 800; color: var(--accent); }
.top nav { display: flex; align-items: center; gap: 20px; font-size: 14px; font-weight: 600; }
.top nav a { text-decoration: none; color: var(--primary); }
.top nav .btn { padding: 11px 18px; font-size: 12px; color: #fff; }

/* index */
.news-head { padding-block: 64px 32px; }
.news-head h1 { font-size: clamp(40px, 5.6vw, 64px); line-height: 1.05; font-weight: 800; margin-top: 16px; }
.news-head p { font-size: 19px; margin: 12px 0 0; }
.posts { list-style: none; padding: 0; margin: 0 0 56px; border-top: 1px solid var(--border); }
.posts li { border-bottom: 1px solid var(--border); }
.posts a { display: block; padding: 28px 0; text-decoration: none; color: inherit; }
.posts a:hover h2 { color: var(--accent); }
.posts h2 { font-size: 24px; line-height: 1.25; font-weight: 800; letter-spacing: -.02em; margin: 6px 0 6px; }
.posts p { margin: 0; }
.date { font: 500 12px var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--text-muted); }

/* article */
article { padding-block: 56px 24px; }
.back { font: 500 12px var(--mono); letter-spacing: .1em; text-transform: uppercase; text-decoration: none; color: var(--text-muted); }
article h1 { font-size: clamp(34px, 4.8vw, 52px); line-height: 1.08; font-weight: 800; margin: 24px 0 12px; }
article .lede { font-size: 21px; line-height: 1.55; color: var(--primary); margin: 20px 0 0; }
article h2 { font-size: 24px; letter-spacing: -.02em; margin: 40px 0 8px; }
article p, article ul { margin: 16px 0; }
article li { margin-bottom: 8px; }
article figure { margin: 32px 0; }
article figure img { border-radius: 16px; border: 1px solid var(--border); background: #fff; }
article figcaption { font-size: 14px; color: var(--text-muted); margin-top: 8px; }
blockquote { margin: 28px 0; padding: 16px 24px; background: var(--accent-light); border-left: 4px solid var(--accent); border-radius: 0 12px 12px 0; color: var(--primary); font-size: 19px; }
blockquote p { margin: 0; }
.facts { font: 500 14px var(--mono); color: var(--primary); background: var(--bg-card); border: 1px solid var(--border); border-radius: 12px; padding: 16px 20px; }
.facts p { margin: 4px 0; }

/* sign-up */
.signup { background: var(--bg-card); border: 1px solid var(--border); border-radius: 16px; padding: 28px; margin: 48px 0 64px; }
.signup h2 { font-size: 22px; letter-spacing: -.02em; margin: 0 0 4px; }
.signup p { margin: 0 0 16px; font-size: 16px; }
.signup form { display: flex; flex-wrap: wrap; gap: 10px; }
.signup input[type=text], .signup input[type=email] { flex: 1 1 180px; font: 16px var(--sans); color: var(--primary); padding: 13px 16px; border: 1px solid var(--border); border-radius: 999px; background: var(--bg-main); }
.signup .btn { padding: 14px 22px; font-size: 13px; }
.signup .hp { position: absolute; left: -9999px; }
.signup .msg { flex-basis: 100%; margin: 4px 0 0; font-size: 15px; }
.signup .msg.ok { color: var(--primary); font-weight: 600; }
.signup .msg.err { color: #B3261E; }
.signup small { display: block; margin-top: 12px; font-size: 13px; color: var(--text-muted); }

footer { padding-block: 32px; font-size: 14px; color: var(--text-muted); border-top: 1px solid var(--border); }
footer .wrap { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 24px; }
footer nav { display: flex; flex-wrap: wrap; gap: 20px; }
footer a { text-decoration: none; color: inherit; }
footer a:hover { color: var(--primary); }

@media (max-width: 900px) { .top nav .hide-sm { display: none; } }
@media (max-width: 480px) { .wrap, .col { padding-inline: 16px; } .signup { padding: 20px; } .signup .btn { flex: 1 1 100%; } }
