
/* MAIN Flagship V3 — editorial layer. Keeps the cinematic system, simplifies the story. */
.hero-sub{max-width:650px}.hero-proof{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:2.6rem auto 0;max-width:820px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.hero-proof div{padding:1rem 1.2rem}.hero-proof div+div{border-left:1px solid var(--rule)}.hero-proof strong{display:block;font-family:var(--serif);font-size:1.25rem;font-weight:500;color:#fff}.hero-proof span{display:block;margin-top:.15rem;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.manifest-track{height:300vh}.reveal{max-width:34ch;font-size:clamp(1.35rem,2.8vw,2.35rem)}
.vision .cards{margin-top:4rem}.vision .card{text-align:left;padding:2.5rem}.vision .card-ico{display:none}.vision .card h3{font-size:.72rem;letter-spacing:.22em}.vision .card p{font-size:1rem}
.disciplines{min-height:100svh;display:flex;flex-direction:column;justify-content:center;text-align:center}.discipline-copy{position:relative;z-index:3}.disciplines .knot{margin-top:2rem}.discipline-orbit{position:absolute;inset:-7%;pointer-events:none;animation:disciplineSpin 42s linear infinite}.discipline-orbit span{position:absolute;left:50%;top:50%;font-size:.62rem;letter-spacing:.24em;color:rgba(236,235,245,.5);transform:rotate(calc(var(--i)*45deg)) translateX(clamp(170px,26vw,300px)) rotate(calc(var(--i)*-45deg));transform-origin:0 0}.discipline-orbit span:last-child{color:var(--primary);font-weight:600}@keyframes disciplineSpin{to{transform:rotate(360deg)}}
.programme .display{font-size:clamp(2.5rem,6vw,5rem)}.tl-card{min-height:430px}.tl-card h3{font-family:var(--serif);font-size:2rem}.tl-card li{font-size:.95rem}
.speakers{min-height:82vh;display:flex;flex-direction:column;justify-content:center}.speaker-teaser{margin:4rem auto 0;max-width:980px;text-align:center}.speaker-ghosts{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.speaker-ghosts i{display:block;aspect-ratio:3/4;border-radius:999px 999px 24px 24px;background:linear-gradient(180deg,rgba(122,108,255,.18),rgba(122,108,255,.02));border:1px solid var(--rule);filter:blur(.2px);opacity:.7}.speaker-teaser p{margin-top:2rem;font-size:.68rem;letter-spacing:.25em;color:var(--primary)}
.wall .display{max-width:18ch}.partners-v3{position:relative;overflow:hidden;padding:clamp(5rem,14vh,10rem) var(--pad);border-top:1px solid var(--rule);background:var(--lift)}.partners-v3>*:not(.aura){position:relative;z-index:2}.partners-v3 .display{max-width:18ch}.partner-cta{margin-top:2rem}
.tickets .pass-grid{max-width:1000px}.tickets .price{font-family:var(--font)!important;font-size:.72rem!important;letter-spacing:.2em!important;color:var(--primary)!important}.tickets .pass{min-height:280px;justify-content:center}.tickets .pass ul{text-align:center}.tickets .pass li{justify-content:center}.tickets .pass li::before{display:none}
.close{min-height:92svh;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start}.final-date{font-size:.68rem;letter-spacing:.26em;color:var(--muted)}.final-copy{max-width:900px}.final-copy .display{font-size:clamp(3rem,8vw,7rem);max-width:11ch}.final-copy>p:not(.tag){font-size:clamp(1.05rem,2vw,1.35rem)}.final-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2.2rem}
@media(max-width:700px){.hero-proof{grid-template-columns:repeat(2,1fr)}.hero-proof div:nth-child(3){border-left:0;border-top:1px solid var(--rule)}.hero-proof div:nth-child(4){border-top:1px solid var(--rule)}.speaker-ghosts{grid-template-columns:repeat(2,1fr)}.discipline-orbit{display:none}.close{min-height:80svh}}
@media(prefers-reduced-motion:reduce){.discipline-orbit{animation:none}}

/* V4 — tighter pacing and requested section order */
@media(min-width:820px){.cards .card:nth-child(1),.cards .card:nth-child(3){margin-top:0}}
.manifest-track{height:190vh}
.vision{padding-top:clamp(3.5rem,8vh,6rem);padding-bottom:clamp(3.5rem,8vh,6rem)}
.disciplines{min-height:auto;padding-top:clamp(4rem,9vh,6.5rem);padding-bottom:clamp(4rem,9vh,6.5rem)}
.disciplines .knot{margin-top:1.4rem}
.flagship-stats{position:relative;z-index:4;width:min(100%,1000px);margin:clamp(2.5rem,6vh,4rem) auto 0;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.flagship-stats .stat{padding:1.35rem 1.4rem;text-align:center}
.flagship-stats .stat b{font-size:clamp(2.5rem,5vw,4rem)}
.programme,.wall,.tickets,.partners-v3{padding-top:clamp(3.5rem,8vh,6rem);padding-bottom:clamp(3.5rem,8vh,6rem)}
.speakers{min-height:auto;padding-top:clamp(3.5rem,8vh,6rem);padding-bottom:clamp(3.5rem,8vh,6rem)}
.speakers .marquee{margin-top:clamp(2.2rem,5vh,3.4rem)}
.speakers .marquee-track{animation-duration:38s}
.close{min-height:auto;padding:clamp(3.5rem,8vh,6rem) var(--pad);gap:2rem}
.final-copy .display{font-size:clamp(2.7rem,6vw,5.2rem);max-width:13ch}
.final-actions{margin-top:1.5rem}
.partners-v3{text-align:center}.partners-v3 .display,.partners-v3 .lede{margin-left:auto;margin-right:auto}.partner-cta{display:inline-flex}
@media(max-width:819px){.flagship-stats{grid-template-columns:1fr}.flagship-stats .stat+.stat{border-left:0;border-top:1px solid var(--rule)}.manifest-track{height:150vh}}

/* V5 polish — calmer community wall, static discipline object, unified ending */
.discipline-orbit{display:none!important}

/* Community wall: premium, restrained hover + living violet grade */
.pw-item{transition:flex-grow .5s cubic-bezier(.16,1,.3,1),box-shadow .5s ease}
.pw:hover .pw-item{flex-grow:.97}
.pw .pw-item:hover{flex-grow:1.18;box-shadow:0 24px 52px -34px rgba(67,56,202,.82)}
.pw-item img{filter:saturate(.82) brightness(.78);transform:scale(1);transition:transform .7s cubic-bezier(.16,1,.3,1),filter .7s ease}
.pw-item:hover img{transform:scale(1.025);filter:saturate(.9) brightness(.88)}
.pw-item::after{opacity:.58;background:linear-gradient(155deg,rgba(83,62,214,.52),rgba(14,9,37,.56));transition:opacity .8s ease,background .8s ease;animation:mainPhotoPulse 9s ease-in-out infinite alternate}
.pw-item:hover::after{opacity:.38}
.pw-item:nth-child(2n)::after{animation-duration:11.5s;animation-delay:-3.1s}
.pw-item:nth-child(3n)::after{animation-duration:8.2s;animation-delay:-5.4s}
.pw-item:nth-child(5n)::after{animation-duration:13s;animation-delay:-7.2s}
@keyframes mainPhotoPulse{0%,18%{opacity:.66}52%{opacity:.43}78%{opacity:.57}100%{opacity:.36}}
.pw-item:hover figcaption{font-size:.8rem;padding:1rem .95rem .85rem}

/* Counters deserve enough visual time to read while they run */
.flagship-stats .n{font-variant-numeric:tabular-nums;display:inline-block;min-width:1.7ch}

/* Tickets + partner invitation become one coherent closing chapter */
.partners-v3{padding:clamp(3.5rem,7vh,5.5rem) var(--pad);border-top:1px solid var(--rule);text-align:center}
.partners-v3 .display{font-size:clamp(2.5rem,5vw,4.7rem);max-width:14ch;margin-left:auto;margin-right:auto}
.partners-v3 .lede{max-width:56ch;margin-left:auto;margin-right:auto}
.partner-cta{margin-top:1.5rem}

@media(max-width:819px){.pw .pw-item:hover{flex-grow:1}.pw-item:hover img{transform:scale(1.015)}}

/* V6 — ticket cards: price-led, benefit-focused */
.tickets .pass{min-height:390px;justify-content:flex-start;text-align:left;padding:2.7rem 2.2rem 2.4rem}
.tickets .pass h3{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.tickets .pass .price{font-family:var(--serif)!important;font-size:clamp(3.4rem,6vw,5rem)!important;line-height:.95!important;letter-spacing:-.045em!important;color:#fff!important;margin:1.45rem 0 2.25rem!important}
.tickets .price .currency{font-family:var(--font);font-size:.34em;vertical-align:top;display:inline-block;margin:.2em .14em 0 0;letter-spacing:0;color:var(--primary)}
.tickets .pass ul{margin-top:auto;text-align:left!important;border-top:1px solid var(--rule);padding-top:1.55rem!important;gap:.9rem!important}
.tickets .pass li{justify-content:flex-start!important;align-items:flex-start;color:var(--muted);line-height:1.5}
.tickets .pass li::before{display:block!important;content:"\2713";color:var(--primary);font-size:.82rem;line-height:1.55}
.tickets .pass.featured{transform:translateY(-10px)}
.tickets .pass.featured:hover{transform:translateY(-15px)}
@media(max-width:879px){.tickets .pass.featured{transform:none}.tickets .pass.featured:hover{transform:translateY(-5px)}}

/* V8 — signature EXPLORE / BUILD / CONNECT motion language */
.vision-signature{position:relative;overflow:hidden;padding-top:clamp(4rem,9vh,7rem);padding-bottom:clamp(4rem,9vh,7rem)}
.vision-signature::before{content:"";position:absolute;left:50%;top:35%;width:min(70vw,900px);height:420px;transform:translate(-50%,-50%);background:radial-gradient(ellipse,rgba(89,69,224,.11),transparent 67%);filter:blur(24px);pointer-events:none}
.vision-intro{position:relative;z-index:2;max-width:1180px;margin:0 auto}.vision-signature .display{max-width:17ch}.vision-signature .lede{max-width:60ch}
.experience-panels{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);max-width:1180px;margin:clamp(3.2rem,7vh,5.2rem) auto 0;border-top:1px solid rgba(236,235,245,.15);border-bottom:1px solid rgba(236,235,245,.15)}
.experience-panel{--mx:50%;--my:50%;position:relative;min-height:500px;padding:1.6rem 1.65rem 2rem;overflow:hidden;background:rgba(5,4,12,.22);outline:none;isolation:isolate;transition:background .65s ease,transform .65s cubic-bezier(.16,1,.3,1)}
.experience-panel+.experience-panel{border-left:1px solid rgba(236,235,245,.15)}
.experience-panel::before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(360px circle at var(--mx) var(--my),rgba(122,108,255,.15),transparent 55%);opacity:.2;transition:opacity .6s ease}
.experience-panel::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 35%,rgba(67,56,202,.08));opacity:.25;transition:opacity .6s ease}
.experience-panel:hover,.experience-panel:focus-visible{background:rgba(14,11,31,.55);transform:translateY(-5px)}.experience-panel:hover::before,.experience-panel:focus-visible::before{opacity:1}.experience-panel:hover::after{opacity:.8}
.panel-top{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:3}.panel-num,.panel-word{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase}.panel-num{color:var(--primary)}.panel-word{color:var(--dim)}
.panel-copy{position:absolute;left:1.65rem;right:1.65rem;bottom:2.4rem;z-index:3}.panel-copy h3{margin:0 0 1rem;font-family:var(--serif);font-size:clamp(2.4rem,4vw,4rem);font-weight:500;letter-spacing:-.045em;color:#fff}.panel-copy p{margin:0;max-width:31ch;color:var(--muted);font-size:.94rem;line-height:1.65}
.panel-line{position:absolute;left:1.65rem;right:1.65rem;bottom:1.35rem;height:1px;background:rgba(236,235,245,.1);overflow:hidden}.panel-line i{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--primary),rgba(122,108,255,0));transform:scaleX(0);transform-origin:left;transition:transform 1s cubic-bezier(.16,1,.3,1)}.experience-panel:hover .panel-line i,.experience-panel:focus-visible .panel-line i{transform:scaleX(1)}
.panel-visual{position:absolute;left:50%;top:43%;width:210px;height:210px;transform:translate(-50%,-50%);opacity:.72;transition:opacity .6s ease,transform .8s cubic-bezier(.16,1,.3,1)}.experience-panel:hover .panel-visual{opacity:1;transform:translate(-50%,-52%) scale(1.04)}
/* EXPLORE: scanning / discovery */
.explore-core{position:absolute;left:50%;top:50%;width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 24px 8px rgba(122,108,255,.75);transform:translate(-50%,-50%)}.explore-ring{position:absolute;left:50%;top:50%;border:1px solid rgba(122,108,255,.45);border-radius:50%;transform:translate(-50%,-50%)}.explore-ring.r1{width:78px;height:78px}.explore-ring.r2{width:150px;height:150px;border-color:rgba(122,108,255,.2)}.explore-spark{position:absolute;width:4px;height:4px;border-radius:50%;background:var(--primary);box-shadow:0 0 12px var(--primary)}.explore-spark.s1{left:35px;top:72px}.explore-spark.s2{right:28px;top:110px}.explore-spark.s3{left:104px;bottom:16px}.vision-signature.live .panel-explore .r1{animation:explorePulse 3.8s ease-in-out infinite}.vision-signature.live .panel-explore .r2{animation:explorePulse 3.8s ease-in-out .8s infinite}
@keyframes explorePulse{0%,100%{transform:translate(-50%,-50%) scale(.8);opacity:.18}50%{transform:translate(-50%,-50%) scale(1.08);opacity:.8}}
/* BUILD: nodes assemble into a structure */
.build-grid{background-image:linear-gradient(rgba(122,108,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(122,108,255,.07) 1px,transparent 1px);background-size:28px 28px;border-radius:50%;mask-image:radial-gradient(circle,#000 28%,transparent 72%)}
.panel-visual .node{position:absolute;width:9px;height:9px;border:1px solid rgba(236,235,245,.8);background:#090713;transform:translate(-50%,-50%);box-shadow:0 0 16px rgba(122,108,255,.4)}.build-grid .n1{left:28%;top:34%}.build-grid .n2{left:70%;top:30%}.build-grid .n3{left:66%;top:70%}.build-grid .n4{left:32%;top:68%}.panel-visual .edge{position:absolute;height:1px;background:linear-gradient(90deg,rgba(122,108,255,.15),rgba(122,108,255,.9));transform-origin:left;opacity:.55}.build-grid .e1{left:29%;top:34%;width:88px;transform:rotate(-5deg)}.build-grid .e2{left:70%;top:31%;width:84px;transform:rotate(96deg)}.build-grid .e3{left:66%;top:70%;width:74px;transform:rotate(178deg)}.build-grid .e4{left:32%;top:68%;width:74px;transform:rotate(-91deg)}.vision-signature.live .panel-build .node{animation:buildNode 4.5s ease-in-out infinite}.vision-signature.live .panel-build .edge{animation:buildEdge 4.5s ease-in-out infinite}@keyframes buildNode{0%,100%{box-shadow:0 0 5px rgba(122,108,255,.2)}45%,65%{box-shadow:0 0 24px rgba(122,108,255,.85)}}@keyframes buildEdge{0%,20%{opacity:.15;filter:brightness(.6)}55%,75%{opacity:1;filter:brightness(1.5)}100%{opacity:.2}}
/* CONNECT: independent points converge */
.connect-net .node{border-radius:50%;background:var(--primary);border:0}.connect-net .n1{left:18%;top:28%}.connect-net .n2{left:79%;top:25%}.connect-net .n3{left:50%;top:49%;width:14px;height:14px;background:#fff;box-shadow:0 0 25px rgba(122,108,255,.9)}.connect-net .n4{left:22%;top:76%}.connect-net .n5{left:80%;top:72%}.connect-net .e1{left:20%;top:30%;width:77px;transform:rotate(27deg)}.connect-net .e2{left:52%;top:49%;width:74px;transform:rotate(-31deg)}.connect-net .e3{left:24%;top:74%;width:73px;transform:rotate(-27deg)}.connect-net .e4{left:52%;top:51%;width:75px;transform:rotate(27deg)}.vision-signature.live .panel-connect .n1,.vision-signature.live .panel-connect .n4{animation:connectFloat 5s ease-in-out infinite}.vision-signature.live .panel-connect .n2,.vision-signature.live .panel-connect .n5{animation:connectFloat 5s ease-in-out -2.2s infinite}@keyframes connectFloat{0%,100%{transform:translate(-50%,-50%) translate(0,0)}50%{transform:translate(-50%,-50%) translate(7px,-5px)}}
/* Arrival: panels open sequentially rather than just fading */
html.js .vision-signature .experience-panel{opacity:0;clip-path:inset(100% 0 0 0);transform:translateY(28px)}html.js .vision-signature.live .experience-panel{opacity:1;clip-path:inset(0 0 0 0);transform:none;transition:clip-path 1.15s cubic-bezier(.16,1,.3,1),opacity .45s ease,transform 1.15s cubic-bezier(.16,1,.3,1),background .65s ease;transition-delay:calc(var(--i,0)*150ms + 120ms)}
@media(max-width:820px){.experience-panels{grid-template-columns:1fr}.experience-panel{min-height:390px}.experience-panel+.experience-panel{border-left:0;border-top:1px solid rgba(236,235,245,.15)}.panel-visual{width:170px;height:170px;top:42%}.panel-copy h3{font-size:2.7rem}}
@media(prefers-reduced-motion:reduce){html.js .vision-signature .experience-panel{opacity:1;clip-path:none;transform:none}.vision-signature.live .panel-explore .r1,.vision-signature.live .panel-explore .r2,.vision-signature.live .panel-build .node,.vision-signature.live .panel-build .edge,.vision-signature.live .panel-connect .node{animation:none!important}}

/* V9 — editorial experience rails: less SaaS, more flagship */
.experience-panels{display:none!important}
.experience-rails{max-width:1240px;margin:clamp(3rem,7vh,5.5rem) auto 0;border-top:1px solid rgba(255,255,255,.16)}
.experience-rail{--rx:50%;position:relative;display:grid;grid-template-columns:80px minmax(260px,.9fr) minmax(190px,.55fr) minmax(260px,1fr);align-items:center;min-height:190px;border-bottom:1px solid rgba(255,255,255,.16);overflow:hidden;isolation:isolate;transition:min-height .65s cubic-bezier(.16,1,.3,1),background .5s ease}
.experience-rail::before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(600px circle at var(--rx) 50%,rgba(122,108,255,.17),transparent 52%);opacity:.25;transition:opacity .5s ease}
.experience-rail::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:linear-gradient(90deg,var(--primary),rgba(122,108,255,0));box-shadow:0 0 16px rgba(122,108,255,.9);transition:width .9s cubic-bezier(.16,1,.3,1)}
.vision-signature.live .experience-rail::after{width:100%}.experience-rail:nth-child(2)::after{transition-delay:.18s}.experience-rail:nth-child(3)::after{transition-delay:.36s}
.experience-rail:hover,.experience-rail:focus-visible{min-height:220px;background:rgba(122,108,255,.035)}.experience-rail:hover::before,.experience-rail:focus-visible::before{opacity:1}
.rail-index{align-self:start;padding-top:2.1rem;font:600 .68rem/1 var(--sans);letter-spacing:.18em;color:var(--primary)}
.rail-title span{display:block;font:500 clamp(2.5rem,5.3vw,5.2rem)/.88 var(--serif);letter-spacing:-.045em;color:#fff;transform-origin:left center;transition:transform .65s cubic-bezier(.16,1,.3,1),letter-spacing .65s cubic-bezier(.16,1,.3,1)}
.experience-rail:hover .rail-title span{transform:translateX(10px);letter-spacing:-.025em}.rail-title small{display:block;margin-top:1rem;font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;color:var(--dim)}
.rail-copy{max-width:35ch;margin:0 0 0 auto;color:var(--muted);font-size:.9rem;line-height:1.65;padding-right:.4rem}
.rail-motion{position:relative;width:150px;height:100px;margin:auto;opacity:.65;transition:opacity .5s ease,transform .65s cubic-bezier(.16,1,.3,1)}.experience-rail:hover .rail-motion{opacity:1;transform:scale(1.07)}
.motion-explore i{position:absolute;left:50%;top:50%;border:1px solid rgba(122,108,255,.55);border-radius:50%;transform:translate(-50%,-50%)}.motion-explore i:nth-child(1){width:28px;height:28px}.motion-explore i:nth-child(2){width:62px;height:62px}.motion-explore i:nth-child(3){width:96px;height:96px}.motion-explore b{position:absolute;left:50%;top:50%;width:5px;height:5px;border-radius:50%;background:#fff;box-shadow:0 0 22px 8px rgba(122,108,255,.7);transform:translate(-50%,-50%)}.vision-signature.live .motion-explore i{animation:v9Scan 3.4s ease-in-out infinite}.vision-signature.live .motion-explore i:nth-child(2){animation-delay:.45s}.vision-signature.live .motion-explore i:nth-child(3){animation-delay:.9s}
.motion-build i{position:absolute;width:8px;height:8px;border:1px solid var(--primary);transform:rotate(45deg);box-shadow:0 0 12px rgba(122,108,255,.5)}.motion-build i:nth-child(1){left:18px;top:46px}.motion-build i:nth-child(2){left:66px;top:18px}.motion-build i:nth-child(3){right:20px;top:48px}.motion-build i:nth-child(4){left:66px;bottom:12px}.motion-build b{position:absolute;inset:18px 22px;background:linear-gradient(30deg,transparent 49.5%,rgba(122,108,255,.45) 50%,transparent 50.8%),linear-gradient(-30deg,transparent 49.5%,rgba(122,108,255,.45) 50%,transparent 50.8%);opacity:.7}.vision-signature.live .motion-build i{animation:v9Node 2.8s ease-in-out infinite alternate}
.motion-connect i{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--primary);box-shadow:0 0 15px rgba(122,108,255,.9)}.motion-connect i:nth-child(1){left:8px;top:20px}.motion-connect i:nth-child(2){left:14px;bottom:18px}.motion-connect i:nth-child(3){right:12px;top:18px}.motion-connect i:nth-child(4){right:8px;bottom:20px}.motion-connect i:nth-child(5){left:50%;top:50%;width:10px;height:10px;background:#fff;transform:translate(-50%,-50%)}.motion-connect b{position:absolute;left:18px;right:18px;top:50%;height:1px;background:linear-gradient(90deg,rgba(122,108,255,.2),var(--primary),rgba(122,108,255,.2));box-shadow:0 0 10px rgba(122,108,255,.5)}.vision-signature.live .motion-connect i:not(:nth-child(5)){animation:v9Converge 3.2s cubic-bezier(.45,0,.2,1) infinite}
@keyframes v9Scan{0%,100%{opacity:.18;transform:translate(-50%,-50%) scale(.72)}50%{opacity:.95;transform:translate(-50%,-50%) scale(1.08)}}@keyframes v9Node{to{transform:rotate(225deg) scale(1.25);box-shadow:0 0 24px rgba(122,108,255,.9)}}@keyframes v9Converge{0%,100%{filter:brightness(.65)}50%{filter:brightness(1.8);box-shadow:0 0 22px rgba(122,108,255,1)}}
@media(max-width:850px){.experience-rail{grid-template-columns:42px 1fr;gap:1rem;padding:1.8rem 0}.rail-motion{grid-column:2;width:120px;margin:1rem 0}.rail-copy{grid-column:2;margin:0;max-width:42ch}.rail-index{padding-top:.5rem}.experience-rail:hover{min-height:190px}}

@media(prefers-reduced-motion:reduce){.vision-signature.live .rail-motion i{animation:none!important}}

/* V10 — Flagship modes. Inspired by editorial conference track systems, not SaaS cards. */
.experience-rails{display:none!important}
.flagship-modes{max-width:1320px;margin:clamp(3rem,7vh,5.5rem) auto 0;border-top:1px solid rgba(255,255,255,.18)}
.flagship-mode{--mode-accent:122,108,255;position:relative;border-bottom:1px solid rgba(255,255,255,.18);overflow:hidden;outline:none;background:#05040c;transition:background .7s ease}
.flagship-mode::before{content:"";position:absolute;inset:-35% -10%;pointer-events:none;background:radial-gradient(ellipse at 72% 50%,rgba(var(--mode-accent),.18),transparent 44%);opacity:0;transform:scale(.82);transition:opacity .8s ease,transform 1.1s cubic-bezier(.16,1,.3,1)}
.mode-build{--mode-accent:88,73,225}.mode-connect{--mode-accent:164,88,255}
.flagship-mode.is-active::before,.flagship-mode:hover::before,.flagship-mode:focus-visible::before{opacity:1;transform:scale(1)}
.mode-head{position:relative;z-index:2;display:grid;grid-template-columns:74px 1fr auto;align-items:center;gap:1rem;min-height:clamp(126px,16vw,205px);padding:0 clamp(.2rem,1.2vw,1rem)}
.mode-no{align-self:start;padding-top:2rem;font:600 .67rem/1 var(--sans);letter-spacing:.16em;color:var(--primary)}
.mode-head h3{margin:0;font-family:var(--sans);font-weight:700;font-size:clamp(4rem,10.5vw,9.2rem);line-height:.78;letter-spacing:-.075em;color:#f4f2fb;transform-origin:left center;transition:transform .9s cubic-bezier(.16,1,.3,1),color .5s ease}
.mode-kind{justify-self:end;font-size:.67rem;letter-spacing:.2em;color:var(--dim);writing-mode:vertical-rl;transform:rotate(180deg)}
.flagship-mode.is-active .mode-head h3,.flagship-mode:hover .mode-head h3{transform:translateX(clamp(8px,1.4vw,20px));color:#fff}
.mode-reveal{position:relative;z-index:2;display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .9s cubic-bezier(.16,1,.3,1),opacity .5s ease}
.mode-reveal>*{overflow:hidden}.flagship-mode.is-active .mode-reveal,.flagship-mode:hover .mode-reveal,.flagship-mode:focus-visible .mode-reveal{grid-template-rows:1fr;opacity:1}
.mode-reveal p{max-width:720px;margin:0 0 2rem 74px;padding-right:2rem;font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.65;color:var(--muted)}
.mode-stream{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.1);overflow:hidden;white-space:nowrap;padding:.8rem 0 1rem;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.mode-stream div{display:inline-flex;align-items:center;gap:1.2rem;min-width:max-content;animation:modeStream 18s linear infinite}
.mode-build .mode-stream div{animation-direction:reverse;animation-duration:21s}.mode-connect .mode-stream div{animation-duration:24s}
.mode-stream span{font-size:.66rem;letter-spacing:.18em;color:rgba(236,235,245,.6)}.mode-stream i{font-style:normal;color:var(--primary)}
@keyframes modeStream{to{transform:translateX(-35%)}}
@media(max-width:700px){.mode-head{grid-template-columns:42px 1fr auto;min-height:115px}.mode-head h3{font-size:clamp(3.3rem,17vw,6rem)}.mode-reveal p{margin-left:42px}.mode-kind{font-size:.56rem}}
@media(prefers-reduced-motion:reduce){.mode-stream div{animation:none}.flagship-mode::before,.mode-head h3,.mode-reveal{transition:none}}

/* (the community grade now lives in the V12 block at the end of this file) */

/* V11 — compact interactive experience console */
.flagship-modes{display:none!important}
.vision-signature{padding-bottom:clamp(3.5rem,7vh,5.5rem)!important}
.experience-console{max-width:1180px;margin:clamp(2.3rem,5vh,3.6rem) auto 0;border:1px solid rgba(255,255,255,.15);border-radius:2px;overflow:hidden;background:#05040c;box-shadow:0 35px 100px -65px rgba(91,72,230,.7)}
.experience-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid rgba(255,255,255,.13)}
.experience-tab{position:relative;appearance:none;border:0;border-right:1px solid rgba(255,255,255,.13);background:transparent;color:rgba(236,235,245,.42);padding:1.15rem 1.25rem 1rem;text-align:left;font:700 clamp(1.25rem,2.4vw,2rem)/1 var(--sans);letter-spacing:-.035em;cursor:pointer;transition:color .4s ease,background .4s ease}
.experience-tab:last-child{border-right:0}.experience-tab span{display:block;margin-bottom:.65rem;font-size:.58rem;letter-spacing:.16em;color:var(--primary)}.experience-tab small{float:right;margin-top:.35rem;font-size:.52rem;font-weight:500;letter-spacing:.17em;color:var(--dim)}
.experience-tab::after{content:"";position:absolute;left:0;right:100%;bottom:-1px;height:2px;background:var(--primary);box-shadow:0 0 18px rgba(122,108,255,.8);transition:right .55s cubic-bezier(.16,1,.3,1)}
.experience-tab.is-active{color:#fff;background:rgba(122,108,255,.035)}.experience-tab.is-active::after{right:0}
.experience-stage{position:relative;min-height:330px;overflow:hidden;isolation:isolate;background:radial-gradient(70% 100% at 78% 45%,rgba(67,56,202,.12),transparent 62%)}
.experience-stage::before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(90deg,transparent 35%,#000)}
.experience-copy{position:absolute;left:clamp(1.5rem,4vw,4rem);top:50%;width:min(650px,63%);transform:translateY(calc(-50% + 18px));opacity:0;pointer-events:none;transition:opacity .35s ease,transform .65s cubic-bezier(.16,1,.3,1)}.experience-copy.is-active{opacity:1;transform:translateY(-50%);pointer-events:auto}
.experience-kicker{margin:0 0 .8rem!important;font-size:.6rem!important;letter-spacing:.19em!important;color:var(--primary)!important}.experience-copy h3{margin:0;font:500 clamp(2rem,4.4vw,4.1rem)/.98 var(--serif);letter-spacing:-.035em;color:#fff}.experience-copy h3 i{color:var(--primary);font-weight:400}.experience-copy>p:not(.experience-kicker){max-width:56ch;margin:1rem 0 1.15rem;color:var(--muted);font-size:.9rem;line-height:1.6}
.experience-tags{display:flex;gap:.55rem;flex-wrap:wrap}.experience-tags span{padding:.42rem .62rem;border:1px solid rgba(255,255,255,.13);font-size:.53rem;letter-spacing:.13em;color:rgba(236,235,245,.58)}
.experience-word{position:absolute;right:-.035em;bottom:-.18em;z-index:-1;font:800 clamp(6rem,15vw,13rem)/.72 var(--sans);letter-spacing:-.08em;color:rgba(122,108,255,.055);white-space:nowrap;transition:opacity .35s ease,transform .7s cubic-bezier(.16,1,.3,1)}
.experience-beam{position:absolute;right:8%;top:12%;width:1px;height:76%;background:linear-gradient(transparent,rgba(122,108,255,.9),transparent);box-shadow:0 0 24px rgba(122,108,255,.7);opacity:.55;animation:consoleBeam 4.8s ease-in-out infinite alternate}
.experience-orbit{position:absolute;right:7%;top:50%;width:190px;height:190px;transform:translateY(-50%);opacity:.7}.experience-orbit i{position:absolute;inset:0;border:1px solid rgba(122,108,255,.18);border-radius:50%}.experience-orbit i:nth-child(2){inset:25px}.experience-orbit i:nth-child(3){inset:55px}.experience-orbit b{position:absolute;left:50%;top:50%;width:9px;height:9px;border-radius:50%;background:#fff;box-shadow:0 0 25px 7px rgba(122,108,255,.7);transform:translate(-50%,-50%)}
@keyframes consoleBeam{to{transform:translateX(-34px);opacity:.25}}
@media(max-width:760px){.experience-tab{padding:.9rem .75rem;font-size:1.05rem}.experience-tab small{display:none}.experience-stage{min-height:390px}.experience-copy{width:auto;right:1.5rem;top:45%}.experience-orbit{width:130px;height:130px;right:-45px;top:78%;opacity:.35}.experience-word{font-size:24vw}}
@media(prefers-reduced-motion:reduce){.experience-beam{animation:none}.experience-copy,.experience-word,.experience-tab::after{transition:none}}

/* V11 — photo titles are discoverable, not permanently overlaid */
.pw-item figcaption{opacity:0!important;transform:translateY(8px);font-size:.74rem!important;padding:1rem .95rem .85rem!important;background:linear-gradient(0deg,rgba(2,2,8,.96),rgba(2,2,8,.58) 52%,transparent)!important;transition:opacity .35s ease,transform .45s cubic-bezier(.16,1,.3,1)!important}
.pw-item:hover figcaption,.pw-item:focus-within figcaption{opacity:1!important;transform:none}
@media(max-width:760px){.pw-item figcaption{opacity:0!important}}

/* ============================================================
   V12 — buy buttons, a wall that breathes, a radar that reads,
   and a seam between the experience and the speakers that is
   actually made of light instead of a black gap.
   ============================================================ */

/* ---- 1. one lit button per pass ---- */
.tickets .pass{padding-bottom:2.3rem}
.pass-cta{
  width:100%; justify-content:center; margin-top:1.7rem;
  padding:1rem 1.4rem; font-size:.68rem; letter-spacing:.18em;
}
.pass-cta::after{border-radius:100px 100px 50% 50%/100px 100px 22px 22px}
.pass.featured .pass-cta{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.62), inset 0 -2px 4px rgba(20,10,80,.5),
    0 2px 3px rgba(0,0,0,.7), 0 20px 44px -12px rgba(67,56,202,.95),
    0 0 90px -16px rgba(122,108,255,.85);
}

/* ---- 2. the community wall breathes ----
   Two stacked veils per tile, both on one continuous cycle:
   ::before is the violet grade (a light wash at the top of the cycle),
   ::after is flat page-black that closes over the tile at the bottom of it,
   so the tile really does sink into the background before lifting again.
   Durations and start points come from js/community-wall.js, so no two
   tiles share a rhythm — and nothing is ever swapped on a timer, which is
   what made the old version step. */
.pw-item{background:#000}
.pw-item img{
  filter:saturate(.94) brightness(.92) contrast(1.02)!important;
  transition:transform .8s cubic-bezier(.16,1,.3,1), filter .8s ease!important;
}
.pw-item::before,.pw-item::after{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  transition:opacity .55s ease;
}
.pw-item::before{
  background:linear-gradient(152deg, rgba(118,86,255,.72), rgba(46,26,132,.5) 52%, rgba(10,6,30,.66));
  opacity:.3; animation:none;
}
.pw-item::after{ background:#000; opacity:0; animation:none; }
.pw.is-breathing .pw-item::before{
  animation:wallGrade var(--wall-dur,17s) cubic-bezier(.42,0,.58,1) var(--wall-delay,0s) infinite;
}
.pw.is-breathing .pw-item::after{
  animation:wallSink var(--wall-dur,17s) cubic-bezier(.42,0,.58,1) var(--wall-delay,0s) infinite;
}
@keyframes wallGrade{ 0%,11%{opacity:.28} 50%{opacity:.66} 89%,100%{opacity:.28} }
@keyframes wallSink { 0%,11%{opacity:0}   50%{opacity:1}   89%,100%{opacity:0} }
/* hovering freezes the tile's cycle and lifts it into full light — pausing
   first means the transition has a still target to travel to */
.pw-item:hover::before,.pw-item:hover::after,
.pw-item:focus-within::before,.pw-item:focus-within::after{ animation-play-state:paused }
.pw-item:hover::before,.pw-item:focus-within::before{ opacity:.12!important }
.pw-item:hover::after,.pw-item:focus-within::after{ opacity:0!important }
.pw-item:hover img{ transform:scale(1.03)!important; filter:saturate(1.04) brightness(1.06) contrast(1.02)!important }

/* ---- 3. the console object reads as a radar ---- */
.experience-orbit{ opacity:1 }
.experience-orbit i{
  border-color:rgba(146,133,255,.42);
  box-shadow:0 0 22px -8px rgba(122,108,255,.75), inset 0 0 30px -14px rgba(122,108,255,.9);
}
.experience-orbit i:nth-child(2){ border-color:rgba(172,161,255,.55) }
.experience-orbit i:nth-child(3){ border-color:rgba(214,208,255,.7); background:radial-gradient(circle,rgba(122,108,255,.14),transparent 70%) }
.vision-signature.live .experience-orbit i{ animation:radarRing 4.4s ease-in-out infinite }
.vision-signature.live .experience-orbit i:nth-child(2){ animation-delay:.5s }
.vision-signature.live .experience-orbit i:nth-child(3){ animation-delay:1s }
@keyframes radarRing{ 0%,100%{opacity:.45;transform:scale(.985)} 50%{opacity:1;transform:scale(1.015)} }
/* the sweep */
.experience-orbit::before{
  content:""; position:absolute; inset:0; border-radius:50%;
  background:conic-gradient(from 0deg,
    rgba(122,108,255,0) 0deg, rgba(122,108,255,0) 232deg,
    rgba(122,108,255,.14) 300deg, rgba(160,148,255,.34) 344deg,
    rgba(226,222,255,.72) 359deg, rgba(122,108,255,0) 360deg);
  -webkit-mask:radial-gradient(closest-side, #000 99%, transparent);
  mask:radial-gradient(closest-side, #000 99%, transparent);
}
.vision-signature.live .experience-orbit::before{ animation:radarSweep 5.2s linear infinite }
@keyframes radarSweep{ to{ transform:rotate(360deg) } }
/* crosshair + graticule */
.experience-orbit::after{
  content:""; position:absolute; inset:0; border-radius:50%; opacity:.55;
  background:
    linear-gradient(90deg, transparent calc(50% - .5px), rgba(160,148,255,.30) 50%, transparent calc(50% + .5px)),
    linear-gradient(180deg, transparent calc(50% - .5px), rgba(160,148,255,.30) 50%, transparent calc(50% + .5px));
  -webkit-mask:radial-gradient(closest-side, #000 96%, transparent);
  mask:radial-gradient(closest-side, #000 96%, transparent);
}
.experience-orbit b{ box-shadow:0 0 30px 9px rgba(122,108,255,.85), 0 0 4px 1px rgba(255,255,255,.9) }
/* two contacts, lighting up as the sweep passes over them */
.experience-orbit b::before,.experience-orbit b::after{
  content:""; position:absolute; width:6px; height:6px; border-radius:50%;
  background:#EAE7FF; box-shadow:0 0 14px 4px rgba(166,154,255,.95); opacity:0;
}
.experience-orbit b::before{ left:42px; top:-30px }
.experience-orbit b::after{ left:-56px; top:36px }
/* each contact fires at the moment the sweep's leading edge crosses it —
   its bearing, as a fraction of the 5.2s rotation */
.vision-signature.live .experience-orbit b::before,
.vision-signature.live .experience-orbit b::after{ animation:radarBlip 5.2s linear infinite }
.vision-signature.live .experience-orbit b::before{ animation-delay:.68s }
.vision-signature.live .experience-orbit b::after{ animation-delay:3.5s }
@keyframes radarBlip{ 0%{opacity:1} 8%{opacity:.9} 46%,100%{opacity:0} }

/* ---- 4. experience → speakers: a seam made of light ---- */
.rails{ height:46vh; padding-top:1.5vh }
.rails::before{
  content:""; position:absolute; left:50%; top:-14vh;
  width:min(140vw,1700px); height:54vh; transform:translateX(-50%);
  opacity:var(--seam,0); pointer-events:none; filter:blur(6px);
  background:radial-gradient(ellipse at 50% 34%,
             rgba(150,138,255,.34), rgba(96,72,232,.20) 34%, rgba(67,56,202,.09) 56%, transparent 74%);
}
/* one colour for the whole seam — the violet the second line used to carry.
   The stack tapers from top to bottom, and `--ry` (set from the scroll
   handler) thins every line further the deeper into the crossing you get,
   so the band condenses as it hands over to the speakers. */
.rails i{
  border-radius:2px; opacity:var(--ro,0);
  transform:scaleX(var(--rx,0)) scaleY(var(--ry,1));
  background:linear-gradient(90deg, transparent,
             rgba(88,73,225,.5) 14%, #A99BFF 50%, rgba(88,73,225,.5) 86%, transparent);
  box-shadow:0 0 14px rgba(122,108,255,.85), 0 0 44px rgba(96,72,232,.6);
}
.rails i:nth-child(1){ height:2.6px }
.rails i:nth-child(2){ height:2.3px }
.rails i:nth-child(3){ height:2px }
.rails i:nth-child(4){ height:1.7px }
.rails i:nth-child(5){ height:1.4px }
.rails i:nth-child(6){ height:1.2px }
.rails i:nth-child(7){ height:1px }
/* the ribbons themselves carry the colour — let more of it through */
.wave-canvas{ opacity:.82 }
.speakers::before{
  background:radial-gradient(58% 40% at 50% 34%,
             rgba(5,4,12,.80), rgba(5,4,12,.42) 56%, transparent 80%);
}

/* on small screens the radar sits half off-stage behind the copy — it stays
   brighter than it was, but not so bright that it competes with the text */
@media(max-width:760px){ .experience-orbit{ opacity:.5 } }

@media(prefers-reduced-motion:reduce){
  .pw.is-breathing .pw-item::before,.pw.is-breathing .pw-item::after{animation:none!important}
  .pw-item::before{opacity:.3}.pw-item::after{opacity:0}
  .experience-orbit::before,.vision-signature.live .experience-orbit i,
  .vision-signature.live .experience-orbit b::before,
  .vision-signature.live .experience-orbit b::after{animation:none!important}
  .experience-orbit b::before,.experience-orbit b::after{opacity:.85}
}


/* V12 — stronger violet photography without crushing the image detail */
.pw-item img{filter:saturate(.9) brightness(.9) contrast(1.04)!important}
.pw-item::before{background:linear-gradient(150deg,rgba(132,86,255,.82),rgba(69,34,177,.58) 50%,rgba(25,11,67,.58));opacity:.44}
.pw-item::after{background:linear-gradient(145deg,rgba(5,3,15,.2),rgba(14,6,39,.48));opacity:0}
@keyframes wallGrade{0%,12%{opacity:.40}50%{opacity:.67}88%,100%{opacity:.40}}
@keyframes wallSink{0%,12%{opacity:.02}50%{opacity:.30}88%,100%{opacity:.02}}
.pw-item:hover::before,.pw-item:focus-within::before{opacity:.34!important}
.pw-item:hover::after,.pw-item:focus-within::after{opacity:.04!important}
.pw-item:hover img{transform:scale(1.025)!important;filter:saturate(.98) brightness(.96) contrast(1.03)!important}

/* V12 — each experience has its own visual language */
.experience-orbit{display:none!important}
.experience-visual{position:absolute;right:6.5%;top:50%;width:220px;height:220px;transform:translateY(-50%) scale(.92);opacity:0;pointer-events:none;transition:opacity .42s ease,transform .7s cubic-bezier(.16,1,.3,1)}
.experience-visual.is-active{opacity:.9;transform:translateY(-50%) scale(1)}
.experience-radar i{position:absolute;inset:0;border:1px solid rgba(146,133,255,.38);border-radius:50%;box-shadow:0 0 22px -8px rgba(122,108,255,.72),inset 0 0 30px -14px rgba(122,108,255,.85)}
.experience-radar i:nth-child(2){inset:28px}.experience-radar i:nth-child(3){inset:61px}
.experience-radar b{position:absolute;left:50%;top:50%;width:10px;height:10px;border-radius:50%;background:#fff;box-shadow:0 0 28px 8px rgba(122,108,255,.9);transform:translate(-50%,-50%)}
.experience-radar::before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 250deg,rgba(122,108,255,.08) 285deg,rgba(174,163,255,.38) 345deg,rgba(240,238,255,.9) 359deg,transparent 360deg);animation:xpRadar 4.6s linear infinite}
.experience-radar::after{content:"";position:absolute;left:72%;top:25%;width:7px;height:7px;border-radius:50%;background:#eae7ff;box-shadow:0 0 14px 4px rgba(166,154,255,.95);animation:xpBlip 2.3s ease-in-out infinite}
@keyframes xpRadar{to{transform:rotate(360deg)}}@keyframes xpBlip{0%,100%{opacity:.18;transform:scale(.75)}45%{opacity:1;transform:scale(1.25)}}

.experience-build svg,.experience-connect svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.experience-build svg path{fill:none;stroke:rgba(141,125,255,.42);stroke-width:1;stroke-dasharray:5 7;animation:buildLines 3.6s linear infinite}
.build-core{position:absolute;left:50%;top:50%;width:38px;height:38px;border:1px solid rgba(223,217,255,.8);transform:translate(-50%,-50%) rotate(45deg);box-shadow:0 0 30px rgba(122,108,255,.45);animation:buildCore 2.8s ease-in-out infinite}
.bn{position:absolute;width:10px;height:10px;border:1px solid rgba(198,190,255,.9);background:#0b071c;transform:rotate(45deg);box-shadow:0 0 14px rgba(122,108,255,.55)}
.b1{left:18%;top:20%}.b2{right:17%;top:18%}.b3{right:12%;top:55%}.b4{right:29%;bottom:12%}.b5{left:24%;bottom:14%}.b6{left:13%;top:54%}
.experience-build.is-active .bn{animation:nodeBuild 2.7s ease-in-out infinite alternate}.b2,.b5{animation-delay:.35s!important}.b3,.b6{animation-delay:.7s!important}
@keyframes buildLines{to{stroke-dashoffset:-48}}@keyframes buildCore{50%{transform:translate(-50%,-50%) rotate(135deg) scale(1.12);box-shadow:0 0 45px rgba(122,108,255,.75)}}@keyframes nodeBuild{from{opacity:.25;transform:rotate(45deg) scale(.7)}to{opacity:1;transform:rotate(45deg) scale(1.15)}}

.experience-connect svg path{fill:none;stroke:rgba(148,134,255,.34);stroke-width:1;stroke-dasharray:180;stroke-dashoffset:180}
.experience-connect.is-active svg path{animation:connectDraw 2.4s cubic-bezier(.16,1,.3,1) forwards}
.cn{position:absolute;width:9px;height:9px;border-radius:50%;background:#c7bdff;box-shadow:0 0 16px 4px rgba(122,108,255,.7);opacity:.35}
.c1{left:15%;top:31%}.c2{left:39%;top:17%}.c3{left:67%;top:28%}.c4{left:82%;top:53%}.c5{left:63%;top:77%}.c6{left:32%;top:80%}.c7{left:13%;top:58%}
.experience-connect.is-active .cn{animation:connectPulse 2.8s ease-in-out infinite}.c2,.c5{animation-delay:.4s!important}.c3,.c6{animation-delay:.8s!important}.c4,.c7{animation-delay:1.2s!important}
@keyframes connectDraw{to{stroke-dashoffset:0}}@keyframes connectPulse{0%,100%{opacity:.3;transform:scale(.75)}45%{opacity:1;transform:scale(1.3)}}
@media(max-width:760px){.experience-visual{width:145px;height:145px;right:-28px;top:78%;opacity:.32}.experience-visual.is-active{opacity:.48}}
@media(prefers-reduced-motion:reduce){.experience-radar::before,.experience-radar::after,.experience-build svg path,.build-core,.bn,.experience-connect svg path,.cn{animation:none!important}.experience-connect svg path{stroke-dashoffset:0}}

/* V12.1 — restore the random community-wall darkening from V10,
   but keep V12's stronger violet base grade and preserve image detail. */
.pw-item::before,
.pw-item::after,
.pw-item img{
  transition:opacity 1.35s cubic-bezier(.22,1,.36,1),
             filter 1.35s cubic-bezier(.22,1,.36,1),
             background 1.35s ease,
             transform .7s cubic-bezier(.16,1,.3,1)!important;
}
.pw.is-breathing .pw-item::before,
.pw.is-breathing .pw-item::after{animation:none!important}
.pw-item.mood-dim img{filter:saturate(.82) brightness(.72) contrast(1.06)!important}
.pw-item.mood-dim::before{opacity:.56!important;background:linear-gradient(150deg,rgba(118,72,245,.86),rgba(55,30,151,.67) 52%,rgba(16,8,48,.68))!important}
.pw-item.mood-dim::after{opacity:.16!important;background:linear-gradient(145deg,rgba(7,4,22,.16),rgba(12,5,36,.62))!important}
.pw-item.mood-deep img{filter:saturate(.76) brightness(.59) contrast(1.08)!important}
.pw-item.mood-deep::before{opacity:.63!important;background:linear-gradient(150deg,rgba(101,56,222,.9),rgba(42,23,126,.74) 52%,rgba(12,6,38,.76))!important}
.pw-item.mood-deep::after{opacity:.27!important;background:linear-gradient(145deg,rgba(5,3,18,.2),rgba(9,4,30,.7))!important}
.pw-item:nth-child(3n).mood-dim::before{background:linear-gradient(150deg,rgba(103,79,245,.86),rgba(35,44,137,.67),rgba(12,8,44,.7))!important}
.pw-item:nth-child(4n).mood-deep::before{background:linear-gradient(150deg,rgba(135,59,210,.88),rgba(64,22,116,.72),rgba(15,5,35,.77))!important}
.pw-item.mood-dim:hover img{filter:saturate(.9) brightness(.78) contrast(1.05)!important}
.pw-item.mood-deep:hover img{filter:saturate(.84) brightness(.67) contrast(1.07)!important}
.pw-item.mood-dim:hover::before{opacity:.50!important}.pw-item.mood-deep:hover::before{opacity:.57!important}
.pw-item.mood-dim:hover::after{opacity:.12!important}.pw-item.mood-deep:hover::after{opacity:.21!important}
@media(prefers-reduced-motion:reduce){.pw-item.mood-dim,.pw-item.mood-deep{transition:none!important}}
