/* ===== SHM Design Layer v1 — cinematic true-crime editorial ===== */
:root{--shm-red:#7A1F1F;--shm-ink:#241A16;--shm-cream:#FFF8F0;--shm-paper:#FBF5EC;--shm-line:#E4D9CB}
::selection{background:#7A1F1F;color:#FFF8F0}
html{scroll-behavior:smooth}

/* --- glass sticky header --- */
header.header{position:sticky;top:0;z-index:990;background:rgba(255,248,240,.88);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-top:3px solid var(--shm-red);box-shadow:0 1px 0 var(--shm-line),0 10px 30px rgba(36,26,22,.07)}
header.header nav a{position:relative;text-decoration:none}
header.header nav a::after{content:'';position:absolute;left:0;right:100%;bottom:-3px;height:2px;background:var(--shm-red);transition:right .22s ease}
header.header nav a:hover::after{right:0}

/* --- cinematic heroes --- */
.shm-hero,.shm-pagehero{position:relative;isolation:isolate;overflow:hidden;background:var(--shm-ink)}
.shm-hero::before,.shm-pagehero::before{content:'';position:absolute;inset:-4%;background:url(/wp-content/uploads/2026/08/courthouse.jpg) center 28%/cover no-repeat;filter:grayscale(.4) contrast(1.08) brightness(.9);z-index:-2}
.shm-hero::before{animation:shmKen 26s ease-in-out infinite alternate}
.shm-hero::after,.shm-pagehero::after{content:'';position:absolute;inset:0;background:linear-gradient(155deg,rgba(24,11,10,.94) 12%,rgba(43,19,17,.86) 55%,rgba(122,31,31,.62));z-index:-1}
.shm-pagehero::after{background:linear-gradient(155deg,rgba(24,11,10,.96) 20%,rgba(43,19,17,.9) 60%,rgba(122,31,31,.7))}
.shm-hero .shm-hero::before,.shm-hero .shm-hero::after,.shm-pagehero .shm-pagehero::before,.shm-pagehero .shm-pagehero::after{content:none}
.shm-hero h1,.shm-hero h2,.shm-hero .elementor-heading-title,.shm-pagehero h1,.shm-pagehero .elementor-heading-title{color:var(--shm-cream)!important;text-shadow:0 2px 22px rgba(0,0,0,.5)}
.shm-hero,.shm-hero p,.shm-pagehero,.shm-pagehero p{color:#F0E2D2}
.shm-hero .shm-eyebrow,.shm-pagehero .shm-eyebrow{color:#E3B3A3!important;letter-spacing:.3em}
.shm-hero .shm-byline,.shm-hero .shm-dates{color:#D9C2AE}

/* --- dossier cards --- */
.shm-card{background:var(--shm-paper);border:1px solid var(--shm-line);border-top:3px solid var(--shm-red);border-radius:2px;box-shadow:0 1px 2px rgba(36,26,22,.06);transition:transform .28s ease,box-shadow .28s ease}
.shm-card:hover{transform:translateY(-6px);box-shadow:0 16px 38px rgba(36,26,22,.16)}

/* --- editorial drop cap --- */
/* float-based drop caps detach next to adjacent floats in Chromium; use initial-letter instead */
.shm-narrow .shm-prose:first-of-type p:first-of-type::first-letter{font-family:'Playfair Display',Georgia,serif;font-weight:700;color:var(--shm-red)}
@supports (initial-letter:3) or (-webkit-initial-letter:3){
.shm-narrow .shm-prose:first-of-type p:first-of-type::first-letter{-webkit-initial-letter:3;initial-letter:3;padding-right:.14em}
}

/* --- evidence quotes --- */
blockquote.shm-quote{position:relative;margin:2em 0;padding:1.3em 1.5em 1.3em 1.9em;border-left:3px solid var(--shm-red);background:linear-gradient(90deg,rgba(122,31,31,.07),rgba(122,31,31,0) 72%);font-style:italic}
blockquote.shm-quote::before{content:'\201C';position:absolute;top:-.28em;left:.08em;font-family:'Playfair Display',Georgia,serif;font-size:4.2em;line-height:1;color:rgba(122,31,31,.22)}

/* --- gavel-textured CTA bands --- */
.shm-cta{position:relative;isolation:isolate;overflow:hidden;background:var(--shm-ink)}
.shm-cta::before{content:'';position:absolute;inset:0;background:url(/wp-content/uploads/2026/08/gavel.jpg) center/cover no-repeat;opacity:.16;filter:grayscale(1);z-index:-1}
.shm-cta .shm-cta::before{content:none}
.shm-cta h2,.shm-cta h3,.shm-cta .elementor-heading-title{color:var(--shm-cream)!important}
.shm-cta p{color:#EAD8C6!important}

/* --- buttons + images --- */
.shm-btn .elementor-button,a.po-buy{transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease}
.shm-btn .elementor-button:hover,a.po-buy:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(122,31,31,.35)}
.shm-img img{border-radius:2px;box-shadow:0 10px 30px rgba(36,26,22,.18);filter:saturate(.92) contrast(1.03);transition:transform .4s ease}
.shm-img:hover img{transform:scale(1.02)}

/* --- 3D pre-order book --- */
.po-book-wrap{perspective:1100px;display:flex;margin:1.2em 0 2.2em}
.po-book{position:relative;width:200px;height:300px;transform-style:preserve-3d;transform:rotateY(-22deg);transition:transform .5s ease}
.po-book:hover{transform:rotateY(-9deg)}
.po-book-pages{position:absolute;right:-8px;top:6px;bottom:6px;width:8px;background:repeating-linear-gradient(180deg,#EFE6D6 0 2px,#DDD2BE 2px 3px);border-radius:0 2px 2px 0}
.po-book-cover{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:26px 20px;background:linear-gradient(150deg,#231110,#431B18 52%,#6E1D1D);border-radius:2px 5px 5px 2px;box-shadow:0 24px 50px rgba(0,0,0,.45),inset 0 0 70px rgba(0,0,0,.4)}
.po-book-cover::after{content:'';position:absolute;left:10px;top:0;bottom:0;width:2px;background:rgba(255,255,255,.08)}
.po-book-eyebrow{font-size:10px;letter-spacing:.32em;color:#D9A79B}
.po-book-title{font-family:'Playfair Display',Georgia,serif;font-size:27px;line-height:1.15;margin:12px 0 0;color:#F5E9CE}
.po-book-rule{width:44px;height:2px;background:#C9A227;margin:14px 0}
.po-book-author{font-size:12px;letter-spacing:.26em;color:#E4C9B0}

/* --- scroll reveal --- */
html.shm-js .shm-card,html.shm-js blockquote.shm-quote,html.shm-js .shm-img,html.shm-js .shm-more{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}
html.shm-js .shm-in{opacity:1!important;transform:none!important}
@keyframes shmKen{0%{transform:scale(1.02) translateY(0)}100%{transform:scale(1.1) translateY(-1.5%)}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html.shm-js .shm-card,html.shm-js blockquote.shm-quote,html.shm-js .shm-img,html.shm-js .shm-more{opacity:1;transform:none}}

/* --- no drop cap in centered CTA bands --- */
.shm-cta .shm-prose p::first-letter{float:none!important;-webkit-initial-letter:normal!important;initial-letter:normal!important;font-family:inherit!important;font-weight:inherit!important;font-size:inherit!important;line-height:inherit!important;color:inherit!important;padding:0!important}
