/* v2 — angel-led bedtime story. Loads after site.css. */
.v2-hero { position:relative; min-height:100vh; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:120px 24px 90px; overflow:hidden;
  background:radial-gradient(125% 100% at 50% 2%, #34245c 0%, #1c1238 42%, var(--night) 84%); }
.v2-hero h1 { font-size:clamp(44px,7vw,88px); }
.v2-hero .ba-lead { max-width:560px; margin:26px auto 0; }
.v2-angel-hero { position:relative; width:clamp(200px,24vw,300px); z-index:3; }
.v2-angel-hero img { width:100%; filter:drop-shadow(0 30px 60px rgba(40,20,80,0.75)); animation:ba-gfloat 8s ease-in-out infinite; }
.v2-halo-glow { position:absolute; left:50%; top:38%; width:130%; aspect-ratio:1; transform:translate(-50%,-50%); border-radius:50%; pointer-events:none;
  background:radial-gradient(circle, rgba(230,180,220,0.35) 0%, rgba(176,146,236,0.18) 42%, rgba(176,146,236,0) 68%); animation:ba-breathe 7s ease-in-out infinite; }
.v2-said { font-family:var(--serif); font-style:italic; font-size:15px; color:var(--lav); letter-spacing:0.04em; }

/* night timeline */
.v2-night { position:relative; background:linear-gradient(180deg, var(--night) 0%, #150d2c 30%, #1c1238 55%, #241946 78%, #3a2d5e 94%, #6b5590 100%); overflow:hidden; }
.v2-line { position:absolute; left:50%; top:0; bottom:0; width:1px; background:repeating-linear-gradient(180deg, rgba(199,178,242,0.35) 0 4px, transparent 4px 12px); z-index:1; }
.v2-scene { position:relative; z-index:2; display:grid; grid-template-columns:1fr 150px 1fr; align-items:center; gap:0; max-width:1160px; margin:0 auto; padding:clamp(60px,8vw,110px) 32px; }
.v2-time { grid-column:2; justify-self:center; display:flex; flex-direction:column; align-items:center; gap:10px; }
.v2-time .t { font-family:var(--serif); font-size:19px; color:var(--moon); white-space:nowrap; background:var(--night-2); border:1px solid rgba(199,178,242,0.3); border-radius:100px; padding:9px 18px; box-shadow:0 0 30px rgba(120,86,196,0.35); }
.v2-copy { max-width:400px; }
.v2-copy.left { grid-column:1; justify-self:end; text-align:right; grid-row:1; padding-right:28px; }
.v2-copy.right { grid-column:3; justify-self:start; text-align:left; grid-row:1; padding-left:28px; }
.v2-copy h3 { font-family:var(--serif); font-weight:500; font-size:clamp(28px,3.4vw,40px); color:var(--moon); margin:0 0 14px; line-height:1.08; }
.v2-copy p { font-size:15.5px; line-height:1.7; color:var(--muted); margin:0; }
.v2-art { grid-row:1; align-self:center; position:relative; }
.v2-art.left { grid-column:1; justify-self:end; padding-right:28px; }
.v2-art.right { grid-column:3; justify-self:start; padding-left:28px; }
.v2-art img.angel { width:clamp(120px,15vw,190px); filter:drop-shadow(0 20px 40px rgba(40,20,80,0.7)); }
.v2-art .bottle { position:absolute; left:50%; bottom:4%; transform:translateX(-50%); width:78%; filter:drop-shadow(0 20px 36px rgba(20,10,50,0.6)); animation:ba-floatc 8s ease-in-out infinite; }
.v2-bottlecard { position:relative; width:clamp(170px,19vw,240px); aspect-ratio:3/4.3; border-radius:120px 120px 22px 22px; overflow:hidden; border:1px solid rgba(199,178,242,0.25); background:radial-gradient(120% 80% at 50% 16%, #3a2866 0%, #1a1138 55%, #100a24 100%); box-shadow:0 24px 50px rgba(20,10,50,0.5), inset 0 0 40px rgba(120,86,196,0.16); }
.v2-chips { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.v2-copy.left .v2-chips { justify-content:flex-end; }
.v2-chips span { font-size:12px; letter-spacing:0.06em; color:var(--muted); border:1px solid var(--line); background:rgba(10,6,22,0.4); border-radius:100px; padding:7px 13px; }
.v2-chips b { color:var(--lav); font-weight:700; }
.v2-morning { background:linear-gradient(180deg, rgba(107,85,144,0) 0%, #6b5590 26%, #9a7fb8 68%, #c2a8d2 100%); }
.v2-morning .v2-copy h3, .v2-morning .v2-time .t { color:#fff7ee; }
.v2-morning .v2-say { color:#241946; }
.v2-morning .v2-say::before, .v2-morning .v2-say::after { color:#3a2d5e; }
.v2-morning .v2-copy p:not(.v2-say) { color:#2c2150; }

/* speech-style narration blocks */
.v2-say { font-family:var(--serif); font-style:italic; font-size:clamp(19px,2vw,23px); line-height:1.5; color:#dfd3fa; margin:0 0 12px; }
.v2-say::before { content:"“"; color:var(--lav); }
.v2-say::after { content:"”"; color:var(--lav); }

/* angel poses */
.v2-tilt-l { transform:rotate(-7deg); }
.v2-tilt-r { transform:rotate(7deg) scaleX(-1); }
.v2-peek { animation:v2-peek 9s ease-in-out infinite; }
@keyframes v2-peek { 0%,100%{transform:translateY(0) rotate(-5deg)} 50%{transform:translateY(-14px) rotate(4deg)} }

@media (max-width: 860px) {
  .v2-scene { grid-template-columns:56px 1fr; padding:56px 20px; }
  .v2-line { left:48px; }
  .v2-time { grid-column:1; grid-row:1; align-self:start; }
  .v2-copy.left, .v2-copy.right { grid-column:2; grid-row:1; justify-self:start; text-align:left; }
  .v2-copy.left .v2-chips { justify-content:flex-start; }
  .v2-art.left, .v2-art.right { grid-column:2; grid-row:2; justify-self:start; margin-top:24px; }
}
