/* Shared reading and discovery styles. */
.editorial-eyebrow { color: #80e8e9 !important; font-size: .8rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.editorial-hero { padding: clamp(4rem, 8vw, 7rem) 0; background: radial-gradient(ellipse at 80% 15%, #38275b 0%, #1d1b30 48%, #151424 100%); }
.editorial-hero h1, .topic-page h1, .topics-index h1 { max-width: 15ch; margin: .8rem 0 1.3rem; color: #fff; font-size: clamp(3rem, 5vw, 5rem); line-height: 1.05; letter-spacing: -.04em; }
.editorial-hero .container > p:not(.editorial-eyebrow), .topic-page__intro, .topics-index > p:not(.editorial-eyebrow) { max-width: 42rem; color: #e0deed; font-size: 1.15rem; line-height: 1.65; }
.editorial-hero__links { display: flex; flex-wrap: wrap; align-items: center; gap: 1.5rem; margin-top: 2rem; }
.editorial-hero__links > a:not(.editorial-button), .topic-page__back { color: #fff; text-decoration: underline; text-underline-offset: .25em; }
.editorial-button { display: inline-flex; gap: 1rem; padding: 1rem 1.4rem; border-radius: .5rem; background: #f9cf68; color: #211a2e; font-weight: 700; text-decoration: none; }
.editorial-button:hover { background: #ffe09a; color: #211a2e; }
.editorial-listing, .topic-page, .topics-index { padding-top: clamp(4rem, 7vw, 6rem); padding-bottom: clamp(4rem, 7vw, 6rem); }
.editorial-listing { scroll-margin-top: 8rem; }
.editorial-listing__heading { display: flex; justify-content: space-between; align-items: end; gap: 2rem; margin-bottom: 2rem; }
.editorial-listing__heading h2 { margin: .5rem 0 0; color: #fff; font-size: clamp(2rem, 3vw, 3rem); }
.editorial-listing__heading > p { max-width: 24rem; color: #e0deed; line-height: 1.6; }
.editorial-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin-top: 2.5rem; }
.editorial-card { display: flex; flex-direction: column; overflow: hidden; border: 1px solid #625b78; border-radius: 1rem; background: #28243d; }
.editorial-card__image { display: block; aspect-ratio: 16/9; overflow: hidden; background: #342b48; }
.editorial-card__image img { width: 100%; height: 100%; object-fit: cover; }
.editorial-card__body { display: flex; flex: 1; flex-direction: column; padding: 1.5rem; }
.editorial-card time, .reading-meta { color: #c5bbd0; font-size: .9rem; }
.editorial-card h2, .editorial-card h3 { margin: .8rem 0; color: #fff; font-size: 1.3rem; line-height: 1.3; }
.editorial-card h2 a, .editorial-card h3 a { color: #fff; text-decoration: none; }
.editorial-card h2 a:hover, .editorial-card h3 a:hover { color: #80e8e9; text-decoration: underline; }
.editorial-card p { color: #e0deed; line-height: 1.6; }
.editorial-card__link { width: fit-content; margin-top: auto; padding-top: 1rem; color: #fff; font-weight: 700; text-decoration: underline; text-underline-offset: .25em; }
.reading-page { padding: 3rem 0 5rem; }
.reading-header { max-width: 60rem; padding: 2.5rem 0; }
.reading-header h1 { margin: .75rem 0 1.5rem; color: #fff; font-size: clamp(2.6rem, 4.5vw, 4.5rem); line-height: 1.1; letter-spacing: -.035em; }
.reading-meta { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; }
.reading-tags { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.25rem; }
.reading-tags a, .topics-index__list a { display: inline-block; padding: .4rem .8rem; border: 1px solid #766b91; border-radius: 2rem; color: #fff; text-decoration: none; }
.reading-tags a:hover, .topics-index__list a:hover { color: #211a2e; background: #80e8e9; }
.reading-image { display: block; width: 100%; max-height: 30rem; object-fit: cover; border-radius: 1rem; }
.reading-layout { display: grid; grid-template-columns: minmax(0, 48rem) minmax(12rem, 1fr); gap: clamp(2rem, 6vw, 5rem); margin-top: 3rem; }
.reading-content { min-width: 0; color: #e0deed; font-size: 1.1rem; line-height: 1.8; overflow-wrap: anywhere; }
.reading-content h2, .reading-content h3 { color: #fff; line-height: 1.2; margin: 2.5rem 0 1rem; }
.reading-content img { max-width: 100%; height: auto; }
.reading-content pre { max-width: 100%; overflow-x: auto; }
.reading-aside { align-self: start; padding: 1.5rem; border: 1px solid #625b78; border-radius: 1rem; background: #28243d; color: #e0deed; }
.reading-aside a { display: block; margin-bottom: .75rem; color: #fff; text-decoration: underline; text-underline-offset: .2em; }
.reading-aside .editorial-eyebrow { margin-top: 1.5rem; }
.reading-aside .editorial-eyebrow:first-child { margin-top: 0; }
.reading-author { color: #fff; font-size: 1.2rem; font-weight: 700; }
.reading-newsletter { max-width: 48rem; margin-top: 4rem; padding-top: 2rem; border-top: 1px solid #625b78; }
.reading-newsletter h2 { color: #fff; }
.reading-newsletter p { color: #e0deed; }
.topic-page__back { display: inline-block; margin: 1rem 0; }
.topics-index__list { display: flex; flex-wrap: wrap; gap: .75rem; margin: 2rem 0 0; padding: 0; list-style: none; }
.editorial-hero a:focus-visible, .editorial-listing a:focus-visible, .reading-page a:focus-visible, .topic-page a:focus-visible, .topics-index a:focus-visible { outline: 3px solid #80e8e9; outline-offset: 4px; }
/* Constrain long-form informational pages without changing their content. */
.c-page.ai-glossary .prose, .c-page.privacy-policy .prose, .c-page.terms-of-service .prose { max-width: 60rem; margin: 0 auto; color: #e0deed; line-height: 1.75; }
.c-page.ai-glossary .prose h1, .c-page.privacy-policy .prose h1, .c-page.terms-of-service .prose h1 { color: #fff; font-size: clamp(2.6rem, 4.5vw, 4.5rem); line-height: 1.1; }
.c-page.ai-glossary .prose h2, .c-page.privacy-policy .prose h2, .c-page.terms-of-service .prose h2 { margin-top: 2.5rem; color: #fff; }
.c-page.federal-state-ai-policies .prose { max-width: 60rem; margin: 0 auto; color: #e0deed; line-height: 1.75; }
.c-page.federal-state-ai-policies .prose h1 { color: #fff; font-size: clamp(2.6rem, 4.5vw, 4.5rem); line-height: 1.1; }
.c-page.federal-state-ai-policies .prose h2 { margin-top: 2.5rem; color: #fff; }
.c-page .prose .overflow-x-auto { max-width: 100%; overflow-x: auto; }
.c-page .prose { overflow-wrap: anywhere; }
@media (max-width: 991px) { .editorial-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .editorial-grid, .reading-layout { grid-template-columns: 1fr; } .editorial-listing__heading { align-items: flex-start; flex-direction: column; gap: .75rem; } .reading-header { padding: 1.5rem 0; } .reading-layout { gap: 2rem; } }
