/* Insights Valiant — estrutura editorial preparada para publicação assistida por IA. */
.blog-page h1, .blog-page h2, .blog-page h3, .blog-article-page h1, .blog-article-page h2 { font-family: var(--font-apple-display); }
.blog-hero { min-height: 570px; display: grid; grid-template-columns: 48% 52%; align-items: center; gap: 52px; }
.blog-hero-copy { padding-left: 24px; }
.blog-hero-copy .eyebrow { color: #5f51a1; }
.blog-hero-copy h1 { max-width: 590px; margin: 0; color: #2a2737; font-size: clamp(48px, 4.15vw, 68px); line-height: 1.02; letter-spacing: var(--title-tracking); font-weight: 520; }
.blog-hero-copy > p { max-width: 520px; margin: 27px 0 0; color: var(--muted); font-size: .9625rem; line-height: 1.7; }
.blog-ai-seal { max-width: 540px; margin-top: 30px; padding-top: 19px; display: grid; grid-template-columns: 44px 1fr; gap: 13px; align-items: start; border-top: 1px solid var(--line); color: #4fabaa; }
.blog-darius-avatar { width: 44px; height: 44px; display: block; object-fit: contain; border: 1px solid rgba(95,81,161,.15); border-radius: 14px; background: linear-gradient(145deg, rgba(51,45,72,.98), rgba(32,29,45,.98)); box-shadow: 0 8px 20px rgba(41,38,54,.12); }
.blog-ai-seal strong { display: block; font-size: .6875rem; font-weight: 650; }
.blog-ai-seal small { display: block; margin-top: 5px; color: var(--muted); font-size: .61875rem; line-height: 1.5; }
.blog-hero-object { width: min(100%, 510px); aspect-ratio: 1; justify-self: center; position: relative; display: grid; place-items: center; isolation: isolate; }
.blog-hero-object::before { content: ""; position: absolute; inset: 13%; border-radius: 50%; background: radial-gradient(circle, rgba(79,171,170,.1), rgba(95,81,161,.05) 46%, transparent 70%); filter: blur(3px); }
.blog-orbit { position: absolute; left: 50%; top: 50%; border: 1px solid rgba(95,81,161,.2); border-radius: 50%; transform-origin: center; }
.blog-orbit-a { width: 74%; height: 46%; margin: -23% 0 0 -37%; transform: rotate(-18deg); animation: blogOrbitA 18s ease-in-out infinite; }
.blog-orbit-b { width: 58%; height: 82%; margin: -41% 0 0 -29%; border-color: rgba(79,171,170,.2); transform: rotate(28deg); animation: blogOrbitB 22s ease-in-out infinite; }
.blog-glass { position: absolute; display: grid; place-items: center; border: 1px solid rgba(95,81,161,.17); color: #5f51a1; background: linear-gradient(145deg, rgba(255,255,255,.8), rgba(95,81,161,.045)); box-shadow: inset 0 0 30px rgba(255,255,255,.7), 0 20px 50px rgba(38,58,63,.09); backdrop-filter: blur(13px); -webkit-backdrop-filter: blur(13px); }
.blog-glass-center { width: 188px; height: 188px; z-index: 4; border-color: rgba(79,171,170,.28); border-radius: 56px; color: #4fabaa; background: linear-gradient(145deg, rgba(255,255,255,.9), rgba(79,171,170,.075)); animation: blogCoreFloat 8s ease-in-out infinite; }
.blog-glass-center strong { margin-top: 5px; color: #2a2737; font-size: 1.875rem; line-height: 1; }
.blog-glass-center small { color: #4fabaa; font-size: .61875rem; letter-spacing: .13em; text-transform: uppercase; }
.blog-glass-left, .blog-glass-right { width: 92px; height: 92px; z-index: 3; border-radius: 30px; }
.blog-glass-left { left: 9%; top: 28%; transform: rotate(-8deg); animation: blogNodeLeft 9s ease-in-out infinite; }
.blog-glass-right { right: 9%; bottom: 27%; color: #5f51a1; border-color: rgba(95,81,161,.24); transform: rotate(7deg); animation: blogNodeRight 10s ease-in-out infinite; }
.blog-signal { width: 7px; height: 7px; position: absolute; z-index: 5; border-radius: 50%; background: #4fabaa; box-shadow: 0 0 14px rgba(79,171,170,.35); }
.blog-signal-a { left: 29%; top: 43%; animation: blogSignalA 4.2s ease-in-out infinite; }
.blog-signal-b { right: 29%; top: 51%; background: #5f51a1; box-shadow: 0 0 14px rgba(95,81,161,.32); animation: blogSignalB 4.8s ease-in-out infinite; }
.blog-signal-c { left: 48%; bottom: 23%; width: 5px; height: 5px; background: #5f51a1; animation: blogSignalC 5.4s ease-in-out infinite; }

.blog-featured, .blog-categories, .blog-feed { padding: 78px 24px; }
.blog-featured-panel { min-height: 420px; display: grid; grid-template-columns: 120px minmax(0, 1.08fr) minmax(330px, .92fr); border: 1px solid var(--line); border-radius: 26px; overflow: hidden; color: inherit; background: rgba(255,255,255,.55); box-shadow: 0 26px 70px rgba(41,38,54,.08); cursor: pointer; transition: border-color .24s ease, box-shadow .24s ease, transform .24s ease; }
.blog-featured-panel:hover { border-color: rgba(79,171,170,.38); box-shadow: 0 30px 78px rgba(41,38,54,.12); transform: translateY(-2px); }
.blog-featured-panel:focus-visible { outline: 3px solid rgba(79,171,170,.35); outline-offset: 4px; }
.blog-featured-index { padding: 35px 25px; display: flex; flex-direction: column; justify-content: space-between; border-right: 1px solid var(--line); color: #59666c; }
.blog-featured-index span { font-family: var(--font-apple-mono); font-size: .825rem; }
.blog-featured-index i { width: 1px; height: 90px; margin-inline: auto; background: linear-gradient(transparent, #5f51a1); }
.blog-featured-copy { padding: 52px 58px; align-self: center; }
.blog-featured-copy > div { display: flex; gap: 20px; color: #59666c; font-size: .61875rem; }
.blog-featured-copy > div span { color: #4fabaa; font-weight: 650; }
.blog-featured-copy h2 { max-width: 670px; margin: 22px 0 0; color: #2a2737; font-size: clamp(34px, 3vw, 48px); line-height: 1.06; letter-spacing: var(--title-tracking); font-weight: 520; }
.blog-featured-copy p { max-width: 650px; margin: 22px 0 27px; color: var(--muted); font-size: .825rem; line-height: 1.7; }
.blog-featured-visual { position: relative; display: grid; place-items: center; overflow: hidden; color: #4fabaa; background: radial-gradient(circle, rgba(79,171,170,.12), transparent 58%); }
.blog-featured-visual::before, .blog-featured-visual::after { content: ""; position: absolute; border: 1px solid rgba(95,81,161,.17); border-radius: 50%; }
.blog-featured-visual::before { width: 240px; height: 150px; transform: rotate(-18deg); }
.blog-featured-visual::after { width: 145px; height: 250px; border-color: rgba(79,171,170,.18); transform: rotate(26deg); }
.blog-featured-visual > span, .blog-featured-visual > i { width: 7px; height: 7px; position: absolute; border-radius: 50%; background: #5f51a1; }
.blog-featured-visual > span { left: 28%; top: 40%; }
.blog-featured-visual > i { right: 25%; bottom: 35%; background: #5f51a1; }
.blog-featured-visual.has-image { min-height: 420px; background: #171321; }
.blog-featured-visual.has-image::before, .blog-featured-visual.has-image::after { display: none; }
.blog-featured-visual.has-image > img { width: 100%; height: 100%; position: absolute; inset: 0; display: block; object-fit: cover; object-position: center; }
.blog-featured-visual.has-image > .blog-featured-image-shade { width: auto; height: auto; position: absolute; inset: 0; border-radius: 0; background: linear-gradient(90deg, rgba(23,19,33,.18), transparent 38%), linear-gradient(0deg, rgba(23,19,33,.2), transparent 52%); }

.blog-categories { display: grid; grid-template-columns: 31% 69%; align-items: start; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.blog-categories header h2, .blog-feed header h2 { margin: 0; color: #2a2737; font-size: 1.75rem; line-height: 1.12; font-weight: 520; }
.blog-categories > div { display: grid; grid-template-columns: repeat(2, 1fr); }
.blog-categories > div > a { min-height: 70px; padding: 18px 14px; display: flex; align-items: center; gap: 18px; border-bottom: 1px solid var(--line-soft); color: var(--muted); font-size: .75625rem; transition: color .2s ease, background .2s ease; }
.blog-categories > div > a:hover { color: var(--ink); background: rgba(79,171,170,.045); }
.blog-categories > div > a:nth-last-child(-n+2) { border-bottom: 0; }
.blog-categories small { color: #5f51a1; font-family: var(--font-apple-mono); font-size: .55rem; }
.blog-archive-link { width: fit-content; margin-top: 26px; display: inline-flex; align-items: center; gap: 10px; color: #5f51a1; font-size: .6875rem; font-weight: 650; }
.blog-categories-compact { padding-block: 42px; grid-template-columns: 27% 73%; }
.blog-categories-compact header h2 { font-size: 1.25rem; }
.blog-categories-compact .eyebrow { margin-bottom: 12px; }
.blog-categories-compact .blog-archive-link { margin-top: 18px; font-size: .61875rem; }
.blog-categories-compact > div > a { min-height: 50px; padding: 10px 14px; gap: 14px; font-size: .6875rem; }

.blog-feed { padding-bottom: 72px; }
.blog-feed > header { margin-bottom: 38px; }
.blog-feed-header { display: flex; align-items: end; justify-content: space-between; gap: 24px; }
.blog-feed-actions { display: flex; align-items: center; gap: 12px; }
.blog-view-all { min-height: 48px; padding: 0 20px; display: inline-flex; align-items: center; justify-content: center; gap: 16px; border: 1px solid var(--line); border-radius: 999px; color: var(--ink); background: rgba(255,255,255,.42); font-size: .6875rem; font-weight: 650; white-space: nowrap; transition: border-color .2s ease, background .2s ease, transform .2s ease; }
.blog-view-all:hover { border-color: rgba(79,171,170,.46); background: rgba(79,171,170,.07); transform: translateY(-1px); }
.blog-view-all svg { color: #4fabaa; }
.blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.blog-load-more { padding: 28px 0 0; display: flex; justify-content: center; }
.blog-load-more button { min-height: 48px; padding: 0 28px; border: 1px solid var(--line); border-radius: 999px; color: var(--ink); background: rgba(255,255,255,.42); font-size: .6875rem; font-weight: 650; cursor: pointer; transition: border-color .2s ease, background .2s ease, transform .2s ease; }
.blog-load-more button:hover { border-color: rgba(79,171,170,.46); background: rgba(79,171,170,.07); transform: translateY(-1px); }
.blog-load-more button:focus-visible { outline: 3px solid rgba(79,171,170,.25); outline-offset: 2px; }
.blog-empty-state { min-height: 260px; padding: 45px 52px; display: grid; grid-template-columns: 48px minmax(0, 620px); align-content: center; gap: 18px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); color: #4fabaa; }
.blog-empty-state h3 { margin: 0; color: #2a2737; font-family: var(--font-apple-display); font-size: clamp(25px, 2.3vw, 35px); line-height: 1.1; letter-spacing: var(--title-tracking); font-weight: 520; }
.blog-empty-state p { margin: 16px 0 0; color: var(--muted); font-size: .75625rem; line-height: 1.7; }
.blog-card { min-height: 450px; display: flex; flex-direction: column; border-right: 1px solid var(--line); }
.blog-card:last-child { border-right: 0; }
.blog-card-link { min-width: 0; flex: 1; padding: 34px 30px; display: flex; flex-direction: column; color: inherit; background: transparent; transition: background .22s ease; }
.blog-card-link:hover { background: rgba(79,171,170,.04); }
.blog-card-link:focus-visible { position: relative; z-index: 2; outline: 3px solid rgba(79,171,170,.35); outline-offset: -3px; }
.blog-card-top { display: flex; justify-content: flex-end; align-items: start; }
.blog-card-number { color: #59666c; font-family: var(--font-apple-mono); font-size: .61875rem; }
.blog-card-meta { margin-top: 37px; display: flex; flex-wrap: wrap; gap: 7px 16px; color: #59666c; font-size: .55rem; }
.blog-card-meta span { color: #4fabaa; font-weight: 650; }
.blog-card h3 { margin: 20px 0 0; color: #2a2737; font-size: 1.5625rem; line-height: 1.1; letter-spacing: var(--title-tracking); font-weight: 520; }
.blog-card-excerpt { margin: 18px 0 26px; color: var(--muted); font-size: .6875rem; line-height: 1.65; }
.blog-card-author { margin: -8px 0 18px; display: inline-flex; align-items: center; gap: 8px; color: #4fabaa; font-size: .55rem; font-weight: 620; }
.blog-card-author img, .blog-article-meta img, .blog-ai-note img { display: block; object-fit: contain; border: 1px solid rgba(95,81,161,.15); background: linear-gradient(145deg, rgba(51,45,72,.98), rgba(32,29,45,.98)); }
.blog-card-author img { border-radius: 8px; }
.blog-card-action { margin-top: auto; display: inline-flex; align-items: center; justify-content: space-between; padding-top: 18px; border-top: 1px solid var(--line-soft); color: #2a2737; font-size: .6875rem; font-weight: 650; }
.blog-card-action svg { transition: transform .2s ease; }
.blog-card-link:hover .blog-card-action svg { transform: translate(2px,-2px); }

.blog-article-hero { padding: 62px 24px 75px; position: relative; }
.blog-back-link { position: relative; z-index: 3; display: inline-flex; align-items: center; gap: 9px; color: #59666c; font-size: .61875rem; }
.blog-article-heading { max-width: 920px; margin: 68px auto 0; }
.blog-article-heading > div:first-child { display: flex; align-items: center; gap: 20px; }
.blog-article-heading .eyebrow { margin: 0; }
.blog-article-category { color: #4fabaa; font-size: .61875rem; font-weight: 650; }
.blog-article-heading h1 { margin: 23px 0 0; color: #2a2737; font-size: clamp(45px, 5vw, 72px); line-height: 1.01; letter-spacing: var(--title-tracking); font-weight: 520; }
.blog-article-heading > p { max-width: 760px; margin: 28px 0 0; color: var(--muted); font-size: 1.03125rem; line-height: 1.65; }
.blog-article-meta { margin-top: 34px; padding-top: 18px; display: flex; flex-wrap: wrap; gap: 14px 25px; border-top: 1px solid var(--line); color: #59666c; font-size: .61875rem; }
.blog-article-meta span:last-child { display: inline-flex; align-items: center; gap: 7px; color: #4fabaa; }
.blog-article-meta img { border-radius: 7px; }
.article-share-shell { padding-top: 22px; display: flex; justify-content: flex-end; }
.article-audio-anchor { width: 0; height: 0; position: absolute; overflow: hidden; pointer-events: none; }
.article-audio-player-toolbar { min-width: 0; display: grid; grid-template-columns: auto minmax(120px, 1fr); gap: 12px; align-items: center; border: 0; background: transparent; }
.article-audio-controls { display: flex; align-items: center; gap: 7px; }
.article-audio-controls button { min-width: 38px; height: 38px; padding: 0 11px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: 10px; color: #5f51a1; background: var(--button-glass-light); box-shadow: 0 6px 16px rgba(45,34,65,.07); backdrop-filter: blur(14px) saturate(124%); -webkit-backdrop-filter: blur(14px) saturate(124%); cursor: pointer; transition: color .2s ease, background .2s ease, transform .2s ease, box-shadow .2s ease; }
.article-audio-controls button:hover:not(:disabled), .article-audio-controls button:focus-visible:not(:disabled) { color: #4fabaa; background: var(--button-glass-light-hover); box-shadow: 0 9px 20px rgba(45,34,65,.1); transform: translateY(-1px); }
.article-audio-controls button:disabled { opacity: .38; cursor: not-allowed; }
.article-audio-controls .article-audio-primary { min-width: 118px; color: #fff; background: var(--button-glass-purple); font-size: .61875rem; font-weight: 650; }
.article-audio-controls .article-audio-primary:hover:not(:disabled), .article-audio-controls .article-audio-primary:focus-visible:not(:disabled) { color: #fff; background: var(--button-glass-teal); }
.article-audio-controls label { display: inline-flex; align-items: center; color: var(--muted); font-size: .55rem; }
.article-audio-controls select { height: 38px; padding: 0 27px 0 10px; border: 1px solid var(--line); border-radius: 18px; color: var(--ink); background: rgba(255,255,255,.42); font: inherit; cursor: pointer; }
.article-audio-progress { min-width: 0; display: grid; grid-template-columns: minmax(90px, 1fr) 34px; gap: 8px; align-items: center; }
.article-audio-progress progress { width: 100%; height: 5px; border: 0; border-radius: 999px; overflow: hidden; background: rgba(95,81,161,.1); }
.article-audio-progress progress::-webkit-progress-bar { background: rgba(95,81,161,.1); }
.article-audio-progress progress::-webkit-progress-value { border-radius: 999px; background: linear-gradient(90deg, #5f51a1, #4fabaa); }
.article-audio-progress progress::-moz-progress-bar { border-radius: 999px; background: linear-gradient(90deg, #5f51a1, #4fabaa); }
.article-audio-progress span { color: var(--muted); font-family: var(--font-apple-mono); font-size: .5rem; text-align: right; }
.article-audio-player-toolbar > p { grid-column: 1 / -1; margin: 0; color: #9d4a35; font-size: .55rem; }
.article-share { min-height: 58px; display: flex; align-items: center; justify-content: flex-end; gap: 18px; color: var(--muted); }
.article-like-control { display: flex; align-items: center; gap: 11px; }
.article-like-button { min-height: 46px; padding: 0 18px; display: inline-flex; align-items: center; gap: 9px; border: 1px solid rgba(95,81,161,.2); border-radius: 10px; color: #5f51a1; background: rgba(255,255,255,.46); box-shadow: 0 8px 22px rgba(45,34,65,.07), inset 0 1px 0 rgba(255,255,255,.78); backdrop-filter: blur(15px) saturate(122%); -webkit-backdrop-filter: blur(15px) saturate(122%); font: 650 .61875rem/1 var(--font-body); cursor: pointer; transition: color .2s ease, border-color .2s ease, background .2s ease, transform .2s ease, box-shadow .2s ease; }
.article-like-button:hover:not(:disabled), .article-like-button:focus-visible { color: #4fabaa; border-color: rgba(79,171,170,.42); background: rgba(79,171,170,.06); box-shadow: 0 10px 25px rgba(45,34,65,.09); transform: translateY(-1px); }
.article-like-button:focus-visible, .article-share-modal a:focus-visible, .article-share-modal button:focus-visible { outline: 2px solid #4fabaa; outline-offset: 3px; }
.article-like-button:disabled { cursor: default; }
.article-share:not(.is-liked) .article-like-button svg { width: 21px; height: 21px; color: #d94759; stroke-width: 2.35; filter: drop-shadow(0 0 0 rgba(217,71,89,0)); animation: article-heart-pulse 1.65s cubic-bezier(.35,0,.2,1) infinite; }
.article-share:not(.is-liked) .article-like-button { border-color: rgba(217,71,89,.25); box-shadow: 0 8px 22px rgba(45,34,65,.07), 0 0 0 0 rgba(217,71,89,0), inset 0 1px 0 rgba(255,255,255,.78); }
.article-share:not(.is-liked) .article-like-button:hover:not(:disabled) { color: #5f51a1; border-color: rgba(217,71,89,.5); background: rgba(217,71,89,.045); }
.article-share.is-liked .article-like-button { color: #5f51a1; border-color: rgba(95,81,161,.3); background: rgba(95,81,161,.07); }
.article-share.is-liked .article-like-button { cursor: default; }
.article-share.is-liked .article-like-button svg { color: #d94759; filter: drop-shadow(0 2px 5px rgba(217,71,89,.24)); animation: article-like-settle .48s cubic-bezier(.2,.9,.35,1.15) both; }
.article-like-count { min-width: 47px; display: grid; line-height: 1; text-align: left; }
.article-like-count strong { color: var(--ink); font: 650 .6875rem/1 var(--font-apple-mono); }
.article-like-count span { margin-top: 5px; color: var(--faint); font-size: .5rem; }
.article-share-reopen { min-height: 42px; padding: 0 16px; display: inline-flex; align-items: center; gap: 8px; border: 1px solid rgba(95,81,161,.18); border-radius: 10px; color: #5f51a1; background: rgba(255,255,255,.5); box-shadow: 0 8px 20px rgba(45,34,65,.06); font: 650 .5875rem/1 var(--font-body); cursor: pointer; transition: color .2s ease, border-color .2s ease, background .2s ease, transform .2s ease, box-shadow .2s ease; }
.article-share-reopen:hover, .article-share-reopen:focus-visible { color: #fff; border-color: transparent; background: linear-gradient(135deg, #6656a9, #4fabaa); box-shadow: 0 11px 24px rgba(69,59,112,.16); transform: translateY(-1px); }
.article-share-status { min-width: 0; max-width: 170px; color: #4fabaa; font-size: .55rem; line-height: 1.35; }
.article-share-modal-backdrop { position: fixed; z-index: 1000; inset: 0; padding: 24px; display: grid; place-items: center; background: rgba(22,15,31,.58); backdrop-filter: blur(14px) saturate(105%); -webkit-backdrop-filter: blur(14px) saturate(105%); animation: article-modal-backdrop-in .24s ease both; }
.article-share-modal { width: min(600px, 100%); max-height: calc(100dvh - 48px); padding: 42px 42px 38px; position: relative; overflow: auto; border: 1px solid rgba(95,81,161,.18); border-radius: 30px; color: var(--ink); background: radial-gradient(circle at 88% 8%, rgba(79,171,170,.12), transparent 36%), radial-gradient(circle at 8% 100%, rgba(95,81,161,.12), transparent 42%), rgba(251,250,248,.97); box-shadow: 0 34px 100px rgba(20,14,30,.28), inset 0 1px 0 rgba(255,255,255,.88); text-align: center; animation: article-modal-card-in .32s cubic-bezier(.2,.85,.25,1) both; }
.article-share-modal-close { width: 42px; height: 42px; padding: 0; position: absolute; top: 18px; right: 18px; display: grid; place-items: center; border: 1px solid rgba(95,81,161,.14); border-radius: 50%; color: #5f51a1; background: rgba(255,255,255,.6); cursor: pointer; transition: color .2s ease, background .2s ease, transform .2s ease; }
.article-share-modal-close:hover { color: #d94759; background: rgba(217,71,89,.06); transform: rotate(5deg); }
.article-share-modal-heart { width: 66px; height: 66px; margin: 0 auto 18px; display: grid; place-items: center; border-radius: 22px; color: #d94759; background: rgba(217,71,89,.09); box-shadow: 0 12px 30px rgba(217,71,89,.13); }
.article-share-modal-heart svg { filter: drop-shadow(0 4px 8px rgba(217,71,89,.24)); animation: article-like-settle .48s cubic-bezier(.2,.9,.35,1.15) both; }
.article-share-modal-eyebrow { display: block; color: #5f51a1; font-size: .55rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.article-share-modal h2 { max-width: 430px; margin: 12px auto 0; color: #2a2737; font-size: clamp(1.75rem, 4vw, 2.35rem); line-height: 1.08; letter-spacing: var(--title-tracking); font-weight: 560; }
.article-share-modal-article { max-width: 470px; margin: 16px auto 0; color: var(--ink); font-size: .75rem; line-height: 1.5; font-weight: 620; }
.article-share-modal > p:last-of-type { max-width: 420px; margin: 10px auto 0; color: var(--muted); font-size: .65rem; line-height: 1.55; }
.article-share-modal-actions { margin-top: 28px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.article-share-modal-actions a, .article-share-modal-actions button { min-height: 54px; padding: 0 17px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; border: 1px solid rgba(95,81,161,.15); border-radius: 15px; color: #5f51a1; background: rgba(255,255,255,.55); box-shadow: 0 8px 20px rgba(45,34,65,.055); font: 650 .65rem/1 var(--font-body); text-decoration: none; cursor: pointer; transition: color .2s ease, border-color .2s ease, background .2s ease, transform .2s ease, box-shadow .2s ease; }
.article-share-modal-actions .article-share-copy-action { grid-column: 1 / -1; }
.article-share-modal-actions a:hover, .article-share-modal-actions button:hover { color: #fff; border-color: transparent; background: linear-gradient(135deg, #6656a9, #4fabaa); box-shadow: 0 12px 26px rgba(69,59,112,.18); transform: translateY(-2px); }
.article-share-modal-status { min-height: 14px; margin-top: 12px; display: block; color: #4fabaa; font-size: .55rem; }
@keyframes article-like-settle { 0% { transform: scale(.72); } 65% { transform: scale(1.2); } 100% { transform: scale(1); } }
@keyframes article-heart-pulse { 0%, 58%, 100% { transform: scale(1); filter: drop-shadow(0 0 0 rgba(217,71,89,0)); } 12% { transform: scale(1.2); filter: drop-shadow(0 0 7px rgba(217,71,89,.42)); } 24% { transform: scale(1.03); filter: drop-shadow(0 0 3px rgba(217,71,89,.2)); } 34% { transform: scale(1.14); filter: drop-shadow(0 0 6px rgba(217,71,89,.34)); } }
@keyframes article-modal-backdrop-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes article-modal-card-in { from { opacity: 0; transform: translateY(16px) scale(.97); } to { opacity: 1; transform: none; } }

@media (prefers-reduced-motion: reduce) {
  .article-share:not(.is-liked) .article-like-button svg,
  .article-share.is-liked .article-like-button svg,
  .article-share-modal-heart svg,
  .article-share-modal-backdrop,
  .article-share-modal { animation: none; }
}
.blog-article-layout { padding: 40px 24px 100px; display: grid; grid-template-columns: minmax(0, 820px) minmax(220px, 1fr); gap: 100px; align-items: start; }
.blog-takeaway { margin-bottom: 55px; padding: 27px 30px; display: grid; grid-template-columns: 28px 1fr; gap: 12px; border: 1px solid rgba(79,171,170,.2); border-radius: 18px; color: #4fabaa; background: rgba(79,171,170,.045); }
.blog-takeaway strong { display: block; color: #4fabaa; font-size: .61875rem; text-transform: uppercase; letter-spacing: .06em; }
.blog-takeaway p { margin: 8px 0 0; color: var(--ink); font-size: .825rem; line-height: 1.65; }
.blog-article-body > section { padding: 36px 0; display: grid; grid-template-columns: 58px 1fr; gap: 22px; border-top: 1px solid var(--line); }
.blog-article-body > section > span { padding-top: 6px; color: #5f51a1; font-family: var(--font-apple-mono); font-size: .61875rem; }
.blog-article-body h2 { margin: 0; color: #2a2737; font-size: clamp(26px, 2.3vw, 36px); line-height: 1.1; letter-spacing: var(--title-tracking); font-weight: 520; }
.blog-article-body section p, .blog-article-body section li { color: var(--muted); font-size: .825rem; line-height: 1.78; }
.blog-article-body section p { margin: 19px 0 0; }
.blog-article-body section ul { margin: 19px 0 0; padding-left: 18px; }
.blog-article-body section li { padding-left: 8px; margin-top: 8px; }
.blog-article-body section li::marker { color: #4fabaa; }
.article-read-along-word { position: relative; display: inline-block; }
.article-read-along-word.is-audio-word-current { font-weight: 700; }
.article-read-along-letter { position: relative; display: inline-block; transform: translateY(0) scale(1); transform-origin: 50% 78%; transition: color .16s ease, transform .2s cubic-bezier(.2,.85,.25,1), text-shadow .16s ease; }
.article-read-along-word.is-audio-word-current .article-read-along-letter.is-distance-3 { transform: translateY(-.008em) scale(1.03); }
.article-read-along-word.is-audio-word-current .article-read-along-letter.is-distance-2 { transform: translateY(-.02em) scale(1.07); }
.article-read-along-word.is-audio-word-current .article-read-along-letter.is-distance-1 { transform: translateY(-.035em) scale(1.13); }
.article-read-along-word.is-audio-word-current .article-read-along-letter.is-distance-0 { z-index: 3; color: inherit; text-shadow: 0 3px 8px rgba(42,39,55,.08); transform: translateY(-.055em) scale(1.2); }
.blog-article-inline-visual { width: 100%; margin: 0 0 28px; display: grid; justify-items: stretch; }
.blog-article-inline-visual-frame { width: 100%; aspect-ratio: 16 / 9; display: block; overflow: hidden; background: #ebe8ee; }
.blog-article-inline-visual-frame > img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; border-radius: 0; background: transparent; box-shadow: none; }
.blog-article-inline-visual figcaption { width: 100%; margin-top: 10px; color: var(--muted); font-size: .55rem; line-height: 1.45; text-align: right; }
.blog-article-inline-visual figcaption a { display: inline-flex; align-items: center; justify-content: flex-end; gap: 5px; color: inherit; }
.blog-ai-note { margin-top: 24px; padding: 21px 24px; display: grid; grid-template-columns: 38px 1fr; align-items: center; gap: 12px; border-radius: 14px; color: #5f51a1; background: rgba(95,81,161,.055); }
.blog-ai-note img { border-radius: 12px; }
.blog-ai-note p { margin: 0; color: var(--muted); font-size: .61875rem; line-height: 1.6; }
.blog-article-sources ul { margin: 18px 0 0; padding: 0; list-style: none; display: grid; gap: 9px; }
.blog-article-sources li { margin: 0 !important; padding: 0 !important; }
.blog-article-sources a { display: grid; grid-template-columns: minmax(120px, 1fr) minmax(110px, auto) 16px; align-items: center; gap: 14px; padding: 13px 15px; border: 1px solid var(--line); border-radius: 12px; color: var(--ink); text-decoration: none; background: rgba(255,255,255,.36); transition: border-color .2s ease, transform .2s ease; }
.blog-article-sources a:hover { transform: translateY(-1px); border-color: rgba(79,171,170,.55); }
.blog-article-sources a strong { font-size: .75rem; font-weight: 590; }
.blog-article-sources a span { color: var(--muted); font-size: .61875rem; }
html[data-theme="dark"] .blog-article-sources a { background: rgba(255,255,255,.035); }
html[data-theme="dark"] .blog-load-more button { color: var(--ink); border-color: var(--line); background: rgba(255,255,255,.045); }
html[data-theme="dark"] .article-read-along-word.is-audio-word-current .article-read-along-letter.is-distance-0 { color: inherit; text-shadow: 0 4px 12px rgba(4,2,9,.38), 0 0 8px rgba(173,155,198,.1); }
@media (prefers-reduced-motion: reduce) {
  .article-read-along-letter,
  .article-read-along-word.is-audio-word-current .article-read-along-letter { transition: none; transform: none; }
}
.blog-article-aside { position: sticky; top: 110px; }
.blog-article-aside > div { padding-left: 24px; border-left: 1px solid var(--line); }
.blog-article-aside a { padding: 19px 0; display: grid; grid-template-columns: 1fr auto; gap: 7px 14px; border-top: 1px solid var(--line-soft); }
.blog-article-aside a small { grid-column: 1 / -1; color: #4fabaa; font-size: .55rem; }
.blog-article-aside a strong { color: #2a2737; font-size: .6875rem; line-height: 1.45; font-weight: 620; }
.blog-article-aside a svg { color: #5f51a1; }
.blog-continuous-article { position: relative; }
.blog-continuous-article.is-following { background: var(--paper); }
.blog-article-hero-following { border-top: 1px solid var(--line); }
.blog-next-reading-label { color: #4fabaa; }
html[data-theme="dark"] :is(.blog-article-aside a strong, .blog-card-action) { color: var(--ink); }
html[data-theme="dark"] :is(.blog-back-link, .blog-article-meta) { color: var(--dark-readable-muted); }
html[data-theme="dark"] :is(.article-audio-controls button, .article-share .article-like-button, .article-share-reopen) { color: var(--dark-readable-accent); background: var(--dark-surface-3); border-color: var(--dark-control-border); }
html[data-theme="dark"] :is(.article-audio-controls button:hover:not(:disabled), .article-share .article-like-button:hover:not(:disabled), .article-share-reopen:hover) { color: #fff; background: #59416f; }
.blog-next-reading-label svg { animation: continuousArticleArrow 1.8s ease-in-out infinite; }

@keyframes continuousArticleArrow { 0%, 100% { transform: translateY(-2px); } 50% { transform: translateY(3px); } }

@keyframes blogOrbitA { 0%,100% { transform: rotate(-18deg) scale(1); } 50% { transform: rotate(-14deg) scale(1.018); } }
@keyframes blogOrbitB { 0%,100% { transform: rotate(28deg) scale(1); } 50% { transform: rotate(24deg) scale(.985); } }
@keyframes blogCoreFloat { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-6px) rotate(.7deg); } }
@keyframes blogNodeLeft { 0%,100% { transform: translate(0,0) rotate(-8deg); } 50% { transform: translate(4px,-5px) rotate(-6deg); } }
@keyframes blogNodeRight { 0%,100% { transform: translate(0,0) rotate(7deg); } 50% { transform: translate(-4px,5px) rotate(5deg); } }
@keyframes blogSignalA { 0%,100% { opacity: .35; transform: translate(0,0); } 50% { opacity: 1; transform: translate(31px,8px); } }
@keyframes blogSignalB { 0%,100% { opacity: .35; transform: translate(0,0); } 50% { opacity: 1; transform: translate(-25px,-7px); } }
@keyframes blogSignalC { 0%,100% { opacity: .3; transform: translateY(0); } 50% { opacity: 1; transform: translateY(-23px); } }

@media (max-width: 1020px) {
  .blog-hero { grid-template-columns: 1fr 1fr; gap: 20px; }
  .blog-hero-object { transform: scale(.86); }
  .blog-featured-panel { grid-template-columns: 88px 1fr; }
  .blog-featured-visual { display: none; }
  .blog-featured-visual.has-image { min-height: 260px; grid-column: 1 / -1; display: block; }
  .blog-grid { grid-template-columns: 1fr 1fr; }
  .blog-card:nth-child(2) { border-right: 0; }
  .blog-card:nth-child(3) { grid-column: 1 / -1; border-top: 1px solid var(--line); }
  .blog-article-layout { gap: 55px; }
}

@media (max-width: 820px) {
  .blog-hero { min-height: auto; padding: 65px 18px 55px; grid-template-columns: 1fr; }
  .blog-hero-copy { padding-left: 0; }
  .blog-hero-object { width: min(92vw, 430px); margin: -20px auto -30px; }
  .blog-featured, .blog-categories, .blog-feed { padding: 58px 18px; }
  .blog-featured-panel { min-height: 0; grid-template-columns: 1fr; }
  .blog-featured-index { padding: 22px 25px; flex-direction: row; border-right: 0; border-bottom: 1px solid var(--line); }
  .blog-featured-index i { width: 90px; height: 1px; margin: auto 0; background: linear-gradient(90deg, transparent, #5f51a1); }
  .blog-featured-copy { padding: 38px 30px 42px; }
  .blog-feed-header { align-items: flex-start; }
  .blog-categories { grid-template-columns: 1fr; gap: 28px; }
  .blog-categories-compact { padding-block: 34px; gap: 18px; }
  .blog-article-hero { padding: 55px 18px 60px; }
  .blog-article-heading { margin-top: 48px; }
  .article-share-shell { padding: 18px 18px 0; }
  .article-share { justify-content: flex-start; flex-wrap: wrap; }
  .blog-article-layout { padding: 25px 18px 75px; grid-template-columns: 1fr; }
  .blog-article-aside { position: static; }
  .blog-article-aside > div { padding-left: 0; border-left: 0; }
  .article-audio-player-toolbar { grid-template-columns: 1fr; gap: 6px; }
  .article-audio-controls { justify-content: center; }
  .article-audio-progress { width: 100%; }
}

@media (max-width: 560px) {
  .blog-hero-copy h1 { font-size: 2.75rem; }
  .blog-hero-object { transform: scale(.78); margin-block: -60px; }
  .blog-ai-seal { grid-template-columns: 40px 1fr; }
  .blog-darius-avatar { width: 40px; height: 40px; border-radius: 13px; }
  .blog-featured-copy h2 { font-size: 2rem; }
  .blog-featured-copy > div { flex-direction: column; gap: 7px; }
  .blog-feed-header { align-items: stretch; flex-direction: column; }
  .blog-feed-actions { width: 100%; }
  .blog-view-all { width: 100%; justify-content: space-between; }
  .blog-categories > div { grid-template-columns: 1fr; }
  .blog-categories > div > a:nth-last-child(-n+2) { border-bottom: 1px solid var(--line-soft); }
  .blog-categories > div > a:last-child { border-bottom: 0; }
  .blog-grid { grid-template-columns: 1fr; }
  .blog-empty-state { min-height: 230px; padding: 34px 22px; grid-template-columns: 34px 1fr; }
  .blog-card, .blog-card:nth-child(2) { min-height: 410px; border-right: 0; border-bottom: 1px solid var(--line); }
  .blog-card:nth-child(3) { grid-column: auto; border-top: 0; border-bottom: 0; }
  .blog-article-heading h1 { font-size: 2.75rem; }
  .blog-article-heading > p { font-size: .89375rem; }
  .article-share { gap: 12px; }
  .article-like-control { width: 100%; }
  .article-share-reopen { min-height: 40px; }
  .article-share-status { flex-basis: 100%; min-height: 12px; }
  .article-share-modal-backdrop { padding: 16px; }
  .article-share-modal { max-height: calc(100dvh - 32px); padding: 38px 20px 24px; border-radius: 24px; }
  .article-share-modal-close { top: 13px; right: 13px; }
  .article-share-modal-heart { width: 58px; height: 58px; margin-bottom: 15px; border-radius: 19px; }
  .article-share-modal h2 { font-size: 1.8rem; }
  .article-share-modal-actions { margin-top: 23px; gap: 8px; }
  .article-share-modal-actions a, .article-share-modal-actions button { min-height: 52px; padding-inline: 10px; font-size: .6rem; }
  .article-audio-player-toolbar { gap: 8px; }
  .article-audio-controls { gap: 5px; }
  .article-audio-controls .article-audio-primary { min-width: 38px; }
  .article-audio-controls .article-audio-primary > span { display: none; }
  .blog-article-body > section { grid-template-columns: 34px 1fr; gap: 12px; }
  .blog-takeaway { padding: 23px 20px; }
}
