/* Red Tag Hub: tokens, base, header, footer, buttons, inner-page content */
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/inter-var.woff2) format("woff2")}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/jetbrains-mono-400.woff2) format("woff2")}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/jetbrains-mono-500.woff2) format("woff2")}
@font-face{font-family:"Playfair Display";font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/playfair-italic-400.woff2) format("woff2")}

:root{
  --bg:#07070a;--surface:#0e0e12;--surface-2:#14141a;--line:#22222b;
  --text:#f4f1ec;--muted:#a1a1ab;--accent:#ff2e3d;--accent-deep:#c4111f;
  --r:20px;--max:1240px;--ease:cubic-bezier(.2,.7,.2,1);
  --font-ui:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-mono:"JetBrains Mono",ui-monospace,monospace;
  --font-serif:"Playfair Display",Georgia,serif;
}
*,*::before,*::after{box-sizing:border-box}
*{margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{background:var(--bg);color:var(--text);font-family:var(--font-ui);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg,canvas{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.mono{font-family:var(--font-mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase}
.serif{font-family:var(--font-serif);font-style:italic;font-weight:400;color:var(--accent)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{position:fixed;left:16px;top:-80px;z-index:200;background:var(--accent);color:#fff;padding:12px 20px;border-radius:999px;font-weight:600;transition:top .2s}
.skip-link:focus{top:16px}

/* header */
.site-header{position:sticky;top:0;z-index:40;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:rgba(7,7,10,.72);border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:72px;gap:24px}
.logo{font-weight:800;font-size:1.15rem;letter-spacing:-.01em;min-height:44px;display:inline-flex;align-items:center}
.links{display:flex;gap:32px;font-size:14px;color:var(--muted);list-style:none}
.links a{display:inline-flex;align-items:center;min-height:44px;transition:color .2s}
.links a:hover{color:var(--text)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 26px;border-radius:999px;font:600 15px/1 var(--font-ui);background:#d91f2e;color:#fff;border:1px solid transparent;box-shadow:0 8px 32px -8px rgba(255,46,61,.6);min-height:48px;cursor:pointer;transition:transform .25s var(--ease),box-shadow .25s,background .25s;will-change:transform}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 40px -8px rgba(255,46,61,.8)}
.btn.ghost{background:transparent;border-color:#3a3a46;box-shadow:none}
.btn.ghost:hover{background:var(--surface-2)}
.btn.small{padding:10px 20px;min-height:44px;font-size:14px}
.btn[disabled]{opacity:.5;cursor:not-allowed;transform:none}

/* footer */
.site-footer{border-top:1px solid var(--line);padding:48px 0;color:var(--muted);font-size:14px}
.foot{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:center}
.foot ul{display:flex;gap:24px;list-style:none;flex-wrap:wrap}
.foot a{display:inline-flex;align-items:center;min-height:44px}
.foot a:hover{color:var(--text)}

/* inner pages */
.page-main{padding:72px 0 96px}
.entry-title{font-size:clamp(2.2rem,5vw,4rem);line-height:1;font-weight:800;letter-spacing:-.04em;margin-bottom:32px}
.entry-content{max-width:72ch;color:#d6d3cf}
.entry-content>*+*{margin-top:1.1em}
.entry-content h2,.entry-content h3{color:var(--text);letter-spacing:-.03em;line-height:1.15;margin-top:1.8em}
.entry-content a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.entry-content img{height:auto;max-width:100%;border-radius:12px}
.entry-content h2{font-size:1.9rem}.entry-content h3{font-size:1.35rem}
.entry-content ul,.entry-content ol{padding-left:1.4em}
.entry-content blockquote{border-left:3px solid var(--accent);padding-left:1.2em;color:var(--text)}
.post-meta{color:var(--muted);margin-bottom:16px}
.post-list{display:grid;gap:16px;max-width:860px}
.post-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:28px}
.post-card h2{font-size:1.6rem;letter-spacing:-.03em;margin-bottom:10px}
.post-card h2 a:hover{color:var(--accent)}
.post-card p:last-child{color:var(--muted)}
.navigation.pagination{margin-top:40px}
.navigation.pagination .nav-links{display:flex;gap:12px;flex-wrap:wrap}
.page-numbers{min-width:44px;min-height:44px;display:inline-grid;place-items:center;padding:0 14px;border:1px solid var(--line);border-radius:999px}
.page-numbers.current,.page-numbers:hover{border-color:var(--accent)}
.not-found .nf-lede,.nf-lede{color:var(--muted);max-width:32em;margin-bottom:32px}
.not-found .tag{display:block}

/* Pagelayer sections ship their own inline colours; keep their text readable on the dark theme */
.entry-content .pagelayer-content,.entry-content .pagelayer-row,.entry-content [class*="pagelayer-"]{color:#d6d3cf}
.entry-content .pagelayer-content h1,.entry-content .pagelayer-content h2,.entry-content .pagelayer-content h3,.entry-content .pagelayer-content h4,.entry-content [class*="pagelayer-heading"]{color:var(--text)!important}
.entry-content .pagelayer-content p,.entry-content .pagelayer-content li,.entry-content .pagelayer-content span{color:#d6d3cf!important}
.entry-content .pagelayer-content a{color:var(--accent)!important}

@media (max-width:820px){
  .nav-in{height:auto;flex-wrap:wrap;padding-block:8px;row-gap:0}
  .nav-in nav{order:3;width:100%}
  .links{justify-content:space-between;gap:8px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
