/* Homepage editorial banner, Rich Soul and film library. */
#c1{display:flex;flex-direction:column;align-items:stretch;padding-top:110px;gap:40px;min-height:0}
#c1 .opening-banner{margin:0;position:relative;border:1px solid #60749e;border-radius:22px;overflow:hidden;box-shadow:0 12px 65px #3768ff30,0 0 26px #20e4ff15}
.opening-banner img{display:block;width:100%;height:auto;object-fit:contain}
#c1 .hero-copy{max-width:1000px;margin:auto;text-align:center;align-items:center}
#c1 h1{max-width:23ch;font-size:clamp(34px,4.5vw,62px)}
#c1 .lede{max-width:70ch}#c1 .row{justify-content:center}
.soul-story{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;width:100%;max-width:none!important}
.soul-story h2{font-size:clamp(30px,3.5vw,48px);margin:20px 0}.soul-story p{line-height:1.8;color:var(--muted);margin-top:20px}
.soul-story .lede{font-size:18px}.soul-story .soul-closing{color:var(--cyan);font-family:var(--display)}
.film-library{display:grid;grid-template-columns:1fr 1fr;gap:28px;width:100%;max-width:none!important}
.story-film{padding:0;text-align:left;background:var(--surface);color:var(--text);border:1px solid var(--line2);border-radius:20px;overflow:hidden;cursor:pointer;transition:transform .2s,box-shadow .2s}
.story-film:hover{transform:translateY(-3px);box-shadow:0 12px 40px #3768ff30;border-color:var(--cyan)}
.story-film>img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#050816}
.story-film-copy{display:flex;flex-direction:column;gap:14px;padding:24px;font-size:15px;line-height:1.6}
.story-film strong{font-family:var(--display);font-size:24px}.film-play{color:var(--cyan)}
@media(max-width:860px){#c1{padding-top:100px;gap:28px}.soul-story,.film-library{grid-template-columns:1fr}.soul-story{gap:30px}.opening-banner{border-radius:12px!important}}
@media(prefers-reduced-motion:reduce){.story-film:hover{transform:none}}

/* Match the Studio: a brief light sweep with a long quiet interval. */
.opening-banner::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 38%,rgba(155,235,255,.16) 49%,transparent 60%);transform:translateX(-125%);animation:public-banner-sweep 45s ease-out .2s infinite both}
@keyframes public-banner-sweep{0%{transform:translateX(-125%);opacity:0}1.24%{opacity:1}4.98%{opacity:1}6.22%,100%{transform:translateX(125%);opacity:0}}
@media(prefers-reduced-motion:reduce){.opening-banner::after{display:none;animation:none}}

.opening-banner-group{position:relative}
@media(max-width:600px){.opening-banner-group>prismatic-cabin{margin-top:6px;background:transparent}}

/* Opening banner carousel (founder 2026-10-22): the Prismatic studio Home banner look — vision and Agentic Studios
   art at the same size, 5 s rotation, dots + pause, soul-spark effects over the Agentic Studios art. */
.opening-banner.is-carousel .ob-slide{transition:opacity .9s ease;opacity:0}
.opening-banner.is-carousel .ob-slide.is-on{opacity:1}
.opening-banner .ob-slide-abs{position:absolute;inset:0}
.opening-banner .ob-slide-abs:not(.is-on){pointer-events:none}
.opening-banner .ob-slide-abs img{width:100%;height:100%;object-fit:cover}
.opening-banner .ac-fx{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.ac-fx ellipse,.ac-fx circle.ac-breathe{mix-blend-mode:screen}
@keyframes ac-breathe{0%,100%{opacity:.45;transform:scale(1)}50%{opacity:.95;transform:scale(1.12)}}
@keyframes ac-twinkle{0%,100%{opacity:.1}50%{opacity:1}}
.ac-breathe{transform-box:fill-box;transform-origin:center;animation:ac-breathe 3.4s ease-in-out infinite}
.ac-twinkle{animation:ac-twinkle 2.8s ease-in-out infinite}
.opening-banner .ob-cta,.opening-banner .ob-cta:hover,.opening-banner .ob-cta:visited{color:#0b0e1c!important;text-decoration:none!important}
.ob-cta{position:absolute;left:14px;bottom:14px;z-index:2;border-radius:10px;padding:7px 13px;font-size:13px;font-weight:700;color:#0b0e1c;text-decoration:none;background:linear-gradient(90deg,#3FD8FF,#B98CFF);box-shadow:0 0 18px #3FD8FF77}
.ob-controls{position:absolute;right:14px;top:14px;z-index:3;display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:999px;background:rgba(5,8,22,.55);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(6px)}
.ob-dot{width:9px;height:9px;padding:0;border:0;border-radius:50%;cursor:pointer;background:rgba(255,255,255,.35);transition:background .3s,box-shadow .3s,transform .3s}
.ob-dot.is-on{background:#20e4ff;box-shadow:0 0 10px #20e4ff;transform:scale(1.15)}
.ob-pause{min-width:24px;height:22px;padding:0 6px;border-radius:999px;cursor:pointer;font-size:10px;line-height:20px;color:#e8ecff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22)}
.ob-pause:hover,.ob-dot:hover{box-shadow:0 0 10px #a78bfa}
.opening-banner.is-carousel::after{z-index:1}
@media(max-width:767px){.ob-controls{right:6px;top:auto;bottom:6px;gap:6px;padding:3px 6px}.ob-dot{width:7px;height:7px}.ob-pause{min-width:20px;height:18px;line-height:16px;font-size:9px}.ob-cta{left:6px;bottom:6px;padding:3px 8px;font-size:10.5px;border-radius:7px}}
@media(prefers-reduced-motion:reduce){.opening-banner.is-carousel .ob-slide{transition:none}.ac-breathe,.ac-twinkle{animation:none}.ac-sparks{display:none}}
