/* =========================================================================
   The House of Small Deaths — scoped page styles (prefix: .sd)
   Everything is namespaced so it cannot touch the rest of smwolfe.com.
   Fonts are self-contained under unique family names (HOSD *) so they never
   collide with the site's own Bodoni Moda / Newsreader / Courier Prime.
   ========================================================================= */

@font-face{font-family:'HOSD Bodoni';font-weight:600;font-style:normal;font-display:swap;
  src:url('/assets/fonts/hosd/BodoniModa-Display.ttf') format('truetype');}
@font-face{font-family:'HOSD Bodoni';font-weight:400;font-style:italic;font-display:swap;
  src:url('/assets/fonts/hosd/BodoniModa-Italic.ttf') format('truetype');}
@font-face{font-family:'HOSD Newsreader';font-weight:400;font-style:normal;font-display:swap;
  src:url('/assets/fonts/hosd/Newsreader-Regular.ttf') format('truetype');}
@font-face{font-family:'HOSD Newsreader';font-weight:500;font-style:normal;font-display:swap;
  src:url('/assets/fonts/hosd/Newsreader-Medium.ttf') format('truetype');}
@font-face{font-family:'HOSD Newsreader';font-weight:400;font-style:italic;font-display:swap;
  src:url('/assets/fonts/hosd/Newsreader-Italic.ttf') format('truetype');}
@font-face{font-family:'HOSD Courier';font-weight:400;font-style:normal;font-display:swap;
  src:url('/assets/fonts/hosd/CourierPrime-Regular.ttf') format('truetype');}

