/* BYPLAN Story section (insert between #for and #deliverables) */

.section--story{
  position: relative;
  overflow: hidden;
  padding: clamp(56px, 7vw, 92px) 0;

  /* Dark-but-warm “volume” background */
  background:
    radial-gradient(900px 520px at 18% 22%, rgba(255,255,255,.14), rgba(255,255,255,0) 62%),
    radial-gradient(780px 560px at 82% 78%, rgba(196, 140, 110, .18), rgba(196, 140, 110, 0) 62%),
    linear-gradient(180deg, rgba(22, 22, 23, .92), rgba(18, 18, 19, .92));
  color: rgba(255,255,255,.92);
}

.section--story:before{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .22;
  background:
    radial-gradient(circle at 12% 20%, rgba(255,255,255,.65), rgba(255,255,255,0) 40%),
    radial-gradient(circle at 70% 70%, rgba(255,255,255,.18), rgba(255,255,255,0) 52%);
  mix-blend-mode: overlay;
}

.section--story .muted{ color: rgba(255,255,255,.72); }
.section--story a{ color: rgba(255,255,255,.92); }

.section--story .badge{
  background: rgba(255,255,255,.10);
  border-color: rgba(255,255,255,.18);
  color: rgba(255,255,255,.88);
}

.story-head h2{
  margin: 12px 0 10px;
  letter-spacing: -.02em;
}

.story-grid{
  position: relative;
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 22px;
  align-items: start;
  margin-top: 22px;
}

@media (max-width: 980px){
  .story-grid{ grid-template-columns: 1fr; }
}

/* Glass card base */
.story-card,
.story-plan,
.story-quote{
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: calc(var(--radius) + 6px);
  box-shadow: 0 26px 80px rgba(0,0,0,.36);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}

.story-media{
  display: grid;
  gap: 16px;
}

.story-plan{ padding: 14px; }

.story-plan__tabs{ display:flex; gap: 10px; margin: 0 0 12px; }

.story-pill{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.86);
  font-weight: 700;
  cursor: pointer;
  transition: transform .18s ease, background .18s ease, border-color .18s ease, opacity .18s ease;
}

.story-pill:hover{ transform: translateY(-1px); background: rgba(255,255,255,.12); }

.story-pill.is-active{
  background: rgba(255,255,255,.92);
  color: rgba(10,10,10,.90);
  border-color: rgba(255,255,255,.92);
}

.story-plan__frame{
  position: relative;
  border-radius: calc(var(--radius) + 4px);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  aspect-ratio: 4 / 3;
}

.story-plan__img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.story-plan__caption{ margin-top: 10px; font-size: .95rem; }

.story-quote{
  padding: 16px 18px;
  border-left: 1px solid rgba(255,255,255,.20);
}

.story-quote p{
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.55;
}

.story-quote footer{
  margin-top: 10px;
  font-size: .95rem;
}

.story-card{ padding: 16px 18px; }

.story-stepper{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 14px;
}

.story-step{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.86);
  cursor: pointer;
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}

.story-step:hover{ transform: translateY(-1px); background: rgba(255,255,255,.10); }

.story-step.is-active{
  background: rgba(255,255,255,.92);
  border-color: rgba(255,255,255,.92);
  color: rgba(10,10,10,.92);
}

.story-step__num{
  width: 26px;
  height: 26px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-weight: 800;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.16);
}

.story-step.is-active .story-step__num{
  background: rgba(10,10,10,.10);
  border-color: rgba(10,10,10,.10);
}

.story-step__label{ font-weight: 800; }

.story-panel{
  padding: 16px 0 2px;
}

.story-panel__kicker{
  font-size: .92rem;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: rgba(255,255,255,.62);
}

.story-panel h3{
  margin: 10px 0 8px;
  letter-spacing: -.02em;
}

.story-panel p{
  margin: 0;
  color: rgba(255,255,255,.82);
  line-height: 1.6;
}

.story-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 16px;
}

/* Buttons in dark section */
.section--story .btn--ghost{
  background: rgba(255,255,255,.10);
  border-color: rgba(255,255,255,.20);
  color: rgba(255,255,255,.88);
}
.section--story .btn--ghost:hover{ background: rgba(255,255,255,.14); }

.section--story .btn--primary{
  background: rgba(255,255,255,.92);
  color: rgba(10,10,10,.92);
}
.section--story .btn--primary:hover{ opacity: .92; }

.story-note{ margin: 14px 0 0; font-size: .95rem; color: rgba(255,255,255,.68); }

/* Reveal animation (optional, JS adds .is-in) */
.section--story .story-media,
.section--story .story-card{
  opacity: 0;
  transform: translateY(14px);
  transition: opacity .55s ease, transform .55s ease;
}

.section--story.is-in .story-media,
.section--story.is-in .story-card{
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce){
  .story-pill,
  .story-step,
  .section--story .story-media,
  .section--story .story-card{
    transition: none !important;
  }
}
