
:root{--ink-950:#050506;--ink-900:#0a0a0b;--ink-800:#111113;--ink-700:#1a1b1c;--steel-500:#7c7f86;--steel-400:#9ea1a7;--steel-300:#c9ccd1;--steel-200:#dcdee2;--steel-100:#ececee;--brand-400:#ff3b45;--brand-500:#e3212b;--display:"Montserrat Variable",Montserrat,ui-sans-serif,system-ui,sans-serif;--body:"Inter Variable",Inter,ui-sans-serif,system-ui,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body.blog{margin:0;background:var(--ink-950);color:var(--steel-100);font-family:var(--body);line-height:1.6;-webkit-font-smoothing:antialiased}
body.blog img{display:block;max-width:100%;height:auto}
body.blog a{color:inherit}
.site-chrome main{padding-top:6.5rem}
.to-top{position:fixed;right:1.25rem;bottom:max(1.25rem,env(safe-area-inset-bottom));z-index:30;display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border:1px solid rgba(255,255,255,.15);background:rgba(10,10,11,.9);color:var(--steel-200);backdrop-filter:blur(8px);box-shadow:0 18px 40px -18px rgba(0,0,0,.9);cursor:pointer;opacity:0;transform:translateY(.75rem);pointer-events:none;transition:opacity .3s,transform .3s,border-color .2s}.to-top.is-visible{opacity:1;transform:none;pointer-events:auto}.to-top:hover,.to-top:focus-visible{border-color:var(--brand-500);color:#fff}@media(min-width:640px){.to-top{right:2rem;bottom:2rem}}
.skip{position:absolute;left:-999px;top:0;background:var(--brand-500);color:#fff;padding:.5rem 1rem;z-index:100}.skip:focus{left:1rem;top:1rem}
.wrap{width:100%;max-width:80rem;margin:0 auto;padding:0 1.25rem}@media(min-width:640px){.wrap{padding:0 2rem}}@media(min-width:1024px){.wrap{padding:0 3rem}}
.wrap.narrow{max-width:46rem}
.eyebrow-line{font-family:var(--display);font-size:.7rem;font-weight:700;letter-spacing:.32em;text-transform:uppercase;color:var(--brand-500);margin:0 0 1rem}.eyebrow-line a{text-decoration:none}
.blog-header{position:sticky;top:0;z-index:50;background:rgba(10,10,11,.88);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.06)}
.blog-header .wrap{display:flex;align-items:center;justify-content:space-between;height:4.25rem}
.blog-header nav{display:flex;gap:1.5rem}.blog-header nav a{font-family:var(--display);font-size:.68rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--steel-300);text-decoration:none;padding:.35rem 0;border-bottom:2px solid transparent}
.blog-header nav a:hover,.blog-header nav a[aria-current]{color:#fff;border-color:var(--brand-500)}
@media(max-width:480px){.blog-header nav{gap:.9rem}.blog-header nav a{font-size:.6rem;letter-spacing:.16em}}
.wordmark{display:inline-flex;flex-direction:column;line-height:1;text-decoration:none}
.wm-mike{font-family:var(--display);font-weight:900;font-size:1.45rem;letter-spacing:-.02em;text-transform:uppercase;color:#fff}.wm-rebuilt{font-family:var(--display);font-weight:600;font-size:.52rem;letter-spacing:.42em;text-transform:uppercase;color:var(--steel-300);margin-top:.25rem}.wm-bar{display:block;width:2rem;height:2px;background:var(--brand-500);margin-top:.35rem}
.grad{background:linear-gradient(180deg,#fff 0%,#dfe1e5 48%,#8f9298 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.index-hero{padding:3rem 0 2.5rem;background:radial-gradient(ellipse at top,rgba(227,33,43,.14),transparent 60%)}
.index-hero h1{font-family:var(--display);font-weight:900;font-size:clamp(2.6rem,7vw,5rem);line-height:.95;letter-spacing:-.02em;text-transform:uppercase;margin:0;color:#fff}
.index-hero .lead,.post-hero .lead{font-size:1.1rem;color:var(--steel-400);max-width:40rem;margin:1.25rem 0 0}
.index-list{padding:1rem 0 6rem}
.topic-filter{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 2rem}.chip{font-family:var(--display);font-size:.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;padding:.55rem .9rem;border:1px solid rgba(255,255,255,.15);background:transparent;color:var(--steel-300);cursor:pointer}.chip:hover{border-color:rgba(255,255,255,.4);color:#fff}.chip.is-active{border-color:var(--brand-500);background:rgba(227,33,43,.12);color:#fff}
.post-grid{display:grid;gap:1.25rem}@media(min-width:640px){.post-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.post-grid{grid-template-columns:repeat(3,1fr)}}
.lead-card{margin-bottom:1.25rem}
.card{display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.08);background:var(--ink-900);transition:transform .3s,border-color .3s,box-shadow .3s;position:relative}
.card:hover{transform:translateY(-4px);border-color:rgba(227,33,43,.5);box-shadow:0 30px 60px -30px rgba(227,33,43,.35)}
.card-media{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--ink-800)}.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.card:hover .card-media img{transform:scale(1.04)}
.card-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;opacity:.5}
.card-body{padding:1.25rem 1.5rem 1.5rem;display:flex;flex-direction:column;gap:.6rem;flex:1}
.meta{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;font-size:.72rem;color:var(--steel-500);margin:0;letter-spacing:.04em}
.pill{font-family:var(--display);font-size:.58rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--brand-400);border:1px solid rgba(227,33,43,.5);padding:.2rem .5rem}
.card-title{font-family:var(--display);font-weight:900;font-size:1.25rem;line-height:1.15;text-transform:uppercase;letter-spacing:.01em;margin:0;color:#fff}.card-title a{text-decoration:none}.card-title a::after{content:"";position:absolute;inset:0}
.card-lg .card-title{font-size:clamp(1.6rem,3vw,2.4rem)}
@media(min-width:1024px){.card-lg{flex-direction:row}.card-lg .card-media{flex:0 0 60%;aspect-ratio:auto;min-height:22rem}.card-lg .card-body{justify-content:center;padding:2.5rem}}
.card-excerpt{margin:0;color:var(--steel-400);font-size:.95rem}
.tags{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;padding:0;margin:.25rem 0 0}.tags li,.tags a{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--steel-500)}.tags a{text-decoration:none;border:1px solid rgba(255,255,255,.12);padding:.3rem .6rem;position:relative;z-index:1}.tags a:hover{color:#fff;border-color:rgba(255,255,255,.4)}
.read-more{margin-top:auto;padding-top:.75rem;font-family:var(--display);font-size:.66rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--brand-400);text-decoration:none}
.empty{text-align:center;padding:4rem 1rem;border:1px dashed rgba(255,255,255,.12)}.empty h2{font-family:var(--display);font-weight:900;font-size:clamp(1.5rem,4vw,2.5rem);text-transform:uppercase;margin:0 0 .75rem;color:#fff}.empty p{color:var(--steel-400);margin:0}
.no-match{color:var(--steel-500);text-align:center;padding:3rem 0}
.preview-banner{background:#7a4b00;color:#fff;text-align:center;font-size:.85rem;padding:.5rem 1rem}
.post-hero{padding:2.5rem 0 2rem;text-align:left}
.post-hero h1{font-family:var(--display);font-weight:900;font-size:clamp(2rem,5.5vw,3.75rem);line-height:1;letter-spacing:-.02em;text-transform:uppercase;color:#fff;margin:0}
.byline{display:flex;align-items:center;gap:.9rem;margin:1.75rem 0 0;font-size:.85rem;color:var(--steel-400)}.byline strong{color:#fff}
.avatar{display:inline-flex;align-items:center;justify-content:center;width:2.6rem;height:2.6rem;border-radius:999px;background:var(--brand-500);color:#fff;font-family:var(--display);font-weight:800;font-size:.8rem;flex:none}.avatar.lg{width:3.5rem;height:3.5rem;font-size:1rem}
.post-cover{margin:1.5rem 0 0}.post-cover img{width:100%;max-width:62.5rem;margin:0 auto;border:1px solid rgba(255,255,255,.08);aspect-ratio:16/9;object-fit:cover}
.post-layout{padding:2.5rem 1.25rem 3rem;max-width:46rem}
.post-layout.has-toc{max-width:70rem;display:grid;gap:2.5rem}@media(min-width:1024px){.post-layout.has-toc{grid-template-columns:15rem minmax(0,46rem);justify-content:center}}
.toc{font-size:.82rem}@media(min-width:1024px){.toc{position:sticky;top:5.5rem;align-self:start}}
.toc-title{font-family:var(--display);font-size:.62rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--steel-500);margin:0 0 .6rem}.toc ol{list-style:none;padding:0;margin:0;border-left:1px solid rgba(255,255,255,.1)}.toc li a{display:block;padding:.3rem .8rem;color:var(--steel-400);text-decoration:none;border-left:2px solid transparent;margin-left:-1px}.toc li.lvl3 a{padding-left:1.6rem;font-size:.78rem}.toc li a:hover{color:#fff;border-color:var(--brand-500)}
.post-body{font-size:1.08rem;line-height:1.8;color:var(--steel-200)}
.post-body>*:first-child{margin-top:0}
.post-body p{margin:0 0 1.4rem}.post-body h2{font-family:var(--display);font-weight:900;font-size:1.6rem;line-height:1.15;text-transform:uppercase;letter-spacing:.01em;color:#fff;margin:2.8rem 0 1rem;scroll-margin-top:5.5rem}.post-body h3{font-family:var(--display);font-weight:800;font-size:1.15rem;text-transform:uppercase;letter-spacing:.06em;color:#fff;margin:2.2rem 0 .8rem;scroll-margin-top:5.5rem}.post-body h4{font-weight:700;color:#fff;margin:1.8rem 0 .6rem}
.post-body a{color:#fff;text-decoration:underline;text-decoration-color:rgba(227,33,43,.7);text-underline-offset:3px}.post-body a:hover{text-decoration-color:var(--brand-400)}
.post-body ul,.post-body ol{margin:0 0 1.4rem;padding-left:1.4rem}.post-body ul{list-style:disc}.post-body ol{list-style:decimal}.post-body li{margin:.35rem 0}.post-body li::marker{color:var(--brand-400)}
.post-body blockquote{margin:2rem 0;padding:1rem 1.5rem;border-left:3px solid var(--brand-500);background:var(--ink-900);font-size:1.15rem;color:var(--steel-100)}.post-body blockquote p:last-child{margin:0}
.post-body img{margin:2rem auto;border:1px solid rgba(255,255,255,.08)}.post-body figure{margin:2rem 0}.post-body figcaption{font-size:.82rem;color:var(--steel-500);text-align:center;margin-top:.5rem}
.post-body hr{border:0;height:1px;background:rgba(255,255,255,.1);margin:2.5rem 0}
.post-body code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em;background:var(--ink-800);padding:.1em .35em;border:1px solid rgba(255,255,255,.08)}.post-body pre{background:var(--ink-900);border:1px solid rgba(255,255,255,.08);padding:1rem 1.25rem;overflow:auto;margin:0 0 1.4rem}.post-body pre code{background:none;border:0;padding:0}
.post-body mark{background:rgba(227,33,43,.35);color:#fff;padding:0 .15em}
.post-body table{width:100%;border-collapse:collapse;margin:0 0 1.4rem;font-size:.95rem}.post-body th,.post-body td{border:1px solid rgba(255,255,255,.1);padding:.6rem .8rem;text-align:left;vertical-align:top}.post-body th{background:var(--ink-800);font-family:var(--display);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--steel-300)}
.post-body .video,.post-body div[data-youtube-video]{position:relative;aspect-ratio:16/9;margin:2rem 0;background:#000;border:1px solid rgba(255,255,255,.08)}.post-body .video iframe,.post-body div[data-youtube-video] iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.post-body [style*="text-align: center"]{text-align:center}.post-body [style*="text-align: right"]{text-align:right}
.post-footer{padding:0 0 3rem}
.share{border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);padding:1.5rem 0;margin:1rem 0 2rem}
.share-title{font-family:var(--display);font-size:.64rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--steel-500);margin:0 0 .8rem}
.share ul{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0}.share a,.share button{display:inline-block;font-family:var(--display);font-size:.62rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--steel-200);background:transparent;border:1px solid rgba(255,255,255,.15);padding:.6rem .9rem;text-decoration:none;cursor:pointer}.share a:hover,.share button:hover{border-color:var(--brand-500);color:#fff}
.tags.large{margin:0 0 2rem}
.author-card{display:flex;gap:1rem;align-items:center;border:1px solid rgba(255,255,255,.08);background:var(--ink-900);padding:1.25rem 1.5rem;margin:0 0 2rem}.author-name{font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin:0 0 .25rem;color:#fff}.author-bio{margin:0;color:var(--steel-400);font-size:.9rem}
.post-nav{display:grid;gap:1rem}@media(min-width:640px){.post-nav{grid-template-columns:1fr 1fr}}.post-nav a{display:block;border:1px solid rgba(255,255,255,.1);padding:1rem 1.25rem;text-decoration:none;color:#fff;font-family:var(--display);font-weight:700;font-size:.9rem;text-transform:uppercase;letter-spacing:.03em}.post-nav a span{display:block;font-size:.6rem;letter-spacing:.24em;color:var(--steel-500);margin-bottom:.35rem}.post-nav a.next{text-align:right}.post-nav a:hover{border-color:var(--brand-500)}
.related{border-top:1px solid rgba(255,255,255,.06);background:var(--ink-900);padding:4rem 0 5rem}.related .card{background:var(--ink-950)}
.blog-footer{border-top:1px solid rgba(255,255,255,.06);padding:2.5rem 0 3rem;font-size:.78rem;color:var(--steel-500)}
.foot-row{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center}.foot-row p{margin:0}
.foot-links,.foot-social{list-style:none;display:flex;flex-wrap:wrap;gap:1.25rem;margin:0;padding:0}.foot-links a,.foot-social a{text-decoration:none;color:var(--steel-500)}.foot-links a:hover,.foot-social a:hover{color:var(--steel-200)}.foot-social{margin-top:1rem}
@media print{.blog-header,.blog-footer,.share,.related,.post-nav,.toc{display:none}body.blog{background:#fff;color:#000}.post-body,.post-hero h1{color:#000}}
@media(prefers-reduced-motion:reduce){.card,.card-media img{transition:none}}