.sd{
  --sd-bg:#0a0908; --sd-ink:#d8d0c0; --sd-ink-dim:#978f80; --sd-bone:#ece4d3;
  --sd-blood:#8e2320; --sd-blood-lo:#5f1512; --sd-blood-hi:#b84a3e;
  --sd-rule:#2b2622; --sd-rule-hi:#3a332c; --sd-panel:#13110f;
  --sd-display:'HOSD Bodoni',Georgia,'Times New Roman',serif;
  --sd-body:'HOSD Newsreader',Georgia,'Times New Roman',serif;
  --sd-mono:'HOSD Courier','Courier New',monospace;
  overflow:clip;                     /* contains the full-bleed art */
  background:var(--sd-bg); color:var(--sd-ink);
  font-family:var(--sd-body); font-size:1.19rem; line-height:1.72;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
.sd *{box-sizing:border-box;}
.sd img{max-width:100%; display:block;}

/* reading column */
.sd>.sd-filetab,.sd>.sd-masthead,.sd>.sd-epigraphs,.sd>.sd-cw,.sd>.sd-body,
.sd>.sd-fin,.sd>.sd-sect,.sd>.sd-colophon,.sd>.sd-orn{
  max-width:720px; margin-left:auto; margin-right:auto; padding-left:22px; padding-right:22px;}
.sd-epigraphs,.sd-body,.sd-sect{max-width:40rem;}

/* dossier line */
.sd-filetab{font-family:var(--sd-mono); font-size:.72rem; letter-spacing:.26em;
  text-transform:uppercase; color:var(--sd-ink-dim); display:flex; justify-content:space-between;
  gap:16px; flex-wrap:wrap; border-bottom:1px solid var(--sd-rule); padding-top:30px;
  padding-bottom:12px; margin:8px auto 0;}
.sd-filetab .red{color:var(--sd-blood-hi);}

/* full-bleed art */
.sd-bleed{display:flex; justify-content:center; width:100vw; margin-left:calc(50% - 50vw);}
.sd-shot{position:relative; line-height:0; display:block;}
.sd-shot img{width:100%; height:auto;}
.sd-fx{position:absolute; inset:0; pointer-events:none; background:
  linear-gradient(to bottom,var(--sd-bg) 0%,rgba(10,9,8,0) 8.5%,rgba(10,9,8,0) 89.5%,var(--sd-bg) 100%),
  linear-gradient(to right,var(--sd-bg) 0%,rgba(10,9,8,0) 4.5%,rgba(10,9,8,0) 95.5%,var(--sd-bg) 100%),
  radial-gradient(135% 125% at 50% 44%,rgba(10,9,8,0) 58%,rgba(10,9,8,.55) 100%);}
.sd-coverhero{margin:18px 0 6px;}
.sd-coverhero .sd-shot{width:min(100vw,1040px);}
.sd-plate{margin:clamp(48px,7.5vw,88px) 0;}
.sd-plate .sd-shot{width:min(100vw,1320px);}

/* masthead */
.sd-masthead{text-align:center; padding-top:42px;}
.sd-eyebrow{font-family:var(--sd-mono); font-size:.74rem; letter-spacing:.34em;
  text-transform:uppercase; color:var(--sd-blood-hi); margin:0 0 22px;}
.sd-title{font-family:var(--sd-display); font-weight:600; color:var(--sd-bone);
  font-size:clamp(2.5rem,7vw,4.2rem); line-height:1.02; letter-spacing:.01em; margin:0;
  text-wrap:balance;}
.sd-subtitle{font-family:var(--sd-mono); font-size:.82rem; letter-spacing:.42em;
  text-transform:uppercase; color:var(--sd-ink-dim); margin:24px 0 0;}
.sd-byline{font-style:italic; color:var(--sd-ink-dim); font-size:1.05rem; margin:18px 0 0;}
.sd-byline b{font-style:normal; font-weight:500; color:var(--sd-ink); letter-spacing:.02em;}

/* ornament */
.sd-orn{display:flex; align-items:center; justify-content:center; gap:14px; margin:34px auto;}
.sd-orn .r{width:72px; height:1px; background:linear-gradient(90deg,transparent,var(--sd-blood),transparent);}
.sd-orn .d{width:7px; height:7px; background:var(--sd-blood); transform:rotate(45deg);
  box-shadow:0 0 10px rgba(184,74,62,.5);}

/* epigraphs */
.sd-epigraph{font-style:italic; color:#c8bfac; font-size:1.12rem; line-height:1.64;
  text-align:center; margin:0;}
.sd-epigraph .attr{display:block; font-style:normal; font-family:var(--sd-mono); font-size:.68rem;
  letter-spacing:.2em; text-transform:uppercase; color:var(--sd-blood-hi); margin-top:16px; line-height:1.5;}

/* content warning */
.sd-cw{max-width:38rem; border:1px solid var(--sd-rule-hi); background:var(--sd-panel);
  padding:0 0 26px; margin:44px auto;}
.sd-cw .bar{font-family:var(--sd-mono); font-size:.72rem; letter-spacing:.3em; text-transform:uppercase;
  color:var(--sd-bone); background:var(--sd-blood-lo); border-bottom:1px solid var(--sd-blood);
  padding:11px 20px; text-align:center; margin:0;}
.sd-cw p{font-style:italic; color:#c4bba6; font-size:1.02rem; line-height:1.66; text-align:center;
  padding:22px 26px 0; margin:0;}

/* story body */
.sd-body p{margin:0; text-indent:1.5em;}
.sd-body p.ni{text-indent:0;}
.sd-body p.drop{text-indent:0;}
.sd-body p.drop::first-letter{font-family:var(--sd-display); font-weight:600; font-size:4.3em;
  line-height:.72; float:left; padding:.04em .1em 0 0; color:var(--sd-blood-hi);
  text-shadow:0 2px 18px rgba(142,35,32,.4);}

/* section heads */
.sd-fin{text-align:center; margin:56px auto 10px;}
.sd-fin .w{font-family:var(--sd-display); font-weight:600; color:var(--sd-bone); font-size:1.7rem;
  letter-spacing:.42em; text-transform:uppercase; margin:0;}
.sd-sect{margin-top:70px;}
.sd-secthead{font-family:var(--sd-mono); font-size:.8rem; letter-spacing:.3em; text-transform:uppercase;
  color:var(--sd-blood-hi); text-align:center; font-weight:400; margin:0;}
.sd-sect p{text-indent:0; margin:0;}
.sd-sect p+p{margin-top:1.1em;}
.sd-signoff{text-align:right; font-style:italic; color:var(--sd-ink-dim); margin-top:1.3em;}
.sd-colophon{font-style:italic; color:#6d6454; font-size:.88rem; text-align:center; margin:52px auto 72px;}

@media (max-width:520px){ .sd{font-size:1.1rem;} .sd-filetab{font-size:.64rem;} }
@media (prefers-reduced-motion:reduce){ .sd *{scroll-behavior:auto;} }
