.article-video-preview:hover .article-video-play { background: var(--primary-dark); transform: translate(-50%,-50%) scale(1.04); }
.article-video-preview:focus-visible { outline: 4px solid var(--primary-light); outline-offset: -4px; }
.article-cta { margin: 45px 0 8px; padding: 34px; display: grid; grid-template-columns: 1fr auto; column-gap: 24px; row-gap: var(--copy-to-action-gap); align-items: center; border-radius: 26px; background: linear-gradient(135deg,#6a3696,#8c56b7); color: #fff; }
.article-cta span { display: block; color: #dfcaec; font-size: 10px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.article-cta strong { display: block; max-width: 480px; margin-top: 7px; font-size: 19px; line-height: 1.4; }
.article-cta .button { color: var(--primary-dark); text-decoration: none; }
.article-content > .source-list { margin-block: 1em; padding-left: 20px; }
.source-list { display: grid; gap: 12px; font-size: 15px; line-height: 1.6; }
.about-author { margin-top: 48px; padding: 31px; display: grid; grid-template-columns: auto 1fr; gap: 20px; border: 1px solid #ded9e2; border-radius: 25px; background: #fff; }
.article-content .about-author h2 { margin: 0 0 8px; font-size: var(--type-card-title); }
.about-author p { margin: 0; font-size: 15px; }
.about-author > div > div { margin-top: 14px; display: flex; gap: 18px; flex-wrap: wrap; }
.about-author a { font-size: 13px; font-weight: 800; }
.responsible-note { margin-top: 24px !important; padding: 18px 20px; border-radius: 16px; background: #ebe9ed; color: #68646d; font-size: 13px; line-height: 1.55; }
.desktop-toc { position: sticky; top: 126px; }
.desktop-toc nav { padding: 23px; border: 1px solid #dfdbe2; border-radius: 22px; background: rgba(255,255,255,.92); box-shadow: 0 16px 45px rgba(59,45,70,.06); }
.desktop-toc p { margin: 0 0 14px; color: #37333b; font-size: 13px; font-weight: 900; }
.desktop-toc ol { margin: 0; padding: 0; display: grid; list-style: none; counter-reset: toc; }
.desktop-toc li { counter-increment: toc; }
.desktop-toc a { min-height: 38px; padding: 7px 2px; display: grid; grid-template-columns: 24px 1fr; gap: 4px; align-items: start; border-top: 1px solid #ebe8ed; color: #6d6972; font-size: 12px; line-height: 1.42; }
.desktop-toc a::before { content: counter(toc,decimal-leading-zero); color: #9e73bf; font-size: 9px; font-weight: 850; padding-top: 2px; }
.desktop-toc a:hover { color: var(--primary-dark); }
.related-state { padding: var(--section-edge-space) 0; background: #fff; }
.related-state-inner { min-height: 250px; padding: 44px 50px; display: grid; grid-template-columns: 1fr auto; column-gap: 40px; row-gap: var(--copy-to-action-gap); align-items: center; border-radius: 30px; background: #eeeaf1; }
.related-state h2 { margin: 0 0 10px; font-size: var(--type-content-title); line-height: var(--line-content-title); letter-spacing: -.04em; }
.related-state p { max-width: 740px; margin: 0; color: #74707a; }
.authors-hero { padding: var(--page-hero-padding-start) 0 var(--page-hero-padding-end); background: #fff; }
.authors-hero-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: var(--page-hero-grid-gap); align-items: start; }
.authors-workflow-panel { position: relative; min-height: 440px; padding: 30px; display: flex; flex-direction: column; gap: 24px; border: 1px solid rgba(255,255,255,.22); border-radius: 34px; background: radial-gradient(circle at 82% 12%,rgba(222,173,248,.48),transparent 28%),linear-gradient(145deg,#2e203a,#74449c); box-shadow: 0 30px 70px rgba(49,29,65,.2); color: #fff; overflow: hidden; }
.authors-workflow-panel::after { content: ""; position: absolute; width: 210px; height: 210px; right: -90px; bottom: -105px; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; box-shadow: 0 0 0 34px rgba(255,255,255,.035),0 0 0 68px rgba(255,255,255,.025); pointer-events: none; }
.authors-workflow-head { position: relative; z-index: 1; display: flex; align-items: center; gap: 14px; }
.authors-workflow-head > .editorial-mark { width: 54px; height: 54px; flex: 0 0 54px; border: 1px solid rgba(255,255,255,.32); box-shadow: 0 12px 28px rgba(22,12,31,.22); }
.authors-workflow-head > div { display: grid; gap: 3px; }
.authors-workflow-head span, .authors-workflow-roles span { color: #dbcbe7; font-size: 9px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.authors-workflow-head strong { font-size: 15px; line-height: 1.3; }
.authors-workflow-track { position: relative; z-index: 1; display: grid; gap: 10px; }
.authors-workflow-step { min-height: 74px; padding: 13px 15px; display: grid; grid-template-columns: 38px minmax(0,1fr); gap: 13px; align-items: center; border: 1px solid rgba(255,255,255,.16); border-radius: 17px; background: rgba(255,255,255,.1); box-shadow: inset 0 1px rgba(255,255,255,.08); }
.authors-workflow-step > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; background: rgba(224,192,246,.16); color: #e6c9f8; font-size: 10px; font-weight: 850; }
.authors-workflow-step > div { display: grid; gap: 2px; }
.authors-workflow-step strong { font-size: 13px; }
.authors-workflow-step small { color: #d6cbdc; font-size: 9px; line-height: 1.45; }
.authors-workflow-roles { position: relative; z-index: 1; margin-top: auto; padding-top: 18px; display: grid; grid-template-columns: 1fr 1px 1fr; gap: 16px; border-top: 1px solid rgba(255,255,255,.16); }
.authors-workflow-roles > div { display: grid; gap: 3px; }
.authors-workflow-roles strong { font-size: 11px; }
.authors-workflow-roles i { width: 1px; min-height: 34px; background: rgba(255,255,255,.18); }
.authors-hero-copy h1 { max-width: 760px; margin: 0 0 var(--heading-copy-gap); color: #302d34; font-size: var(--type-page-title); line-height: var(--line-page-title); letter-spacing: var(--tracking-page-title); text-wrap: balance; }
.authors-hero-copy > p { max-width: 720px; margin: 0; color: #66626b; font-size: 19px; line-height: 1.65; }
.expertise-list { margin-top: 28px; display: flex; gap: 8px; flex-wrap: wrap; }
.expertise-list span { min-height: 40px; padding: 9px 14px; display: inline-flex; align-items: center; border-radius: 999px; background: #eee8f3; color: #603681; font-size: 11px; font-weight: 800; }
.authors-section { padding: var(--section-edge-space) 0; }
.authors-two-col { display: grid; grid-template-columns: .9fr 1.1fr; gap: 95px; align-items: start; }
.authors-section h2 { margin: 0; color: #343137; font-size: var(--type-section-title); line-height: var(--line-section-title); letter-spacing: var(--tracking-section-title); text-wrap: balance; }
.authors-prose { color: #625f67; font-size: 18px; line-height: 1.72; }
.authors-prose p { margin: 0 0 1.25em; }
.authors-process { background: #302d34; color: #fff; }
.authors-process h2 { color: #fff; }
.process-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid rgba(255,255,255,.14); border-left: 1px solid rgba(255,255,255,.14); }
.process-grid article { min-height: 300px; padding: 28px; display: flex; flex-direction: column; border-right: 1px solid rgba(255,255,255,.14); border-bottom: 1px solid rgba(255,255,255,.14); }
.process-grid article > span { width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid rgba(220,183,245,.28); border-radius: 15px; background: rgba(195,146,227,.12); color: #dcb7f5; font-size: 16px; line-height: 1; font-weight: 900; }
.process-grid h3 { margin: auto 0 10px; font-size: var(--type-subsection-title); }
.process-grid p { margin: 0; color: #bdb7c1; font-size: 13px; line-height: 1.6; }
.standards-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: 80px; align-items: start; }
.standards-grid > div:first-child > p { margin-block: 1em; color: #716d76; }
.standards-links { display: grid; border-top: 1px solid #dcd8df; }
.standards-links a { min-height: 92px; display: grid; grid-template-columns: 150px 1fr auto; gap: 18px; align-items: center; border-bottom: 1px solid #dcd8df; }
.standards-links span { color: var(--primary-dark); font-size: 12px; font-weight: 850; }
.standards-links strong { color: #514e56; font-size: 14px; font-weight: 650; line-height: 1.5; }
.standards-links .direction-arrow { color: var(--primary); }
.authors-contact { padding: 0 0 var(--section-edge-space); }
.authors-contact-inner { min-height: 330px; padding: 55px 60px; display: grid; grid-template-columns: 1fr auto; column-gap: 45px; row-gap: var(--copy-to-action-gap); align-items: center; border-radius: 34px; background: linear-gradient(135deg,#6b3897,#8d58b7); color: #fff; }
.authors-contact h2 { max-width: 750px; color: #fff; }
.authors-contact p { max-width: 740px; margin-block: 1em; color: #e0d4e6; }
.authors-articles { background: #fff; }
@media (max-width: 1199px) {
  .blog-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .article-layout { grid-template-columns: minmax(0,720px) 270px; gap: 32px; }
  .article-hero-image,
  .article-checklist { margin-left: max(0px,calc((100% - 1022px)/2)); }
}
@media (max-width: 1023px) {
  .blog-card-featured { grid-template-columns: 1fr; }
  .blog-card-featured .blog-card-media { min-height: 0; aspect-ratio: 16 / 9; }
  .blog-card-featured .blog-card-copy { padding: 16px 12px 18px; }
  .article-layout { max-width: 800px; grid-template-columns: 1fr; }
  .article-hero-image,
  .article-checklist { max-width: 800px; margin-inline: auto; }
  .desktop-toc { display: none; }
  .mobile-toc { max-width: 1000px; margin: 20px auto 0; display: block; border: 1px solid #ddd8e1; border-radius: 20px; background: #fff; overflow: hidden; }
  .mobile-toc summary { min-height: 58px; padding: 0 20px; display: flex; align-items: center; justify-content: space-between; list-style: none; cursor: pointer; color: #3f3b43; font-size: 14px; font-weight: 900; }
  .mobile-toc summary::-webkit-details-marker { display: none; }
  .mobile-toc summary span { font-size: 20px; transition: transform .2s ease; }
  .mobile-toc[open] summary span { transform: rotate(45deg); }
  .mobile-toc nav { padding: 0 20px 18px; }
  .mobile-toc ol { margin: 0; padding: 0; display: grid; list-style: none; }
  .mobile-toc a { min-height: 42px; padding: 8px 0; display: flex; align-items: center; border-top: 1px solid #ebe7ed; color: #615d66; font-size: 13px; line-height: 1.4; }
  .authors-hero-grid,
  .authors-two-col,
  .standards-grid { grid-template-columns: 1fr; gap: 45px; }
  .authors-workflow-panel { min-height: 360px; }
  .authors-hero-copy { order: -1; }
  .process-grid { grid-template-columns: repeat(2,1fr); }
}
