/* Ginger Phoenix Comedy — project & program components
   (loaded after styles.css on pages that need them) */

/* "More than stand-up" project cards */
.program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:2.2rem}
@media(max-width:900px){.program-grid{grid-template-columns:1fr}}
.program-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.8rem 1.6rem;display:flex;flex-direction:column;gap:.8rem;transition:transform .25s ease,box-shadow .25s ease}
.program-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px -18px rgba(30,26,22,.25)}
.program-card h3{font-size:1.35rem}
.program-card p{color:var(--ink-soft);flex:1}
.program-card .pc-cta{font-weight:600;font-size:.85rem;letter-spacing:.14em;text-transform:uppercase}
.program-card.is-featured{background:var(--ink);color:var(--ivory);border-color:var(--ink)}
.program-card.is-featured p{color:#CFC6B8}
.program-card.is-featured .pc-cta{color:#F0B429}
.program-card .pc-badge{position:absolute;top:-.7rem;right:1.2rem;background:#F0B429;color:var(--ink);font-size:.62rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;padding:.3rem .7rem;border-radius:999px}

/* Ginger Makes Friends band */
.gmf-band{position:relative;overflow:hidden}
.gmf-band .h-display{margin:.4rem 0 1rem}
.gmf-band .lede{max-width:44rem}
.gmf-band .btn-row{margin-top:1.8rem}
.gmf-note{margin-top:1.1rem;font-size:.9rem;color:#CFC6B8;font-style:italic}

/* Project page hero */
.project-hero{padding:clamp(3.5rem,8vw,6rem) 0 clamp(2.5rem,6vw,4rem)}
.project-hero .h-display{max-width:16ch}
.project-hero .lede{max-width:46rem;margin-top:1.2rem}

/* FAQ */
.faq{max-width:46rem}
.faq details{border-bottom:1px solid var(--line);padding:1.1rem 0}
.faq summary{cursor:pointer;font-family:var(--display);font-size:1.15rem;font-weight:560;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.faq summary::after{content:"+";font-size:1.4rem;color:var(--accent);transition:transform .2s ease}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin-top:.8rem;color:var(--ink-soft)}

/* Big participation panel */
.join-panel{background:var(--accent);color:var(--ivory);border-radius:18px;padding:clamp(2rem,5vw,3.5rem);text-align:center}
.join-panel h2{color:var(--ivory)}
.join-panel .lede{color:#F6E3E5;margin:1rem auto 0;max-width:34rem}
.join-panel .btn-row{justify-content:center;margin-top:1.6rem}
.join-panel .btn{border-color:var(--ivory);color:var(--ivory)}
.join-panel .btn-solid{background:var(--ivory);color:var(--accent);border-color:var(--ivory)}

/* Step list (how it works) */
.steps{counter-reset:step;list-style:none;display:grid;gap:1.2rem;max-width:44rem;margin-top:2rem}
.steps li{position:relative;padding-left:3.2rem;color:var(--ink-soft)}
.steps li strong{color:var(--ink);display:block;font-family:var(--display);font-size:1.1rem}
.steps li::before{counter-increment:step;content:counter(step);position:absolute;left:0;top:.1rem;width:2.1rem;height:2.1rem;border-radius:50%;background:var(--sand);color:var(--accent);font-family:var(--display);font-weight:600;display:flex;align-items:center;justify-content:center}

/* Utility */
.mt-2{margin-top:2rem}
.center{text-align:center}
.center .kicker{justify-content:center}
.center .lede{margin-left:auto;margin-right:auto}
