/* OdinVision editorial pages: existing brand, a quieter reading rhythm. */
.blog-kicker{display:block;color:var(--violet);font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin-bottom:22px}
.blog-hero{padding:52px 0 70px;display:grid;grid-template-columns:1.35fr .65fr;align-items:end;gap:60px;border-bottom:1px solid var(--line)}
.blog-hero h1{font-size:clamp(56px,6.8vw,100px);max-width:11ch}.blog-hero p{font-size:21px;line-height:1.55;max-width:34ch;padding-bottom:6px}
.blog-topics{display:flex;gap:24px;flex-wrap:wrap;padding:22px 0;color:#50515a;font-size:14px;border-bottom:1px solid var(--line)}
.blog-empty{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:9%;padding:68px 0 85px}.blog-empty h2{font-size:clamp(34px,4vw,54px);max-width:15ch}.blog-empty p{margin:22px 0 28px;max-width:39ch;color:#50515a;font-size:18px}
.blog-emblem{background:var(--dark);color:var(--paper);border-radius:5px;padding:40px;min-height:320px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}
.blog-emblem>span{font-size:12px;letter-spacing:.15em;color:#c1b5e4}.blog-emblem strong{font-size:clamp(34px,4vw,56px);font-weight:400;line-height:1.1;letter-spacing:-.04em}.blog-emblem strong span{color:var(--cyan)}.blog-emblem-rule{display:flex;gap:8px;align-items:end;height:42px}.blog-emblem-rule i{display:block;height:2px;background:var(--cyan);flex:1}.blog-emblem-rule i:nth-child(2){height:16px;background:var(--purple)}.blog-emblem-rule i:nth-child(3){height:30px;background:var(--violet)}.blog-emblem-rule i:nth-child(4){height:42px;background:var(--paper)}
.blog-posts{padding:50px 0 85px}.blog-feature{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center;text-decoration:none}.blog-cover{aspect-ratio:16/10;overflow:hidden;border-radius:4px;background:#dedbe5}.blog-cover img{width:100%;height:100%;object-fit:cover;transition:transform 350ms ease}.blog-meta{display:flex;flex-wrap:wrap;gap:8px 18px;color:#56545f;font-size:14px;margin:18px 0}.blog-feature h2{font-size:clamp(32px,3.8vw,55px);line-height:1.08}.blog-feature p,.blog-card p{color:#50515a;margin-top:18px;font-size:18px}.blog-read{display:inline-flex;align-items:center;gap:16px;margin-top:28px;color:var(--violet);font-size:16px;min-height:44px}.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 28px;border-top:1px solid var(--line);padding-top:45px;margin-top:50px}.blog-card{display:block;text-decoration:none}.blog-card h2{font-size:30px;line-height:1.15}.blog-card .blog-meta{font-size:13px}.blog-card:hover h2,.blog-feature:hover h2{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.blog-article-header{max-width:1050px;margin:auto;padding:45px 0 40px}.blog-article-header h1{font-size:clamp(42px,5.5vw,78px);line-height:1.08;max-width:22ch}.blog-deck{font-size:clamp(20px,2vw,25px);line-height:1.5;margin:24px 0;max-width:55ch}.blog-article-cover{margin:0 auto;max-width:1140px}.blog-article-cover img{width:100%;max-height:640px;object-fit:cover;aspect-ratio:16/9;border-radius:4px}.blog-article-cover figcaption,.blog-prose figcaption{font-size:14px;line-height:1.5;color:#56545f;margin-top:12px}
.blog-reading{display:grid;grid-template-columns:230px minmax(0,740px);gap:6vw;justify-content:center;padding:60px 0 80px}.blog-toc{align-self:start;position:sticky;top:100px;font-size:14px;border-top:1px solid var(--line);padding-top:20px}.blog-toc strong{font-size:12px;text-transform:uppercase;letter-spacing:.1em}.blog-toc ol{list-style:none;padding:0;margin:14px 0}.blog-toc a{display:block;padding:10px 0;text-decoration:none;color:#56545f}.blog-toc a:hover{color:var(--violet);text-decoration:underline}.blog-toc a:focus-visible,.blog-prose a:focus-visible{outline-color:var(--violet)}
.blog-prose{min-width:0;font-size:20px;line-height:1.75;overflow-wrap:anywhere}.blog-prose>p,.blog-prose>ul,.blog-prose>ol,.blog-prose>blockquote,.blog-prose>pre,.blog-prose>figure{margin:0 0 28px;max-width:none}.blog-prose h2{font-size:clamp(30px,3vw,42px);line-height:1.16;margin:52px 0 24px;scroll-margin-top:110px}.blog-prose h3{font-size:27px;line-height:1.25;margin:36px 0 18px;scroll-margin-top:110px}.blog-prose h4{font-size:23px;margin:28px 0 14px}.blog-prose li{padding-left:5px;margin:9px 0}.blog-prose a{color:var(--violet)}.blog-prose blockquote{border-left:3px solid var(--violet);padding:10px 0 10px 26px;font-size:24px;line-height:1.5}.blog-prose img{width:100%;height:auto;border-radius:3px}.blog-prose figure{margin:38px 0}.blog-prose pre{overflow:auto;background:var(--dark);color:var(--paper);padding:24px;font-size:15px;border-radius:4px}.blog-prose code{font-size:.85em}.blog-prose .blog-table{overflow:auto;margin:30px 0}.blog-prose table{border-collapse:collapse;min-width:100%;font-size:16px;line-height:1.5}.blog-prose th,.blog-prose td{border-bottom:1px solid var(--line);padding:16px;text-align:left;min-width:140px}.blog-prose th{background:#e4e0ea}.blog-end{border-top:1px solid var(--line);padding:30px 0;margin-top:45px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.blog-related{padding:0 0 65px}.blog-related>h2{font-size:34px}.blog-related .blog-grid{margin-top:24px;padding-top:30px}
@media(hover:hover) and (pointer:fine){.blog-card:hover .blog-cover img,.blog-feature:hover .blog-cover img{transform:scale(1.025)}}
@media(max-width:1100px){.desktop-nav{gap:18px}.blog-reading{grid-template-columns:190px minmax(0,1fr);gap:40px}.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.blog-hero{grid-template-columns:1fr;gap:26px;padding:35px 0 40px}.blog-hero h1{max-width:12ch}.blog-hero p{font-size:19px;max-width:42ch}.blog-topics{gap:12px 22px;font-size:13px}.blog-empty{grid-template-columns:1fr;gap:35px;padding:40px 0 55px}.blog-emblem{min-height:250px;padding:30px}.blog-feature{grid-template-columns:1fr;gap:12px}.blog-posts{padding:32px 0 55px}.blog-feature h2{font-size:36px}.blog-grid{gap:35px 22px}.blog-reading{display:block;padding:30px 0 45px}.blog-toc{position:static;margin-bottom:36px}.blog-toc ol{display:flex;flex-wrap:wrap;gap:0 24px}.blog-article-header{padding:30px 0}.blog-prose{font-size:18px;line-height:1.75}.blog-article-cover img{aspect-ratio:4/3}.blog-prose h2{margin-top:40px}}
@media(max-width:540px){.blog-grid{grid-template-columns:1fr}.blog-hero h1{font-size:54px}.blog-article-header h1{font-size:42px}.blog-card h2{font-size:30px}.blog-end{display:grid}.blog-toc ol{display:block}}
@media(prefers-reduced-motion:reduce){.blog-cover img{transition:none!important;transform:none!important}}.motion-off .blog-cover img{transition:none!important;transform:none!important}
