/* A magazine cover opening with a quiet, generous reading surface. */
.rc-blog-post #content > .ast-container { display: block; max-width: 1384px; padding: 0 40px; }
.rc-blog-post #primary.rc-article-primary { width: 100%; margin: 0; padding: 0; border: 0; }
.rc-article { padding-top: 24px; }
.rc-article-back { margin-bottom: 20px; }
.rc-article-back a { display: inline-flex; gap: 12px; align-items: center; min-height: 44px; font-size: 14px; font-weight: 600; }
.rc-article-back a:hover { color: #146f3b; }
.rc-article-hero { overflow: hidden; border-radius: 16px; background: #08160f; color: #fff; }
.rc-article-title { padding: clamp(32px, 5vw, 72px) clamp(28px, 5vw, 72px) 32px; }
.rc-article h1 { color: #fff; font: 500 clamp(38px, 4.8vw, 70px)/1.08 var(--kanit); letter-spacing: -.027em; margin: 0; max-width: 22ch; text-wrap: balance; overflow-wrap: anywhere; }
.rc-article-hero-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px 32px; margin-top: 30px; padding-top: 24px; border-top: 1px solid #304b39; }
.rc-article-hero-topics { display: flex; gap: 10px; flex-wrap: wrap; }
.rc-article-hero-topics a { color: #b5ecc5; display: inline-flex; align-items: center; min-height: 44px; padding: 7px 16px; border: 1px solid #44634f; border-radius: 24px; font-size: 14px; }
.rc-article-hero-topics a:hover { color: #08170e; background: var(--blog-green); border-color: var(--blog-green); }
.rc-article-start { display: inline-flex; align-items: center; gap: 24px; min-height: 48px; color: var(--blog-green) !important; font-size: 15px; font-weight: 700; margin-left: auto; }
.rc-article-start svg { width: 42px; height: 42px; padding: 11px; border-radius: 50%; background: var(--blog-green); color: #09180f; }
.rc-article-start:hover { text-decoration: underline; text-underline-offset: 5px; }
.rc-article-hero a:focus-visible { outline-color: var(--blog-green); }
.rc-article-cover { min-width: 0; margin: 0 28px 28px; overflow: hidden; border-radius: 12px; background: #0a0e0b; }
.rc-article-cover .rc-blog-image { aspect-ratio: 2.35; height: auto; object-fit: cover; object-position: center 44%; }
.rc-article-hero-text .rc-article-title { padding-bottom: 40px; }
.rc-article-layout { display: grid; grid-template-columns: 250px minmax(0, 740px); gap: clamp(40px, 6vw, 100px); justify-content: center; padding-top: 72px; scroll-margin-top: 155px; }
.rc-article-aside { min-width: 0; }
.rc-article-toc { position: sticky; top: 150px; max-height: calc(100vh - 180px); overflow-y: auto; padding: 0 4px 12px 0; scrollbar-width: thin; scrollbar-color: #789b83 var(--blog-paper); }
.rc-article-toc summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; color: var(--blog-ink); font: 500 23px/1.3 var(--kanit); padding: 16px 0 20px; cursor: pointer; list-style: none; border-top: 1px solid #9fb4a5; }
.rc-article-toc summary::-webkit-details-marker { display: none; }
.rc-article-toc details[open] summary svg { transform: rotate(180deg); }
.rc-article-toc ol { list-style: none; margin: 0; padding: 0; }
.rc-article-toc li { margin: 0 0 4px; }
.rc-article-toc li a { display: block; min-height: 44px; padding: 12px 14px; border-radius: 8px; font-size: 14px; line-height: 1.5; color: var(--blog-muted); }
.rc-article-toc li a:hover { background: #e3ede4; color: #143d22; }
.rc-article-toc li a[aria-current="location"] { background: #d9f5e1; color: #154627; font-weight: 700; }
.rc-article-toc .rc-toc-depth-1 { padding-left: 12px; }
.rc-article-toc .rc-toc-depth-2 { padding-left: 24px; }
.rc-article-toc .rc-toc-depth-3 { padding-left: 36px; }
.rc-article-progress { margin-top: 28px; height: 3px; background: #d9e4db; border-radius: 3px; overflow: hidden; }
.rc-article-progress span { display: block; height: 100%; background: #178149; transform: scaleX(0); transform-origin: left; }
.rc-article-return { display: inline-block; min-height: 44px; margin-top: 10px; padding-top: 12px; font-size: 13px; font-weight: 600; }
.rc-article-body { min-width: 0; }
.rc-article-content { color: #25382b; font-size: 18px; line-height: 1.85; overflow-wrap: anywhere; }
.rc-article-content > :first-child { margin-top: 0; }
.rc-article-content > p:first-of-type { font-size: 21px; line-height: 1.75; color: #193323; }
.rc-article-content p { margin: 0 0 28px; }
.rc-article-content :is(h2,h3,h4,h5,h6) { font: 500 28px/1.22 var(--kanit); color: var(--blog-ink); letter-spacing: -.012em; margin: 44px 0 20px; scroll-margin-top: 165px; text-wrap: balance; }
.rc-article-content :is(h2,h3,h4,h5,h6)[data-rc-depth="0"] { font-size: clamp(30px, 2.7vw, 38px); margin-top: 56px; }
.rc-article-content :is(h2,h3,h4,h5,h6) span { font: inherit; }
.rc-article-content a:not(.fasc-button) { color: #146f3b; text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.rc-article-content a:not(.fasc-button):hover { color: #081b10; text-decoration-thickness: 2px; }
.rc-article-content img { max-width: 100%; height: auto; border-radius: 12px; }
.rc-article-content .aligncenter, .rc-article-content figure { margin: 36px auto; }
.rc-article-content figcaption, .rc-article-content .wp-caption-text { font-size: 13px; line-height: 1.6; color: var(--blog-muted); }
.rc-article-content ul, .rc-article-content ol { margin: 0 0 28px 24px; }
.rc-article-content li { margin-bottom: 10px; }
.rc-article-content blockquote { margin: 40px 0; padding: 32px; border: 0; border-radius: 12px; background: #e3f1e6; font-size: 24px; font-style: normal; color: #183d26; }
.rc-article-content blockquote p:last-child { margin-bottom: 0; }
.rc-article-content iframe, .rc-article-content video { max-width: 100%; }
.rc-article-content table { display: block; overflow-x: auto; width: 100%; font-size: 15px; }
.rc-article-content .fasc-button { background: var(--blog-green) !important; color: #08170e !important; border-radius: 24px; padding: 14px 24px; font-size: 15px; font-weight: 700; }
.rc-article-topics { display: flex; flex-wrap: wrap; gap: 8px; margin: 32px 0; }
.rc-article-topics a { display: inline-flex; align-items: center; min-height: 44px; border: 1px solid #bac8bf; border-radius: 24px; padding: 8px 16px; font-size: 13px; }
.rc-article-topics a:hover { background: #e1f0e4; }
.rc-article-end { display: flex; align-items: center; justify-content: space-between; gap: 24px; border-top: 1px solid var(--blog-line); padding-top: 24px; margin-top: 40px; }
.rc-article-end a { display: inline-flex; align-items: center; gap: 14px; min-height: 44px; font-size: 14px; font-weight: 600; }
.rc-article-without-toc { grid-template-columns: minmax(0, 740px); }
.rc-article-related { margin-top: 88px; padding: 48px 40px 12px; border-radius: 16px; background: #e8eee7; }
.rc-article-related-heading { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-bottom: 32px; }
.rc-article-related-heading h2 { font: 500 44px/1.15 var(--kanit); letter-spacing: -.02em; color: var(--blog-ink); margin: 0; }
.rc-article-related-heading > a { min-height: 44px; padding: 12px 0; font-size: 14px; font-weight: 600; text-decoration: underline; text-underline-offset: 5px; }
.rc-article-related .rc-blog-card { border: 0; }
.rc-article-related .rc-blog-card h3 { font-size: 25px; }
#rc-article-top { scroll-margin-top: 160px; }
#rc-article-top:focus { outline: none; }
.rc-article-comments { max-width: 1090px; margin: 64px auto 0; }
.rc-blog-post .comments-area { padding: 0; background: transparent; border: 0; margin: 0; }
.rc-blog-post #respond.comment-respond { display: grid; grid-template-columns: 250px minmax(0,1fr); gap: 0 clamp(40px,6vw,100px); padding: 40px 0 0; border-top: 1px solid var(--blog-line); margin: 0; background: transparent; }
.rc-blog-post .comment-reply-title { grid-column: 1; color: var(--blog-ink); font: 500 34px/1.15 var(--kanit); letter-spacing: -.02em; margin: 0; }
.rc-blog-post .comment-reply-title small { display: block; margin-top: 16px; font-size: 14px; }
.rc-blog-post .comment-form { grid-column: 2; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px 16px; min-width: 0; margin: 0; }
.rc-blog-post .comment-form > :is(.comment-notes,.logged-in-as,.rc-comment-message,.comment-form-cookies-consent,.form-submit,.ast-comment-formwrap) { grid-column: 1 / -1; }
.rc-blog-post .comment-notes { color: var(--blog-muted); font-size: 14px; line-height: 1.6; margin: 0; }
.rc-blog-post .rc-comment-field { float: none; width: auto; padding: 0; margin: 0; }
.rc-blog-post .rc-comment-field > label { display: block; margin: 0 0 8px; color: var(--blog-ink); font-size: 14px; line-height: 1.5; font-weight: 600; }
.rc-blog-post .rc-comment-optional { color: var(--blog-muted); font-size: 12px; font-weight: 400; }
.rc-blog-post .rc-comment-field .required { color: #28653c; }
.rc-blog-post #respond .rc-comment-field :is(input,textarea) { display: block; box-sizing: border-box; width: 100%; background: #fff; border: 1px solid #b5c7ba; border-radius: 8px; font: 400 16px/1.5 var(--osans); padding: 12px 14px; color: var(--blog-ink); caret-color: #167d42; box-shadow: none; }
.rc-blog-post #respond .rc-comment-field textarea { height: 152px; min-height: 120px; resize: vertical; }
.rc-blog-post #respond .rc-comment-field input { height: 48px; }
.rc-blog-post #respond .rc-comment-field :is(input,textarea):focus { border-color: #147641; outline: 2px solid #147641; outline-offset: 2px; }
.rc-blog-post #respond .rc-comment-field textarea::placeholder { color: #52685a; opacity: 1; }
.rc-blog-post .ast-comment-formwrap { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin: 20px 0 0; }
.rc-blog-post .ast-comment-formwrap::before, .rc-blog-post .ast-comment-formwrap::after { display: none; }
.rc-blog-post .comment-form-cookies-consent { display: flex; align-items: flex-start; gap: 10px; color: var(--blog-muted); font-size: 13px; line-height: 1.6; margin: 0; }
.rc-blog-post .comment-form-cookies-consent input { flex: 0 0 18px; width: 18px; height: 18px; margin: 2px 0 0; accent-color: #167d42; }
.rc-blog-post .comment-form-cookies-consent label { cursor: pointer; }
.rc-blog-post #respond .form-submit { margin: 0; }
.rc-blog-post #respond input#submit { border: 0; border-radius: 24px; min-height: 48px; padding: 12px 26px; color: #08170e; background: var(--blog-green); font-size: 15px; font-weight: 700; }
.rc-blog-post #respond input#submit:hover { background: #b0fac6; color: #08170e; }
.rc-blog-post #respond input#submit:focus-visible { outline: 3px solid #147641; outline-offset: 5px; }
.rc-blog-post .comment-list #respond.comment-respond { display: block; }
.rc-blog-post .comment-list .comment-reply-title { margin-bottom: 20px; }
@media (max-width: 1000px) {
  .rc-article-layout { grid-template-columns: 210px minmax(0, 1fr); gap: 40px; }
  .rc-article-without-toc { grid-template-columns: minmax(0, 740px); }
  .rc-article-related { padding: 32px 28px 8px; }
  .rc-article-related .rc-blog-grid { grid-template-columns: 1fr; }
  .rc-article-related .rc-blog-card { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 12px 24px; }
  .rc-article-related .rc-blog-card-image { grid-row: 1 / 4; aspect-ratio: 1; margin: 0; }
  .rc-article-related .rc-blog-read { grid-column: 2; }
}
@media (max-width: 760px) {
  .rc-blog-post #content > .ast-container { padding: 0 20px; }
  .rc-article { padding-top: 16px; }
  .rc-article-title { padding: 32px 24px 24px; }
  .rc-article h1 { font-size: 38px; }
  .rc-article-hero-footer { margin-top: 24px; padding-top: 16px; gap: 12px; }
  .rc-article-hero-topics a { font-size: 13px; padding: 6px 12px; }
  .rc-article-start { font-size: 14px; gap: 16px; }
  .rc-article-cover { margin: 0 12px 12px; }
  .rc-article-cover .rc-blog-image { aspect-ratio: 1.5; }
  .rc-article-layout { grid-template-columns: minmax(0, 1fr); gap: 36px; padding-top: 32px; scroll-margin-top: 115px; }
  .rc-article-toc { position: static; max-height: none; padding: 0; }
  .rc-article-toc summary { font-size: 22px; padding: 18px 0; border-bottom: 1px solid var(--blog-line); }
  .rc-article-toc ol { padding-top: 12px; }
  .rc-article-progress, .rc-article-return { display: none; }
  .rc-article-content { font-size: 17px; line-height: 1.8; }
  .rc-article-content > p:first-of-type { font-size: 19px; }
  .rc-article-content :is(h2,h3,h4,h5,h6) { margin-top: 36px; scroll-margin-top: 125px; }
  .rc-article-content :is(h2,h3,h4,h5,h6)[data-rc-depth="0"] { font-size: 30px; margin-top: 44px; }
  .rc-article-end { flex-wrap: wrap; gap: 12px; }
  .rc-article-related { margin-top: 48px; padding: 28px 20px 4px; }
  .rc-article-related-heading { align-items: start; gap: 16px; }
  .rc-article-related-heading h2 { font-size: 32px; }
  .rc-article-related-heading > a { flex-shrink: 0; padding-top: 4px; }
  .rc-article-related .rc-blog-card { display: flex; gap: 0; }
  .rc-article-related .rc-blog-card-image { aspect-ratio: 16/10; margin-bottom: 20px; }
  .rc-article-related .rc-blog-card h3 { font-size: 26px; }
  #rc-article-top { scroll-margin-top: 130px; }
  .rc-article-comments { margin-top: 40px; }
  .rc-blog-post #respond.comment-respond { grid-template-columns: minmax(0,1fr); gap: 20px; padding-top: 28px; }
  .rc-blog-post .comment-reply-title { font-size: 30px; }
  .rc-blog-post .comment-form { grid-column: 1; grid-template-columns: minmax(0,1fr); }
  .rc-blog-post .ast-comment-formwrap { grid-template-columns: minmax(0,1fr); gap: 18px; }
  .rc-blog-post .comment-form-cookies-consent { font-size: 14px; }
}
@media (prefers-reduced-motion: no-preference) {
  html:has(body.rc-blog-post) { scroll-behavior: smooth; }
}
