/* Homily Press, home page layer. Loaded after style.css. Only the home uses it. */

/* ===== hero: video plays by itself ===== */
.hv{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:#05080f;isolation:isolate}
.hv-poster,.hv-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 42%}
.hv-video{opacity:0;transition:opacity 1.1s var(--ease);transform:translateZ(0)}
.hv.is-playing .hv-video{opacity:1}
.hv-scrim{position:absolute;inset:0;pointer-events:none;background:
 linear-gradient(90deg,rgba(5,8,18,.78) 0%,rgba(5,8,18,.5) 38%,rgba(5,8,18,0) 70%),
 linear-gradient(180deg,rgba(5,8,18,.55) 0%,rgba(5,8,18,0) 24%,rgba(5,8,18,0) 62%,rgba(5,8,18,.8) 100%)}
.hv-wrap{position:relative;z-index:2}
.hv-inner{max-width:40rem;padding:150px 0 clamp(72px,11vh,120px);text-shadow:var(--tshadow)}
.hv h1{color:#fbf5e6;font-size:clamp(2.7rem,6vw,4.9rem);line-height:1.04;margin:0 0 .4em}
.hv-sub{font-size:clamp(1.02rem,1.5vw,1.18rem);color:#ece3cf;max-width:34em;margin:0}
.hv .btn{text-shadow:none}
.hv .cue{z-index:2}
@media (max-width:720px){
 .hv-poster,.hv-video{object-position:50% 36%}
 .hv-scrim{background:linear-gradient(180deg,rgba(5,8,18,.6) 0%,rgba(5,8,18,.15) 28%,rgba(5,8,18,.55) 55%,rgba(5,8,18,.92) 100%)}
 .hv-inner{padding:120px 0 76px}
 .hv .actions .btn{flex:1 1 100%}
 .hv .cue{display:none}
}

/* ===== trust strip ===== */
.truststrip{background:var(--canvas-2);border-block:1px solid var(--line)}
.truststrip ul{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(4,1fr)}
.truststrip li{padding:26px 22px;border-left:1px solid var(--line);display:flex;flex-direction:column;gap:4px}
.truststrip li:first-child{border-left:0}
.truststrip b{font:600 .72rem/1.4 Cinzel,serif;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-hi)}
.truststrip span{font-size:.92rem;line-height:1.45;color:var(--on-dark-2)}
@media (max-width:900px){.truststrip ul{grid-template-columns:repeat(2,1fr)}.truststrip li:nth-child(3){border-left:0}.truststrip li:nth-child(n+3){border-top:1px solid var(--line)}}
@media (max-width:480px){.truststrip ul{grid-template-columns:1fr}.truststrip li{border-left:0;border-top:1px solid var(--line)}.truststrip li:first-child{border-top:0}}

/* ===== section heads ===== */
.center-head{text-align:center;max-width:46rem;margin:0 auto 2.8rem}
.center-head .lede{margin-inline:auto}

/* ===== new releases ===== */
.newgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
.newbook{display:grid;grid-template-columns:minmax(150px,.72fr) 1.28fr;gap:clamp(18px,3vw,34px);align-items:center;background:var(--paper);border:1px solid #e1d5ba;border-radius:calc(var(--r) + 4px);padding:clamp(20px,3vw,34px);color:var(--ink);transition:transform .5s var(--ease-out),box-shadow .5s var(--ease)}
.newbook:hover{transform:translateY(-4px);box-shadow:0 30px 60px -34px rgba(24,32,58,.55)}
.newbook .cover{display:block;background:radial-gradient(90% 80% at 50% 10%,#1b2b52,#0b1429 75%);padding:18px;border-radius:8px}
.newbook .cover img{width:100%;border-radius:3px;box-shadow:0 22px 34px -14px #000,0 0 0 1px rgba(227,196,122,.18)}
.newbook h3{font-size:clamp(1.5rem,2.2vw,1.95rem);margin-bottom:.25em}
.newbook h3 a{text-decoration:none;color:var(--ink)}
.newbook .sub{font-size:.9rem;color:var(--ink-2);line-height:1.5;margin-bottom:.7rem}
.newbook p{font-size:.98rem;line-height:1.6;color:var(--ink)}
.newbook .eyebrow{margin-bottom:.7rem}
.newbook .meta{font:500 .66rem Cinzel,serif;letter-spacing:.14em;text-transform:uppercase;color:#8a6a22;margin:.4rem 0 0}
.newbook .link{color:var(--ink);border-color:rgba(24,32,58,.3)}
@media (max-width:980px){.newgrid{grid-template-columns:1fr}}
@media (max-width:520px){.newbook{grid-template-columns:1fr}.newbook .cover{max-width:220px;margin-inline:auto}}

/* ===== shelf: six books, three columns ===== */
.home .shelf{grid-template-columns:repeat(3,1fr);margin-top:0}
@media (max-width:1000px){.home .shelf{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.home .shelf{grid-template-columns:1fr}.home .book .cover img{width:58%}}
.home .book .cover img{width:62%}

/* ===== topics ===== */
.topics{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.topic{border:1px solid var(--line);border-radius:var(--r);padding:28px 24px;background:linear-gradient(180deg,rgba(20,34,63,.85),rgba(11,20,41,.85));display:flex;flex-direction:column;transition:border-color .4s var(--ease),transform .5s var(--ease-out)}
.topic:hover{border-color:rgba(227,196,122,.5);transform:translateY(-3px)}
.topic h3{color:#fbf5e6;font-size:1.55rem}
.topic p{font-size:.95rem;line-height:1.6;color:var(--on-dark-2)}
.topic ul{list-style:none;margin:auto 0 0;padding:.6rem 0 0;border-top:1px solid var(--line);display:grid;gap:.5rem}
.topic a{font:500 .72rem Cinzel,serif;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--gold-hi)}
.topic a::after{content:" →"}
.topic a:hover{text-decoration:underline;text-underline-offset:4px}
@media (max-width:1060px){.topics{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.topics{grid-template-columns:1fr}}

/* ===== method: small about line ===== */
.about-line{margin-top:1.2rem}
.about-line .link{margin-left:.4em}

/* ===== companion on light paper ===== */
.light .signup input{background:#fff;color:var(--ink);border-color:rgba(24,32,58,.35)}
.light .signup input::placeholder{color:#7b7a72}
.light .pdf{box-shadow:0 30px 60px -28px rgba(24,32,58,.55)}

/* ===== faq on dark ===== */
.dark .faq h2{color:#fbf5e6}

/* ===== find your book: six prompts, three columns ===== */
.home .nights{grid-template-columns:repeat(3,1fr)}
@media (max-width:760px){.home .nights{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.home .nights{grid-template-columns:1fr}.home .night{min-height:150px}}

/* loop: dissolve through the first frame */
.hv.is-playing.is-fading .hv-video{opacity:0}
