/* Public editorial pages only. The author application never loads this file. */
body.pl-public-page {
  --cream: #f6f4ef; --warm-white: #fcfbf8; --paper: #fcfbf8;
  --ink: #292d2b; --text: #292d2b; --text-light: #646b64;
  --text-muted: #646b64; --muted: #646b64; --sand: #dcded5;
  --rose: #986344; --rose-dark: #7a4a30; --rose-light: #ece7de;
  margin: 0; padding: 0; max-width: none; min-height: 100vh;
  display: flex; flex-direction: column; align-items: stretch;
  background: var(--cream); color: var(--ink);
  font-family: 'Lato', Arial, sans-serif; line-height: 1.65; text-align: left;
}
.pl-public-page *, .pl-public-page *::before, .pl-public-page *::after { box-sizing: border-box; }
.pl-public-page a { text-underline-offset: .2em; }
.pl-public-page :focus-visible { outline: 2px solid #986344; outline-offset: 5px; }
.pl-public-page img { max-width: 100%; }
.pl-public-page .pl-site-header { flex-shrink: 0; }
.pl-public-page .pl-site-header a { text-decoration: none; }
.pl-public-page .pl-site-brand { font-weight: 400; }
.pl-public-page .pl-site-nav a, .pl-public-page .pl-login-link { font-size: 14px; font-weight: 400; }
.pl-public-page .pl-site-header .pl-button { margin: 0; }
.pl-public-page .pl-skip-link { position: absolute; top: -100px; left: 20px; z-index: 10000; padding: 12px 18px; background: #292d2b; color: #fff; }
.pl-public-page .pl-skip-link:focus { top: 10px; }
.pl-public-page #pl-page-content { scroll-margin-top: 28px; }
.pl-page-eyebrow { display: block; color: #986344; font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.pl-public-page .pl-page-breadcrumb { width: min(1140px, calc(100% - 64px)); margin: 0 auto; padding-top: 27px; color: #646b64; font-size: 12px; }
.pl-public-page .pl-page-breadcrumb nav { display: flex; flex-wrap: wrap; align-items: baseline; gap: 12px; }
.pl-public-page .pl-page-breadcrumb a { color: inherit; text-decoration: none; }
.pl-public-page .pl-page-breadcrumb a:hover { color: #986344; text-decoration: underline; }
.pl-public-page .pl-site-footer { margin-top: auto; padding: 30px 32px; border-top: 1px solid #dcded5; background: #f6f4ef; color: #646b64; font-size: 12px; line-height: 1.9; text-align: left; }
.pl-public-page .pl-page-footer-inner { max-width: 1140px; margin: 0 auto; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; }
.pl-public-page .pl-page-footer-inner br { display: none; }
.pl-public-page .pl-page-footer-inner a { color: #515a53; font-size: 12px; font-weight: 400; text-decoration: none; }
.pl-public-page .pl-page-footer-inner a:hover { text-decoration: underline; }
.pl-public-page .pl-page-footer-inner nav { display: flex; flex-wrap: wrap; gap: 20px; }
.pl-public-page .pl-page-footer-inner .footer-copy { margin: 0; }
.pl-public-page .pl-footer-privacy { margin-left: auto; }
/* Journal: an editorial opening followed by a quiet, open article grid. */
.pl-blog-index .pl-journal-intro { width: min(1140px, calc(100% - 64px)); margin: 0 auto; padding: 74px 0 46px; border-bottom: 1px solid #dcded5; }
.pl-blog-index .pl-journal-intro h1 { margin: 12px 0 18px; font: 400 clamp(42px, 5.6vw, 68px)/1.1 Georgia, serif; letter-spacing: -.045em; color: #292d2b; }
.pl-blog-index .pl-journal-intro p { max-width: 620px; font-size: 16px; line-height: 1.75; color: #646b64; }
.pl-blog-index .blog-list { width: min(1140px, calc(100% - 64px)); max-width: 1140px; margin: 0 auto; padding: 40px 0 80px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 46px 34px; }
.pl-blog-index .blog-card { min-width: 0; margin: 0; padding: 0 0 30px; border: 0; border-bottom: 1px solid #dcded5; border-radius: 0; background: transparent; box-shadow: none; transition: none; }
.pl-blog-index .blog-card:hover { border-color: #986344; box-shadow: none; }
.pl-blog-index .blog-card img { display: block; height: 190px !important; margin-bottom: 22px; object-fit: cover; border-radius: 2px; }
.pl-blog-index .blog-card-date { margin-bottom: 12px; font-size: 10px; letter-spacing: .12em; color: #646b64; }
.pl-blog-index .blog-card h2 { margin-bottom: 15px; font: 400 24px/1.28 Georgia, serif; letter-spacing: -.025em; }
.pl-blog-index .blog-card h2 a { color: #292d2b; }
.pl-blog-index .blog-card h2 a:hover { color: #986344; }
.pl-blog-index .blog-card p { font-size: 14px; color: #646b64; line-height: 1.75; }
.pl-blog-index .blog-card-link { display: inline-block; margin-top: 8px; color: #986344; font-size: 11px; font-weight: 700; letter-spacing: .07em; }
.pl-blog-index .blog-card:first-child { grid-column: 1 / -1; display: grid; grid-template-columns: 1.2fr 1fr; column-gap: 46px; row-gap: 0; padding-bottom: 42px; }
.pl-blog-index .blog-card:first-child img { grid-row: 1 / 5; height: 340px !important; margin: 0; }
.pl-blog-index .blog-card:first-child h2 { font-size: clamp(26px, 3vw, 37px); }
.pl-blog-index .blog-card:first-child .blog-card-date { align-self: end; }
/* Article text, metadata and headings are preserved; only reading geometry changes. */
.pl-article .article-content, .pl-article .article-container { width: min(100%, 820px); max-width: 820px; margin: 0 auto; padding: 58px 32px 96px; }
.pl-article .article-meta { color: #646b64; font: 400 11px/1.6 'Lato', Arial, sans-serif; letter-spacing: .11em; text-transform: uppercase; margin: 0 0 20px; }
.pl-article main h1 { max-width: none; margin: 0 0 32px; color: #292d2b; font: 400 clamp(34px, 4.5vw, 53px)/1.13 Georgia, serif; letter-spacing: -.035em; }
.pl-article main h2 { margin: 48px 0 18px; color: #292d2b; font: 400 30px/1.24 Georgia, serif; letter-spacing: -.025em; }
.pl-article main h3 { margin: 30px 0 14px; color: #292d2b; font: 400 23px/1.35 Georgia, serif; }
.pl-article main p, .pl-article main li { color: #414940; font-size: 16px; line-height: 1.9; }
.pl-article main p { margin-bottom: 21px; }
.pl-article main ul, .pl-article main ol { margin: 14px 0 24px; padding-left: 25px; }
.pl-article main li { margin-bottom: 9px; }
.pl-article main a { color: #986344; overflow-wrap: anywhere; }
.pl-article main strong { color: #292d2b; }
.pl-article main .article-intro { margin: 0 0 34px; padding: 0 0 30px; border-bottom: 1px solid #dcded5; font-size: 18px; color: #646b64; background: transparent; }
.pl-article .article-cta { margin-top: 52px; padding: 30px 0 0; background: transparent; border: 0; border-top: 1px solid #dcded5; border-radius: 0; text-align: left; }
.pl-article .article-cta-btn { display: inline-block; padding: 12px 20px; background: #292d2b; color: #fff; border-radius: 3px; text-decoration: none; }
.pl-article main table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; font-size: 14px; }
.pl-article main td, .pl-article main th { border: 1px solid #dcded5; padding: 10px; min-width: 105px; }
.pl-article main blockquote { margin: 28px 0; padding: 4px 0 4px 24px; border-left: 2px solid #986344; }
/* Usage pages share the same margin, type scale and restrained calls to action. */
.pl-seo .hero { width: min(1140px, calc(100% - 64px)); margin: 0 auto; padding: 68px 0 56px; background: none; border-bottom: 1px solid #dcded5; text-align: left; }
.pl-seo .hero .eyebrow { color: #986344; font-size: 11px; font-weight: 700; letter-spacing: .14em; }
.pl-seo .hero h1 { max-width: 850px; margin: 18px 0 24px; font: 400 clamp(38px, 5.2vw, 62px)/1.1 Georgia, serif; letter-spacing: -.035em; }
.pl-seo .hero p { max-width: 680px; margin: 0; color: #646b64; font-size: 17px; }
.pl-seo .cta { margin-top: 27px; padding: 12px 22px; border-radius: 3px; background: #292d2b; color: #fff; font-size: 13px; font-weight: 700; }
.pl-seo .cta:hover { background: #414940; }
.pl-seo .content { max-width: 820px; padding: 20px 32px 72px; }
.pl-seo .content h2 { margin-top: 43px; color: #292d2b; font: 400 30px/1.25 Georgia, serif; letter-spacing: -.02em; }
.pl-seo .content h3 { color: #292d2b; font: 400 22px/1.35 Georgia, serif; }
.pl-seo .content p, .pl-seo .content li { color: #414940; font-size: 16px; }
.pl-seo .note { background: transparent; border-left: 2px solid #986344; padding: 10px 0 10px 22px; }
.pl-seo .links { padding: 24px 0 0; background: transparent; border: 0; border-top: 1px solid #dcded5; border-radius: 0; }
.pl-seo .links a { color: #986344; }
.pl-seo .final { padding: 52px 32px 60px; background: #eeeee6; border-top: 1px solid #dcded5; }
.pl-seo .final h2 { max-width: 780px; margin: 0 auto; font: 400 34px/1.25 Georgia, serif; letter-spacing: -.025em; }
/* Legal and transactional messages retain their full content and behavior. */
.pl-legal .wrap { width: min(100%, 820px); max-width: 820px; margin: 0 auto; padding: 54px 32px 88px; }
.pl-legal .back { margin-bottom: 28px; color: #646b64; }
.pl-legal h1 { margin-bottom: 28px; font: 400 clamp(34px, 5vw, 48px)/1.14 Georgia, serif; letter-spacing: -.035em; }
.pl-legal h2 { margin: 34px 0 14px; color: #292d2b; font: 400 25px/1.3 Georgia, serif; }
.pl-legal p, .pl-legal li { color: #414940; font-size: 15px; line-height: 1.9; }
.pl-legal p { margin: 0 0 18px; }
.pl-legal a { color: #986344; }
.pl-legal ul { padding-left: 22px; }
.pl-utility .pl-utility-content { width: min(100%, 740px); margin: auto; padding: 90px 32px 110px; text-align: left; }
.pl-utility .card { width: 100%; max-width: none; padding: 0; border: 0; background: none; box-shadow: none; border-radius: 0; text-align: left; }
.pl-utility main h1 { margin: 0 0 24px; font: 400 clamp(38px, 5vw, 60px)/1.15 Georgia, serif; letter-spacing: -.035em; color: #292d2b; }
.pl-utility main p { margin: 0 0 20px; color: #646b64; font-size: 16px; line-height: 1.8; }
.pl-utility main a { color: #986344; }
.pl-utility .dot { background: #986344; width: 8px; height: 8px; margin-right: 14px; }
@media (max-width: 900px) {
  .pl-blog-index .blog-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px 25px; }
  .pl-blog-index .blog-card:first-child { column-gap: 28px; }
  .pl-blog-index .blog-card:first-child img { height: 360px !important; }
}
@media (max-width: 600px) {
  .pl-public-page .pl-page-breadcrumb, .pl-blog-index .pl-journal-intro, .pl-blog-index .blog-list, .pl-seo .hero { width: calc(100% - 40px); }
  .pl-blog-index .pl-journal-intro { padding: 42px 0 28px; }
  .pl-blog-index .blog-list { grid-template-columns: 1fr; padding: 28px 0 48px; gap: 30px; }
  .pl-blog-index .blog-card:first-child { display: block; padding-bottom: 30px; }
  .pl-blog-index .blog-card img, .pl-blog-index .blog-card:first-child img { height: 220px !important; margin-bottom: 20px; }
  .pl-blog-index .blog-card h2, .pl-blog-index .blog-card:first-child h2 { font-size: 26px; }
  .pl-article .article-content, .pl-article .article-container { padding: 35px 20px 58px; }
  .pl-article main h1 { margin-bottom: 26px; }
  .pl-article main h2 { font-size: 27px; margin-top: 36px; }
  .pl-article main p, .pl-article main li { font-size: 16px; line-height: 1.8; }
  .pl-seo .hero { padding: 40px 0 38px; }
  .pl-seo .content { padding: 10px 20px 42px; }
  .pl-seo .final { padding: 38px 20px 44px; }
  .pl-seo .final h2 { font-size: 29px; }
  .pl-legal .wrap { padding: 36px 20px 50px; }
  .pl-utility .pl-utility-content { padding: 62px 20px 72px; }
  .pl-public-page .pl-site-footer { padding: 24px 20px; }
  .pl-public-page .pl-page-footer-inner { gap: 10px 18px; }
  .pl-public-page .pl-footer-privacy { margin-left: 0; }
}
/* Keep shared navigation independent of legal/utility link styles. */
.pl-public-page .pl-site-header .pl-site-brand,
.pl-public-page .pl-site-header .pl-login-link { color: #292d2b; }
.pl-public-page .pl-page-footer-inner.pl-site-shell { width: 100%; min-height: 0; padding: 0; }
.pl-article main .article-intro { border-left: 0; font-style: normal; }
/* An unavailable illustration must not leave a vacant feature column. */
@media (min-width: 601px) {
  .pl-blog-index .blog-card:first-child > :not(img) { grid-column: 2; }
  .pl-blog-index .blog-card:first-child:has(img[style*="display: none"]) { display: block; }
  .pl-blog-index .blog-card:first-child:has(img[style*="display: none"]) h2 { max-width: 860px; }
  .pl-blog-index .blog-card:first-child:has(img[style*="display: none"]) p { max-width: 720px; }
}
