/* ============ Program Page — Genel ============ */
.page-title{ margin: 1.2rem 0 .7rem; }

/* ============ 1) Kırmızı Şerit — Saat Şeridi ============ */
.section--timestrip{
  background:
    radial-gradient(900px 360px at 12% 0%, rgba(179,18,47,.12), transparent 60%),
    radial-gradient(900px 360px at 88% 0%, rgba(247,161,174,.08), transparent 60%);
}
.timestrip{
  position: relative;
  display:grid; grid-template-columns: 1fr 12px 1fr; gap: 1rem;
  align-items:start;
  border-radius: var(--radius-2xl);
  padding: 1rem;
  background: linear-gradient(180deg, rgba(122,12,22,.22), rgba(18,16,20,.08));
  border: 1px solid rgba(247,161,174,.18);
  box-shadow: var(--shadow-soft);
}
.ribbon{
  display:block; align-self: stretch; width: 12px; border-radius: 8px;
  background: linear-gradient(180deg, rgba(247,161,174,.35), rgba(179,18,47,.35));
  filter: blur(.2px);
  position: relative;
}
.ribbon::after{
  content:""; position:absolute; inset:0; background: linear-gradient(180deg, var(--nar-200), var(--nar-500));
  transform-origin: top; transform: scaleY(0); border-radius: 8px;
  transition: transform 1s cubic-bezier(.2,.8,.2,1);
}
.reveal.in-view .ribbon::after{ transform: scaleY(1); }

