.blog-main { max-width:var(--content);min-height:430px;margin:0 auto;padding:56px 30px 86px; }
.blog-hero { max-width:700px;margin:0 auto 38px;text-align:center; }
.blog-hero .eyebrow { margin-bottom:11px; }
.blog-hero h1 { margin:0 0 13px;font:600 clamp(38px,6vw,66px)/1 var(--font-display);letter-spacing:-.065em; }
.blog-hero>p:last-child { max-width:590px;margin:0 auto;color:#c5b3ce;font-size:15px;line-height:1.65; }
.blog-breadcrumbs { display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 auto 25px;color:#aa98b5;font-size:11px; }
.blog-breadcrumbs a,.blog-back a { color:#eeb1f3;text-decoration:none; }
.blog-breadcrumbs a:hover,.blog-back a:hover { color:#fff; }
.blog-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px; }
.blog-card,.blog-related-card { overflow:hidden;border:1px solid rgba(227,143,255,.22);border-radius:17px;background:linear-gradient(145deg,rgba(36,17,48,.96),rgba(19,10,25,.96)); }
.blog-card-image { display:block;aspect-ratio:16/9;overflow:hidden;background:radial-gradient(circle at 50% 50%,rgba(199,74,230,.35),transparent 48%),#1a0d22; }
.blog-card-image img { width:100%;height:100%;object-fit:cover;transition:transform .35s ease; }
.blog-card:hover .blog-card-image img { transform:scale(1.035); }
.blog-card-copy { display:flex;min-height:220px;flex-direction:column;align-items:flex-start;padding:21px; }
.blog-card-category,.blog-related-card>p,.blog-aside-label { margin:0 0 9px;color:#e77bdf;font-size:9px;font-weight:700;letter-spacing:.13em;text-transform:uppercase; }
.blog-card h2 { margin:0 0 8px;font:600 21px/1.2 var(--font-display);letter-spacing:-.035em; }
.blog-card h2 a,.blog-related-card h3 a { color:#fff;text-decoration:none; }
.blog-card h2 a:hover,.blog-related-card h3 a:hover { color:#f18de5; }
.blog-card-excerpt { margin:0;color:#bca9c7;font-size:12px;line-height:1.65; }
.blog-card-byline { margin:auto 0 10px;padding-top:19px;color:#9e8ba9;font-size:10px; }
.blog-read-more { display:inline-flex;align-items:center;gap:8px;color:#f0a2eb;font-size:11px;font-weight:700;text-decoration:none; }
.blog-empty { max-width:650px;margin:0 auto;padding:48px 30px;text-align:center;border:1px solid rgba(227,143,255,.2);border-radius:18px;background:linear-gradient(145deg,rgba(36,17,48,.8),rgba(19,10,25,.86)); }
.blog-empty-mark { display:grid;width:46px;height:46px;place-items:center;margin:0 auto 15px;border:1px solid rgba(227,119,236,.3);border-radius:12px;color:#f06ade;background:rgba(154,57,189,.14);font-size:24px; }
.blog-empty h2 { margin:0 0 8px;font:600 24px/1.2 var(--font-display); }
.blog-empty p { margin:0;color:#bba8c6;font-size:13px; }
.blog-article-main { max-width:1020px; }
.blog-article { max-width:830px;margin:0 auto; }
.blog-article-header { margin:0 auto 28px;text-align:center; }
.blog-category-link { color:#e981e3;font-size:10px;font-weight:700;letter-spacing:.13em;text-decoration:none;text-transform:uppercase; }
.blog-article-header h1 { margin:14px auto 14px;font:600 clamp(34px,6vw,62px)/1.04 var(--font-display);letter-spacing:-.06em; }
.blog-article-excerpt { max-width:720px;margin:0 auto 19px;color:#c8b7d0;font-size:16px;line-height:1.6; }
.blog-article-byline { display:flex;flex-wrap:wrap;justify-content:center;gap:8px;color:#a895b1;font-size:11px; }
.blog-article-byline strong { color:#f1dff4; }
.blog-featured-image { overflow:hidden;margin:0 auto 38px;border:1px solid rgba(227,143,255,.2);border-radius:18px;background:#180b20; }
.blog-featured-image img { display:block;width:100%;max-height:520px;object-fit:cover; }
.blog-article-layout { display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:42px;align-items:start; }
.blog-article-body { color:#ded2e5;font-size:15px;line-height:1.85;overflow-wrap:anywhere; }
.blog-article-body h2,.blog-article-body h3 { margin:1.65em 0 .5em;color:#fff;font-family:var(--font-display);line-height:1.2;letter-spacing:-.035em; }
.blog-article-body h2 { font-size:28px; }.blog-article-body h3 { font-size:22px; }
.blog-article-body p { margin:0 0 1.2em; }
.blog-article-body ul { display:grid;gap:8px;margin:0 0 1.4em;padding-left:22px; }
.blog-article-body li::marker { color:#ed77dc; }
.blog-article-body blockquote { margin:1.4em 0;padding:14px 20px;border-left:2px solid #d759d7;color:#edc9ed;background:rgba(159,62,186,.1); }
.blog-article-body a { color:#f099e5;text-underline-offset:3px; }
.blog-article-body figure { margin:25px 0; }
.blog-article-body figure img { display:block;max-width:100%;height:auto;border:1px solid rgba(227,143,255,.2);border-radius:14px; }
.blog-article-aside { position:sticky;top:26px;padding:18px;border:1px solid rgba(227,143,255,.2);border-radius:14px;background:rgba(35,17,46,.52); }
.blog-article-aside>p:not(.blog-aside-label) { margin:0 0 20px;color:#e8d8ef;font-size:12px; }
.blog-aside-label { margin-top:3px; }
.blog-tag-list { display:flex;flex-wrap:wrap;gap:6px;margin:0 0 19px;padding:0;list-style:none; }
.blog-tag-list li { padding:5px 8px;border:1px solid rgba(227,143,255,.22);border-radius:99px;color:#cbb8d5;font-size:9px; }
.blog-video-link { color:#f09be6;font-size:11px;text-decoration:none; }
.blog-related { margin:68px auto 0; }
.blog-related>h2 { margin:0 0 18px;font:600 25px/1.2 var(--font-display);letter-spacing:-.04em; }
.blog-related-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px; }
.blog-related-card { padding:18px; }
.blog-related-card h3 { margin:0 0 15px;font:600 18px/1.25 var(--font-display); }
.blog-related-card>span { color:#a895b1;font-size:10px; }
.blog-back { margin:38px 0 0;text-align:center;font-size:12px; }
.blog-not-found { display:grid;min-height:65vh;align-content:center;justify-items:start; }
.blog-not-found h1 { max-width:700px;margin:0 0 12px;font:600 clamp(36px,6vw,60px)/1.05 var(--font-display);letter-spacing:-.055em; }
.blog-not-found>p:not(.eyebrow) { max-width:560px;margin:0 0 23px;color:#c5b3ce;line-height:1.7; }
@media (max-width: 900px) {
  .blog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .blog-article-layout { grid-template-columns:minmax(0,1fr) 160px;gap:24px; }
}
@media (max-width: 620px) {
  .blog-main { padding:37px 20px 58px; }
  .blog-hero { margin-bottom:30px; }
  .blog-grid,.blog-related-grid { grid-template-columns:1fr; }
  .blog-card-copy { min-height:200px;padding:19px; }
  .blog-article-layout { grid-template-columns:1fr; }
  .blog-article-aside { position:static; }
  .blog-article-byline { font-size:10px; }
  .blog-related { margin-top:45px; }
}
