/* SESSION 0 service page: illustrations, story copy, the session scene, the hope statement and organizers (2026-09-25). Uses the night-theme tokens from event-night.css. */
.service-night-title .hero-setup{display:block;font-size:clamp(1.45rem,2.9vw,2.6rem);line-height:1.65;letter-spacing:.06em;color:var(--muted);margin-bottom:.45em}
@media(max-width:1000px){.service-night-title .hero-setup{font-size:clamp(1.05rem,4.6vw,1.6rem);margin-bottom:.35em}}

.service-page main p{text-wrap:pretty}
.service-page main :is(.story-body p,.session-steps p,.session-steps strong,.session-lead,.hope-body,.side-description,.hero-description){word-break:auto-phrase}
.service-page main .session-steps strong{text-wrap:pretty}

.scene{margin:2.8rem 0 0}
.scene svg{display:block;width:100%;height:auto}
.scene .scene-narrow{display:none}
.bring-voices article h3{margin-top:0;letter-spacing:.03em}

.story-body{display:grid;grid-template-columns:1fr 1fr;gap:3.2rem;margin-top:3rem}
.story-body p{font-size:1.05rem;line-height:2.1;color:var(--ink)}

.session-lead{max-width:46em;margin-top:1.8rem;font-size:1.08rem;line-height:2.05;color:var(--ink)}
.session-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:3.5rem;align-items:center;margin-top:2.8rem}
.session-layout .scene{margin:0}
.session-steps{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.session-steps li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:1.1rem;align-items:start;padding:1.15rem 0;border-bottom:1px solid var(--line)}
.session-steps strong{display:block;font:500 1.14rem/1.7 var(--serif);letter-spacing:.03em;color:var(--ink)}
.session-steps p{margin-top:.3rem;color:var(--muted);font-size:.95rem;line-height:1.85}
.step-icon{width:44px;height:44px;fill:none;stroke:var(--accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.step-icon .solid{fill:var(--accent);stroke:none}
.step-icon .front{fill:#081a29}

.hope{text-align:center}
.hope .section-label{display:inline-block}
.hope-quote{font:500 clamp(2.2rem,5vw,3.8rem)/1.55 var(--serif);letter-spacing:.06em;color:var(--ink);margin-top:1.6rem;text-shadow:0 0 28px rgba(160,221,247,.28)}
.hope-body{max-width:36em;margin:2rem auto 0;color:var(--muted);line-height:2.1;font-size:1rem}

.organizer-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.4rem;margin-top:2.6rem}
.organizer-list article{border-top:1px solid #54758b;padding-top:1.2rem}
.organizer-list h3{font-size:1.15rem;font-weight:600;color:var(--ink)}
.organizer-list p{color:var(--muted);line-height:1.95;margin-top:.6rem}
.kickoff-note{margin-top:2.4rem;padding-top:1.5rem;border-top:1px solid var(--line);color:var(--muted);line-height:1.95}
.kickoff-note>span:first-child{font:700 .7rem var(--latin);letter-spacing:.16em;color:var(--accent);margin-right:1rem}
.kickoff-note .text-link{display:block;width:fit-content;margin:.7rem 0 0;white-space:nowrap}

.join-consult{margin-top:1.3rem;color:var(--muted);font-size:.9rem;line-height:1.9}
.join-consult a{color:var(--accent)}

@media(max-width:760px){
  .scene .scene-wide{display:none}
  .scene .scene-narrow{display:block}
  .scene{margin-top:2rem}
  .story-body{grid-template-columns:1fr;gap:1.4rem;margin-top:2rem}
  .story-body p{font-size:1rem}
  .session-lead{font-size:1rem;margin-top:1.4rem}
  .session-layout{grid-template-columns:1fr;gap:2rem;margin-top:2rem}
  .session-steps li{grid-template-columns:40px minmax(0,1fr);gap:.9rem}
  .step-icon{width:38px;height:38px}
  .bring-voices article{display:block;padding:1.1rem 0}
  .organizer-list{grid-template-columns:1fr;gap:1.6rem}
  .hope-body{text-align:left}
}