.day{ display:grid; gap:.6rem; }
.day__title{ font-weight: 800; color:#ffe1e7; margin:.1rem 0; }
.slots{ list-style:none; margin:0; padding:0; display:grid; gap:.3rem; }
.slots li{ display:flex; gap:.5rem; align-items:center; }
.slots time{ font-weight:700; min-width:64px; }
.slots span{ opacity:.9; color:#f3e9ef; }
.thumb{
  margin:0; text-align:center;
  background: rgba(18,16,20,.55);
  border:1px solid rgba(247,161,174,.22);
  padding:.5rem .6rem .7rem; border-radius: 1rem;
}
.thumb figcaption{ margin-top:.35rem; color:#ffe6ea; }

@media (max-width: 880px){
  .timestrip{ grid-template-columns: 1fr; }
  .ribbon{ order:-1; height: 10px; width: 100%; }
}

/* ============ 2) Zon Panosu — Bölge Şeritleri ============ */
.section--zones{
  background:
    radial-gradient(900px 360px at 8% 0%, rgba(179,18,47,.12), transparent 60%),
    radial-gradient(900px 360px at 92% 0%, rgba(247,161,174,.08), transparent 60%);
}
.zones{ display:grid; gap: .9rem; }
.zone{
  display:grid; grid-template-columns: 10px 1fr auto; align-items:start; gap:.8rem 1rem;
  border:1px dashed rgba(247,161,174,.26);
  background: rgba(18,16,20,.45);
  padding:.7rem; border-radius: 1rem;
  box-shadow: 0 12px 32px rgba(0,0,0,.35);
}
.zone__bar{
  width:10px; border-radius: 8px; align-self: stretch;
  background: linear-gradient(180deg, rgba(247,161,174,.35), rgba(179,18,47,.35));
  filter: blur(.2px);
}
.zone__copy .t{ margin:.1rem 0 .2rem; font-weight:700; }
.zone__copy p{ margin:0; color:#f3e9ef; }
.zone__media{
  margin:0; text-align:center;
  background: rgba(18,16,20,.55);
  border:1px solid rgba(247,161,174,.22);
  padding:.45rem .5rem .6rem; border-radius: 1rem;
}
.zone__media figcaption{ margin-top:.35rem; color:#ffe6ea; }

@media (max-width: 900px){
  .zone{ grid-template-columns: 10px 1fr; }
  .zone__media{ grid-column: 1 / -1; justify-self: start; }
}

/* ============ 3) Kortej Rotası — İz Şeridi ============ */
.section--parade{
  background:
    radial-gradient(900px 360px at 16% 0%, rgba(179,18,47,.12), transparent 60%),
    radial-gradient(900px 360px at 84% 0%, rgba(247,161,174,.08), transparent 60%);
}
.trail{
  position:relative;
  display:grid; gap:.8rem;
  border-radius: var(--radius-2xl);
  padding: 1rem;
  background: linear-gradient(180deg, rgba(122,12,22,.22), rgba(18,16,20,.08));
  border:1px solid rgba(247,161,174,.18);
  box-shadow: var(--shadow-soft);
}
.trail::before{
  content:""; position:absolute; left: 20px; top: 10px; bottom: 10px; width: 2px;
  background: linear-gradient(180deg, rgba(247,161,174,.0), rgba(247,161,174,.85), rgba(179,18,47,.0));
  background-size: 100% 200%; filter: blur(.2px);
  animation: trailGlow 7s ease-in-out infinite;
}
@keyframes trailGlow{
  0%,100%{ background-position: 0% 0%; opacity:.6; }
  50%{ background-position: 0% 100%; opacity:1; }
}
.mark{
  position:relative; display:grid;
  grid-template-columns: 16px 1fr auto; align-items:start; gap:.6rem 1rem;
}
.crumb{
  width:10px; height:10px; border-radius:50%; margin-top:.35rem;
  background: radial-gradient(circle at 40% 35%, #ffd3db 0 35%, #b3122f 60% 100%);
  box-shadow: 0 0 0 10px rgba(247,161,174,.12);
}
.mark .t{ margin:.05rem 0 .2rem; font-weight:700; }
.mark .d{ margin:0; color:#f3e9ef; }
.media{
  margin:0; text-align:center;
  background: rgba(18,16,20,.55);
  border:1px solid rgba(247,161,174,.22);
  padding:.45rem .5rem .6rem; border-radius: 1rem;
}
.media figcaption{ margin-top:.35rem; color:#ffe6ea; }

@media (max-width: 860px){
  .mark{ grid-template-columns: 16px 1fr; }
  .with-media .media{ grid-column: 2 / -1; justify-self: start; }
}

/* === Mobile image consistency (перестраховка для этой страницы) === */
@media (max-width: 880px){
  .thumb img,
  .zone__media img,
  .media img{
    width: min(100%, 350px);
    max-width: 100%;
    height: auto;
    aspect-ratio: 16 / 11;
    object-fit: cover;
    display: block;
    border-radius: .8rem;
  }
}
/* ============ Общие для страницы 2 ============ */
.program-section{
  background:
    radial-gradient(900px 360px at 12% 0%, rgba(179,18,47,.10), transparent 60%),
    radial-gradient(900px 360px at 88% 0%, rgba(247,161,174,.07), transparent 60%);
}
.program-section .section__head + *{ margin-top: .6rem; }

/* ============ Bölüm 3: Program Şeması ============ */
.program-section--schedule .sched{
  display:grid; gap: 1rem;
  grid-template-columns: 1fr 1fr 1fr;
  border-radius: var(--radius-2xl);
  padding: 1rem;
  background: linear-gradient(180deg, rgba(122,12,22,.20), rgba(18,16,20,.08));
  border: 1px solid rgba(247,161,174,.18);
  box-shadow: var(--shadow-soft);
}
.sched .col{
  position:relative;
  background: rgba(18,16,20,.52);
  border: 1px solid rgba(247,161,174,.20);
  border-radius: 1rem;
  padding: .8rem .9rem;
  box-shadow: 0 10px 28px rgba(0,0,0,.3);
}
.sched .col::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:6px;
  background: linear-gradient(180deg, var(--nar-200), var(--nar-500));
  opacity:.65;
  border-top-left-radius: 1rem; border-bottom-left-radius: 1rem;
}
.sched .stage{ margin: .1rem 0 .5rem; font-weight: 700; }
.sched .slots{ list-style: none; margin:0 0 .6rem; padding:0; }
.sched .slots li{ padding:.28rem 0; display:flex; gap:.5rem; align-items:center; }
.sched .slots time{ font-weight:700; color:#ffe1e7; min-width: 64px; }
.sched .sched-media{
  margin:0; text-align:center;
  border:1px solid rgba(247,161,174,.20);
  border-radius: .9rem; padding:.45rem .5rem .6rem;
  background: rgba(18,16,20,.55);
}
.sched .sched-media figcaption{ margin-top:.35rem; color:#ffe6ea; font-size:.9rem; }

@media (max-width: 980px){
  .program-section--schedule .sched{ grid-template-columns: 1fr; }
}

/* ============ Bölüm 4: Rota Bandı ============ */
.program-section--pathband .pathband{
  position:relative;
  display:grid; gap: 1rem;
  grid-template-columns: 1fr auto 1fr auto;
  align-items:center;
  border-radius: var(--radius-2xl);
  padding: 1rem;
  background: linear-gradient(180deg, rgba(122,12,22,.20), rgba(18,16,20,.08));
  border: 1px solid rgba(247,161,174,.18);
  box-shadow: var(--shadow-soft);
}
.pathband .seed{
  position:absolute; left: 12px; top: 12px; width:10px; height:10px; border-radius:50%;
  background: radial-gradient(circle at 40% 35%, #ffd3db 0 35%, #b3122f 60% 100%);
  animation: pbRun 7s linear infinite;
}
@keyframes pbRun{
  0%{ transform: translate(0,0); }
  50%{ transform: translate(40vw, 0); }
  100%{ transform: translate(0,0); }
}
.pathband .step .t{ margin:.1rem 0 .2rem; font-weight:700; }
.pathband .step .d{ margin:0; color:#f3e9ef; }
.band-media{
  margin:0; text-align:center;
  border:1px dashed rgba(247,161,174,.26);
  border-radius: 1rem; padding:.45rem .5rem .6rem;
  background: rgba(18,16,20,.55);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.band-media:hover{
  transform: translateY(-4px) scale(1.02);
  border-color: rgba(247,161,174,.45);
  box-shadow: 0 18px 60px rgba(179,18,47,.4);
}
.band-media figcaption{ margin-top:.35rem; color:#ffe6ea; }

@media (max-width: 900px){
  .program-section--pathband .pathband{
    grid-template-columns: 1fr;
  }
  .pathband .seed{ display:none; }
}

/* ============ Bölüm 5: Servisler & İpuçları ============ */
.program-section--services .svcboard{
  display:grid; gap: 1rem;
  grid-template-columns: 1.1fr .9fr .9fr;
  align-items:start;
  border-radius: var(--radius-2xl);
  padding: 1rem;
  background: linear-gradient(180deg, rgba(122,12,22,.20), rgba(18,16,20,.08));
  border: 1px solid rgba(247,161,174,.18);
  box-shadow: var(--shadow-soft);
}
.svcboard .note{
  background: rgba(18,16,20,.50);
  border:1px dashed rgba(247,161,174,.26);
  border-radius: 1rem; padding: 1rem;
  box-shadow: 0 12px 32px rgba(0,0,0,.35);
}
.svcboard .note .t{ margin:.1rem 0 .4rem; font-weight:700; }
.svcboard .bul{ margin:.2rem 0 0; padding-left: 1rem; }

.svc-photo{
  margin:0; padding:.55rem .6rem .7rem;
  background: rgba(18,16,20,.55);
  border:1px solid rgba(247,161,174,.22);
  border-radius: 1rem;
  box-shadow: 0 12px 32px rgba(0,0,0,.35);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.svc-photo:hover{
  transform: translateY(-4px) rotate(0deg) scale(1.02);
  border-color: rgba(247,161,174,.45);
  box-shadow: 0 18px 60px rgba(179,18,47,.4);
}
.svc-photo figcaption{ margin-top:.35rem; text-align:center; color:#ffe6ea; }
.tilt-left{ transform: rotate(-1.1deg); }
.tilt-right{ transform: rotate(1.1deg); }

@media (max-width: 980px){
  .program-section--services .svcboard{ grid-template-columns: 1fr 1fr; }
  .svcboard .note{ grid-column: 1 / -1; }
}
@media (max-width: 620px){
  .program-section--services .svcboard{ grid-template-columns: 1fr; }
  .tilt-left, .tilt-right{ transform:none; }
}
/* ============ Bölüm 6: Program Mini Kartları ============ */
.program-section--minicards .minicards{
  display:grid; gap: 1rem;
  grid-template-columns: repeat(3, minmax(0,1fr));
}
.mcard{
  margin:0; padding:.7rem .8rem .85rem;
  background: rgba(18,16,20,.55);
  border: 1px solid rgba(247,161,174,.22);
  border-radius: 14px;
  position: relative;
  box-shadow: 0 12px 32px rgba(0,0,0,.35);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.mcard::before, .mcard::after{
  content:""; position:absolute; width: 18px; height: 18px;
  border: 1px solid rgba(247,161,174,.35);
  border-radius: 4px; transform: rotate(45deg);
}
.mcard::before{ left: -9px; top: -9px; }
.mcard::after{ right: -9px; bottom: -9px; }
.mcard:hover{
  transform: translateY(-4px) scale(1.02);
  border-color: rgba(247,161,174,.45);
  box-shadow: 0 18px 60px rgba(179,18,47,.4);
}
.mcard figcaption{ margin-top:.4rem; text-align:center; color:#ffe6ea; }
.mcard .t{ margin:.1rem 0 .25rem; font-weight:700; }
.mcard .d{ margin:0; color:#f3e9ef; }
.mcard--accent{
  background: linear-gradient(180deg, rgba(122,12,22,.30), rgba(18,16,20,.12));
}
@media (max-width: 980px){
  .program-section--minicards .minicards{ grid-template-columns: 1fr; }
}

/* ============ Bölüm 7: Sahne Spektrumu ============ */
.program-section--spectrum .spectrum{
  display:grid; gap: 1rem;
  grid-template-columns: 1.1fr .9fr;
  align-items: center;
  border-radius: var(--radius-2xl);
  padding: 1rem;
  background: linear-gradient(180deg, rgba(122,12,22,.20), rgba(18,16,20,.08));
  border: 1px solid rgba(247,161,174,.18);
  box-shadow: var(--shadow-soft);
}
.barbox{
  position: relative; height: 160px; border-radius: 12px; overflow:hidden;
  background: rgba(18,16,20,.55);
  border: 1px solid rgba(247,161,174,.22);
}
.bar{
  position:absolute; bottom:0; width:10px; border-radius:6px 6px 0 0;
  background: linear-gradient(180deg, var(--nar-200), var(--nar-500));
  opacity:.85;
  animation: barBeat 1.4s ease-in-out infinite;
}
.b1{ left: 18%; animation-delay: 0s; }
.b2{ left: 38%; animation-delay: .2s; }
.b3{ left: 58%; animation-delay: .4s; }
.b4{ left: 78%; animation-delay: .6s; }
@keyframes barBeat{
  0%,100%{ height: 14%; }
  50%{ height: 78%; }
}
.pulse{
  position:absolute; left:0; right:0; top:0; height:2px;
  background: linear-gradient(90deg, rgba(247,161,174,.35), rgba(179,18,47,.35));
  animation: plSweep 5s linear infinite;
}
@keyframes plSweep{ from{ transform: translateX(-40%);} to{ transform: translateX(40%);} }

.spec-side{
  display:grid; gap: 1rem;
  grid-template-columns: 1fr;
}
.spec-photo{
  margin:0; text-align:center;
  border:1px dashed rgba(247,161,174,.26);
  border-radius: 1rem; padding:.45rem .5rem .6rem;
  background: rgba(18,16,20,.55);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.spec-photo:hover{
  transform: translateY(-4px) scale(1.02);
  border-color: rgba(247,161,174,.45);
  box-shadow: 0 18px 60px rgba(179,18,47,.4);
}
.spec-photo figcaption{ margin-top:.35rem; color:#ffe6ea; }

@media (max-width: 900px){
  .program-section--spectrum .spectrum{ grid-template-columns: 1fr; }
}

/* ============ Bölüm 8: SSS Şeridi ============ */
.program-section--faq .faqband{
  display:grid; gap: 1rem;
  grid-template-columns: 1.1fr .9fr;
  align-items:start;
  border-radius: var(--radius-2xl);
  padding: 1rem;
  background: linear-gradient(180deg, rgba(122,12,22,.20), rgba(18,16,20,.08));
  border: 1px solid rgba(247,161,174,.18);
  box-shadow: var(--shadow-soft);
}
.faq-list details{
  background: rgba(18,16,20,.55);
  border: 1px solid rgba(247,161,174,.22);
  border-radius: .9rem;
  padding: .6rem .8rem;
  box-shadow: 0 10px 28px rgba(0,0,0,.28);
}
.faq-list details + details{ margin-top: .6rem; }
.faq-list summary{
  cursor: pointer; font-weight: 700; list-style: none;
}
.faq-list summary::-webkit-details-marker{ display:none; }
.faq-list details[open]{ border-color: rgba(247,161,174,.38); }
.faq-list p{ margin:.4rem 0 0; color:#f3e9ef; }

.faq-side{
  display:grid; gap: 1rem;
}
.faq-photo{
  margin:0; text-align:center;
  border:1px dashed rgba(247,161,174,.26);
  border-radius: 1rem; padding:.45rem .5rem .6rem;
  background: rgba(18,16,20,.55);
}
.faq-photo figcaption{ margin-top:.35rem; color:#ffe6ea; }

@media (max-width: 880px){
  .program-section--faq .faqband{ grid-template-columns: 1fr; }
}
/* ============ Bölüm 9: Sahne Arkası Günlük ============ */
.program-section--backstage .backstage{
  display:grid; gap: 1rem;
  grid-template-columns: 1.1fr .9fr;
  align-items:start;
  border-radius: var(--radius-2xl);
  padding: 1rem;
  background: linear-gradient(180deg, rgba(122,12,22,.20), rgba(18,16,20,.08));
  border: 1px solid rgba(247,161,174,.18);
  box-shadow: var(--shadow-soft);
}
.logcol{ display:grid; gap:.7rem; }
.log{
  background: rgba(18,16,20,.52);
  border:1px dashed rgba(247,161,174,.28);
  border-radius: 1rem; padding:.7rem .9rem;
  position:relative;
  box-shadow: 0 10px 28px rgba(0,0,0,.3);
}
.log::before{
  content:""; position:absolute; left:.6rem; top:-9px; width: 22px; height: 22px;
  border:1px solid rgba(247,161,174,.35); border-radius:4px; transform: rotate(45deg);
  background: linear-gradient(180deg, rgba(247,161,174,.25), rgba(247,161,174,.05));
}
.log .t{ margin:.05rem 0 .25rem; font-weight:700; }
.log .d{ margin:0; color:#f3e9ef; }

.bs-side{ display:grid; gap:1rem; }
.bs-photo{
  margin:0; text-align:center;
  background: rgba(18,16,20,.55);
  border:1px solid rgba(247,161,174,.22);
  border-radius: 1rem; padding:.45rem .5rem .6rem;
  position:relative; overflow:hidden;
  box-shadow: 0 12px 32px rgba(0,0,0,.35);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.bs-photo::before{
  /* kağıt bandı */
  content:""; position:absolute; left: 18%; top:-10px; width:64%; height:18px;
  background: linear-gradient(180deg, rgba(247,161,174,.35), rgba(247,161,174,.1));
  border-radius: 4px; filter: blur(.2px);
}
.bs-photo:hover{
  transform: translateY(-4px) scale(1.02);
  border-color: rgba(247,161,174,.45);
  box-shadow: 0 18px 60px rgba(179,18,47,.4);
}
.bs-photo figcaption{ margin-top:.35rem; color:#ffe6ea; }
.tilt-left{ transform: rotate(-1.1deg); }
.tilt-right{ transform: rotate(1.1deg); }

@media (max-width: 920px){
  .program-section--backstage .backstage{ grid-template-columns: 1fr; }
  .tilt-left, .tilt-right{ transform:none; }
}

/* ============ Bölüm 10: Lezzet Dizilimi ============ */
.program-section--flavors .flavors{
  display:grid; gap: 1rem;
  grid-template-columns: 1.1fr .9fr;
  align-items:center;
  border-radius: var(--radius-2xl);
  padding: 1rem;
  background: linear-gradient(180deg, rgba(122,12,22,.20), rgba(18,16,20,.08));
  border: 1px solid rgba(247,161,174,.18);
  box-shadow: var(--shadow-soft);
}
.wheelbox{ display:grid; gap:.8rem; justify-items:center; }
.wheel{
  width: 260px; aspect-ratio: 1/1; border-radius: 50%;
  background:
    conic-gradient(from -10deg,
      rgba(247,161,174,.85) 0 30%,
      rgba(179,18,47,.85) 30% 68%,
      rgba(122,12,22,.85) 68% 100%);
  box-shadow: inset 0 0 30px rgba(0,0,0,.35), 0 12px 32px rgba(0,0,0,.35);
  position: relative; overflow:hidden;
}
.wheel .dot{
  position:absolute; width:10px; height:10px; border-radius:50%;
  background:#fff; mix-blend-mode: screen; opacity:.9;
  animation: orbit 6s ease-in-out infinite;
}
.wheel .d1{ left:52%; top:10%; }
.wheel .d2{ left:78%; top:46%; animation-delay: .2s; }
.wheel .d3{ left:30%; top:76%; animation-delay: .4s; }
@keyframes orbit{
  0%,100%{ transform: translate(-50%,-50%) scale(1); }
  50%{ transform: translate(-50%,-50%) scale(1.25); }
}
.legend{ list-style:none; margin:0; padding:0; display:grid; gap:.35rem; }
.legend li{ display:flex; gap:.5rem; align-items:center; }
.sw{ width:14px; height:14px; border-radius:50%; display:inline-block; }
.sw1{ background: rgba(247,161,174,.85); }
.sw2{ background: rgba(179,18,47,.85); }
.sw3{ background: rgba(122,12,22,.85); }

.flv-side{ display:grid; gap:1rem; }
.flv-photo{
  margin:0; text-align:center;
  border:1px dashed rgba(247,161,174,.26);
  border-radius: 1rem; padding:.45rem .5rem .6rem;
  background: rgba(18,16,20,.55);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.flv-photo:hover{
  transform: translateY(-4px) scale(1.02);
  border-color: rgba(247,161,174,.45);
  box-shadow: 0 18px 60px rgba(179,18,47,.4);
}
.flv-photo figcaption{ margin-top:.35rem; color:#ffe6ea; }

@media (max-width: 900px){
  .program-section--flavors .flavors{ grid-template-columns: 1fr; }
}

/* ============ Bölüm 11: Harita İpuçları ============ */
.program-section--maptips .maptips{
  display:grid; gap: 1rem;
  grid-template-columns: 1.1fr .9fr;
  align-items:start;
  border-radius: var(--radius-2xl);
  padding: 1rem;
  background: linear-gradient(180deg, rgba(122,12,22,.20), rgba(18,16,20,.08));
  border: 1px solid rgba(247,161,174,.18);
  box-shadow: var(--shadow-soft);
}
.tips{
  margin:0; padding-left:1rem;
  background: rgba(18,16,20,.52);
  border:1px dashed rgba(247,161,174,.28);
  border-radius: 1rem; padding: .8rem 1rem;
  box-shadow: 0 10px 28px rgba(0,0,0,.3);
}
.tips li{ margin:.35rem 0; }
.tips strong{
  display:inline-grid; place-items:center; width:20px; height:20px;
  border-radius:50%; color:#181016; font-weight:700;
  background: radial-gradient(circle at 40% 35%, #ffd3db 0 35%, #b3122f 60% 100%);
  box-shadow: 0 0 0 8px rgba(247,161,174,.12);
  margin-right:.4rem;
}

.pins{ display:grid; gap:1rem; grid-template-columns: 1fr 1fr; }
.pin-card{
  margin:0; text-align:center; position:relative; overflow:hidden;
  background: rgba(18,16,20,.55);
  border:1px solid rgba(247,161,174,.22);
  border-radius: 1rem; padding:.45rem .5rem .6rem;
  box-shadow: 0 12px 32px rgba(0,0,0,.35);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.pin-card:hover{
  transform: translateY(-4px) scale(1.02);
  border-color: rgba(247,161,174,.45);
  box-shadow: 0 18px 60px rgba(179,18,47,.4);
}
.pin-badge{
  position:absolute; left: 12px; top: 12px;
  width:18px; height:18px; border-radius:50%;
  display:grid; place-items:center; font-weight:700; color:#181016;
  background: radial-gradient(circle at 40% 35%, #ffd3db 0 35%, #b3122f 60% 100%);
  animation: pinPulse 2.2s ease-in-out infinite;
}
@keyframes pinPulse{
  0%,100%{ box-shadow: 0 0 0 8px rgba(247,161,174,.12); }
  50%{ box-shadow: 0 0 0 12px rgba(247,161,174,.22); }
}
.pin-card figcaption{ margin-top:.35rem; color:#ffe6ea; }

@media (max-width: 900px){
  .program-section--maptips .maptips{ grid-template-columns: 1fr; }
  .pins{ grid-template-columns: 1fr; }
  .tilt-left, .tilt-right{ transform:none; }
}
/* ============ Bölüm 12: Atölye Akışı — Basamaklı Çizgi ============ */
.program-section--ladder .ladder{
  position:relative;
  display:grid; gap: 1rem;
  grid-template-columns: 1fr .9fr;
  align-items:start;
  border-radius: var(--radius-2xl);
  padding: 1rem;
  background: linear-gradient(180deg, rgba(122,12,22,.20), rgba(18,16,20,.08));
  border: 1px solid rgba(247,161,174,.18);
  box-shadow: var(--shadow-soft);
}
.program-section--ladder .ladder::before{
  content:""; position:absolute; left: 22px; top: 12px; bottom: 12px; width: 2px;
  background: linear-gradient(180deg, rgba(247,161,174,.0), rgba(247,161,174,.85), rgba(179,18,47,.0));
  filter: blur(.2px);
}
.rung{
  background: rgba(18,16,20,.52);
  border:1px dashed rgba(247,161,174,.28);
  border-radius: 1rem; padding:.75rem .9rem .8rem .9rem;
  box-shadow: 0 10px 28px rgba(0,0,0,.3);
  position:relative;
}
.rung .dot{
  position:absolute; left: 15px; top: 14px; width: 12px; height:12px; border-radius:50%;
  background: radial-gradient(circle at 40% 35%, #ffd3db 0 35%, #b3122f 60% 100%);
  box-shadow: 0 0 0 10px rgba(247,161,174,.12);
}
.rung .t{ margin:.05rem 0 .25rem; font-weight:700; }
.rung .d{ margin:0; color:#f3e9ef; }
.rung--media{
  margin:0; text-align:center; align-self:center;
  background: rgba(18,16,20,.55);
  border:1px solid rgba(247,161,174,.22);
  border-radius: 1rem; padding:.45rem .5rem .6rem;
  box-shadow: 0 12px 32px rgba(0,0,0,.35);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.rung--media:hover{
  transform: translateY(-4px) scale(1.02);
  border-color: rgba(247,161,174,.45);
  box-shadow: 0 18px 60px rgba(179,18,47,.4);
}
.rung--media figcaption{ margin-top:.35rem; color:#ffe6ea; }

@media (max-width: 920px){
  .program-section--ladder .ladder{ grid-template-columns: 1fr; }
  .program-section--ladder .ladder::before{ display:none; }
}

/* ============ Bölüm 13: Ses Kontrol Odası — Ekipman Vitrini ============ */
.program-section--gear .geargrid{
  position:relative;
  display:grid; gap: 1rem;
  grid-template-columns: 1.1fr .9fr;
  align-items:start;
  border-radius: var(--radius-2xl);
  padding: 1rem;
  background: linear-gradient(180deg, rgba(122,12,22,.20), rgba(18,16,20,.08));
  border: 1px solid rgba(247,161,174,.18);
  box-shadow: var(--shadow-soft);
}
.gearcopy{
  background: rgba(18,16,20,.50);
  border:1px solid rgba(247,161,174,.22);
  border-radius: 1rem; padding: .9rem 1rem;
  box-shadow: 0 10px 28px rgba(0,0,0,.3);
}
.gear-photo{
  margin:0; text-align:center; position:relative; overflow:hidden;
  background: rgba(18,16,20,.55);
  border:1px dashed rgba(247,161,174,.26);
  border-radius: 1rem; padding:.45rem .5rem .6rem;
  box-shadow: 0 12px 32px rgba(0,0,0,.35);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.gear-photo:hover{
  transform: translateY(-4px) rotate(0deg) scale(1.02);
  border-color: rgba(247,161,174,.45);
  box-shadow: 0 18px 60px rgba(179,18,47,.4);
}
.gear-photo figcaption{ margin-top:.35rem; color:#ffe6ea; }
.tilt-left{ transform: rotate(-1.1deg); }
.tilt-right{ transform: rotate(1.1deg); }

@media (max-width: 900px){
  .program-section--gear .geargrid{ grid-template-columns: 1fr; }
  .tilt-left, .tilt-right{ transform:none; }
}

/* ============ Bölüm 14: Kortej Hazırlığı — Şeritli Mini Rehber ============ */
.program-section--parade .paradeband{
  position:relative;
  display:grid; gap: 1rem;
  grid-template-columns: 1fr .9fr 1fr;
  align-items:center;
  border-radius: var(--radius-2xl);
  padding: 1rem 1rem 1.2rem;
  background: linear-gradient(180deg, rgba(122,12,22,.20), rgba(18,16,20,.08));
  border: 1px solid rgba(247,161,174,.18);
  box-shadow: var(--shadow-soft);
}
.paradeband .ribbon{
  position:absolute; left: 0; right: 0; top: 14px; height: 10px;
  background:
    linear-gradient(90deg, rgba(247,161,174,.35), rgba(179,18,47,.35));
  filter: blur(.2px);
  clip-path: polygon(0 0, 98% 0, 100% 100%, 2% 100%);
}
.p-card{
  margin:0; text-align:center; position:relative; overflow:hidden;
  background: rgba(18,16,20,.55);
  border:1px solid rgba(247,161,174,.22);
  border-radius: 1rem; padding:.45rem .5rem .6rem;
  box-shadow: 0 12px 32px rgba(0,0,0,.35);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.p-card:hover{
  transform: translateY(-4px) scale(1.02);
  border-color: rgba(247,161,174,.45);
  box-shadow: 0 18px 60px rgba(179,18,47,.4);
}
.p-card figcaption{ margin-top:.35rem; color:#ffe6ea; }
.p-card--left{ grid-column: 1; transform: rotate(-.8deg); }
.p-card--right{ grid-column: 3; transform: rotate(.8deg); }

.p-step{
  background: rgba(18,16,20,.50);
  border:1px dashed rgba(247,161,174,.26);
  border-radius: 1rem; padding:.8rem .9rem;
  box-shadow: 0 10px 28px rgba(0,0,0,.3);
  text-align:center;
}

@media (max-width: 960px){
  .program-section--parade .paradeband{ grid-template-columns: 1fr; }
  .paradeband .ribbon{ display:none; }
  .p-card--left, .p-card--right{ transform:none; }
}
/* ============ Bölüm 15: Kuyruk Metre ============ */
.program-section--queue .queueband{
  display:grid; gap: 1rem;
  grid-template-columns: 1.1fr .9fr .9fr;
  align-items:center;
  border-radius: var(--radius-2xl);
  padding: 1rem;
  background: linear-gradient(180deg, rgba(122,12,22,.20), rgba(18,16,20,.08));
  border: 1px solid rgba(247,161,174,.18);
  box-shadow: var(--shadow-soft);
}
.qm-line{
  position:relative; height: 16px; border-radius: 999px; overflow:hidden;
  background: rgba(18,16,20,.55); border:1px solid rgba(247,161,174,.22);
}
.qm-fill{
  position:absolute; left:0; top:0; bottom:0; width: 60%;
  background: linear-gradient(90deg, rgba(247,161,174,.85), rgba(179,18,47,.85));
  filter: saturate(1.1);
  animation: qmBreath 3.8s ease-in-out infinite;
}
@keyframes qmBreath{
  0%,100%{ width: 58%; }
  50%{ width: 82%; }
}
.qm-dot{
  position:absolute; top:50%; transform: translateY(-50%);
  left: 60%; width: 18px; height: 18px; border-radius:50%;
  background: radial-gradient(circle at 40% 35%, #ffd3db 0 35%, #b3122f 60% 100%);
  box-shadow: 0 0 0 10px rgba(247,161,174,.12);
  animation: qmDot 3.8s ease-in-out infinite;
}
@keyframes qmDot{
  0%,100%{ left: 58%; }
  50%{ left: 82%; }
}
.qm-photo{
  margin:0; text-align:center;
  border:1px dashed rgba(247,161,174,.26);
  border-radius: 1rem; padding:.45rem .5rem .6rem;
  background: rgba(18,16,20,.55);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.qm-photo:hover{
  transform: translateY(-4px) scale(1.02);
  border-color: rgba(247,161,174,.45);
  box-shadow: 0 18px 60px rgba(179,18,47,.4);
}
.qm-photo figcaption{ margin-top:.35rem; color:#ffe6ea; }

@media (max-width: 980px){
  .program-section--queue .queueband{ grid-template-columns: 1fr; }
}

/* ============ Bölüm 16: Hava & Gölge Planı ============ */
.program-section--weather .weathergrid{
  display:grid; gap: 1rem;
  grid-template-columns: 1.1fr .9fr;
  align-items:center;
  border-radius: var(--radius-2xl);
  padding: 1rem;
  background: linear-gradient(180deg, rgba(122,12,22,.20), rgba(18,16,20,.08));
  border: 1px solid rgba(247,161,174,.18);
  box-shadow: var(--shadow-soft);
}
.dialbox{ display:grid; gap:.8rem; justify-items:center; }
.dial{
  width: 240px; aspect-ratio:1/1; border-radius:50%; position:relative; overflow:hidden;
  background: radial-gradient(circle at 50% 50%, rgba(255,255,255,.06), transparent 50%),
              conic-gradient(from -90deg, rgba(255,255,255,.06), rgba(255,255,255,0));
  border:1px solid rgba(247,161,174,.25);
  box-shadow: inset 0 0 30px rgba(0,0,0,.35), 0 12px 32px rgba(0,0,0,.35);
}
.arc{
  position:absolute; inset: 6%; border-radius:50%;
  mask: conic-gradient(#000 0 35%, transparent 35% 100%);
  background: conic-gradient(from -50deg, rgba(247,161,174,.8), rgba(179,18,47,.8));
  opacity:.75;
}
.arc--am{ transform: rotate(-20deg); }
.arc--pm{ transform: rotate(120deg); }
.hand{
  position:absolute; left:50%; top:50%; width: 40%; height:2px;
  background: rgba(247,161,174,.9); transform-origin:left center;
  animation: handSwing 10s ease-in-out infinite;
}
@keyframes handSwing{
  0%,100%{ transform: translate(-50%,-50%) rotate(-30deg); }
  50%{ transform: translate(-50%,-50%) rotate(30deg); }
}
.legend{ list-style:none; margin:0; padding:0; display:grid; gap:.35rem; }
.legend li{ display:flex; gap:.5rem; align-items:center; }
.sw{ width:14px; height:14px; border-radius:50%; display:inline-block; }
.sw-am{ background: rgba(247,161,174,.85); }
.sw-pm{ background: rgba(179,18,47,.85); }

.w-side{ display:grid; gap:1rem; }
.w-photo{
  margin:0; text-align:center;
  border:1px dashed rgba(247,161,174,.26);
  border-radius: 1rem; padding:.45rem .5rem .6rem;
  background: rgba(18,16,20,.55);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.w-photo:hover{
  transform: translateY(-4px) scale(1.02);
  border-color: rgba(247,161,174,.45);
  box-shadow: 0 18px 60px rgba(179,18,47,.4);
}
.w-photo figcaption{ margin-top:.35rem; color:#ffe6ea; }

@media (max-width: 900px){
  .program-section--weather .weathergrid{ grid-template-columns: 1fr; }
}

/* ============ Bölüm 17: Erişilebilirlik & Aile Alanı ============ */
.program-section--a11y .a11yboard{
  display:grid; gap: 1rem;
  grid-template-columns: 1.1fr .9fr .9fr;
  align-items:start;
  border-radius: var(--radius-2xl);
  padding: 1rem;
  background: linear-gradient(180deg, rgba(122,12,22,.20), rgba(18,16,20,.08));
  border: 1px solid rgba(247,161,174,.18);
  box-shadow: var(--shadow-soft);
}
.a11y-note{
  background: rgba(18,16,20,.50);
  border:1px dashed rgba(247,161,174,.26);
  border-radius: 1rem; padding:.9rem 1rem;
  box-shadow: 0 10px 28px rgba(0,0,0,.3);
  position:relative;
}
.a11y-note::before{
  content:""; position:absolute; left: 18%; top:-10px; width:64%; height:18px;
  background: linear-gradient(180deg, rgba(247,161,174,.35), rgba(247,161,174,.1));
  border-radius: 4px; filter: blur(.2px);
}
.a11y-photo{
  margin:0; text-align:center; position:relative; overflow:hidden;
  background: rgba(18,16,20,.55);
  border:1px solid rgba(247,161,174,.22);
  border-radius: 1rem; padding:.45rem .5rem .6rem;
  box-shadow: 0 12px 32px rgba(0,0,0,.35);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.a11y-photo:hover{
  transform: translateY(-4px) rotate(0deg) scale(1.02);
  border-color: rgba(247,161,174,.45);
  box-shadow: 0 18px 60px rgba(179,18,47,.4);
}
.a11y-photo figcaption{ margin-top:.35rem; color:#ffe6ea; }
.tilt-left{ transform: rotate(-1.1deg); }
.tilt-right{ transform: rotate(1.1deg); }

@media (max-width: 980px){
  .program-section--a11y .a11yboard{ grid-template-columns: 1fr; }
  .tilt-left, .tilt-right{ transform:none; }
}
