:root{
    --ink:#0d0706;
    --red-top:#8c1114;
    --red-mid:#640a0a;
    --red-bot:#500606;
    --red-top-h:#a5171b;
    --red-bot-h:#650a0a;
    --cream:#f5efe3;
    --hair:rgba(245,239,227,.34);
    --maxw:620px;
  }
  *{box-sizing:border-box;}
  html,body{margin:0;padding:0;}
  body{background:var(--ink);-webkit-text-size-adjust:100%;overflow-x:hidden;}
  .book{max-width:var(--maxw);margin:0 auto;background:var(--ink);}
  .page{position:relative;display:block;font-size:0;line-height:0;}
  .page img{display:block;width:100%;height:auto;}

  .cta{
    position:absolute;left:50%;bottom:0;transform:translate(-50%,50%);z-index:6;
    display:inline-flex;align-items:center;justify-content:center;text-align:center;
    white-space:nowrap;max-width:calc(100% - 34px);min-height:52px;padding:15px 36px;
    font-family:'Oswald','PT Sans Narrow','Arial Narrow',system-ui,sans-serif;
    font-weight:500;font-size:clamp(14px,3.6vw,17px);letter-spacing:.14em;
    text-transform:uppercase;text-decoration:none;color:var(--cream);
    background:linear-gradient(180deg,var(--red-top) 0%,var(--red-mid) 55%,var(--red-bot) 100%);
    border:1px solid var(--hair);border-radius:999px;
    box-shadow:0 12px 30px rgba(90,8,8,.45),0 2px 6px rgba(0,0,0,.35);
    cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
    -webkit-tap-highlight-color:transparent;
  }
  .cta span{display:block;transform:translateY(.03em);}
  .cta:hover,.cta:focus-visible{
    background:linear-gradient(180deg,var(--red-top-h) 0%,#7c0d0d 55%,var(--red-bot-h) 100%);
    transform:translate(-50%,50%) translateY(-3px);
    box-shadow:0 18px 40px rgba(110,10,10,.55),0 3px 8px rgba(0,0,0,.4);outline:none;
  }
  .cta:active{transform:translate(-50%,50%) translateY(-1px);}
  .cta:focus-visible{box-shadow:0 0 0 3px rgba(245,239,227,.55),0 12px 30px rgba(90,8,8,.45);}

  .cta-lg{min-height:60px;padding:18px 46px;font-size:clamp(15px,4vw,19px);font-weight:600;letter-spacing:.16em;}

  .endcta{background:var(--ink);display:flex;justify-content:center;padding:40px 20px 58px;}
  .endcta .cta{position:static;transform:none;}
  .endcta .cta:hover,.endcta .cta:focus-visible{transform:translateY(-3px);}
  .endcta .cta:active{transform:translateY(-1px);}

  @media (max-width:480px){.cta{letter-spacing:.12em;}}
