/* ===== Belentepe Story — scrollytelling ===== */

.story-progress { position: fixed; top:0; left:0; height:4px; width:0; background: linear-gradient(90deg,var(--leaf),var(--leaf-2)); z-index:60; transition: width .1s linear; }

/* chapter timeline dots */
.timeline { position: fixed; right: 22px; top:50%; transform:translateY(-50%); z-index:45; display:flex; flex-direction:column; gap:14px; }
.timeline a { width:11px; height:11px; border-radius:50%; background: rgba(255,255,255,.45); border:2px solid rgba(255,255,255,.7); transition:.3s; }
.timeline a.active { background: var(--leaf-2); border-color:#fff; transform: scale(1.35); }
@media (max-width: 860px){ .timeline{ display:none; } }

.chapter {
  position: relative; min-height: 100svh; display:flex; align-items:center;
  color:#fff; overflow:hidden;
}
.chapter .bg {
  position:absolute; inset:-12% 0; background-size:cover; background-position:center;
  will-change: transform;
}
.chapter .bg::after { content:""; position:absolute; inset:0;
  background: linear-gradient(110deg, rgba(15,28,8,.78) 0%, rgba(15,28,8,.5) 45%, rgba(15,28,8,.25) 100%); }
.chapter.flip .bg::after { background: linear-gradient(250deg, rgba(15,28,8,.78) 0%, rgba(15,28,8,.5) 45%, rgba(15,28,8,.25) 100%); }
.chapter .wrap { position:relative; z-index:2; width:100%; max-width:var(--maxw); margin:0 auto; padding: 120px 24px; }
.chapter .panel { max-width: 620px; }
.chapter.flip .panel { margin-left:auto; }

.chapter .yr { font-family:var(--head); font-size: clamp(3rem,9vw,7rem); color: var(--leaf-2); line-height:.9; opacity:.9; margin-bottom:.1em; text-shadow:0 4px 30px rgba(0,0,0,.4); }
.chapter h2 { color:#fff; font-size: clamp(1.9rem,4.6vw,3.4rem); text-shadow:0 3px 24px rgba(0,0,0,.4); }
.chapter p { font-size: clamp(1.05rem,2.1vw,1.35rem); color: rgba(255,255,255,.94); text-shadow:0 2px 16px rgba(0,0,0,.5); max-width: 56ch; }
.chapter .step { font-family:var(--head); letter-spacing:.2em; font-size:.78rem; text-transform:uppercase; color: var(--leaf-2); margin-bottom:1em; display:block; }

/* reveal inside chapters */
.chapter .panel > * { opacity:0; transform: translateY(40px); transition: opacity .9s ease, transform .9s ease; }
.chapter.in .panel > * { opacity:1; transform:none; }
.chapter.in .panel > *:nth-child(2){ transition-delay:.12s }
.chapter.in .panel > *:nth-child(3){ transition-delay:.24s }
.chapter.in .panel > *:nth-child(4){ transition-delay:.36s }

/* intro */
.story-intro { text-align:center; }
.story-intro .panel { max-width:820px; margin:0 auto; }
.story-intro p { margin-left:auto; margin-right:auto; }

/* hummingbird parable panel */
.parable { background: var(--forest); color:#fff; text-align:center; }
.parable .container { max-width: 820px; }
.parable .mark { font-family:var(--head); font-size:4rem; color:var(--leaf-2); line-height:1; }
.parable blockquote { font-family:var(--head); font-size: clamp(1.4rem,3.2vw,2.2rem); line-height:1.3; margin:.4em 0 .6em; }
.parable p { color: rgba(255,255,255,.86); }

/* closing CTA */
.story-cta { text-align:center; }
.story-cta .panel{ max-width:760px; margin:0 auto; }
.story-cta .cta-row{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top:26px; }

@media (prefers-reduced-motion: reduce){
  .chapter .bg{ inset:0; transform:none !important; }
  .chapter .panel > *{ opacity:1; transform:none; transition:none; }
}

/* ===== reusable YouTube playlist gallery (.yt-gallery) ===== */
.yt-gallery{margin:0 auto}
.ytwrap{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:#000;line-height:0}
.ytwrap iframe,.ytwrap>div{display:block;width:100%;height:auto;aspect-ratio:16/9;border:0}
.ytlist{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}
.ytlist button{border:0;padding:0;background:none;cursor:pointer;border-radius:10px;overflow:hidden;position:relative;box-shadow:var(--shadow);line-height:0}
.ytlist img{width:100%;display:block;aspect-ratio:16/9;object-fit:cover;transition:transform .3s ease}
.ytlist button:hover img{transform:scale(1.06)}
.ytlist button.active{outline:3px solid var(--leaf);outline-offset:-3px}
.ytlist button::after{content:"";position:absolute;inset:0;background:rgba(20,35,12,0);transition:.3s}
.ytlist button.active::after{background:rgba(46,74,28,.18)}
@media(max-width:860px){.ytlist{grid-template-columns:repeat(3,1fr)}}
@media(max-width:520px){.ytlist{grid-template-columns:repeat(2,1fr)}}
