/* Vibrance — événement : énergie nocturne, grands titres et accents lumineux. */
html.theme-style-2{
  --ps-bg:#0d0b1c;--ps-bg-2:#141127;--ps-surface:rgba(32,26,56,.88);--ps-surface-solid:#211a36;
  --ps-text:#f8f5ff;--ps-muted:#b9b0cf;--ps-line:rgba(229,215,255,.14);--ps-line-strong:rgba(229,215,255,.24);
  --ps-primary:#ff568d;--ps-secondary:#8b5cf6;--ps-accent:#50e3cf;
  --ps-shadow:0 20px 58px rgba(3,2,13,.31);--ps-shadow-lg:0 36px 95px rgba(3,2,13,.55);
  --ps-font-display:'Syne','Inter',sans-serif;
  --ps-hero-overlay:linear-gradient(90deg,rgba(7,5,25,.93),rgba(16,6,36,.64) 55%,rgba(7,5,25,.17));
}
.theme-style-2 body,.theme-style-2{color-scheme:dark}
.theme-style-2 .ps-page-home{background:radial-gradient(circle at 80% 27%,rgba(113,50,196,.14),transparent 32%),#0d0b1c}
.theme-style-2 .ps-nav.is-scrolled,.theme-style-2 .ps-nav.is-open{background:rgba(18,14,36,.92)}
.theme-style-2 .ps-page-home .ps-nav:not(.is-scrolled):not(.is-open) .ps-brand-name,
.theme-style-2 .ps-page-home .ps-nav:not(.is-scrolled):not(.is-open) .ps-nav-link{color:#fff}
.theme-style-2 .ps-nav-cta,.theme-style-2 .ps-button-primary{background:#ff568d;color:#190d25;box-shadow:0 12px 38px rgba(255,86,141,.3)}
.theme-style-2 .ps-button,.theme-style-2 .ps-nav-cta{border-radius:12px;font-weight:900;letter-spacing:.015em}
.theme-style-2 .ps-home-hero{min-height:min(920px,100dvh);padding-bottom:125px;align-items:center;background:#0b0918}
.theme-style-2 .ps-home-hero::before{content:'';position:absolute;z-index:2;inset:0;pointer-events:none;background:radial-gradient(circle at 77% 25%,rgba(127,69,255,.42),transparent 32%),radial-gradient(circle at 67% 82%,rgba(255,53,131,.24),transparent 36%);mix-blend-mode:screen}
.theme-style-2 .ps-home-hero::after{content:'✳';position:absolute;z-index:2;right:3%;top:12%;font-size:clamp(12rem,29vw,29rem);line-height:1;color:rgba(255,255,255,.12);transform:rotate(-16deg);pointer-events:none}
.theme-style-2 .ps-home-hero-content{width:min(100% - 48px,1440px);padding-left:clamp(0px,3vw,54px)}
.theme-style-2 .ps-home-hero .ps-eyebrow{padding:10px 15px;border:1px solid rgba(255,255,255,.3);border-radius:999px;color:#fff;background:rgba(255,255,255,.08);letter-spacing:.1em}
.theme-style-2 .ps-home-hero .ps-eyebrow-dot{background:#50e3cf;box-shadow:0 0 0 5px rgba(80,227,207,.17),0 0 18px #50e3cf}
.theme-style-2 .ps-display{font-weight:800;letter-spacing:-.07em;line-height:.88}
.theme-style-2 .ps-home-hero .ps-display{max-width:970px;font-size:clamp(4rem,10vw,10rem);text-transform:uppercase;text-shadow:0 9px 60px rgba(10,4,30,.5)}
.theme-style-2 .ps-home-hero-copy{max-width:560px;margin-top:34px;color:#eee7fc;font-size:clamp(1.05rem,1.55vw,1.25rem)}
.theme-style-2 .ps-home-actions{margin-top:34px}
.theme-style-2 .ps-home-actions .ps-button-primary{background:#50e3cf;color:#11142b;box-shadow:0 15px 34px rgba(80,227,207,.23)}
.theme-style-2 .ps-home-actions .ps-button-secondary{background:rgba(16,12,36,.35);border-color:rgba(255,255,255,.42)}
.theme-style-2 .ps-slide-dots{bottom:72px}
.theme-style-2 .ps-slide-dot{height:8px;background:rgba(255,255,255,.3)}
.theme-style-2 .ps-slide-dot.active{background:#50e3cf}
.theme-style-2 .ps-feature-float{margin-top:-72px}
.theme-style-2 .ps-feature-grid{gap:16px}
.theme-style-2 .ps-feature-card{position:relative;min-height:230px;padding:30px;border:1px solid rgba(225,200,255,.18);border-radius:20px;background:linear-gradient(145deg,rgba(47,30,80,.95),rgba(22,19,45,.95));box-shadow:0 22px 65px rgba(5,3,18,.32);backdrop-filter:none}
.theme-style-2 .ps-feature-card::after{content:'0' counter(ps-feature);position:absolute;right:24px;top:23px;color:rgba(255,255,255,.13);font-family:var(--ps-font-display);font-size:2rem;font-weight:800}
.theme-style-2 .ps-feature-grid{counter-reset:ps-feature}
.theme-style-2 .ps-feature-card{counter-increment:ps-feature}
.theme-style-2 .ps-feature-icon{width:52px;height:52px;border-radius:13px;background:#ff568d;color:#1c0c26;box-shadow:0 12px 34px rgba(255,86,141,.22)}
.theme-style-2 .ps-feature-card:nth-child(2) .ps-feature-icon{background:#50e3cf}
.theme-style-2 .ps-feature-card:nth-child(3) .ps-feature-icon{background:#b69bff}
.theme-style-2 .ps-feature-card h3{font-family:var(--ps-font-display);font-size:1.2rem;line-height:1.15}
.theme-style-2 .ps-feature-card p{font-size:.86rem;line-height:1.65}
.theme-style-2 .ps-title{font-weight:800;letter-spacing:-.065em;line-height:.94}
.theme-style-2 .ps-story{gap:clamp(38px,7vw,108px)}
.theme-style-2 .ps-story .ps-title{max-width:650px;text-transform:uppercase;font-size:clamp(3.3rem,6vw,6.7rem)}
.theme-style-2 .ps-story-mosaic{gap:12px;grid-template-rows:250px 250px;transform:rotate(3deg)}
.theme-style-2 .ps-story-photo{border:3px solid #32275a;border-radius:20px;box-shadow:0 18px 60px rgba(2,2,10,.35)}
.theme-style-2 .ps-story-photo:first-child{transform:rotate(-4deg)}
.theme-style-2 .ps-check-list li::before{content:'↗';border-radius:8px;background:#50e3cf;color:#181b2d}
.theme-style-2 .ps-gallery-preview{background:radial-gradient(circle at 8% 10%,rgba(255,86,141,.19),transparent 34%),radial-gradient(circle at 88% 78%,rgba(96,70,223,.2),transparent 40%),#18132b}
.theme-style-2 .ps-gallery-preview::before{background:none}
.theme-style-2 .ps-preview-item{border-radius:12px;box-shadow:0 8px 30px rgba(0,0,0,.25)}
.theme-style-2 .ps-cta{border:1px solid rgba(255,255,255,.17);border-radius:24px;background:linear-gradient(115deg,#653290,#a52a59 70%,#a43348)}
.theme-style-2 .ps-cta::before{width:490px;height:490px;right:-90px;top:-215px;border:1px solid rgba(255,255,255,.25);background:radial-gradient(circle,rgba(255,255,255,.16),transparent 70%)}
.theme-style-2 .ps-cta h2{text-transform:uppercase;font-weight:800}
.theme-style-2 .ps-cta p{color:#f7eef6}
.theme-style-2 .ps-cta .ps-button{color:#16102a;background:#50e3cf}
.theme-style-2 .ps-page-top{position:relative;overflow:hidden;background:radial-gradient(circle at 85% 15%,rgba(157,72,232,.23),transparent 36%),#131027}
.theme-style-2 .ps-page-top .ps-display{text-transform:uppercase}
.theme-style-2 .ps-search input{color:#fff;background:#1d1833}
.theme-style-2 .ps-chip,.theme-style-2 .ps-filter,.theme-style-2 .ps-button-secondary{color:var(--ps-text)}
.theme-style-2 .ps-filter.active,.theme-style-2 .ps-media-filter.active{color:#190d25;background:#ff568d}
.theme-style-2 .ps-toolbar{background:rgba(23,18,42,.94)}
.theme-style-2 .ps-album-card{border-radius:20px;background:#211b38}
.theme-style-2 .ps-album-cover{aspect-ratio:1/1}
.theme-style-2 .ps-album-title{font-size:1.45rem;font-weight:800}
.theme-style-2 .ps-album-badge.special{background:#ff568d;color:#21102e}
.theme-style-2 .ps-footer{background:#100d20}
.theme-style-2 .ps-social{color:#fff}
.theme-style-2.ps-album-page{--ps-primary:#ff568d;--ps-secondary:#8b5cf6;--ps-accent:#50e3cf;--ps-bg:#0c0a18;--ps-bg-2:#151128;--ps-surface-solid:#201937;background:#0c0a18}
.theme-style-2 .ps-album-hero::after{background:linear-gradient(to top,#0c0a18,rgba(12,10,24,.2) 60%,rgba(12,10,24,.65))}
.theme-style-2 .ps-album-hero-copy h1{text-transform:uppercase;font-weight:800;letter-spacing:-.07em}
.theme-style-2 .ps-album-cover-card{border-radius:18px;transform:rotate(-3deg)}
.theme-style-2 .ps-modal-card{background:#211a36}
.theme-style-2 .ps-field-control input{color:#fff;background:#100d20}
.theme-style-2 .ps-audio-number{color:#11142b;background:#50e3cf}
.theme-style-2 .ps-modal-icon{color:#fff;background:#5d3cb2}
.theme-style-2 .ps-album-page .ps-footer{background:#0c0a18}
@media(max-width:640px){.theme-style-2 .ps-home-hero{min-height:750px;padding-bottom:95px}.theme-style-2 .ps-home-hero-content{width:min(100% - 28px,1440px);padding:0}.theme-style-2 .ps-home-hero .ps-display{font-size:clamp(2.8rem,12.8vw,5rem);overflow-wrap:anywhere}.theme-style-2 .ps-feature-float{margin-top:-34px}.theme-style-2 .ps-story-mosaic{grid-template-rows:170px 170px}.theme-style-2 .ps-cta::before{display:none}}

/* Festival collage and photo wall layout */
.theme-style-2 .ps-home-hero{display:grid;grid-template-columns:minmax(0,53%) minmax(0,47%);align-items:center;min-height:820px;padding:90px 0 35px;background:#0d0b1c}
.theme-style-2 .ps-home-slides{filter:blur(20px);opacity:.34;transform:scale(1.06)}
.theme-style-2 .ps-home-slide::after{background:linear-gradient(90deg,#0d0b1c,rgba(13,11,28,.34))}
.theme-style-2 .ps-home-hero::after{right:-2%;top:3%;font-size:clamp(9rem,22vw,21rem)}
.theme-style-2 .ps-home-hero-content{grid-column:1;grid-row:1;align-self:center;width:auto;max-width:none;margin:0;padding:80px 24px 100px max(28px,calc((100vw - 1440px)/2 + 32px))}
.theme-style-2 .ps-home-hero .ps-display{max-width:730px;font-size:clamp(4rem,5.9vw,7.5rem)}
.theme-style-2 .ps-home-hero-copy{max-width:550px}
.theme-style-2 .ps-event-collage{position:relative;z-index:3;grid-column:2;grid-row:1;width:min(94%,650px);height:min(590px,46vw);margin:42px auto 50px 0}
.theme-style-2 .ps-event-collage-photo{position:absolute;overflow:hidden;border:8px solid #f7f2ff;border-radius:13px;background:#302446;box-shadow:0 35px 75px rgba(3,2,15,.55)}
.theme-style-2 .ps-event-collage-photo img{width:100%;height:100%;display:block;object-fit:cover}
.theme-style-2 .ps-event-collage-photo:nth-child(1){left:14%;top:0;width:67%;height:68%;transform:rotate(7deg)}
.theme-style-2 .ps-event-collage-photo:nth-child(2){left:0;bottom:2%;width:55%;height:50%;transform:rotate(-8deg)}
.theme-style-2 .ps-event-collage-photo:nth-child(3){right:0;bottom:0;width:43%;height:52%;transform:rotate(10deg)}
.theme-style-2 .ps-event-collage-stamp{position:absolute;right:4%;top:0;z-index:4;display:grid;place-items:center;width:138px;height:138px;border-radius:50%;color:#121429;background:#50e3cf;box-shadow:0 16px 40px rgba(0,0,0,.3);font-family:var(--ps-font-display);font-size:1rem;font-weight:800;line-height:1.05;text-align:center;transform:rotate(14deg)}
.theme-style-2 .ps-slide-dots{left:4%;right:auto;bottom:46px}
.theme-style-2 .ps-gallery-preview{padding-block:clamp(80px,8vw,130px);background:#171229}
.theme-style-2 .ps-gallery-preview .ps-preview-head{align-items:end;padding-top:18px;border-top:2px solid #50e3cf}
.theme-style-2 .ps-gallery-preview .ps-preview-head .ps-title{max-width:930px;font-size:clamp(3.2rem,6.1vw,7rem);text-transform:uppercase}
.theme-style-2 .ps-gallery-preview .ps-preview-mosaic{grid-template-columns:repeat(8,minmax(0,1fr));grid-auto-rows:clamp(100px,11vw,170px);gap:9px}
.theme-style-2 .ps-gallery-preview .ps-preview-item{grid-column:span 2;grid-row:span 1;border-radius:4px}
.theme-style-2 .ps-gallery-preview .ps-preview-item:nth-child(1),.theme-style-2 .ps-gallery-preview .ps-preview-item:nth-child(7){grid-column:span 3;grid-row:span 2}
.theme-style-2 .ps-gallery-preview .ps-preview-item:nth-child(3){grid-column:span 3;grid-row:span 1}
.theme-style-2 .ps-feature-float{margin:0;padding:clamp(60px,7vw,110px) 0;background:#0d0b1c}
.theme-style-2 .ps-feature-grid{grid-template-columns:1.2fr .8fr;grid-template-rows:repeat(2,minmax(205px,auto));gap:16px}
.theme-style-2 .ps-feature-card{min-height:0}
.theme-style-2 .ps-feature-card:first-child{grid-row:span 2;display:flex;flex-direction:column;justify-content:end;padding:clamp(35px,5vw,70px);background:radial-gradient(circle at 82% 17%,rgba(255,86,141,.42),transparent 35%),linear-gradient(145deg,#4e255f,#261c49)}
.theme-style-2 .ps-feature-card:first-child .ps-feature-icon{width:75px;height:75px;font-size:1.7rem}
.theme-style-2 .ps-feature-card:first-child h3{max-width:540px;font-size:clamp(2rem,3.5vw,4.1rem);line-height:.97;text-transform:uppercase}
.theme-style-2 .ps-feature-card:first-child p{max-width:450px;font-size:1rem}
.theme-style-2 .ps-story{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.theme-style-2 .ps-story .ps-title{font-size:clamp(3rem,4.3vw,5.4rem)}
@media(max-width:1050px){.theme-style-2 .ps-home-hero{grid-template-columns:55% 45%}.theme-style-2 .ps-home-hero .ps-display{font-size:clamp(2.65rem,5.1vw,5.2rem)}.theme-style-2 .ps-event-collage{height:440px}.theme-style-2 .ps-feature-grid{grid-template-columns:1fr 1fr}.theme-style-2 .ps-story{grid-template-columns:1fr}}
@media(max-width:700px){.theme-style-2 .ps-home-hero{display:flex;flex-direction:column;min-height:0;padding:72px 0 40px}.theme-style-2 .ps-home-hero-content{order:1;width:100%;padding:70px 18px 15px}.theme-style-2 .ps-home-hero .ps-display{font-size:clamp(3.1rem,12vw,5rem)}.theme-style-2 .ps-event-collage{order:2;flex:none;width:calc(100% - 18px);height:345px;margin:16px auto 15px}.theme-style-2 .ps-event-collage-photo{border-width:5px}.theme-style-2 .ps-event-collage-stamp{right:4%;width:90px;height:90px;font-size:.7rem}.theme-style-2 .ps-home-hero .ps-slide-dots{bottom:18px}.theme-style-2 .ps-gallery-preview .ps-preview-head{align-items:flex-start}.theme-style-2 .ps-gallery-preview .ps-preview-mosaic{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:28vw;gap:4px}.theme-style-2 .ps-gallery-preview .ps-preview-item{grid-column:span 1;grid-row:span 1}.theme-style-2 .ps-gallery-preview .ps-preview-item:nth-child(1),.theme-style-2 .ps-gallery-preview .ps-preview-item:nth-child(7){grid-column:span 2;grid-row:span 2}.theme-style-2 .ps-gallery-preview .ps-preview-item:nth-child(3){grid-column:span 1;grid-row:span 1}.theme-style-2 .ps-feature-grid{grid-template-columns:1fr;grid-template-rows:auto}.theme-style-2 .ps-feature-card:first-child{grid-row:auto;min-height:320px}.theme-style-2 .ps-feature-card:first-child h3{font-size:2.6rem}}
@media(max-width:1050px){.theme-style-2 .ps-feature-grid,.theme-style-2 .ps-story{grid-template-columns:minmax(0,1fr)}.theme-style-2 .ps-feature-card,.theme-style-2 .ps-story-copy,.theme-style-2 .ps-story-mosaic{min-width:0}}
@media(max-width:700px){.theme-style-2 .ps-gallery-preview .ps-preview-head>div{min-width:0;max-width:100%}.theme-style-2 .ps-gallery-preview .ps-preview-head .ps-title,.theme-style-2 .ps-story .ps-title{font-size:clamp(2.6rem,11vw,4rem);overflow-wrap:anywhere}.theme-style-2 .ps-feature-grid{grid-template-columns:minmax(0,1fr)}.theme-style-2 .ps-feature-card h3{overflow-wrap:anywhere}.theme-style-2 .ps-story-mosaic{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}}

/* Keep organizer supplied titles readable at every viewport width. */
.ps-home-hero-content{min-width:0}
.ps-home-hero .ps-display{max-width:100%;overflow-wrap:anywhere;word-break:normal;hyphens:auto;text-wrap:balance}
.ps-brand-name{min-width:0;max-width:min(36vw,360px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:640px){.ps-home-hero .ps-display{line-height:1.02}.ps-brand-name{max-width:42vw}}
