:root{--blog-serif:'Fraunces',Georgia,serif;--blog-sans:ui-sans-serif,system-ui,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';--blog-accent:#ea580c;--blog-accent-light:#fff7ed;--blog-text:#1b1b1f;--blog-text-secondary:#3f3f46;--blog-text-muted:#71717a;--blog-surface:#fafaf9;--blog-border:#e4e4e7;--blog-link:#2563eb;--blog-link-hover:#1d4ed8;--blog-radius:14px}
        .blog-progress{position:fixed;top:0;left:0;width:0%;height:3px;background:linear-gradient(90deg,var(--blog-accent),#f59e0b);z-index:9999;transition:width 80ms ease-out;border-radius:0 2px 2px 0}
        .blog-article{font-family:var(--blog-sans);color:var(--blog-text)}
        .blog-prose{max-width:1024px;margin-left:auto;margin-right:auto;padding-left:1.25rem;padding-right:1.25rem}
        .blog-wide{max-width:1024px;margin-left:auto;margin-right:auto;padding-left:1.25rem;padding-right:1.25rem}
        .blog-full{max-width:1152px;margin-left:auto;margin-right:auto;padding-left:1.25rem;padding-right:1.25rem}
        @media(min-width:640px){.blog-prose,.blog-wide,.blog-full{padding-left:1.5rem;padding-right:1.5rem}}
        .blog-header{padding:2.5rem 0 1.5rem}
        @media(min-width:768px){.blog-header{padding:3rem 0 2rem}}
        .blog-header h1{font-family:var(--blog-serif);font-size:clamp(2rem,5vw,3.25rem);font-weight:600;line-height:1.15;letter-spacing:-0.02em;color:var(--blog-text);margin:0 0 1.5rem;text-wrap:balance}
        .blog-meta{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;padding-top:1.25rem}
        .blog-meta-author{display:flex;align-items:center;gap:0.625rem}
        .blog-meta-author-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid #e5e7eb}
        .blog-meta-author-avatar-placeholder{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--blog-accent),#f59e0b);display:flex;align-items:center;justify-content:center;color:white;font-weight:600;font-size:0.8rem;flex-shrink:0}
        .blog-meta-author-name a{font-weight:500;color:var(--blog-text);text-decoration:none;transition:color 0.2s}
        .blog-meta-author-name a:hover{color:var(--blog-accent)}
        .blog-meta-detail{display:flex;align-items:center;gap:0.375rem;color:var(--blog-text-muted);font-size:0.875rem}
        .blog-meta-dot{width:3px;height:3px;border-radius:50%;background:#d4d4d8;flex-shrink:0}
        .blog-hero{margin:1.5rem auto 0;max-width:100%}
        @media(min-width:768px){.blog-hero{margin:2rem auto 0;max-width:min(100%,54rem)}}
        .blog-hero img{width:100%;height:auto;border-radius:var(--blog-radius);display:block;box-shadow:0 10px 32px rgba(15,23,42,0.08)}
        .blog-hero figcaption{margin-top:0.75rem;font-size:0.8125rem;color:var(--blog-text-muted);font-style:italic;text-align:center}
        .blog-hero-placeholder{width:100%;height:280px;border-radius:var(--blog-radius);background:linear-gradient(135deg,#f97316 0%,#fbbf24 50%,#fb923c 100%);display:flex;align-items:center;justify-content:center}
        @media(min-width:768px){.blog-hero-placeholder{height:380px}}
        .blog-content{padding-top:2.5rem;padding-bottom:1rem}
        @media(min-width:768px){.blog-content{padding-top:3rem}}
        .blog-content .blog-richtext{font-family:var(--blog-sans);font-size:1.1rem;line-height:1.85;color:var(--blog-text-secondary);margin-bottom:1.75rem}
        .blog-content .blog-richtext a{color:var(--blog-link);font-weight:500;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:rgba(37,99,235,0.3);transition:all 0.2s}
        .blog-content .blog-richtext a:hover{color:var(--blog-link-hover);text-decoration-color:currentColor}
        .blog-content .blog-richtext strong{font-weight:600;color:var(--blog-text)}
        .blog-content .blog-richtext em{font-style:italic}
        .blog-content .blog-richtext ul{list-style:none;margin:1.25rem 0;padding-left:0}
        .blog-content .blog-richtext ul li{position:relative;padding-left:1.5rem;margin:0.5rem 0}
        .blog-content .blog-richtext ul li::before{content:'';position:absolute;left:0;top:0.7em;width:6px;height:6px;border-radius:50%;background:var(--blog-accent)}
        .blog-content .blog-richtext ol{list-style:none;margin:1.25rem 0;padding-left:0;counter-reset:ol-counter}
        .blog-content .blog-richtext ol li{position:relative;padding-left:2rem;margin:0.5rem 0;counter-increment:ol-counter}
        .blog-content .blog-richtext ol li::before{content:counter(ol-counter);position:absolute;left:0;top:0.15em;width:1.4rem;height:1.4rem;border-radius:50%;background:var(--blog-accent-light);color:var(--blog-accent);font-size:0.75rem;font-weight:600;display:flex;align-items:center;justify-content:center}
        .blog-content .blog-richtext li>ul,.blog-content .blog-richtext li>ol{margin:0.5rem 0 0.5rem 0.25rem}
        .blog-content .blog-richtext li>ul li::before{width:5px;height:5px;background:#d4d4d8}
        .blog-drop-cap>p:first-child::first-letter,.blog-drop-cap::first-letter{float:left;font-family:var(--blog-serif);font-size:3.75em;line-height:0.78;padding:0.05em 0.12em 0 0;color:var(--blog-accent);font-weight:700}
        .blog-heading{font-family:var(--blog-serif);font-size:clamp(1.5rem,3.5vw,1.875rem);font-weight:600;color:var(--blog-text);margin:3rem 0 1.25rem;padding-top:2rem;position:relative;line-height:1.3;letter-spacing:-0.01em;border:none}
        .blog-heading::before{content:'';position:absolute;top:0;left:0;width:40px;height:3px;background:var(--blog-accent);border-radius:2px}
        .blog-callout{position:relative;border-radius:0 22px 22px 0;padding:1.45rem 1.6rem 1.3rem 1.4rem;margin:1.6rem 0;border:none;background:linear-gradient(90deg,var(--callout-wash,#f9fafb) 0%,rgba(255,255,255,0.98) 72%);box-shadow:none;overflow:visible}
        .blog-callout::before{content:'';position:absolute;left:0;top:0.15rem;bottom:0.15rem;width:2px;background:var(--callout-accent,#2563eb)}
        .blog-content>.blog-callout:has(+ .blog-callout)::after{content:none}
        .blog-callout h3{font-family:var(--blog-serif);font-size:1.38rem;font-weight:600;letter-spacing:-0.02em;line-height:1.25;margin:0 0 0.6rem;padding-right:0.5rem;color:var(--blog-text)}
        .blog-callout .blog-richtext{font-size:1rem!important;line-height:1.82!important;margin-bottom:0!important;color:var(--blog-text-secondary)!important}
        .blog-callout-info{--callout-accent:#2563eb;--callout-wash:#f7faff}
        .blog-callout-info h3{color:#1d4ed8}
        .blog-callout-info .blog-richtext a{color:#2563eb}
        .blog-callout-success{--callout-accent:#16a34a;--callout-wash:#f7fcf8}
        .blog-callout-success h3{color:#15803d}
        .blog-callout-success .blog-richtext a{color:#16a34a}
        .blog-callout-warning{--callout-accent:#d97706;--callout-wash:#fffaf2}
        .blog-callout-warning h3{color:#b45309}
        .blog-callout-warning .blog-richtext a{color:#d97706}
        .blog-callout-error{--callout-accent:#b45309;--callout-wash:#fff8f1}
        .blog-callout-error h3{color:#9a3412}
        .blog-callout-error .blog-richtext a{color:#b45309}
        @media(max-width:639px){.blog-callout{padding:1.2rem 1rem 1.1rem 1.05rem;border-radius:0 18px 18px 0}.blog-callout h3{font-size:1.2rem}}
        .blog-cta{background:linear-gradient(180deg,#fffaf5 0%,#fff 100%);border:none;border-top:1px solid #efd8bf;border-bottom:1px solid #f3e7d7;border-radius:0;padding:2.2rem 0 2rem;text-align:left;margin:3rem 0;position:relative;overflow:visible}
        .blog-cta::before,.blog-cta::after{content:none}
        .blog-cta h3{font-family:var(--blog-serif);font-size:clamp(1.5rem,3vw,1.85rem);font-weight:600;color:var(--blog-text);margin-bottom:0.7rem;position:relative;letter-spacing:-0.02em}
        .blog-cta .blog-richtext{color:var(--blog-text-secondary)!important;font-size:1rem!important;max-width:42rem;margin:0 0 1rem!important;position:relative;line-height:1.82!important}
        .blog-cta .blog-richtext a{display:inline-flex;align-items:center;gap:0.4rem;background:transparent!important;color:var(--blog-accent)!important;padding:0!important;border-radius:0;font-weight:600!important;text-decoration:none!important;transition:opacity 0.2s!important;box-shadow:none;border-bottom:1px solid rgba(234,88,12,0.28)}
        .blog-cta .blog-richtext a::after{content:'\2192';font-size:0.9em}
        .blog-cta .blog-richtext a:hover{background:transparent!important;transform:none;box-shadow:none;opacity:0.8;border-bottom-color:currentColor}
        .blog-quote{position:relative;margin:2.5rem 0;padding:1.75rem 1.75rem 1.75rem 2rem;background:var(--blog-surface);border-radius:var(--blog-radius);border-left:4px solid var(--blog-accent)}
        .blog-quote::before{content:'\201C';font-family:var(--blog-serif);font-size:4rem;color:var(--blog-accent);opacity:0.25;position:absolute;top:-0.25rem;left:1rem;line-height:1}
        .blog-quote .blog-richtext{font-family:var(--blog-serif)!important;font-style:italic;font-size:1.125rem!important;line-height:1.75!important;color:var(--blog-text)!important;margin-bottom:0!important;position:relative}
        .blog-quote .blog-richtext a{color:var(--blog-link)}
        .blog-content .blog-richtext code{font-family:'SF Mono','Fira Code','Cascadia Code',monospace;font-size:0.9em;background:#fff7ed;color:#9a3412;border:1px solid #fed7aa;border-radius:999px;padding:0.12rem 0.45rem}
        .blog-code{margin:2.25rem 0;border-radius:18px;overflow:hidden;border:1px solid #e7e5e4;background:white;box-shadow:0 14px 36px rgba(15,23,42,0.08)}
        .blog-code-header{background:linear-gradient(180deg,#fffaf5 0%,#ffffff 100%);padding:0.8rem 1rem;display:flex;align-items:center;gap:0.5rem;border-bottom:1px solid #f1f5f9}
        .blog-code-header span{font-size:0.74rem;color:#9a3412;font-family:var(--blog-sans);font-weight:700;letter-spacing:0.08em;text-transform:uppercase}
        .blog-code-dots{display:flex;gap:6px}
        .blog-code-dots i{width:8px;height:8px;border-radius:50%;display:block;background:#fdba74;opacity:0.8}
        .blog-code-dots i:nth-child(2){background:#f59e0b;opacity:0.55}
        .blog-code-dots i:nth-child(3){background:#cbd5e1;opacity:0.8}
        .blog-code pre{background:linear-gradient(180deg,#ffffff 0%,#fafaf9 100%);padding:1.25rem 1.35rem;overflow-x:auto;margin:0}
        .blog-code code{font-size:0.9rem;color:#0f172a;font-family:'SF Mono','Fira Code','Cascadia Code',monospace;line-height:1.7}
        .blog-features{margin:3rem 0}
        .blog-features h3{font-family:var(--blog-serif);font-size:clamp(1.55rem,3vw,1.95rem);font-weight:600;text-align:left;margin-bottom:1.15rem;color:var(--blog-text);letter-spacing:-0.02em}
        .blog-features-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;position:relative}
        @media(min-width:640px){.blog-features-grid{grid-template-columns:1fr 1fr;column-gap:3.25rem;row-gap:1.85rem}.blog-features-grid::before{content:'';position:absolute;top:0;bottom:0;left:50%;width:1px;background:linear-gradient(180deg,rgba(120,113,108,0) 0%,rgba(120,113,108,0.16) 12%,rgba(120,113,108,0.16) 88%,rgba(120,113,108,0) 100%)}}
        .blog-feature-card{position:relative;background:transparent;border:none;border-top:1px solid #ece7df;border-radius:0;padding:1.15rem 0 0.2rem;text-align:left;transition:none;overflow:visible;box-shadow:none}
        .blog-feature-card::before{content:none}
        .blog-feature-card:hover{border-color:#e7d7c5;box-shadow:none;transform:none}
        .blog-feature-card h4{font-family:var(--blog-serif);font-weight:600;font-size:1.18rem;color:var(--blog-text);margin-bottom:0.45rem;line-height:1.3;letter-spacing:-0.015em}
        .blog-feature-card p{font-size:1rem;color:var(--blog-text-secondary);line-height:1.78;margin:0}
        .blog-two-col{display:grid;grid-template-columns:1fr;gap:1.5rem;margin:2.75rem 0;position:relative}
        @media(min-width:640px){.blog-two-col{grid-template-columns:1fr 1fr;column-gap:3rem}.blog-two-col::before{content:'';position:absolute;top:0;bottom:0;left:50%;width:1px;background:linear-gradient(180deg,rgba(120,113,108,0) 0%,rgba(120,113,108,0.18) 14%,rgba(120,113,108,0.18) 86%,rgba(120,113,108,0) 100%)}}
        .blog-two-col-left,.blog-two-col-right{position:relative;border-radius:0;padding:1.1rem 0 0.1rem;border:none;background:transparent;transition:none;overflow:visible;box-shadow:none}
        .blog-two-col-left:hover,.blog-two-col-right:hover{transform:none;box-shadow:none}
        .blog-two-col-left,.blog-two-col-right{background:transparent}
        .blog-two-col-left::before,.blog-two-col-right::before{content:'';position:absolute;top:0;left:0;width:3rem;height:2px}
        .blog-two-col-left::before,.blog-two-col-right::before{background:linear-gradient(90deg,#d6a15f 0%,#f0dfca 100%)}
        .blog-two-col .blog-richtext{margin-bottom:0!important;font-size:1rem!important;line-height:1.75!important;color:var(--blog-text-secondary)!important;text-align:left}
        .blog-two-col .blog-richtext h4{font-family:var(--blog-serif);font-size:1.12rem;font-weight:500;letter-spacing:-0.015em;margin-bottom:0.7rem;color:var(--blog-text)}
        .blog-two-col-left .blog-richtext a,.blog-two-col-right .blog-richtext a{color:var(--blog-link)}
        .blog-inline-image{margin:2.25rem auto;text-align:center;max-width:min(100%,46rem)}
        .blog-inline-image img{width:100%;height:auto;border-radius:var(--blog-radius);box-shadow:0 8px 24px rgba(15,23,42,0.06);background:white}
        .blog-author{margin:3.5rem 0 0;padding:0;background:transparent;border:none;border-radius:0;position:relative;overflow:visible}
        .blog-author-inner{display:flex;flex-direction:column;gap:1rem}
        @media(min-width:640px){.blog-author-inner{flex-direction:row;gap:1.25rem;align-items:flex-start}}
        .blog-author-photo{width:60px;height:60px;border-radius:14px;object-fit:cover;border:none;box-shadow:none;flex-shrink:0}
        .blog-author-photo-placeholder{width:60px;height:60px;border-radius:14px;background:linear-gradient(135deg,#e7d7c5,#f3e7d8);display:flex;align-items:center;justify-content:center;color:#6b4f2f;font-size:1.15rem;font-weight:700;flex-shrink:0;box-shadow:none}
        .blog-author-label{display:inline-block;font-size:0.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;color:#a16207;margin-bottom:0.35rem}
        .blog-author-name{font-family:var(--blog-serif);font-size:1.22rem;font-weight:600;letter-spacing:-0.015em;margin-bottom:0.2rem}
        .blog-author-name a{color:var(--blog-text);text-decoration:none;transition:color 0.2s}
        .blog-author-name a:hover{color:#8a5b24}
        .blog-author-title{font-size:0.86rem;color:var(--blog-text-muted);margin-bottom:0.55rem}
        .blog-author-bio{font-size:0.94rem;color:var(--blog-text-secondary);line-height:1.72;margin-bottom:0.7rem;max-width:42rem}
        .blog-author-link{font-size:0.875rem;font-weight:500;color:#8a5b24;text-decoration:none;display:inline-flex;align-items:center;gap:0.35rem;transition:color 0.2s, gap 0.2s}
        .blog-author-link:hover{gap:0.5rem;color:#6b4f2f}
        .blog-related-posts{padding:2rem 0 1.5rem}
        .blog-related-posts-label{font-family:var(--blog-sans);font-size:1.25rem;font-weight:700;color:var(--blog-text);text-align:center;margin-bottom:0.375rem}
        .blog-related-posts-sub{font-size:0.875rem;color:var(--blog-text-muted);text-align:center;margin-bottom:1.75rem}
        .blog-related-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}
        @media(min-width:768px){.blog-related-grid{grid-template-columns:repeat(3,1fr)}}
        .blog-related-card{background:transparent;border:none;text-decoration:none;display:block}
        .blog-related-card:hover{transform:none;box-shadow:none}
        .blog-related-card-image{aspect-ratio:16/9;overflow:hidden;background:#f4f4f5;border-radius:16px}
        .blog-related-card-image img{width:100%;height:100%;object-fit:cover;transition:opacity 0.25s ease}
        .blog-related-card:hover .blog-related-card-image img{opacity:0.94}
        .blog-related-card-body{padding:0.95rem 0 0}
        .blog-related-card-title{font-family:var(--blog-serif);font-size:1.02rem;font-weight:600;color:var(--blog-text);line-height:1.38;margin-bottom:0.45rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;letter-spacing:-0.015em}
        .blog-related-card:hover .blog-related-card-title{color:#8a5b24}
        .blog-related-card-excerpt{font-size:0.85rem;color:var(--blog-text-muted);line-height:1.55;margin-bottom:0.75rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
        .blog-related-card-meta{display:flex;align-items:center;gap:0.5rem;font-size:0.775rem;color:#a1a1aa}
        .blog-browse-cta{text-align:center;padding:2rem 0 2.5rem}
        .blog-browse-cta a{display:inline-flex;align-items:center;gap:0.5rem;padding:0.75rem 1.75rem;border:2px solid var(--blog-border);border-radius:100px;font-weight:500;color:var(--blog-text-secondary);text-decoration:none;transition:all 0.25s;font-size:0.9375rem;font-family:var(--blog-sans)}
        .blog-browse-cta a:hover{border-color:var(--blog-accent);color:var(--blog-accent);box-shadow:0 2px 12px rgba(234,88,12,0.12)}
        .blog-browse-cta a svg{transition:transform 0.25s}
        .blog-browse-cta a:hover svg{transform:translateX(-3px)}
        .blog-reveal{opacity:0;transform:translateY(16px);transition:opacity 0.5s ease,transform 0.5s ease}
        .blog-visible{opacity:1;transform:translateY(0)}
        @media(prefers-reduced-motion:reduce){.blog-reveal{opacity:1;transform:none;transition:none}.blog-progress{transition:none}}
        .blog-ad-slot{margin:0.75rem auto;max-width:1024px;padding-left:1.25rem;padding-right:1.25rem}
        .blog-ad-slot .ad-slot-banner{margin:0}
        @media(min-width:640px){.blog-ad-slot{padding-left:1.5rem;padding-right:1.5rem}}
