/* Novira home: contemporary type and measured rhythm, scoped to this page. */
@font-face{font-family:HomeSatoshi;src:url('/fonts/satoshi/Satoshi-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:HomeSatoshi;src:url('/fonts/satoshi/Satoshi-Medium.woff2') format('woff2');font-weight:500 600;font-display:swap}
@font-face{font-family:HomeSatoshi;src:url('/fonts/satoshi/Satoshi-Bold.woff2') format('woff2');font-weight:700 900;font-display:swap}
.home-page{--font-sans:HomeSatoshi,sans-serif;--font-serif:HomeSatoshi,sans-serif;font-family:var(--font-sans);--home-ease:cubic-bezier(.16,1,.3,1)}
.home-page .premium-hero{padding:100px 32px 68px;min-height:540px}
.home-page .nv-home-hero-inner{max-width:1000px;width:100%}
.home-page .nv-eyebrow{border:0;border-radius:0;background:none;padding:0;font-size:12px;letter-spacing:.12em;margin-bottom:28px;color:#b6afa4}
.home-page .nv-hero-headline{font-family:var(--font-sans);font-size:clamp(40px,6.5vw,88px);font-weight:500;line-height:1.04;letter-spacing:-.055em;margin:0 0 26px;text-wrap:balance}
.home-page .nv-hero-headline em{font-style:normal;color:var(--accent)}
.home-page .nv-hero-subheadline{font-size:18px;line-height:1.65;max-width:520px;margin:0 auto 30px;color:#b6b4b0;letter-spacing:-.015em;text-wrap:balance}
.home-page .nv-hero-actions{gap:14px;margin-bottom:26px}
.home-page .nv-hero-actions a{font-family:var(--font-sans);font-size:14px;min-height:48px;padding:13px 25px;border-radius:6px;transition:transform .45s var(--home-ease),background .25s ease,border-color .25s ease}
.home-page .nv-hero-actions a:hover{transform:translateY(-2px)}
.home-page .nv-hero-free-note{font-size:11px;line-height:1.5;letter-spacing:.015em;color:#a7a39b}
.home-page .nv-genre-rail{gap:8px;max-width:850px}
.home-page .nv-genre-chip{font-family:var(--font-sans);font-size:12px!important;padding:7px 14px!important;background:transparent!important;border-color:rgba(232,213,183,.13)!important;box-shadow:none!important}
.home-page .nv-hero-sketch{opacity:.55;transform-origin:center}
.home-page .nv-ambient-glow{opacity:.55}
.home-page .nv-fade-up{opacity:1;transform:none;animation:homeArrival 1.1s var(--home-ease) both}
.home-page .nv-d1{animation-delay:0s}.home-page .nv-d2{animation-delay:.08s}.home-page .nv-d3{animation-delay:.18s}.home-page .nv-d4{animation-delay:.28s}.home-page .nv-d5{animation-delay:.38s}
@keyframes homeArrival{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.home-page .journey-section{max-width:none;padding-bottom:64px}
.home-page .discovery-strip{padding:42px 0;border-bottom-color:rgba(232,213,183,.07)}
.home-page .strip-container{max-width:1280px;padding:0 40px}
.home-page .section-header{gap:20px;margin-bottom:22px;align-items:baseline}
.home-page .section-title{font-family:var(--font-sans)!important;font-size:clamp(23px,2.2vw,30px)!important;line-height:1.2;font-weight:600!important;letter-spacing:-.035em!important}
.home-page .view-all-link{letter-spacing:0!important;white-space:nowrap;font-size:12px!important;min-height:32px;display:inline-flex;align-items:center}
.home-page .horizontal-scroll{gap:24px;padding:4px 0 18px}
.home-page .poster-info h3{font-family:var(--font-sans)!important;font-size:15px!important;font-weight:500!important;line-height:1.4!important;letter-spacing:-.01em!important}
.home-page .poster-author{font-size:12px!important;line-height:1.5!important}
.home-page .poster-wrapper{border-radius:6px!important;box-shadow:none!important}
.home-page .poster-card:hover .poster-wrapper{box-shadow:none!important;border-color:rgba(232,213,183,.3)!important}
.home-page .poster-img{transition:transform .7s var(--home-ease)!important}
.home-page .poster-card:hover .poster-img{transform:scale(1.035)!important}
.home-page .poster-card:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:6px}
.home-page .reveal{opacity:1;transform:none;transition:none}
.home-page .home-empty{padding:72px 24px 88px;text-align:center}
.home-page .home-empty-inner{max-width:480px;margin:0 auto}
.home-page .home-empty h3{font-family:var(--font-sans);font-size:clamp(26px,3vw,36px);line-height:1.2;color:var(--text-primary);font-weight:500;letter-spacing:-.035em;margin:0 0 16px;text-wrap:balance}
.home-page .home-empty p{color:var(--text-secondary);margin:0 0 28px;font-size:16px;line-height:1.6}
@media(min-width:1400px){.home-page .premium-hero{padding-top:112px;padding-bottom:76px}}
@media(max-width:700px){
 .home-page .premium-hero{min-height:0;padding:64px 22px 42px}
 .home-page .nv-eyebrow{font-size:10px;margin-bottom:24px}
 .home-page .nv-hero-headline{font-size:clamp(34px,8.7vw,56px);line-height:1.07;letter-spacing:-.05em;margin-bottom:22px}
 .home-page .nv-hero-subheadline{font-size:15px;line-height:1.6;max-width:350px;margin-bottom:26px}
 .home-page .nv-hero-actions{flex-direction:row;align-items:flex-start;width:auto;gap:10px;margin-bottom:24px}
 .home-page .nv-hero-actions a{font-size:12px;padding:12px 14px;min-height:46px;width:auto;white-space:nowrap;flex-shrink:0}
 .home-page .nv-hero-primary-group{width:auto;flex-shrink:0}
 .home-page .nv-genre-rail{gap:6px;width:100%;max-width:100%;justify-content:flex-start}
 .home-page .nv-genre-chip{font-size:11px!important;padding:6px 11px!important}
 .home-page .strip-container{padding:0 22px}
 .home-page .discovery-strip{padding:30px 0}
 .home-page .section-header{margin-bottom:18px;gap:12px}
 .home-page .section-title{font-size:23px!important}
 .home-page .horizontal-scroll{gap:16px}
 .home-page .home-empty{padding:52px 22px 64px}
}
@media(prefers-reduced-motion:reduce){
 .home-page .nv-fade-up{animation:none;transform:none;opacity:1}
 .home-page .nv-hero-sketch{transform:none!important}
 .home-page *, .home-page *::before, .home-page *::after{scroll-behavior:auto!important;transition:none!important}
 .home-page .poster-card:hover,.home-page .poster-card:hover .poster-img,.home-page .nv-hero-actions a:hover,.home-page .nv-genre-chip:hover{transform:none!important}
}

/* Wet-stroke entrance: left-aligned full-bleed hero; brush bands play once, then hold. */
.home-page .premium-hero{justify-content:flex-start;padding:128px 16px 84px;min-height:clamp(560px,82vh,780px)}
.home-page .nv-home-hero-inner{max-width:var(--nv-hero-inner-max,100%);margin:0 auto;align-items:flex-start;text-align:left}
.home-page .nv-ambient-glow{left:30%}
.home-page .nv-eyebrow{font-size:14px;letter-spacing:.14em;margin-bottom:32px;color:#cfc7b9}
.home-page .nv-hero-headline{font-size:clamp(46px,8.2vw,132px);line-height:1.12;margin:0 0 36px;text-wrap:wrap}
.home-page .nv-hl-line{display:inline-block}
.home-page .nv-word{position:relative;display:inline-block;white-space:nowrap}
.home-page .nv-hero-headline .nv-word em{font-family:'Instrument Serif',serif;font-style:italic;font-weight:400;font-size:1.16em;letter-spacing:-.02em;line-height:.9;color:inherit}
.home-page .nv-hero-headline .nv-word .nv-word-ov{position:absolute;left:0;top:0;color:#0e0d0c}
.home-page .nv-hero-subheadline{margin:0 0 40px;padding:0;max-width:560px;text-wrap:balance}
.home-page .nv-hero-free-note{text-align:left}
.home-page .nv-hero-actions{justify-content:flex-start;margin-left:0;margin-right:0;align-items:flex-start;margin-bottom:28px}
.home-page .nv-genre-rail{justify-content:flex-start;padding-left:0}
.home-page .nv-genre-chip{font-size:13px!important;padding:8px 16px!important;color:#d9d2c6!important;border-color:rgba(232,213,183,.24)!important}
.home-page .nv-brush-defs{position:absolute;width:0;height:0}
.home-page .nv-brush-sweep{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;opacity:.07}
.home-page .nv-band{position:absolute;left:-.3em;top:-.14em;height:1.45em;overflow:visible;pointer-events:none}
.home-page .nv-band-1{width:2.95em}
.home-page .nv-band-2{width:3.3em}
.home-page .nv-brush-sweep path,.home-page .nv-band path{fill:none;stroke-linecap:round;stroke-dasharray:1 2;stroke-dashoffset:0;filter:url(#nvDry);animation:nvStroke 1.6s cubic-bezier(.65,0,.35,1) both}
.home-page .nv-brush-sweep path{stroke:#e8d5b7;stroke-width:300px;animation-duration:2.2s;animation-delay:.2s}
.home-page .nv-band path{stroke-width:92px}
.home-page .nv-band-1 path{stroke:#e8d5b7;animation-delay:.6s}
.home-page .nv-band-2 path{stroke:#f3e6cf;animation-delay:.9s}
.home-page .nv-hero-headline .nv-word .nv-word-ov{animation:nvInk 1.6s cubic-bezier(.65,0,.35,1) .6s both}
.home-page .nv-hero-headline .nv-hl-line + br + .nv-hl-line .nv-word .nv-word-ov{animation-delay:.9s}
.home-page .horizontal-scroll{margin-left:0;margin-right:0}
@media(min-width:701px){.home-page .strip-container{padding-left:16px;padding-right:16px}}
/* Middle content only: hero and shelf sit in the same centred 1200px column as Explore, Genres etc. Header and footer are untouched. */
@media(min-width:1024px){.home-page .premium-hero{padding-left:max(32px, calc((100% - 1200px) / 2));padding-right:max(32px, calc((100% - 1200px) / 2))}.home-page .strip-container{max-width:none;padding-left:max(32px, calc((100% - 1200px) / 2));padding-right:max(32px, calc((100% - 1200px) / 2))}}
@keyframes nvStroke{from{stroke-dashoffset:1;opacity:0}1%{opacity:1}to{stroke-dashoffset:0;opacity:1}}
@keyframes nvInk{from{clip-path:inset(-20% 100% -20% 0)}to{clip-path:inset(-20% 0 -20% 0)}}
@media(max-width:700px){
 .home-page .premium-hero{padding:72px 22px 48px;min-height:0}
 .home-page .nv-eyebrow{font-size:11px;margin-bottom:24px}
 .home-page .nv-hero-actions{align-items:flex-start;margin-bottom:24px}
 .home-page .nv-genre-chip{font-size:11px!important;padding:6px 11px!important}
 .home-page .nv-hero-headline{font-size:clamp(38px,11.2vw,60px);margin-bottom:26px}
 .home-page .nv-hero-subheadline{margin-bottom:28px}
 .home-page .nv-hero-actions{margin-left:0;margin-right:0}
 .home-page .nv-brush-sweep{display:none}
}
@media(prefers-reduced-motion:reduce){
 .home-page .nv-brush-sweep path,.home-page .nv-band path,.home-page .nv-hero-headline .nv-word .nv-word-ov{animation:none!important}
}
