body{margin:0;background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-family-base)}.blog-post-page.page{min-height:100vh;opacity:0;transition:opacity .4s ease}.blog-post-page.page.mounted{opacity:1}.blog-post-page .layout{max-width:1100px;margin:0 auto;padding:4rem 1.5rem;display:grid;grid-template-columns:1fr 320px;gap:3rem;align-items:start}.blog-post-page .article{background:var(--color-white);border:var(--border-thick);border-radius:var(--radius-lg);box-shadow:var(--shadow-solid);overflow:hidden}.blog-post-page .article-header{padding:2.5rem 3rem 2rem;border-bottom:var(--border-thick)}.blog-post-page .back-link{display:inline-block;font-family:var(--font-family-display);font-weight:700;font-size:.875rem;text-decoration:none;color:var(--color-text);margin-bottom:1.5rem;padding:.4rem .875rem;background:var(--color-bg);border:var(--border-thin);border-radius:var(--radius-pill);transition:all .15s}.blog-post-page .back-link:hover{background:var(--color-yellow);color:var(--color-text-on-yellow)}.blog-post-page .article-meta{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem}.blog-post-page .cat-chip{font-family:var(--font-family-display);font-weight:800;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;padding:.25rem .6rem;border-radius:var(--radius-pill);border:var(--border-thin);color:var(--color-on-accent)}.blog-post-page .post-date{font-size:.875rem;font-weight:600;color:color-mix(in srgb,var(--color-text) 57%,var(--color-white))}.blog-post-page .article-title{font-family:var(--font-family-display);font-size:clamp(1.5rem,4vw,2.25rem);font-weight:800;letter-spacing:-.025em;line-height:1.2;margin:0 0 1rem}.blog-post-page .article-excerpt{font-family:var(--font-family-base);font-size:1.1rem;font-weight:500;line-height:1.6;color:color-mix(in srgb,var(--color-text) 71%,var(--color-white));margin:0}.blog-post-page .article-divider{height:0}.blog-post-page .article-body{padding:2.5rem 3rem;font-family:var(--font-family-base);font-size:1.05rem;font-weight:500;line-height:1.75;color:color-mix(in srgb,var(--color-text) 93%,var(--color-white))}.blog-post-page .article-body h2{font-family:var(--font-family-display);font-size:1.4rem;font-weight:800;margin:2.5rem 0 1rem;padding-bottom:.5rem;border-bottom:var(--border-thick)}.blog-post-page .article-body p{margin:0 0 1.25rem}.blog-post-page .article-body strong{font-weight:800;color:var(--color-text)}.blog-post-page .article-body em{font-style:italic}.blog-post-page .article-body a{color:var(--color-primary);font-weight:700;text-decoration:underline;text-decoration-thickness:2px}.blog-post-page .article-body code{font-family:monospace;background:var(--color-bg);border:var(--border-thin);border-radius:4px;padding:.1em .4em;font-size:.9em}.blog-post-page .article-footer{padding:2.5rem 3rem;border-top:var(--border-thick);background:var(--color-bg)}.blog-post-page .footer-cta h3{font-family:var(--font-family-display);font-weight:800;font-size:1.1rem;margin:0 0 .5rem}.blog-post-page .footer-cta p{font-size:.95rem;font-weight:500;color:color-mix(in srgb,var(--color-text) 71%,var(--color-white));margin:0 0 1.25rem}.blog-post-page .footer-cta-links{display:flex;gap:1rem;flex-wrap:wrap}.blog-post-page .cta-btn{display:inline-flex;padding:.75rem 1.5rem;font-family:var(--font-family-display);font-weight:800;font-size:.9rem;border:var(--border-thick);border-radius:var(--radius-pill);text-decoration:none;box-shadow:var(--shadow-solid-sm);transition:transform .1s,box-shadow .1s}.blog-post-page .cta-btn:hover{transform:translate(-2px,-2px);box-shadow:var(--shadow-solid)}.blog-post-page .cta-btn.primary{background:var(--color-primary);color:var(--color-on-accent)}.blog-post-page .cta-btn.secondary{background:var(--color-white);color:var(--color-text)}.blog-post-page .sidebar{display:flex;flex-direction:column;gap:1.5rem;position:sticky;top:5rem}.blog-post-page .sidebar-card{background:var(--color-white);border:var(--border-thick);border-radius:var(--radius-md);padding:1.5rem;box-shadow:var(--shadow-solid-sm)}.blog-post-page .sidebar-title{font-family:var(--font-family-display);font-weight:800;font-size:1rem;margin:0 0 .75rem}.blog-post-page .sidebar-text{font-size:.9rem;font-weight:500;line-height:1.5;color:color-mix(in srgb,var(--color-text) 71%,var(--color-white));margin:0 0 .75rem}.blog-post-page .sidebar-link{font-family:var(--font-family-display);font-weight:800;font-size:.875rem;color:var(--color-primary);text-decoration:none}.blog-post-page .sidebar-link:hover{text-decoration:underline}.blog-post-page .other-posts{display:flex;flex-direction:column;gap:.875rem}.blog-post-page .other-post{display:flex;gap:.75rem;align-items:flex-start;text-decoration:none;color:inherit;padding:.625rem;border-radius:var(--radius-sm);border:var(--border-thin);transition:background .15s}.blog-post-page .other-post:hover{background:var(--color-bg)}.blog-post-page .other-cat{width:6px;border-radius:3px;align-self:stretch;flex-shrink:0;min-height:36px}.blog-post-page .other-post-info{display:flex;flex-direction:column;gap:.2rem}.blog-post-page .other-post-title{font-weight:700;font-size:.875rem;line-height:1.35}.blog-post-page .other-post-date{font-size:.75rem;color:color-mix(in srgb,var(--color-text) 50%,var(--color-white));font-weight:500}.blog-post-page .sidebar-contact .sidebar-title{color:var(--color-white)}.blog-post-page .sidebar-contact .sidebar-text{color:color-mix(in srgb,var(--color-white) 75%,transparent)}.blog-post-page .sidebar-contact .sidebar-link{color:var(--color-yellow)}.blog-post-page .footer{padding:3rem 2rem;margin-top:2rem}.blog-post-page .footer-inner{max-width:1100px;margin:0 auto;text-align:center;display:flex;flex-direction:column;gap:1rem}.blog-post-page .footer-links{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap}.blog-post-page .footer-links a,.blog-post-page .footer a{color:var(--color-yellow);text-decoration:none;font-weight:700;font-family:var(--font-family-display)}.blog-post-page .footer p{font-family:var(--font-family-base);font-weight:500;margin:0}@media(max-width:900px){.blog-post-page .layout{grid-template-columns:1fr}.blog-post-page .sidebar{position:static}}@media(max-width:600px){.blog-post-page .article-header,.blog-post-page .article-body,.blog-post-page .article-footer{padding:1.5rem}.blog-post-page .nav-links{display:none}}
