/* Marylyn Svetlik — additive styles (linked on every page).
   The mirror theme CSS is untouched; this file only fills gaps the theme
   never shipped (text logo, article body, forms). */

/* ---- text logo (mirror uses an SVG; we render brand text) ---- */
.site-logo {
  display: block;
  width: auto !important;
  max-width: none !important;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1;
  color: #2c2c2c;
  text-decoration: none;
  white-space: nowrap;
}
.site-logo--small { font-size: 20px; }
.site-logo:not(.site-logo--small) { font-size: 34px; }
.site-header__main-logo { text-align: center; }
.site-header__logo { text-align: center; }
.site-header--sticky .site-logo { color: #f2ede7; }
.site-header--sticky .site-header__main-logo { display: flex; align-items: center; justify-content: center; }
.site-footer .site-logo { color: #f2ede7; }
.site-sidebar__logo.site-logo { font-size: 22px; }
@media (max-width: 720px) {
  .site-logo:not(.site-logo--small) { font-size: 30px; }
}

/* ---- article / archive / legal typography ---- */
.article-page, .legal-h1, .legal-tagline { max-width: 780px; margin-left: auto; margin-right: auto; }
.article-head, .article-main, .article-figure { max-width: 780px; margin-left: auto; margin-right: auto; }
.article-figure { margin-top: 30px; margin-bottom: 30px; }
.article-figure img, .article-content img, .article-figure--hero img {
  display: block; width: 100%; max-width: 100%; height: auto;
}
.article-figure figcaption { font-family: "Plus Jakarta Sans", sans-serif; font-size: 13px; color: #6f6e66; margin-top: 8px; }
.article-h1 { font-family: "Libre Baskerville", serif; font-weight: 700; line-height: 1.15; font-size: 40px; margin: 18px 0 14px; }
.legal-h1 { font-family: "Libre Baskerville", serif; font-weight: 700; line-height: 1.15; font-size: 38px; margin: 18px 0 14px; text-transform: none; }
.article-byline { font-family: "Plus Jakarta Sans", sans-serif; font-size: 14px; color: #6f6e66; margin-bottom: 8px; }

.article-content { font-family: "Libre Baskerville", serif; font-size: 18px; line-height: 1.8; color: #222; }
.article-content > * + * { margin-top: 22px; }
.article-content h2 { font-family: "Plus Jakarta Sans", sans-serif; font-weight: 800; font-size: 26px; line-height: 1.25; margin-top: 38px; color: #2c2c2c; }
.article-content p { font-size: 18px; line-height: 1.8; }
.article-content a { color: #2c2c2c; text-decoration: underline; text-decoration-color: #b9b6b0; }
.article-content a:hover { text-decoration-color: #2c2c2c; }
.article-content ul { padding-left: 22px; }
.article-content li { margin-top: 10px; line-height: 1.7; }

/* pull quote */
blockquote.quote { border-left: 4px solid #6f6e66; padding: 6px 0 6px 22px; margin: 34px 0; }
blockquote.quote p { font-family: "Libre Baskerville", serif; font-style: italic; font-size: 24px; line-height: 1.5; color: #2c2c2c; }

/* key facts */
.key-facts { background: #f2ede7; border: 1px solid #e3ddd4; border-radius: 4px; padding: 20px 24px; margin-bottom: 30px; }
.key-facts__title { font-family: "Plus Jakarta Sans", sans-serif; font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em; font-size: 13px; color: #6f6e66; margin: 0 0 10px; }
.key-facts__list { list-style: none; padding: 0; margin: 0; }
.key-facts__list li { position: relative; padding-left: 22px; margin-top: 8px; font-family: "Plus Jakarta Sans", sans-serif; font-size: 15px; line-height: 1.5; color: #2c2c2c; }
.key-facts__list li::before { content: "\2014"; position: absolute; left: 0; color: #6f6e66; }

/* legal / sitemap */
.legal-tagline { margin-top: 30px; font-family: "Plus Jakarta Sans", sans-serif; font-size: 15px; color: #3a3a3a; }
.sitemap-list { list-style: none; padding: 0; }
.sitemap-list li { margin-top: 8px; }

/* forms */

.contact-form { max-width: 620px; margin-top: 20px; }
.contact-form__field { display: block; margin-top: 16px; }
.contact-form__field span { display: block; font-family: "Plus Jakarta Sans", sans-serif; font-size: 13px; font-weight: 700; color: #3a3a3a; margin-bottom: 6px; }
.contact-form__field input, .contact-form__field textarea { width: 100%; border: 1px solid #d9d6d7; border-radius: 4px; padding: 12px; font-family: "Plus Jakarta Sans", sans-serif; font-size: 15px; }
.contact-form__button { margin-top: 16px; background: #2c2c2c; color: #fff; border: 0; padding: 12px 24px; border-radius: 4px; font-family: "Plus Jakarta Sans", sans-serif; font-weight: 700; cursor: pointer; }
.contact-form__button:hover { background: #5c5a51; }
.contact-form__msg { margin-top: 12px; font-family: "Plus Jakarta Sans", sans-serif; font-size: 14px; color: #2f7d4f; }
.contact-form__msg.is-error { color: #b23b3b; }

/* search suggestions */
.site-searchbar__list-item a { display: block; padding: 8px 0; }

/* breadcrumbs: theme hides the trailing crumb + its spacer site-wide */
.breadcrumbs__spacer:nth-last-child(2), .breadcrumb_last { display: none; }

/* responsive */
@media (max-width: 720px) {
  .article-page, .article-head, .article-main, .article-figure,
  .legal-h1, .legal-tagline { padding-left: 18px; padding-right: 18px; box-sizing: border-box; }
  .article-h1 { font-size: 30px; }
  .legal-h1 { font-size: 28px; }
  .article-content, .article-content p { font-size: 17px; }
  .article-content h2 { font-size: 22px; }
  blockquote.quote p { font-size: 20px; }
}

/* image fade-in on lazy load (mirrors the theme's perfmatters pmFadeIn) */
@keyframes pmFadeIn { 0% { opacity: 0; } 100% { opacity: 1; } }
img.pmloaded { animation: 500ms pmFadeIn; }
