.blog-hero{position:relative;padding:160px 0 64px;overflow:hidden;text-align:center}.blog-hero .blueprint-grid{z-index:0}.blog-hero-inner{position:relative;z-index:1;max-width:760px;margin:0 auto;padding:0 24px}.blog-hero h1{font-family:var(--font-primary);font-size:clamp(2.2rem, 5vw, 3.4rem);font-weight:800;line-height:1.1;letter-spacing:-.02em;color:#fff;margin-bottom:18px}.blog-hero p{font-size:1.08rem;color:var(--text-muted);line-height:1.7;max-width:600px;margin:0 auto}.blog-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:36px}.blog-filter{background:var(--glass);border:1px solid var(--glass-border);color:var(--text-muted);padding:8px 18px;border-radius:50px;font-size:.82rem;font-family:var(--font-body);cursor:pointer;transition:var(--transition)}.blog-filter:hover{border-color:var(--accent-blue);color:#fff}.blog-filter.active{background:var(--gradient-primary);border-color:transparent;color:#fff;font-weight:600}.blog-section{padding:64px 0 110px;position:relative}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.post-card{display:flex;flex-direction:column;background:var(--glass);border:1px solid var(--glass-border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-lg);overflow:hidden;transition:var(--transition);position:relative}.post-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-primary);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.4, 0, .2, 1);z-index:3}.post-card:hover{border-color:var(--accent-blue);box-shadow:var(--glow-blue);transform:translateY(-6px)}.post-card:hover::before{transform:scaleX(1)}.post-card-media{position:relative;aspect-ratio:16/9;overflow:hidden}.post-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.post-card:hover .post-card-media img{transform:scale(1.06)}.post-card-media::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(5,5,16,.6) 100%)}.post-card-cat{position:absolute;top:14px;left:14px;z-index:2;background:var(--gradient-primary);color:#fff;font-family:var(--font-primary);font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;padding:6px 14px;border-radius:50px}.post-card-body{display:flex;flex-direction:column;flex:1;padding:26px 26px 30px}.post-card-meta{display:flex;align-items:center;gap:10px;font-size:.76rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px}.post-card-meta .dot{width:4px;height:4px;border-radius:50%;background:var(--accent-cyan)}.post-card-body h2,.post-card-body h3{font-family:var(--font-primary);font-size:1.24rem;font-weight:700;line-height:1.25;color:#fff;margin-bottom:12px;letter-spacing:-.01em}.post-card-body p{font-size:.92rem;color:var(--text-muted);line-height:1.65;margin-bottom:22px;flex:1}.post-card-link{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-primary);font-size:.85rem;font-weight:600;background:var(--gradient-text);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;align-self:flex-start}.post-card-link svg{stroke:var(--accent-cyan);transition:transform var(--transition)}.post-card:hover .post-card-link svg{transform:translateX(4px)}.post-card.is-hidden{display:none}.post-card.featured{grid-column:1/-1;flex-direction:row}.post-card.featured .post-card-media{aspect-ratio:auto;width:46%;min-height:320px}.post-card.featured .post-card-body{width:54%;justify-content:center;padding:44px 48px}.post-card.featured .post-card-body h2,.post-card.featured .post-card-body h3{font-size:1.9rem;line-height:1.18}.post-card.featured .post-card-body p{font-size:1rem;flex:none}.article-hero{position:relative;padding:150px 0 56px;overflow:hidden}.article-hero .blueprint-grid{z-index:0}.article-head{position:relative;z-index:1;max-width:760px;margin:0 auto;padding:0 24px;text-align:center}.article-breadcrumb{display:inline-flex;align-items:center;gap:8px;font-size:.8rem;color:var(--text-muted);margin-bottom:22px}.article-breadcrumb a:hover{color:var(--accent-cyan)}.article-cat{display:inline-block;background:var(--gradient-primary);color:#fff;font-family:var(--font-primary);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.16em;padding:7px 16px;border-radius:50px;margin-bottom:22px}.article-head h1{font-family:var(--font-primary);font-size:clamp(2rem, 4.5vw, 3rem);font-weight:800;line-height:1.14;letter-spacing:-.02em;color:#fff;margin-bottom:24px}.article-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;font-size:.84rem;color:var(--text-muted)}.article-meta .author{display:inline-flex;align-items:center;gap:10px;color:var(--text-on-dark);font-weight:500}.article-meta .author .avatar{width:34px;height:34px;border-radius:50%;background:var(--gradient-primary);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-primary);font-size:.8rem;font-weight:700;color:#fff}.article-meta .sep{width:4px;height:4px;border-radius:50%;background:var(--accent-cyan)}.article-cover{position:relative;z-index:1;max-width:1000px;margin:48px auto 0;padding:0 24px}.article-cover img{width:100%;border-radius:var(--radius-lg);border:1px solid var(--glass-border);aspect-ratio:21/9;object-fit:cover}.article-body{max-width:740px;margin:0 auto;padding:64px 24px 40px;font-size:1.06rem;line-height:1.85;color:rgba(240,240,255,.82)}.article-body>p:first-of-type::first-letter{font-family:var(--font-primary);font-size:3.4rem;font-weight:700;line-height:.8;float:left;margin:8px 14px 0 0;background:var(--gradient-text);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.article-body p{margin-bottom:26px}.article-body h2{font-family:var(--font-primary);font-size:1.7rem;font-weight:700;color:#fff;line-height:1.25;margin:48px 0 18px;letter-spacing:-.01em}.article-body h3{font-family:var(--font-primary);font-size:1.28rem;font-weight:600;color:#fff;margin:34px 0 14px}.article-body a{color:var(--accent-cyan);border-bottom:1px solid rgba(0,212,255,.35);transition:var(--transition)}.article-body a:hover{color:#fff;border-bottom-color:var(--accent-cyan)}.article-body strong{color:#fff;font-weight:600}.article-body ol,.article-body ul{margin:0 0 26px;padding-left:4px}.article-body li{position:relative;padding-left:28px;margin-bottom:12px}.article-body ul li::before{content:'';position:absolute;left:2px;top:11px;width:11px;height:7px;border-left:2px solid var(--accent-cyan);border-bottom:2px solid var(--accent-cyan);transform:rotate(-45deg)}.article-body ol{counter-reset:li}.article-body ol li::before{counter-increment:li;content:counter(li);position:absolute;left:0;top:2px;font-family:var(--font-primary);font-size:.8rem;font-weight:700;color:var(--accent-cyan)}.article-body blockquote{margin:36px 0;padding:8px 0 8px 28px;border-left:3px solid transparent;border-image:var(--gradient-primary) 1;font-family:var(--font-primary);font-size:1.3rem;font-weight:500;line-height:1.5;color:#fff;font-style:italic}.article-body .lead{font-size:1.2rem;line-height:1.7;color:var(--text-on-dark);font-weight:500}.article-callout{background:linear-gradient(135deg,rgba(0,102,255,.08),rgba(0,147,255,.08));border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:28px 32px;margin:38px 0}.article-callout h4{font-family:var(--font-primary);font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.16em;background:var(--gradient-text);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:12px}.article-callout p{margin-bottom:0;font-size:.98rem}.article-faq{max-width:780px;margin:0 auto;padding:8px 24px 64px;counter-reset:faq}.article-faq .section-label{margin-bottom:12px}.article-faq h2{font-family:var(--font-primary);font-size:1.85rem;font-weight:700;color:#fff;line-height:1.22;margin:0 0 10px;letter-spacing:-.02em}.article-faq>p.faq-intro{color:var(--text-muted);font-size:.97rem;line-height:1.7;margin:0 0 30px;max-width:60ch}.faq-item{position:relative;overflow:hidden;background:var(--glass);border:1px solid var(--glass-border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-lg);padding:26px 30px;margin-bottom:14px;transition:var(--transition)}.faq-item::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-primary);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.4, 0, .2, 1)}.faq-item:hover{border-color:var(--accent-blue);box-shadow:var(--glow-blue);transform:translateY(-4px)}.faq-item:hover::before{transform:scaleX(1)}.faq-item h3{display:flex;align-items:baseline;gap:14px;font-family:var(--font-primary);font-size:1.13rem;font-weight:600;color:#fff;line-height:1.45;margin:0 0 12px}.faq-item h3::before{counter-increment:faq;content:counter(faq,decimal-leading-zero);flex-shrink:0;font-family:var(--font-mono);font-size:.78rem;font-weight:700;letter-spacing:.1em;background:var(--gradient-text);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.faq-item p{margin:0;padding-left:36px;font-size:1rem;line-height:1.8;color:rgba(240,240,255,.76)}.faq-item a{color:var(--accent-azure)}@media (max-width:640px){.article-faq{padding:4px 20px 48px}.article-faq h2{font-size:1.5rem}.faq-item{padding:22px 22px;border-radius:var(--radius)}.faq-item h3{font-size:1.05rem;gap:10px}.faq-item p{padding-left:0;font-size:.97rem}}@media (prefers-reduced-motion:reduce){.faq-item,.faq-item::before{transition:none}.faq-item:hover{transform:none}}.article-table-wrap{margin:34px 0;overflow-x:auto;border:1px solid var(--glass-border);border-radius:var(--radius-lg);-webkit-overflow-scrolling:touch}.article-table{width:100%;min-width:640px;border-collapse:collapse;font-size:.94rem;line-height:1.5}.article-table thead th{background:linear-gradient(135deg,rgba(0,102,255,.14),rgba(0,212,255,.1));font-family:var(--font-primary);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#fff;text-align:left;padding:14px 18px;white-space:nowrap}.article-table tbody td{padding:15px 18px;border-top:1px solid var(--glass-border);vertical-align:top;color:rgba(240,240,255,.82)}.article-table tbody tr:nth-child(2n) td{background:rgba(255,255,255,.02)}.article-table tbody td:first-child{color:#fff;font-weight:600;white-space:nowrap}.article-table .price{font-variant-numeric:tabular-nums;color:var(--accent-cyan);white-space:nowrap}.price-note{font-size:.86rem;color:rgba(240,240,255,.55);margin:-18px 0 30px;font-style:italic}.article-footer{max-width:740px;margin:0 auto;padding:8px 24px 0}.article-tags{display:flex;flex-wrap:wrap;gap:10px;padding-bottom:32px;border-bottom:1px solid var(--glass-border)}.article-tag{font-size:.78rem;color:var(--text-muted);background:var(--glass);border:1px solid var(--glass-border);padding:6px 14px;border-radius:50px}.author-bio{display:flex;gap:20px;align-items:flex-start;margin:36px auto 0;max-width:740px;padding:28px 24px;background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius-lg)}.author-bio .avatar-lg{width:60px;height:60px;min-width:60px;border-radius:50%;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;font-family:var(--font-primary);font-weight:700;font-size:1.2rem;color:#fff;box-shadow:var(--glow-blue)}.author-bio h4{font-family:var(--font-primary);font-size:1.05rem;color:#fff;margin-bottom:4px}.author-bio .role{font-size:.8rem;color:var(--accent-cyan);text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px}.author-bio p{font-size:.92rem;color:var(--text-muted);line-height:1.65;margin:0}.related-section{padding:80px 0 110px;border-top:1px solid var(--glass-border);margin-top:72px}.related-section .section-header{margin-bottom:40px}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.back-link{display:inline-flex;align-items:center;gap:8px;font-size:.86rem;color:var(--text-muted);margin-bottom:6px}.back-link:hover{color:var(--accent-cyan)}.article-cta{max-width:760px;margin:56px auto 0;padding:0 24px}.article-cta-inner{background:linear-gradient(135deg,rgba(0,102,255,.12),rgba(0,147,255,.12) 50%,rgba(0,212,255,.12));border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:44px 40px;text-align:center;position:relative;overflow:hidden}.article-cta-inner::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--gradient-primary);background-size:200% auto;animation:gradientShift 6s ease infinite}.article-cta-inner h3{font-family:var(--font-primary);font-size:1.6rem;font-weight:700;color:#fff;margin-bottom:12px}.article-cta-inner p{color:var(--text-muted);margin-bottom:24px;max-width:480px;margin-left:auto;margin-right:auto}.read-progress{position:fixed;top:0;left:0;height:3px;width:0%;background:var(--gradient-primary);z-index:1100;transition:width .1s linear}@media (max-width:1024px){.blog-grid{grid-template-columns:repeat(2,1fr)}.related-grid{grid-template-columns:repeat(3,1fr)}.post-card.featured{flex-direction:column}.post-card.featured .post-card-body,.post-card.featured .post-card-media{width:100%}.post-card.featured .post-card-media{aspect-ratio:16/9;min-height:0}.post-card.featured .post-card-body{padding:32px}}@media (max-width:768px){.blog-grid{grid-template-columns:1fr}.related-grid{grid-template-columns:1fr}.article-body{font-size:1.02rem}.article-body>p:first-of-type::first-letter{font-size:2.8rem}.author-bio{flex-direction:column}}.article-cat,.post-card-cat{font-family:var(--font-mono);letter-spacing:.16em;box-shadow:0 4px 18px rgba(0,102,255,.35)}.blog-filter{font-family:var(--font-mono);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}.blog-filter.active{box-shadow:0 0 22px rgba(0,120,255,.4)}.post-card{box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}.post-card-media img{filter:saturate(.92) contrast(1.02);transition:transform .6s ease,filter .6s ease}.post-card:hover .post-card-media img{transform:scale(1.06);filter:saturate(1.12) contrast(1.05)}.post-card-meta{font-family:var(--font-mono);letter-spacing:.1em}.post-card.featured{border-color:rgba(0,160,255,.25);background:radial-gradient(60% 80% at 85% 15%,rgba(0,212,255,.08),transparent 60%),linear-gradient(135deg,rgba(0,102,255,.08),rgba(255,255,255,.03))}.article-body h2::before{content:'// ';font-family:var(--font-mono);font-weight:600;color:var(--accent-cyan);opacity:.85}.article-body h3::before{content:'> ';font-family:var(--font-mono);font-weight:600;color:var(--accent-azure);opacity:.8}.article-body blockquote{position:relative;padding:26px 30px 26px 34px;background:linear-gradient(135deg,rgba(0,102,255,.08),rgba(0,212,255,.04));border-left:3px solid var(--accent-cyan);border-image:none;border-radius:0 var(--radius) var(--radius) 0;box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 10px 34px rgba(0,40,120,.25)}.article-body blockquote::before{content:'"';position:absolute;top:-6px;right:18px;font-family:var(--font-primary);font-size:4.6rem;font-style:normal;line-height:1;background:var(--gradient-text);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;opacity:.35}.article-callout{position:relative;border-left:3px solid transparent;border-image:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.05);overflow:hidden}.article-callout::before{content:'';position:absolute;top:0;left:0;bottom:0;width:3px;background:var(--gradient-primary)}.article-callout h4{font-family:var(--font-mono)}.article-callout h4::before{content:'[ ';-webkit-text-fill-color:rgba(0,212,255,0.55)}.article-callout h4::after{content:' ]';-webkit-text-fill-color:rgba(0,212,255,0.55)}.article-cover img{box-shadow:0 30px 70px rgba(0,0,0,.5),0 0 50px rgba(0,102,255,.12)}.article-tag{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;transition:var(--transition)}.article-tag:hover{border-color:var(--accent-cyan);color:#fff;box-shadow:0 0 16px rgba(0,212,255,.2)}.article-meta{font-family:var(--font-mono);font-size:.78rem}.read-progress{background-size:200% 100%;box-shadow:0 0 12px rgba(0,212,255,.7);animation:hud-border-flow 6s linear infinite}@media (prefers-reduced-motion:reduce){.read-progress{animation:none}}