.article-grid{display: grid;grid-template-columns: repeat(3,1fr);gap: 28px;margin-top: 32px}@media (max-width: 980px){.article-grid{grid-template-columns: 1fr 1fr}}@media (max-width: 640px){.article-grid{grid-template-columns: 1fr}}.article-card{display: flex;flex-direction: column;background: var(--ss-surface);border: 1px solid var(--ss-line);border-radius: var(--ss-r-3);overflow: hidden;transition: all 220ms;color: inherit}.article-card:hover{border-color: var(--ss-line-strong);transform: translateY(-2px)}.article-card:hover h3{color: var(--ss-accent-strong)}.article-art{aspect-ratio: 16 / 10;background: var(--ss-inset);border-bottom: 1px solid var(--ss-line);position: relative;overflow: hidden}.article-art svg{position: absolute;inset: 0;margin: auto}.article-art.a-grid::before{content: "";position: absolute;inset: 0;background-image: linear-gradient(var(--ss-line-soft) 1px,transparent 1px),linear-gradient(90deg,var(--ss-line-soft) 1px,transparent 1px);background-size: 24px 24px;opacity: 0.45}.article-card .article-body{padding: 24px;flex: 1;display: flex;flex-direction: column}.article-card .tag{font-family: var(--ss-font-mono);font-size: 10.5px;text-transform: uppercase;letter-spacing: 0.14em;color: var(--ss-accent);margin-bottom: 12px}.article-card h3{font-family: var(--ss-font-display);font-size: 22px;letter-spacing: -0.018em;line-height: 1.18;font-weight: 400;margin-bottom: 12px;color: var(--ss-text);transition: color 220ms;text-wrap: balance}.article-card p{color: var(--ss-text-2);font-size: 13.5px;line-height: 1.55;margin-bottom: 20px;flex: 1}.article-card .meta{color: var(--ss-text-muted);font-family: var(--ss-font-mono);font-size: 11px;letter-spacing: 0.04em;border-top: 1px solid var(--ss-line-soft);padding-top: 14px;display: flex;justify-content: space-between}.article-hero{padding-top: clamp(64px,8vw,112px);padding-bottom: clamp(40px,5vw,64px);position: relative}.article-hero .container{max-width: 1280px}.article-breadcrumb{display: flex;align-items: center;gap: 10px;font-family: var(--ss-font-mono);font-size: 11.5px;letter-spacing: 0.06em;color: var(--ss-text-muted);margin-bottom: 32px}.article-breadcrumb a{color: var(--ss-text-muted);transition: color 160ms}.article-breadcrumb a:hover{color: var(--ss-accent)}.article-breadcrumb .sep{color: var(--ss-text-subtle)}.article-category{display: inline-block;font-family: var(--ss-font-mono);font-size: 11px;letter-spacing: 0.14em;text-transform: uppercase;color: var(--ss-accent);margin-bottom: 20px}.article-title{font-family: var(--ss-font-display);font-size: clamp(36px,5vw,64px);line-height: 1.05;letter-spacing: -0.024em;font-weight: 400;margin-bottom: 24px;color: var(--ss-text);text-wrap: balance}.article-title em{font-style: italic;color: var(--ss-accent)}.article-lede{font-family: var(--ss-font-display);font-size: clamp(19px,2.1vw,24px);line-height: 1.45;letter-spacing: -0.012em;color: var(--ss-text-2);max-width: 1080px;margin-bottom: 40px;text-wrap: pretty}.article-meta{display: flex;align-items: center;gap: 16px;padding-top: 24px;border-top: 1px solid var(--ss-line);font-family: var(--ss-font-mono);font-size: 12px;letter-spacing: 0.04em;color: var(--ss-text-muted);flex-wrap: wrap}.article-meta .author{display: flex;align-items: center;gap: 10px;color: var(--ss-text-2)}.article-meta .author-avatar{width: 28px;height: 28px;border-radius: 50%;background: linear-gradient(135deg,var(--ss-surface-3),var(--ss-surface-2));border: 1px solid var(--ss-line-strong);display: flex;align-items: center;justify-content: center;font-family: var(--ss-font-display);font-size: 12px;color: var(--ss-text-muted);overflow: hidden}.article-meta .author-avatar img{width: 100%;height: 100%;object-fit: cover;display: block}.article-meta .sep{color: var(--ss-text-subtle)}.article-cover{margin: 0 auto clamp(48px,6vw,80px);max-width: 1080px;padding: 0 32px}@media (max-width: 720px){.article-cover{padding: 0 20px}}.article-cover figure{border: 1px solid var(--ss-line);border-radius: var(--ss-r-3);overflow: hidden;background: var(--ss-surface)}.article-cover img{width: 100%;display: block;aspect-ratio: 16 / 9;object-fit: cover}.article-cover figcaption{padding: 14px 20px;font-family: var(--ss-font-mono);font-size: 11.5px;color: var(--ss-text-muted);border-top: 1px solid var(--ss-line-soft);letter-spacing: 0.04em}.article-prose{max-width: 1200px;margin: 0 auto;padding: 0 32px clamp(64px,8vw,112px);font-size: 17.5px;line-height: 1.7;color: var(--ss-text);font-family: var(--ss-font-sans)}@media (max-width: 1240px){.article-prose{padding: 0 20px 64px;font-size: 16.5px;line-height: 1.65}}.article-prose > * + *{margin-top: 1.4em}.article-prose p{text-wrap: pretty}.article-prose > p:first-of-type::first-letter{font-family: var(--ss-font-display);font-size: 4.2em;line-height: 0.92;float: left;padding: 0.08em 0.12em 0 0;color: var(--ss-accent);font-style: italic;font-weight: 500}.article-prose h2{font-family: var(--ss-font-display);font-size: clamp(26px,3vw,34px);line-height: 1.15;letter-spacing: -0.02em;font-weight: 400;margin-top: 2.4em !important;margin-bottom: 0.4em;color: var(--ss-text);text-wrap: balance}.article-prose h2::before{content: counter(article-h2,decimal-leading-zero) " — ";font-family: var(--ss-font-mono);font-size: 13px;letter-spacing: 0.1em;color: var(--ss-text-muted);display: block;margin-bottom: 12px;text-transform: uppercase}.article-prose{counter-reset: article-h2}.article-prose h2{counter-increment: article-h2}.article-prose h3{font-family: var(--ss-font-display);font-size: clamp(20px,2.2vw,24px);letter-spacing: -0.018em;font-weight: 500;margin-top: 1.8em !important;margin-bottom: 0.3em;color: var(--ss-text)}.article-prose a{color: var(--ss-accent);border-bottom: 1px solid var(--ss-accent-border);transition: all 160ms}.article-prose a:hover{color: var(--ss-accent-strong);border-bottom-color: var(--ss-accent)}.article-prose em{color: var(--ss-text);font-style: italic}.article-prose strong{color: var(--ss-text);font-weight: 500}.article-prose ul,.article-prose ol{padding-left: 1.4em}.article-prose li{margin-top: 0.4em;line-height: 1.6}.article-prose li::marker{color: var(--ss-accent)}.article-prose blockquote{border-left: 2px solid var(--ss-accent);padding: 0.2em 0 0.2em 24px;margin-left: 0;font-family: var(--ss-font-display);font-size: 1.15em;line-height: 1.5;color: var(--ss-text-2);font-style: italic;letter-spacing: -0.01em}.article-prose blockquote p + p{margin-top: 0.6em}.article-prose blockquote cite{display: block;margin-top: 12px;font-family: var(--ss-font-mono);font-size: 12px;font-style: normal;color: var(--ss-text-muted);letter-spacing: 0.04em;text-transform: uppercase}.article-prose .pullquote{margin: 2em -32px !important;padding: 32px;border-top: 1px solid var(--ss-line);border-bottom: 1px solid var(--ss-line);font-family: var(--ss-font-display);font-size: clamp(22px,2.4vw,28px);line-height: 1.32;letter-spacing: -0.015em;color: var(--ss-text);font-style: italic;text-align: center;text-wrap: balance}.article-prose .pullquote::before{content: "\201C";color: var(--ss-accent);margin-right: 4px}.article-prose .pullquote::after{content: "\201D";color: var(--ss-accent);margin-left: 4px}@media (max-width: 720px){.article-prose .pullquote{margin: 1.4em -20px !important;padding: 24px 20px}}.article-prose code{font-family: var(--ss-font-mono);font-size: 0.88em;background: var(--ss-surface-2);border: 1px solid var(--ss-line-soft);padding: 1px 6px;border-radius: var(--ss-r-1);color: var(--ss-accent-strong)}.article-prose pre{background: var(--ss-inset);border: 1px solid var(--ss-line);border-radius: var(--ss-r-3);padding: 20px 24px;overflow-x: auto;font-family: var(--ss-font-mono);font-size: 13px;line-height: 1.55;color: var(--ss-text-2)}.article-prose pre code{background: transparent;border: none;padding: 0;color: inherit;font-size: inherit}.article-prose figure{margin: 2.2em 0 !important;border: 1px solid var(--ss-line);border-radius: var(--ss-r-3);overflow: hidden;background: var(--ss-surface)}.article-prose figure img{width: 100%;display: block}.article-prose figure figcaption{padding: 12px 18px;font-family: var(--ss-font-mono);font-size: 11.5px;color: var(--ss-text-muted);border-top: 1px solid var(--ss-line-soft);letter-spacing: 0.04em}.article-prose hr{border: none;height: 1px;background: var(--ss-line);margin: 3em 0 !important;width: 60px;margin-left: auto !important;margin-right: auto !important}.article-prose .callout{margin: 2em 0 !important;padding: 20px 24px;background: var(--ss-accent-soft);border: 1px solid var(--ss-accent-border);border-radius: var(--ss-r-3);font-size: 0.95em;line-height: 1.55;color: var(--ss-text-2)}.article-prose .callout .callout-label{display: block;font-family: var(--ss-font-mono);font-size: 10.5px;letter-spacing: 0.14em;text-transform: uppercase;color: var(--ss-accent);margin-bottom: 8px}.article-author{max-width: 1200px;margin: 0 auto clamp(48px,6vw,80px);padding: 32px;background: var(--ss-surface);border: 1px solid var(--ss-line);border-radius: var(--ss-r-3);display: flex;gap: 20px;align-items: flex-start}@media (max-width: 720px){.article-author{margin: 0 20px 56px;padding: 24px;gap: 16px;flex-direction: column}}.article-author-avatar{width: 64px;height: 64px;border-radius: 50%;background: linear-gradient(135deg,var(--ss-surface-3),var(--ss-surface-2));border: 1px solid var(--ss-line-strong);display: flex;align-items: center;justify-content: center;font-family: var(--ss-font-display);font-size: 22px;color: var(--ss-text-muted);overflow: hidden;flex-shrink: 0}.article-author-avatar img{width: 100%;height: 100%;object-fit: cover;display: block}.article-author-meta{flex: 1;min-width: 0}.article-author-name{font-family: var(--ss-font-display);font-size: 18px;letter-spacing: -0.018em;color: var(--ss-text);margin-bottom: 2px}.article-author-role{font-family: var(--ss-font-mono);font-size: 11px;color: var(--ss-accent);letter-spacing: 0.14em;text-transform: uppercase;margin-bottom: 10px}.article-author-bio{color: var(--ss-text-2);font-size: 14px;line-height: 1.6}.article-related{max-width: 1080px;margin: 0 auto clamp(64px,8vw,112px);padding: 0 32px}@media (max-width: 720px){.article-related{padding: 0 20px}}.article-related .section-num{margin-bottom: 32px}.article-news{max-width: 1080px;margin: 0 auto clamp(48px,6vw,80px);padding: 0 32px}@media (max-width: 720px){.article-news{padding: 0 20px}}