/* Follow the Golden Thread — home only. Native flow; no pinned scroll scenes. */
.story-opening{position:relative; isolation:isolate; overflow:clip; background:var(--night-deep); --drift:0px; --paper-drift:0px;}
.golden-hero{overflow:visible; padding-top:100px; padding-bottom:270px; background:radial-gradient(ellipse at 77% 40%,rgba(185,166,214,.12),transparent 52%),linear-gradient(165deg,var(--night-deep),var(--night) 75%,var(--plum));}
.golden-hero .inner{z-index:3;}
.golden-hero .book-title{position:relative;}
.golden-hero .sky{overflow:hidden; opacity:.6; transform:translate3d(0,var(--drift),0);}
.golden-hero .sky .star{opacity:.4;}
.story-aura{position:absolute; pointer-events:none; width:min(78vw,1100px); aspect-ratio:1; right:-6%; top:2%; background:radial-gradient(ellipse,rgba(232,178,58,.12),rgba(185,166,214,.04) 48%,transparent 68%); opacity:.8; transform:translate3d(0,var(--drift),0);}
.golden-hero .living-cover{overflow:visible; clip-path:none; aspect-ratio:1200/1490;}
.golden-hero .cover-base{clip-path:url(#frame-a); position:relative; z-index:1;}
.golden-hero .living-cover::before{content:""; position:absolute; inset:-18px; border:1px solid rgba(232,178,58,.25); border-radius:48% 48% 8% 8% / 12% 12% 3% 3%; transform:rotate(-3deg); pointer-events:none;}
.golden-hero .living-cover::after{display:block; content:""; position:absolute; inset:-5%; border:1px solid rgba(185,166,214,.12); background:none; border-radius:48% 48% 7% 7% / 10% 10% 4% 4%; transform:rotate(2deg); z-index:-1;}
.golden-hero .living-cover .whale-layer{position:absolute; z-index:2; width:38%; height:auto; object-fit:contain; left:20%; top:16%; transform-origin:55% 60%; pointer-events:none;}
.book-light{position:absolute; z-index:3; left:57%; top:72%; width:27%; aspect-ratio:1; transform:translate(-50%,-50%); background:radial-gradient(circle,rgba(251,243,227,.72),rgba(232,178,58,.27) 20%,transparent 68%); mix-blend-mode:screen; pointer-events:none; opacity:.5;}
.golden-hero .living-cover .whale-layer[hidden]{display:none;}
.thread-invitation{position:relative; z-index:5; display:flex; width:max-content; max-width:calc(100% - 48px); margin:44px auto 0; flex-direction:column; align-items:center; gap:10px; padding:12px 24px; color:var(--cream); text-decoration:none; font:italic 1.1rem var(--font-book);}
.invitation-star{color:var(--mustard); font-size:1.2rem;}
.invitation-arrow{font-size:1.5rem; line-height:1; color:var(--mustard);}
.thread-invitation:hover{color:var(--mustard);}
.paper-arrival{position:absolute; z-index:4; bottom:-1px; left:0; width:100%; height:240px; pointer-events:none;}
.paper-leaf{position:absolute; inset:0; width:100%; height:100%; transform-origin:50% 100%;}
.leaf-distant{fill:var(--lilac); opacity:.38; transform:translate3d(0,calc(var(--paper-drift) * -.3),0);}
.leaf-middle{fill:var(--cream-deep); opacity:.7; transform:translate3d(0,calc(var(--paper-drift) * -.16),0);}
.leaf-near{fill:var(--paper);}
.paper-arrival .ribbon{position:absolute; bottom:0; height:14px; opacity:.58;}
.golden-thread{position:absolute; inset:0; width:100%; height:100%; z-index:6; overflow:visible; pointer-events:none; opacity:0;}
.thread-ready .golden-thread{opacity:1;}
.thread-ghost{stroke:var(--mustard); stroke-width:1; opacity:.08;}
.thread-line{stroke:var(--mustard); stroke-width:1.6; stroke-linecap:round;}
.thread-glow{stroke:var(--mustard); stroke-width:8; opacity:.1; stroke-linecap:round;}
.thread-motes{fill:var(--cream);}
.arrival-ornament{display:flex; align-items:center; justify-content:center; gap:18px; color:var(--mustard); margin:0 auto 50px;}
.arrival-ornament svg{width:22px; height:28px;}
.arrival-ornament span{height:1px; width:65px; background:linear-gradient(90deg,transparent,var(--mustard)); opacity:.45;}
.arrival-ornament span:last-child{transform:rotate(180deg);}
.story-home #why{padding-top:50px;}
.story-opening.is-moving .book-light{animation:book-breath 6s ease-in-out infinite;}
.story-opening.is-moving .whale-layer{animation:whale-drift 9s ease-in-out infinite;}
.story-opening.is-moving .sky .star:nth-child(3n){animation:story-twinkle 7s ease-in-out infinite;}
.story-opening.is-moving .sky .star:nth-child(3n+1){animation:story-twinkle 9s 2s ease-in-out infinite;}
.story-opening.is-moving .invitation-arrow{animation:thread-beckon 3s ease-in-out 3;}
.story-opening.is-paused *{animation-play-state:paused!important;}
.story-opening.is-paused .sky,.story-opening.is-paused .story-aura{transform:none;}
@keyframes whale-drift{0%,100%{transform:translate3d(0,0,0) rotate(-1deg);}50%{transform:translate3d(-5px,-9px,0) rotate(1deg);}}
@keyframes book-breath{0%,100%{opacity:.42;}50%{opacity:.85;}}
@keyframes story-twinkle{0%,100%{opacity:.22;transform:scale(.85);}50%{opacity:.7;transform:scale(1.08);}}
@keyframes thread-beckon{0%,100%{transform:translateY(0);}50%{transform:translateY(5px);}}
@media(max-width:760px){
  .golden-hero{padding-top:88px; padding-bottom:185px;}
  .golden-hero .inner{gap:28px;}
  .golden-hero .living-cover{margin-block:8px 10px;}
  .golden-hero .living-cover::before{inset:-10px;}
  .thread-invitation{font-size:1rem; margin-top:32px;}
  .paper-arrival{height:165px;}
  .thread-line{stroke-width:1.4;}
  .thread-ghost{opacity:.04;}
  .arrival-ornament{margin-bottom:38px;}
}
@media(prefers-reduced-motion:reduce){
  .story-opening *, .story-opening *::before,.story-opening *::after{animation:none!important;transition:none!important;}
  .golden-hero .sky,.story-aura,.paper-leaf{transform:none!important;}
  .book-light{opacity:.45;}
}
@media print{
  .story-opening{background:none;overflow:visible;}
  .golden-hero{padding:24px 0;}
  .story-aura,.golden-thread,.thread-invitation,.paper-arrival,.book-light,.arrival-ornament,.whale-layer{display:none!important;}
  .golden-hero .living-cover::before,.golden-hero .living-cover::after{display:none;}
  .golden-hero .is-layered .cover-base{content:url('art/00_hero_boy_and_book.webp');}
}
