
* { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { background:#0a0a0b; color:#ecedf0; font-family:Impact, Haettenschweiler, 'Arial Black', sans-serif; line-height:1.65;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
  background-image:radial-gradient(circle at 50% 0, rgba(194,31,36,0.12), transparent 60%); }
img { display:block; max-width:100%; }
a { color:inherit; }
.book { max-width:1040px; margin:0 auto; padding:5vh 3vw 10vh;
  display:flex; flex-direction:column; gap:3vh; }

/* hardcover */
.cover { position:relative; background:#a51a1f; color:#ffffff;
  border-radius:4px; padding:clamp(40px,8vw,90px) clamp(28px,6vw,70px);
  text-align:center; box-shadow:0 18px 40px rgba(0,0,0,.28), inset 0 0 0 3px rgba(194,31,36,0.55);
  overflow:hidden; }
.ribbon { position:absolute; top:0; right:14%; width:34px; height:120px;
  background:#c21f24; clip-path:polygon(0 0,100% 0,100% 100%,50% 82%,0 100%); }
.cover .kick { font-family:Impact, Haettenschweiler, 'Arial Black', sans-serif; letter-spacing:.4em; text-transform:uppercase;
  font-size:.85rem; opacity:.85; }
.cover h1 { font-family:Impact, Haettenschweiler, 'Arial Black', sans-serif; font-weight:900; line-height:1;
  font-size:clamp(2.6rem,9vw,5.5rem); margin:.4em 0 .3em; letter-spacing:-.01em; }
.cover .tag { font-size:clamp(1rem,2.6vw,1.4rem); font-style:italic; max-width:36ch; margin:0 auto; }
.byline { margin-top:1.4rem; font-family:Impact, Haettenschweiler, 'Arial Black', sans-serif; letter-spacing:.15em;
  text-transform:uppercase; font-size:.8rem; opacity:.8; }
.open { display:inline-block; margin-top:2rem; background:#c21f24; color:#ffffff;
  font-family:Impact, Haettenschweiler, 'Arial Black', sans-serif; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  padding:14px 30px; border-radius:999px; text-decoration:none;
  box-shadow:0 6px 0 rgba(194,31,36,0.55); transition:transform .15s; }
.open:hover { transform:translateY(-2px); }
.corner { position:absolute; width:44px; height:44px; border:3px solid rgba(194,31,36,0.55); }
.corner--tl { top:16px; left:16px; border-right:0; border-bottom:0; }
.corner--br { bottom:16px; right:16px; border-left:0; border-top:0; }

/* spreads */
.spread { position:relative; display:grid; grid-template-columns:1fr 1fr;
  border-radius:4px; overflow:hidden;
  box-shadow:0 14px 34px rgba(0,0,0,.20); background:#161617; }
.spine { position:absolute; left:50%; top:0; bottom:0; width:60px;
  transform:translateX(-50%); z-index:3; pointer-events:none;
  background:linear-gradient(90deg, transparent, rgba(236,237,240,0.18) 40%, rgba(236,237,240,0.18) 60%, transparent); }
.page { position:relative; padding:clamp(26px,4.5vw,56px); min-height:clamp(320px,46vh,480px); }
.page--l { background:#161617; }
.page--r { background:#151516; display:flex; align-items:center; justify-content:center; }
.chno { font-family:Impact, Haettenschweiler, 'Arial Black', sans-serif; letter-spacing:.22em; text-transform:uppercase;
  font-size:.72rem; color:#c21f24; font-weight:700; }
.page h2 { font-family:Impact, Haettenschweiler, 'Arial Black', sans-serif; font-weight:800; font-size:clamp(1.5rem,3.6vw,2.4rem);
  line-height:1.1; margin:.4rem 0 1rem; }
.dropcap { float:left; font-family:Impact, Haettenschweiler, 'Arial Black', sans-serif; font-weight:900; color:#c21f24;
  font-size:3.4em; line-height:.72; padding:.05em .12em 0 0; }
.page p { color:#ecedf0; }
.story { color:#585c60; font-size:.98rem; margin-top:.6rem; }
.pgno { position:absolute; bottom:18px; left:26px; font-family:Impact, Haettenschweiler, 'Arial Black', sans-serif;
  font-style:italic; color:#585c60; font-size:.85rem; }
.pgno--r { left:auto; right:26px; }
.plate { width:100%; max-width:420px; padding:14px 14px 40px; background:#0a0a0b;
  border-radius:6px; box-shadow:0 8px 18px rgba(0,0,0,.22); transform:rotate(-1.4deg); }
.plate img { width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:3px; }
.plate figcaption { text-align:center; margin-top:12px; font-family:Impact, Haettenschweiler, 'Arial Black', sans-serif;
  font-style:italic; color:#585c60; font-size:.85rem; }

/* quote spread */
.spread--quote { grid-template-columns:1fr; background:#a51a1f; color:#ffffff;
  padding:clamp(40px,7vw,80px); text-align:center; }
.spread--quote blockquote { font-family:Impact, Haettenschweiler, 'Arial Black', sans-serif; font-style:italic; font-weight:600;
  font-size:clamp(1.5rem,4vw,2.6rem); line-height:1.25; max-width:26ch; margin:0 auto; }
.spread--quote cite { display:block; margin-top:1rem; font-style:normal;
  letter-spacing:.2em; text-transform:uppercase; font-size:.8rem; opacity:.85; }

/* back cover */
.cover--back { text-align:center; }
.cover--back h2 { font-family:Impact, Haettenschweiler, 'Arial Black', sans-serif; font-weight:900; font-size:clamp(1.8rem,5vw,3rem);
  margin-bottom:.4rem; }
.ends { display:flex; flex-wrap:wrap; gap:8px 22px; justify-content:center; margin-top:1.4rem;
  font-family:Impact, Haettenschweiler, 'Arial Black', sans-serif; }
.ends a { text-decoration:none; border-bottom:2px solid rgba(194,31,36,0.55); }
.theend { display:block; margin-top:1.8rem; font-family:Impact, Haettenschweiler, 'Arial Black', sans-serif; font-style:italic;
  letter-spacing:.15em; opacity:.85; }

@media (max-width:720px) {
  .spread { grid-template-columns:1fr; }
  .spine { display:none; }
  .page--l { order:2; } .page--r { order:1; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .open:hover { transform:none; } }


.xq{box-sizing:border-box;font-family:Impact, Haettenschweiler, 'Arial Black', sans-serif;color:#ecedf0;padding:56px 24px;width:100%}
.xq *{box-sizing:border-box;margin:0}
.xq .xq-wrap{max-width:1060px;margin:0 auto}
.xq h2{font-family:Impact, Haettenschweiler, 'Arial Black', sans-serif;font-size:1.7rem;line-height:1.2;margin-bottom:8px}
.xq .xq-kick{display:block;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#c21f24;margin-bottom:10px;font-weight:700}

.xq-checklist{list-style:none;padding:0;margin-top:20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px 26px}
.xq-checklist li{position:relative;padding:10px 0 10px 32px;border-bottom:1px dashed rgba(236,237,240,0.14)}
.xq-checklist li::before{content:"\2713";position:absolute;left:0;top:8px;width:22px;height:22px;line-height:22px;text-align:center;border-radius:50%;background:#c21f24;color:#ffffff;font-size:.75rem;font-weight:800}


.xq-hours{border-top:1px solid rgba(236,237,240,0.14)}
.xq-hours-in{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:26px;align-items:start}
.xq-hours address{font-style:normal;color:#585c60;line-height:1.8;margin-top:8px}
.xq-hourtable{width:100%;border-collapse:collapse}
.xq-hourtable th,.xq-hourtable td{text-align:left;padding:12px 6px;border-bottom:1px solid rgba(236,237,240,0.14)}
.xq-hourtable th{font-family:Impact, Haettenschweiler, 'Arial Black', sans-serif}
.xq-hourtable td{color:#c21f24;font-weight:700;text-align:right}


/* =====================================================
   DESIGN DNA: blueprint-draft
   Whole-page visual system applied over the layout
   archetype. Appended last so it wins the cascade.
   ===================================================== */
html::before{content:'';position:fixed;inset:0;z-index:99980;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Cpath d='M0 .5H80M.5 0V80' stroke='%23c21f24' stroke-width='1'/%3E%3Cpath d='M0 20.5H80M0 40.5H80M0 60.5H80M20.5 0V80M40.5 0V80M60.5 0V80' stroke='%23c21f24' stroke-width='.4'/%3E%3C/svg%3E");opacity:.10;}
h1,h2,h3{font-family:'Courier New', Courier, monospace !important;text-transform:uppercase !important;letter-spacing:.1em !important;font-weight:700 !important}
img{filter:grayscale(.3) contrast(1.06);border-radius:0 !important;outline:1.5px dashed rgba(194,31,36,.8);outline-offset:7px;margin:7px}
a[class*="btn"],button,span[class*="btn"]{border-radius:0 !important;border:1.5px dashed #c21f24 !important;font-family:'Courier New', Courier, monospace !important;text-transform:uppercase;box-shadow:none !important}
div[class*="card"]:not([class*="cards"]),article[class*="card"],a[class*="card"],figure[class*="card"],li[class*="card"]{border-radius:0 !important;border:1px solid rgba(194,31,36,.6) !important;box-shadow:none !important}
