/* ============================================================
   Boom Publishing Books V2 layer
   Additive polish on top of site.css so the redesign is easy to review.
   ============================================================ */

:root{
  --v2-shadow:0 28px 90px rgba(0,0,0,.62);
  --v2-soft:rgba(255,255,255,.055);
  --v2-soft-line:rgba(255,255,255,.11);
}

body.home-v2{
  background:
    radial-gradient(900px 520px at 8% -4%, rgba(111,183,212,.16), transparent 62%),
    radial-gradient(760px 480px at 95% 4%, rgba(215,180,106,.13), transparent 60%),
    linear-gradient(180deg,#08090f 0%, var(--bg) 42%, #090a0f 100%);
}

nav{
  box-shadow:0 8px 34px rgba(0,0,0,.22);
}

.home-v2 nav .brand{
  letter-spacing:.12em;
}

.brandhero{
  position:relative;
  overflow:hidden;
  padding:104px 0 92px;
  text-align:center;
  border-bottom:1px solid var(--line);
  background:
    linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.36)),
    radial-gradient(560px 260px at 50% 14%, rgba(215,180,106,.17), transparent 70%),
    radial-gradient(640px 340px at 20% 80%, rgba(95,214,255,.12), transparent 64%),
    radial-gradient(640px 340px at 80% 86%, rgba(139,38,53,.22), transparent 64%);
}

.brandhero::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.34;
  background-image:
    radial-gradient(1px 1px at 14% 22%,#fff,transparent),
    radial-gradient(1px 1px at 28% 62%,#ffe7b0,transparent),
    radial-gradient(1px 1px at 66% 28%,#dcecff,transparent),
    radial-gradient(1px 1px at 76% 70%,#fff,transparent),
    radial-gradient(1px 1px at 90% 42%,#ffe7b0,transparent);
}

.brandhero__inner{
  position:relative;
  z-index:1;
}

.brandhero h1{
  font-size:clamp(46px,9vw,98px);
  line-height:.92;
  letter-spacing:.045em;
  color:#fff;
  text-shadow:0 18px 58px rgba(0,0,0,.65);
}

.brandhero__line{
  margin:24px auto 0;
  font-family:Arial,Helvetica,sans-serif;
  font-size:13px;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--gold);
}

.brandhero__promise{
  max-width:760px;
  margin:24px auto 0;
  color:#ebe6da;
  font-size:clamp(18px,2.4vw,22px);
  line-height:1.62;
}

.brandhero__actions{
  display:flex;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
  margin-top:34px;
}

.home-v2 .hero{
  border-top:1px solid rgba(255,255,255,.05);
}

.home-v2 section{
  padding:80px 0;
}

.home-v2 section h2{
  font-size:clamp(34px,5vw,50px);
}

.home-v2 .lead{
  color:#e8e0d0;
  font-size:clamp(18px,2vw,21px);
  line-height:1.65;
}

.home-v2 .worlds{
  gap:26px;
}

.home-v2 .wcard{
  position:relative;
  overflow:hidden;
  min-height:270px;
  padding:34px 28px;
  text-align:left;
  border-color:var(--v2-soft-line);
  box-shadow:0 18px 54px rgba(0,0,0,.28);
}

.home-v2 .wcard::before{
  content:"";
  position:absolute;
  inset:-1px;
  background:
    radial-gradient(260px 160px at 22% 4%, color-mix(in srgb,var(--accent) 28%,transparent), transparent 64%),
    radial-gradient(300px 200px at 100% 100%, color-mix(in srgb,var(--accent2) 18%,transparent), transparent 68%);
  opacity:.78;
  pointer-events:none;
}

.home-v2 .wcard > *{
  position:relative;
  z-index:1;
}

.home-v2 .wcard .wname{
  font-size:30px;
}

.home-v2 .wcard p{
  color:#dcd5c6;
  font-size:15.5px;
  line-height:1.7;
}

.home-v2 .wcard .wgo{
  margin-top:22px;
  padding-top:14px;
  border-top:1px solid color-mix(in srgb,var(--accent) 38%,transparent);
  display:block;
}

.story-philosophy{
  background:
    linear-gradient(180deg,rgba(255,255,255,.015),rgba(255,255,255,.04)),
    radial-gradient(760px 360px at 50% 0%, rgba(215,180,106,.11), transparent 70%);
}

.story-philosophy .blurb{
  max-width:850px;
  margin:0 auto;
  padding:34px;
  border:1px solid var(--v2-soft-line);
  border-radius:22px;
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025));
  box-shadow:var(--v2-shadow);
}

.story-philosophy .blurb p{
  max-width:760px;
}

.story-philosophy .turn{
  font-size:clamp(24px,4vw,34px) !important;
  line-height:1.25;
}

.home-v2 .shelf{
  gap:30px;
}

.home-v2 .tilecap .t{
  font-size:17px;
}

.home-v2 .news{
  max-width:720px;
  padding:38px 32px;
  border:1px solid var(--v2-soft-line);
  border-radius:22px;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025));
  box-shadow:var(--v2-shadow);
}

.home-v2 footer{
  background:#07080d;
}

@media(max-width:760px){
  .brandhero{padding:76px 0 68px}
  .brandhero__line{letter-spacing:.18em}
  .home-v2 .wcard{text-align:center;min-height:0}
  .story-philosophy .blurb{padding:26px 20px}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important}
}