/* =========================================================
   DEEP CUT PRESS — Ghost theme
   Ported from the deepcut.press splash design.
   ========================================================= */

/* ---- Self-hosted fonts (drop the .woff2 files into assets/fonts/) ---- */
@font-face{font-family:'Bodoni Moda';font-style:italic;font-weight:500;font-display:swap;src:url('../fonts/bodonimoda-italic-500-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Bodoni Moda';font-style:italic;font-weight:500;font-display:swap;src:url('../fonts/bodonimoda-italic-500-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Bodoni Moda';font-style:italic;font-weight:700;font-display:swap;src:url('../fonts/bodonimoda-italic-700-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Bodoni Moda';font-style:italic;font-weight:700;font-display:swap;src:url('../fonts/bodonimoda-italic-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Bodoni Moda';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/bodonimoda-normal-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Bodoni Moda';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/bodonimoda-normal-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Bodoni Moda';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/bodonimoda-normal-600-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Bodoni Moda';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/bodonimoda-normal-600-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Bodoni Moda';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/bodonimoda-normal-700-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Bodoni Moda';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/bodonimoda-normal-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Bodoni Moda';font-style:normal;font-weight:900;font-display:swap;src:url('../fonts/bodonimoda-normal-900-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Bodoni Moda';font-style:normal;font-weight:900;font-display:swap;src:url('../fonts/bodonimoda-normal-900-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Space Mono';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/spacemono-normal-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Space Mono';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/spacemono-normal-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Space Mono';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/spacemono-normal-700-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Space Mono';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/spacemono-normal-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Spectral';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/spectral-italic-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Spectral';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/spectral-italic-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Spectral';font-style:normal;font-weight:300;font-display:swap;src:url('../fonts/spectral-normal-300-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Spectral';font-style:normal;font-weight:300;font-display:swap;src:url('../fonts/spectral-normal-300-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Spectral';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/spectral-normal-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Spectral';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/spectral-normal-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Spectral';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/spectral-normal-500-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Spectral';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/spectral-normal-500-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

:root{
  --ink:        #0b0908;
  --ink-2:      #120e0d;
  --ink-3:      #1a1413;
  --bone:       #e8e1d3;
  --bone-dim:   #c4bcab;
  --ash:        #8c8478;
  --blood:      #a01710;
  --blood-deep: #5e0d07;
  --blood-bright:#cf2618;
  --maxw: 1180px;
  --measure: 38rem;        /* reading column */
  --ease: cubic-bezier(.2,.7,.2,1);
}

*{ margin:0; padding:0; box-sizing:border-box; }
html{ scroll-behavior:smooth; }

body{
  background:var(--ink);
  color:var(--bone);
  font-family:"Spectral", Georgia, serif;
  font-weight:300;
  font-size:18px;
  line-height:1.7;
  letter-spacing:.005em;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  position:relative;
}

/* ---- atmosphere ---- */
.grain{
  position:fixed; inset:0; z-index:9000; pointer-events:none;
  opacity:.05; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.vignette{
  position:fixed; inset:0; z-index:8000; pointer-events:none;
  background:radial-gradient(130% 100% at 50% 18%, transparent 45%, rgba(0,0,0,.55) 100%);
}

::selection{ background:var(--blood); color:var(--bone); }
a{ color:inherit; text-decoration:none; }

.wrap{ width:100%; max-width:var(--maxw); margin:0 auto; padding:0 7vw; }
.site-main{ min-height:60vh; }

.mono{
  font-family:"Space Mono", monospace;
  font-size:.72rem;
  letter-spacing:.32em;
  text-transform:uppercase;
}

h1,h2,h3,h4{ font-family:"Bodoni Moda", serif; font-weight:700; line-height:1.04; letter-spacing:-.01em; }
em, i{ font-style:italic; }

/* =========================================================
   NAV
   ========================================================= */
#nav{
  position:fixed; top:0; left:0; right:0; z-index:7000;
  display:flex; align-items:center; justify-content:space-between;
  padding:1.5rem 7vw;
  transition:background .4s var(--ease), padding .4s var(--ease), border-color .4s var(--ease);
  border-bottom:1px solid transparent;
}
#nav.scrolled{
  background:rgba(11,9,8,.82);
  backdrop-filter:blur(10px);
  padding:1rem 7vw;
  border-bottom:1px solid var(--ink-3);
}
.brand{
  font-family:"Bodoni Moda", serif; font-weight:700;
  font-size:1.15rem; letter-spacing:.06em;
  display:flex; align-items:center; gap:.55rem;
}
.knife{ display:inline-flex; color:var(--blood); }
.knife svg{ height:1.5em; width:auto; vertical-align:middle; display:block; }
.nav-right{ display:flex; align-items:center; gap:.8rem; }
.nav-link{
  font-family:"Space Mono", monospace;
  font-size:.7rem; letter-spacing:.28em; text-transform:uppercase;
  color:var(--bone-dim);
  border:1px solid var(--ink-3);
  padding:.65rem 1.15rem;
  transition:all .35s var(--ease);
}
.nav-link:hover{ color:var(--bone); border-color:var(--blood); background:rgba(160,23,16,.08); }
.nav-cta{ color:var(--bone); border-color:var(--blood); }
.nav-cta:hover{ background:var(--blood); }

/* =========================================================
   MASTHEAD (home)
   ========================================================= */
.masthead{
  position:relative;
  padding:12rem 7vw 4rem;
}
.masthead .cut{
  position:absolute; left:clamp(2.5rem, 30vw, 22rem); top:5.5rem;
  width:2px; height:0;
  background:linear-gradient(to bottom, transparent, var(--blood-bright) 12%, var(--blood) 88%, transparent);
  box-shadow:0 0 18px 1px rgba(207,38,24,.5);
  animation:slice 1.2s var(--ease) .6s forwards;
  z-index:3;
}
.masthead::before{
  content:"";
  position:absolute;
  right:-3vw; top:50vh;          /* was top:50% */
  transform:translateY(-50%) rotate(7deg);
  width:40vh; height:96vh;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 17.2 120'%3E%3Cpath fill='%23ffffff' d='M5.3%200L3.4%200.2L2.5%200.7L1.5%201.5L0.5%203.6L0.1%206.5L0%2093.1L0.4%20100.8L1.1%20108.5L2.2%20115.2L2.9%20118.1L3.5%20120L4.8%20118.3L6.6%20115.1L9%20109.5L11.1%20103.1L12.8%2095.8L14.2%2087L15.2%2078.5L16.2%2066.4L17.2%2049.7L16.9%2048.8L16.2%2048.4L12.1%2047.7L9.9%2047L9%2046.1L8.4%2045L8.3%2042.8L9.2%2033.3L9.4%2026.2L9.1%2021.3L8.3%2012.9L8.3%2011L8.8%209.1L11.1%206.5L11.6%205.6L10.6%203.8L8.9%201.8L7.2%200.7Z'/%3E%3C/svg%3E") no-repeat center / contain;
  opacity:.028;
  pointer-events:none; user-select:none;
  z-index:-1;
}
.eyebrow{
  display:flex; align-items:center; gap:1rem;
  color:var(--ash); margin-bottom:1.8rem;
  opacity:0; transform:translateY(14px);
  animation:rise 1s var(--ease) .2s forwards;
}
.eyebrow .rule{ width:46px; height:1px; background:var(--blood); }
.masthead-title{
  font-weight:900; line-height:.86; letter-spacing:-.01em;
  font-size:clamp(3.4rem, 14vw, 11rem); position:relative;
}
.masthead-title .line{ display:block; overflow:hidden; padding-bottom:.26em; margin-bottom:-.26em; }
.masthead-title .line span{ display:block; transform:translateY(125%); animation:reveal 1.1s var(--ease) forwards; }
.masthead-title .line:nth-child(1) span{ animation-delay:.35s; }
.masthead-title .line:nth-child(2) span{ animation-delay:.5s; }
.masthead-title em{ font-style:italic; font-weight:500; color:var(--blood); }
.masthead-kicker{
  font-family:"Bodoni Moda", serif; font-style:italic; font-weight:500;
  font-size:clamp(1.4rem,3.5vw,2.4rem); color:var(--bone);
  margin-top:.4rem; letter-spacing:.02em;
  opacity:0; animation:rise 1s var(--ease) .85s forwards;
}
.masthead-tagline{
  max-width:46ch; margin-top:1.8rem;
  font-size:clamp(1.05rem,2vw,1.35rem);
  color:var(--bone-dim); line-height:1.6;
  opacity:0; transform:translateY(14px);
  animation:rise 1s var(--ease) .9s forwards;
}

/* =========================================================
   BANDS / DIVIDERS / SECTION INDEX
   ========================================================= */
.band{ position:relative; padding:5rem 0; }
.divider{
  height:1px; width:100%;
  background:linear-gradient(to right, transparent, var(--blood) 8%, var(--blood) 92%, transparent);
  transform:scaleX(0); transform-origin:left center;
  transition:transform 1.4s var(--ease);
  opacity:.5;
}
.divider.in{ transform:scaleX(1); }
.sec-index{
  color:var(--ash); margin-bottom:2.6rem;
  display:flex; align-items:center; gap:1rem;
}
.sec-index .n{ color:var(--blood); }
.reveal{ opacity:0; transform:translateY(28px); transition:opacity 1s var(--ease), transform 1s var(--ease); }
.reveal.in{ opacity:1; transform:none; }

/* =========================================================
   STORY LIST
   ========================================================= */
.lead-story-link{ display:block; }
.lead-story-img{ overflow:hidden; border:1px solid var(--ink-3); margin-bottom:2rem; }
.lead-story-img img{ width:100%; height:auto; display:block; transition:transform .6s var(--ease), filter .6s var(--ease); filter:saturate(.85) contrast(1.02); }
.lead-story-link:hover .lead-story-img img{ transform:scale(1.02); filter:none; }
.story-card-tag{ color:var(--blood-bright); margin-bottom:1rem; }
.lead-story-title{
  font-weight:900; font-size:clamp(2.2rem,5vw,3.8rem); line-height:1;
  margin-bottom:1.2rem; transition:color .3s;
}
.lead-story-link:hover .lead-story-title{ color:var(--bone); }
.lead-story-excerpt{ color:var(--bone-dim); max-width:60ch; font-size:1.15rem; margin-bottom:1.4rem; }

.story-grid{
  display:grid; grid-template-columns:repeat(2,1fr); gap:3.5rem 3rem;
}
.story-card{ border-top:1px solid var(--ink-3); padding-top:1.8rem; }
.story-card-link{ display:block; }
.story-card-img{ overflow:hidden; margin-bottom:1.4rem; border:1px solid var(--ink-3); }
.story-card-img img{ width:100%; height:auto; display:block; aspect-ratio:16/10; object-fit:cover; transition:transform .6s var(--ease), filter .6s var(--ease); filter:saturate(.85) contrast(1.02); }
.story-card-link:hover .story-card-img img{ transform:scale(1.03); filter:none; }
.story-card-title{
  font-weight:700; font-size:clamp(1.4rem,2.4vw,1.9rem); line-height:1.08;
  margin-bottom:.8rem; transition:color .3s;
}
.story-card-link:hover .story-card-title{ color:var(--blood-bright); }
.story-card-excerpt{ color:var(--bone-dim); margin-bottom:1.1rem; }
.story-card-meta{ color:var(--ash); }

.pager{ margin-top:4rem; }
.pager-link{
  color:var(--bone-dim); border:1px solid var(--ink-3);
  padding:.8rem 1.4rem; display:inline-block; transition:all .35s var(--ease);
}
.pager-link:hover{ color:var(--bone); border-color:var(--blood); background:rgba(160,23,16,.08); }

/* =========================================================
   POST / READING VIEW
   ========================================================= */
.post-header{ position:relative; padding-top:9rem; padding-bottom:1rem; text-align:center; }
.post-cut{
  position:absolute; left:50%; top:5.5rem; transform:translateX(-50%);
  width:2px; height:0;
  background:linear-gradient(to bottom, transparent, var(--blood-bright) 20%, var(--blood) 90%, transparent);
  box-shadow:0 0 16px 1px rgba(207,38,24,.45);
  animation:slice-short 1s var(--ease) .3s forwards;
}
.post-tag{ display:inline-block; color:var(--blood-bright); margin-bottom:1.6rem; }
.post-title{
  font-weight:900; font-size:clamp(2.6rem,7vw,5.2rem); line-height:1;
  letter-spacing:-.015em; max-width:18ch; margin:0 auto;
}
.post-subtitle{
  font-family:"Bodoni Moda", serif; font-style:italic; font-weight:500;
  font-size:clamp(1.25rem,2.4vw,1.8rem); color:var(--bone-dim);
  max-width:42ch; margin:1.6rem auto 0; line-height:1.35;
}
.post-byline{ color:var(--ash); margin-top:2.2rem; display:flex; justify-content:center; gap:.8rem; flex-wrap:wrap; }
.post-byline .sep{ color:var(--blood); }
.post-byline .by{ color:var(--bone-dim); }

.post-feature{ margin:4rem auto; max-width:var(--maxw); }
.post-feature img{
  width:100%;
  height:auto;
  display:block;
  border:1px solid var(--ink-3);
  filter:saturate(.9) contrast(1.02);
}
.post-feature figcaption{ color:var(--ash); margin-top:.9rem; text-align:center; }

/* the reading column */
.post-content{
  width:100%; max-width:var(--measure);
  margin:3.5rem auto 0; padding:0 7vw;
  font-size:1.22rem; line-height:1.85; color:var(--bone-dim);
}
.post-content > *{ margin-bottom:1.7rem; }
.post-content p{ font-weight:300; }
.post-content > p:first-of-type::first-letter{
  float:left; font-family:"Bodoni Moda", serif; font-weight:900; font-style:normal;
  font-size:4.8rem; line-height:.7; color:var(--blood);
  margin:.4rem .55rem -.1rem 0;
}
.page .post-content > p:first-of-type::first-letter{ float:none; font-size:inherit; color:inherit; margin:0; }
.post-content h2{ font-size:2rem; color:var(--bone); margin-top:3rem; }
.post-content h3{ font-size:1.5rem; color:var(--bone); margin-top:2.4rem; }
.post-content h2 em, .post-content h3 em{ color:var(--blood); font-weight:500; }
.post-content a{ color:var(--bone); border-bottom:1px solid var(--blood); transition:color .3s, background .3s; }
.post-content a:hover{ color:var(--blood-bright); }
.post-content em{ font-style:italic; }
.post-content strong{ color:var(--bone); font-weight:500; }
.post-content blockquote{
  border-left:2px solid var(--blood); padding-left:1.6rem; margin-left:0;
  font-family:"Bodoni Moda", serif; font-style:italic; font-weight:500;
  font-size:1.45rem; color:var(--bone); line-height:1.4;
}
.post-content hr{
  border:0; height:1px; margin:3rem auto;
  background:linear-gradient(to right, transparent, var(--blood) 20%, var(--blood) 80%, transparent);
  opacity:.6;
}
.post-content ul, .post-content ol{ padding-left:1.4rem; }
.post-content li{ margin-bottom:.6rem; }
.post-content figure{ margin:2.6rem auto; }
.post-content img{ max-width:100%; height:auto; display:block; border:1px solid var(--ink-3); }
.post-content figcaption{ color:var(--ash); font-family:"Space Mono",monospace; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; text-align:center; margin-top:.8rem; }
/* Koenig wide/full cards can break the measure */
.post-content .kg-width-wide{ width:min(96vw, 1000px); margin-left:50%; transform:translateX(-50%); }
.post-content .kg-width-full{ width:96vw; margin-left:50%; transform:translateX(-50%); }

/* =========================================================
   MEMBER CTA
   ========================================================= */
.member-cta{ max-width:var(--measure); margin:5rem auto 0; padding:0 7vw; }
.member-cta-inner{
  border:1px solid var(--ink-3); background:var(--ink-2);
  padding:2.6rem 2.2rem; text-align:center; position:relative; overflow:hidden;
}
.member-cta-inner::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(70% 90% at 50% 0%, rgba(160,23,16,.16), transparent 70%);
  pointer-events:none;
}
.member-cta .label{ color:var(--ash); margin-bottom:1rem; position:relative; }
.member-cta-line{
  font-family:"Bodoni Moda", serif; font-style:italic; font-weight:500;
  font-size:1.3rem; color:var(--bone); line-height:1.4;
  max-width:40ch; margin:0 auto 1.8rem; position:relative;
}
.btn{
  display:inline-block; background:var(--blood); color:var(--bone);
  font-family:"Space Mono", monospace; font-size:.72rem;
  letter-spacing:.26em; text-transform:uppercase;
  padding:1rem 1.8rem; transition:background .3s var(--ease); position:relative;
}
.btn:hover{ background:var(--blood-bright); }
.btn-ghost{
  display:inline-block; color:var(--bone-dim);
  font-family:"Space Mono", monospace; font-size:.72rem;
  letter-spacing:.26em; text-transform:uppercase;
  border:1px solid var(--ink-3);
  padding:1rem 1.8rem; transition:all .35s var(--ease); position:relative;
}
.btn-ghost:hover{ color:var(--bone); border-color:var(--blood); background:rgba(160,23,16,.08); }
.member-cta-actions{
  display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; position:relative;
}

/* =========================================================
   AUTHOR
   ========================================================= */
.post-author{ max-width:var(--measure); margin:4.5rem auto 0; padding:0 7vw; }
.post-author-grid{ display:flex; gap:1.6rem; align-items:flex-start; }
.post-author-img{ width:64px; height:64px; border-radius:50%; object-fit:cover; border:1px solid var(--ink-3); flex:0 0 auto; }
.post-author .label{ color:var(--ash); margin-bottom:.6rem; }
.post-author-name{ font-size:1.5rem; margin-bottom:.6rem; }
.post-author-bio{ color:var(--bone-dim); font-size:1.05rem; }

.read-next{ margin-top:5rem; }

/* =========================================================
   KEYFRAMES
   ========================================================= */
@keyframes rise{ to{ opacity:1; transform:none; } }
@keyframes reveal{ to{ transform:translateY(0); } }
@keyframes slice{ to{ height:clamp(15rem, 34vw, 26rem); } }
@keyframes slice-short{ to{ height:3.5rem; } }

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:860px){
  .story-grid{ grid-template-columns:1fr; gap:2.8rem; }
  .nav-link:not(.nav-cta){ display:none; }
  .post-content{ font-size:1.12rem; }
  .masthead .cut{ left:auto; right:10vw; }
}
@media (max-width:520px){
  body{ font-size:17px; }
  .foot-bottom{ flex-direction:column; }
  .post-byline{ font-size:.62rem; }
}

@media (prefers-reduced-motion:reduce){
  *{ animation:none !important; transition:none !important; }
  .eyebrow,.masthead-tagline,.masthead-kicker{ opacity:1; transform:none; }
  .masthead-title .line span{ transform:none; }
  .cut,.post-cut{ height:3.5rem; }
  .masthead .cut{ height:clamp(15rem, 34vw, 26rem); }
  .reveal{ opacity:1; transform:none; }
  .divider{ transform:scaleX(1); }
}

/* =========================================================
   FOOTER
   ========================================================= */
.site-footer{ padding:5rem 0 3rem; }
.foot-grid{ display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:2.5rem; }
.foot-brand{ font-family:"Bodoni Moda", serif; font-weight:700; font-size:1.8rem; letter-spacing:.04em; display:flex; align-items:center; gap:.5rem; }
.foot-brand .knife{ color:var(--blood); }
.foot-meta{ color:var(--ash); margin-top:.6rem; }
.foot-links{ display:flex; gap:1.6rem; flex-wrap:wrap; }
.foot-links a{ color:var(--bone-dim); transition:color .3s; border-bottom:1px solid transparent; padding-bottom:2px; }
.foot-links a:hover{ color:var(--blood-bright); border-color:var(--blood); }
.foot-bottom{ margin-top:3.5rem; padding-top:2rem; border-top:1px solid var(--ink-3); display:flex; justify-content:space-between; flex-wrap:wrap; gap:1rem; color:var(--ash); }
.foot-bottom em{ font-family:"Bodoni Moda",serif; font-style:italic; color:var(--bone-dim); }

