/* Sky Web Design — Article (skyweb_article).
   Loaded only on pages holding the widget. Uses the stack and founder-page
   tokens so light/dark colour handling stays consistent across the site. */

.sw-article,
.sw-article * { box-sizing: border-box; }
.sw-article { width: 100%; max-width: var(--sw-max); margin: 0 auto; padding: 104px 16px 48px; color: var(--sw-ink); overflow-wrap: anywhere; }
.sw-article__header { max-width: 920px; margin: 0 auto; }
.sw-article__eyebrow { display: flex; align-items: center; gap: 10px; margin: 0 0 18px; color: var(--sw-muted); font-size: 15px; font-weight: 500; }
.sw-article__eyebrow::before { content: ""; flex: none; width: 18px; height: 2px; border-radius: 2px; background: var(--sw-blue); }
.sw-article h1 { max-width: 13em; margin: 0; font-family: var(--sw-font-head); font-size: clamp(40px, 9.5vw, 78px); line-height: .98; letter-spacing: -.045em; }
.sw-article__byline { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--sw-line); }
.sw-article__byline-photo,
.sw-article__author-photo { flex: none; display: block; overflow: hidden; border: 1px solid var(--sw-line); border-radius: 50%; background: var(--sw-surface); }
.sw-article__byline-photo { width: 52px; height: 52px; }
body.sw-site .sw-article__byline-photo img,
body.sw-site .sw-article__author-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sw-article__byline-copy { min-width: 0; }
.sw-article__byline-copy > a,
.sw-article__byline-copy > span { color: var(--sw-ink); font-size: 15px; font-weight: 600; text-decoration: none; }
.sw-article__byline-copy > a:hover { color: var(--sw-blue); }
.sw-article__meta { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 3px; color: var(--sw-muted); font-size: 13.5px; }

.sw-article__body { width: 100%; max-width: 68ch; margin: 64px auto 0; color: var(--sw-muted); font-family: var(--sw-font-body); font-size: clamp(17px, 2.2vw, 19px); line-height: 1.78; }
.sw-article__body > :first-child { margin-top: 0; }
.sw-article__body > :last-child { margin-bottom: 0; }
.sw-article__body p { margin: 0 0 1.45em; }
.sw-article__body h2 { margin: 2.25em 0 .6em; color: var(--sw-ink); font-family: var(--sw-font-head); font-size: clamp(28px, 5.6vw, 40px); line-height: 1.12; letter-spacing: -.03em; }
.sw-article__body h3 { margin: 2em 0 .55em; color: var(--sw-ink); font-family: var(--sw-font-head); font-size: clamp(22px, 4.5vw, 28px); line-height: 1.2; letter-spacing: -.02em; }
.sw-article__body em { color: var(--sw-ink); font-family: Georgia, "Times New Roman", serif; font-size: 1.04em; }
.sw-article__body strong { color: var(--sw-ink); font-weight: 650; }
.sw-article__body a { color: var(--sw-blue); text-decoration-thickness: 1px; text-underline-offset: .18em; }
.sw-article__body ul,
.sw-article__body ol { margin: 0 0 1.45em; padding-left: 1.25em; }
.sw-article__body li { margin-bottom: .45em; padding-left: .25em; }
.sw-article__body blockquote { margin: 2em 0; padding: 4px 0 4px 20px; border-left: 2px solid var(--sw-blue); color: var(--sw-ink); font-family: var(--sw-font-head); font-size: 1.12em; line-height: 1.55; }
.sw-article__body img,
.sw-article__body video,
.sw-article__body iframe { max-width: 100%; height: auto; }
.sw-article__body pre,
.sw-article__body table { display: block; max-width: 100%; overflow-x: auto; }

.sw-article__footer { display: grid; gap: 28px; width: 100%; max-width: 68ch; margin: 72px auto 0; padding-top: 32px; border-top: 1px solid var(--sw-line); }
.sw-article__author { display: flex; gap: 18px; align-items: center; min-width: 0; }
.sw-article__author-photo { width: 76px; height: 76px; }
.sw-article__author > div { min-width: 0; }
.sw-article__author-label { margin: 0 0 4px; color: var(--sw-muted); font-size: 12.5px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.sw-article__author h2 { margin: 0; font-family: var(--sw-font-head); font-size: 22px; line-height: 1.15; letter-spacing: -.02em; }
.sw-article__author h2 a { color: var(--sw-ink); text-decoration: none; }
.sw-article__author h2 a:hover { color: var(--sw-blue); }
.sw-article__author-role { margin: 5px 0 0; color: var(--sw-muted); font-size: 14px; line-height: 1.45; }
.sw-article__cta { justify-self: start; }

@media (min-width: 640px) {
  .sw-article { padding-inline: 24px; padding-bottom: 64px; }
  .sw-article__footer { grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
  .sw-article__cta { justify-self: end; }
}

@media (min-width: 768px) {
  .sw-article { padding-top: 128px; }
  .sw-article__byline { margin-top: 36px; }
  .sw-article__body { margin-top: 80px; }
  .sw-article__footer { margin-top: 88px; }
}
