/* ONESEA Solutions — article (single post) styles.
   The page banner itself (.page-banner) is shared sitewide, in chrome.css. */

.os-article { max-width: 860px; margin: 0 auto; }
.os-article__meta { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 22px; }
.os-article__badge {
  font-family: var(--font-sans); font-weight: 700; font-size: 12px; letter-spacing: 0.06em;
  text-transform: uppercase; color: #fff; background: var(--onesea-pink);
  border-radius: 100px; padding: 7px 14px;
}
.os-article__date { font-family: var(--font-sans); font-size: 14.5px; color: #8a949c; }

.os-article h2 { font-family: var(--font-sans); font-weight: 700; font-size: 42px; letter-spacing: -0.03em; line-height: 1.14; color: var(--onesea-navy); margin: 0 0 24px; }
.os-article p { font-family: var(--font-sans); font-size: 17.5px; line-height: 1.85; color: var(--onesea-ink); margin: 0 0 24px; }
.os-article .os-lead {
  font-weight: 500; font-size: 20px; line-height: 1.75; color: var(--onesea-navy);
  margin: 0 0 36px; padding-left: 22px; border-left: 3px solid var(--onesea-pink);
}
.os-article figure { margin: 0 0 40px; }
.os-article figure img { width: 100%; height: auto; display: block; border-radius: 18px; }
.os-article figcaption { font-family: var(--font-sans); font-size: 13.5px; color: #8a949c; margin-top: 12px; }

.os-article blockquote {
  margin: 40px 0; padding: 36px 40px; background: #f5f7f9; border-radius: 18px;
}
.os-article blockquote p {
  font-weight: 600; font-size: 21px; line-height: 1.6; letter-spacing: -0.01em;
  color: var(--onesea-navy); margin: 0 0 20px;
}
.os-article blockquote footer { font-family: var(--font-sans); font-size: 15px; color: var(--onesea-ink); }
.os-article blockquote footer strong { color: var(--onesea-navy); }

.os-article .os-overview { margin: 40px 0; border: 1px solid rgba(0,45,87,0.12); border-radius: 16px; overflow: hidden; }
.os-article .os-overview__head { background: var(--onesea-navy); padding: 18px 28px; }
.os-article .os-overview__head h3 { font-family: var(--font-sans); font-weight: 700; font-size: 17px; letter-spacing: -0.01em; color: #fff; margin: 0; }
.os-article .os-overview__row { display: grid; grid-template-columns: 180px 1fr; gap: 24px; padding: 20px 28px; background: #fff; }
.os-article .os-overview__row + .os-overview__row { border-top: 1px solid rgba(0,45,87,0.10); }
.os-article .os-overview__row span:first-child { font-family: var(--font-sans); font-weight: 700; font-size: 15px; color: var(--onesea-navy); }
.os-article .os-overview__row span:last-child { font-family: var(--font-sans); font-size: 15.5px; line-height: 1.6; color: var(--onesea-ink); }

.os-article .os-boiler { border-top: 1px solid rgba(0,45,87,0.12); padding-top: 34px; }
.os-article .os-boiler h3 { font-family: var(--font-sans); font-weight: 700; font-size: 20px; letter-spacing: -0.01em; color: var(--onesea-navy); margin: 0 0 12px; }
.os-article .os-boiler p { font-size: 15.5px; }
.os-article .os-boiler a { color: var(--onesea-pink); }

@media (max-width: 640px) {
  .os-banner__inner { padding-top: 120px; }
  .os-article h2 { font-size: 28px; }
  .os-article p, .os-article .os-lead { font-size: 16px; }
}
