.longform-article .content-heading { max-width: 1120px; }
.longform-article .article-byline { margin: 26px auto 0 !important; font-size: 12px; letter-spacing: .02em; color: #766873; }
.article-byline span { margin: 0 8px; }
.longform-article .article-cover { max-width: 1180px; object-fit: cover; }
.longform-layout { width: min(1180px, 88%); margin: 52px auto 80px; display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 55px; align-items: start; }
.longform-article .article-copy { width: 100%; max-width: none; padding: 0; margin: 0; min-width: 0; }
.longform-body { font-size: 17px; line-height: 1.85; color: #4f454b; }
.longform-body p { margin: 0 0 23px; }
.longform-body .article-lead { font-size: 21px; line-height: 1.65; color: #34242d; }
.longform-body h2 { scroll-margin-top: 110px; font: 36px/1.2 Georgia, serif; color: #34242d; margin: 58px 0 23px; letter-spacing: -.6px; }
.longform-body h3 { font: 25px/1.3 Georgia, serif; color: #34242d; margin: 32px 0 16px; }
.longform-body a { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.longform-body a:hover, .article-toc a:hover { color: #854768; }
.longform-body a:focus-visible, .article-toc a:focus-visible, .article-table-wrap:focus-visible { outline: 2px solid #482338; outline-offset: 4px; }
.article-toc { position: sticky; top: 110px; border-top: 2px solid #482338; max-height: calc(100vh - 135px); overflow-y: auto; padding: 18px 2px 15px; font-size: 13px; line-height: 1.5; }
.article-toc summary { cursor: pointer; font-size: 15px; color: #482338; }
.article-toc ol { list-style: none; padding: 0; margin: 20px 0 0; }
.article-toc li + li { margin-top: 13px; }
.article-toc a { display: block; }
.editor-note { background: #f4eeea; border-left: 3px solid #825469; padding: 26px 30px; margin: 32px 0; }
.editor-note strong { display: block; color: #482338; margin-bottom: 10px; font-size: 14px; letter-spacing: .03em; }
.editor-note p:last-child { margin-bottom: 0; }
.source-quote { margin: 38px 0; padding: 28px 0 28px 30px; border-left: 2px solid #ad8b9b; }
.source-quote p { font: 27px/1.5 Georgia, serif; color: #482338; margin-bottom: 15px; }
.source-quote cite { font-size: 13px; font-style: normal; }
.article-table-wrap { max-width: 100%; overflow-x: auto; margin: 30px 0; border: 1px solid #ded2d8; }
.article-table-wrap table { width: 100%; min-width: 560px; border-collapse: collapse; text-align: left; font-size: 14px; line-height: 1.65; }
.article-table-wrap caption { text-align: left; padding: 17px 20px; background: #482338; color: white; font-size: 14px; }
.article-table-wrap th, .article-table-wrap td { padding: 17px 18px; border-bottom: 1px solid #ded2d8; vertical-align: top; }
.article-table-wrap thead { background: #f3ecef; }
.article-table-wrap tbody th { width: 26%; color: #482338; font-weight: 500; }
.article-table-wrap tbody tr:last-child > * { border-bottom: 0; }
.article-figure { margin: 36px 0; background: #fff; border: 1px solid #e6dfe2; }
.article-figure img { width: 100%; height: auto; max-height: 560px; object-fit: contain; display: block; }
.article-figure figcaption { padding: 18px 22px; background: #f6f2ef; font-size: 13px; line-height: 1.7; }
.article-products { margin: 40px -20px; padding: 25px 20px; background: #f5f0ec; }
.article-products > h3 { margin-top: 10px; }
.article-products .eyebrow { font-size: 10px; margin-bottom: 0; }
.article-product-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; margin-top: 26px; }
.article-product-card { min-width: 0; }
.article-product-card img { width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; background: white; }
.article-product-card h4 { font: 21px/1.25 Georgia, serif; margin: 16px 0 9px; color: #34242d; }
.article-product-card p { font-size: 13px; line-height: 1.65; margin-bottom: 14px; }
.article-product-card .article-product-option { color: #766873; font-size: 11px; }
.article-product-card .textlink { font-size: 12px; line-height: 1.5; }
.article-products .article-product-footnote { font-size: 12px; margin: 26px 0 0; color: #766873; }
@media(max-width: 960px) { .longform-layout { grid-template-columns: 1fr; gap: 30px; max-width: 780px; } .article-toc { position: static; max-height: none; } .article-toc ol { columns: 2; column-gap: 25px; } .article-toc li { break-inside: avoid; margin-bottom: 12px; } .article-toc li + li { margin-top: 0; } }
@media(max-width: 600px) { .longform-layout { margin-top: 30px; } .longform-body { font-size: 16px; line-height: 1.8; } .longform-body h2 { font-size: 29px; margin-top: 42px; } .longform-body .article-lead { font-size: 19px; } .article-toc ol { columns: 1; } .editor-note { padding: 22px; } .source-quote { padding-left: 20px; } .source-quote p { font-size: 24px; } .article-products { margin: 32px 0; padding: 22px 16px; } .article-product-grid { grid-template-columns: 1fr; gap: 30px; } .article-product-card img { max-height: 300px; } .article-product-card h4 { font-size: 24px; } .article-figure figcaption { padding: 15px; } }

