:root{--black:#0A0A0A;--red:#DC2626;--red-dark:#B91C1C;--white:#FFF;--grey-text:#525252;--grey-muted:#A3A3A3;--grey-line:#E8E6E1;--grey-faint:#F5F3EE;--font-display:"Lato",sans-serif;--font-sans:"Lato",sans-serif;--font-mono:"Archivo",sans-serif;--font-logo:"Archivo",sans-serif;--gutter:clamp(1.25rem,4vw,3rem);--ease-out:cubic-bezier(0.22,1,0.36,1);--ease-expo:cubic-bezier(0.16,1,0.3,1);}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
body{font-family:var(--font-sans);font-size:16px;line-height:1.5;color:var(--black);background:var(--white);-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;}em{font-style:italic;color:var(--red);font-weight:inherit;}
.container{width:100%;max-width:1440px;margin:0 auto;padding:0 var(--gutter);}
.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:1.1rem var(--gutter);display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,0.75);backdrop-filter:blur(14px);border-bottom:1px solid var(--grey-line);}
.nav-logo{font-family:var(--font-logo);font-weight:700;font-size:1.3rem;letter-spacing:-0.02em;display:inline-flex;align-items:baseline;}
.nav-logo .y{color:var(--red);}.nav-logo .suffix{font-family:var(--font-mono);font-size:0.62rem;font-weight:500;letter-spacing:0.22em;color:var(--grey-text);text-transform:uppercase;margin-left:0.6rem;}
.nav-links{display:flex;gap:2.5rem;list-style:none;align-items:center;}.nav-links a{font-size:0.88rem;transition:color 0.2s;}.nav-links a:hover{color:var(--red);}
.nav-cta{padding:0.7rem 1.3rem;background:var(--red);color:var(--white)!important;font-size:0.85rem;font-weight:500;border-radius:2px;}.nav-cta:hover{background:var(--red-dark);}
@media(max-width:860px){.nav-links{display:none;}}
.hero{padding-top:clamp(7rem,14vh,10rem);padding-bottom:clamp(3rem,6vw,5rem);border-bottom:1px solid var(--grey-line);}
.eyebrow{display:inline-flex;align-items:center;font-family:var(--font-mono);font-weight:500;font-size:0.72rem;letter-spacing:0.2em;text-transform:uppercase;margin-bottom:1.5rem;}
.eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--red);margin-right:14px;}
.hero h1{font-family:var(--font-display);font-weight:900;font-size:clamp(2.75rem,7vw,5.5rem);line-height:1;letter-spacing:-0.035em;margin-bottom:1.5rem;}
.hero .dek{font-family:var(--font-display);font-size:clamp(1.1rem,1.4vw,1.3rem);line-height:1.55;color:var(--grey-text);max-width:56ch;}
.post-list{padding:clamp(3rem,6vw,5rem) 0;}
.post-list .entries{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid var(--black);}
.entry{display:grid;grid-template-columns:200px 1fr auto;gap:2.5rem;padding:2.25rem 0;border-bottom:1px solid var(--grey-line);transition:padding-left 0.35s var(--ease-out);align-items:start;}
.entry:hover{padding-left:1rem;}.entry:hover .e-title{color:var(--red);}.entry:hover .e-arrow{transform:translateX(6px);color:var(--red);}
.e-meta{font-family:var(--font-mono);font-size:0.72rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--grey-text);padding-top:0.6rem;line-height:1.8;}
.e-meta .cat{color:var(--red);font-weight:600;display:block;margin-bottom:0.35rem;}
.e-content{max-width:60ch;}
.e-title{font-family:var(--font-display);font-weight:900;font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.1;letter-spacing:-0.025em;margin-bottom:0.75rem;transition:color 0.2s;}
.e-excerpt{font-size:1rem;line-height:1.6;color:var(--grey-text);}
.e-arrow{padding-top:0.5rem;font-family:var(--font-display);font-size:2rem;color:var(--black);transition:transform 0.3s var(--ease-out),color 0.2s;}
@media(max-width:800px){.entry{grid-template-columns:1fr;gap:1rem;padding:2rem 0;}.e-arrow{display:none;}}
.footer{padding:2.5rem 0 2rem;border-top:1px solid var(--grey-line);}
.footer-content{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-family:var(--font-mono);font-size:0.72rem;letter-spacing:0.1em;color:var(--grey-muted);text-transform:uppercase;}
.footer-content a{color:var(--grey-muted);}.footer-content a:hover{color:var(--red);}
.footer-brand-mini{font-family:var(--font-logo);font-weight:700;font-size:1rem;letter-spacing:-0.02em;color:var(--black);text-transform:none;}.footer-brand-mini .y{color:var(--red);}

.top-banner{background:#0A0A0A;color:#FFF;padding:0.7rem var(--gutter);text-align:center;font-family:var(--font-mono);font-size:0.78rem;letter-spacing:0.12em;text-transform:uppercase;font-weight:500;position:relative;z-index:101;display:flex;align-items:center;justify-content:center;gap:0.75rem;flex-wrap:wrap;line-height:1.5;}
.top-banner .dot-red{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--red);animation:pulseTb 2s ease-in-out infinite;}
.top-banner strong{color:var(--red);font-weight:600;}
.top-banner .sep{color:var(--grey-muted);margin:0 0.25rem;}
@keyframes pulseTb{0%,100%{opacity:1;transform:scale(1);}50%{opacity:0.6;transform:scale(0.85);}}
@media(max-width:600px){.top-banner{font-size:0.7rem;letter-spacing:0.08em;padding:0.65rem 1rem;}.top-banner .sep,.top-banner .extra{display:none;}}
body.has-banner .nav{top:44px;}
body.has-banner .article-hero,body.has-banner .hero{padding-top:calc(clamp(7rem,14vh,10rem) + 44px);}
@media(max-width:600px){body.has-banner .nav{top:40px;}body.has-banner .article-hero,body.has-banner .hero{padding-top:calc(clamp(7rem,14vh,10rem) + 40px);}}
